/* Form */
.company-search-form { margin-bottom: 2rem; }
.company-search-form p { margin-bottom: 1rem; }
.company-search-form label { display:block; margin-bottom:.25rem; font-weight:600; }
.company-search-form input[type="text"],
.company-search-form select {
  width:100%; padding:.5rem; border:1px solid #ccc; border-radius:4px; box-sizing:border-box;
}
.company-search-form button,
.company-search-form .button {
  display:inline-block; margin-right:.5rem; padding:.5rem 1rem; font-size:1rem; cursor:pointer;
  border:1px solid #0073aa; border-radius:4px; background-color:#0073aa; color:#fff; text-decoration:none;
  transition: background-color .2s ease;
}
.company-search-form .button { background:#f7f7f7; border-color:#ccc; color:#333; }
.company-search-form button:hover { background:#006799; }
.company-search-form .button:hover { background:#e6e6e6; }

/* Tabs (sheets) */
.cc-tabs { display:flex; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap; }
.cc-tab {
  display:inline-block; padding:.45rem .75rem; border:1px solid #ddd; border-radius:6px;
  text-decoration:none; background:#fafafa; color:inherit;
}
.cc-tab.active { background:#0073aa; color:#fff; border-color:#0073aa; }
.cc-tab:hover { background:#f0f0f0; }

/* Grid */
.cc-grid { display:flex; flex-wrap:wrap; gap:20px; margin-top:1rem; }
.cc-card {
  background:#fff; border:1px solid #e1e1e1; border-radius:4px; box-shadow:0 1px 2px rgba(0,0,0,.05);
  width: calc(33.333% - 20px); box-sizing:border-box; padding:1rem; transition: transform .2s ease, box-shadow .2s ease;
}
.cc-card:hover { transform: translateY(-3px); box-shadow:0 4px 6px rgba(0,0,0,.1); }
.cc-card-title { margin:0 0 .5rem; font-size:1.15rem; line-height:1.3; }
.cc-card-title a { color:#0073aa; text-decoration:none; }
.cc-card-title a:hover { text-decoration:underline; }
.cc-card-meta { font-size:.95rem; color:#333; }
@media (max-width:800px){ .cc-card{ width: calc(50% - 20px);} }
@media (max-width:500px){ .cc-card{ width:100%; } }

/* Pagination */
.cc-pagination { margin-top: 1.25rem; }
.cc-pagination ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.cc-pagination li a,
.cc-pagination li span {
  display:inline-block; padding:.35rem .6rem; border:1px solid #ddd; border-radius:4px; text-decoration:none;
}
.cc-pagination .current { background:#0073aa; border-color:#0073aa; color:#fff; }

/* Single company details (как в шаблоне курсов) */
.cc-single {
  margin-top: 2rem;
  border-top: 1px solid #e1e1e1;
  padding-top: 2rem;
}
.cc-single h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
.cc-single dl { margin: 0; }
.cc-single dt { font-weight: 600; margin-top: 1rem; }
.cc-single dd { margin-left: 0; margin-bottom: .5rem; color: #333; }
