/* Página Centros Colaboradores: estilos aislados sobre /css/styles.css */
.cc-hero {padding: clamp(45px, 7vw, 86px) 0 48px; background: radial-gradient(circle at 90% 10%,#dff7ff 0,transparent 30%),linear-gradient(135deg,#f5f9ff,#fff 72%)}
.cc-hero-inner {display:grid;grid-template-columns:minmax(0,1.75fr) minmax(230px,.65fr);gap:clamp(22px,5vw,80px);align-items:center}
.cc-intro h1 {font-size:clamp(2.2rem,4.6vw,4.45rem);max-width:850px;letter-spacing:-.05em;line-height:1.09;margin:5px 0 24px}
.cc-intro h1 span {color:var(--color-primary)}
.cc-intro p {font-size:clamp(1rem,1.4vw,1.2rem);max-width:720px;color:var(--color-text-muted);margin:0}
.cc-intro p a {color:var(--color-primary);font-weight:700;text-underline-offset:3px;text-decoration:underline}
.cc-hero-aside {border:1px solid #dbeafe;border-radius:28px;min-height:208px;padding:30px;background:linear-gradient(135deg,#fff 15%,#e9f5ff);box-shadow:var(--shadow-md);display:flex;flex-direction:column;justify-content:space-between}
.cc-aside-overline {font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.cc-aside-icon {font-size:4.3rem;color:var(--color-primary);line-height:1}
.cc-aside-caption {font-size:1rem;font-weight:650;line-height:1.35;color:var(--color-text-muted)}
.cc-directory.section {padding:62px 0 80px;background:var(--color-bg-soft)}
.cc-headline {display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.cc-headline .section-title {font-size:clamp(1.7rem,3.2vw,2.7rem)}
.cc-support-text {max-width:410px;color:var(--color-text-muted);margin:0}
.cc-finder {background:white;border:1px solid var(--color-border);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm);margin-bottom:24px}
.cc-search label {font-weight:750;display:block;margin-bottom:8px}
.cc-search-controls {display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
.cc-search-controls input {width:100%;min-height:50px;border:1px solid var(--color-border-strong);border-radius:12px;padding:0 16px;outline-offset:3px;color:var(--color-text);background:#fff}
.cc-search-controls input:focus {border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1c}
.cc-search-controls .btn {border-radius:12px;white-space:nowrap}
.cc-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px}
.cc-filters {border:0;padding:0;margin:0;display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-width:0}
.cc-filters legend {float:left;font-weight:700;font-size:.85rem;color:var(--color-text-soft);margin-right:11px;line-height:38px}
.cc-filter {cursor:pointer;position:relative}
.cc-filter input {position:absolute;width:1px;height:1px;opacity:0}
.cc-filter span {display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--color-border);border-radius:999px;padding:5px 14px;font-size:.9rem;font-weight:700;background:#fff}
.cc-filter input:checked + span {color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:#93c5fd}
.cc-filter input:focus-visible + span {outline:3px solid #93c5fd;outline-offset:2px}
.cc-clear {border:0;background:transparent;color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;font-weight:750;padding:8px}
.cc-clear:hover {color:var(--color-primary-dark)}
.cc-search-notice {margin:12px 0 0;color:var(--color-text-muted);font-size:.9rem;min-height:1.4em}
.cc-layout {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:20px;align-items:start}
.cc-results-panel,.cc-map-panel {background:#fff;border:1px solid var(--color-border);border-radius:22px;box-shadow:var(--shadow-sm);overflow:hidden;min-width:0}
.cc-results-top,.cc-map-top {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--color-border)}
.cc-results-top h3 {font-size:1.08rem;margin:0}
.cc-results-top p,.cc-map-top span:last-child {font-size:.84rem;color:var(--color-text-muted);margin:0}
.cc-results {max-height:670px;overflow:auto;scrollbar-gutter:stable}
.cc-card {padding:20px;border-bottom:1px solid var(--color-border);background:white;transition:background .12s;scroll-margin-top:115px}
.cc-card:last-child {border-bottom:0}
.cc-card.is-selected {background:#eff6ff;box-shadow:inset 4px 0 var(--color-primary)}
.cc-card-top {display:flex;justify-content:space-between;align-items:start;gap:12px}
.cc-card h4 {font-size:1.09rem;letter-spacing:-.015em;margin:0;line-height:1.4}
.cc-card-address {color:var(--color-text-muted);font-size:.92rem;margin:8px 0 12px;line-height:1.45}
.cc-tags {display:flex;flex-wrap:wrap;gap:5px;margin-bottom:13px}
.cc-tag {font-weight:700;font-size:.75rem;border-radius:999px;background:#eef2ff;color:#3346a2;padding:4px 10px}
.cc-tag.cc-tag-home {background:#e9fbf7;color:#047c73}
.cc-distance {white-space:nowrap;font-size:.8rem;color:var(--color-primary-dark);font-weight:850;border:1px solid #bfdbfe;border-radius:999px;padding:3px 9px}
.cc-card-actions {display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.cc-card-actions a,.cc-card-actions button {min-height:34px;background:transparent;border:0;padding:4px 0;color:var(--color-primary-dark);font-size:.9rem;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-card-actions a:hover,.cc-card-actions button:hover {color:#1e40af}
.cc-card-actions a:focus-visible,.cc-card-actions button:focus-visible {outline:2px solid var(--color-primary);outline-offset:3px}
.cc-map-panel {position:sticky;top:calc(var(--header-height) + 18px)}
.cc-map-top span:first-child {font-weight:800}
.cc-map {height:620px;max-height:70vh;min-height:390px;background:#eaf3fa}
.cc-map-fallback {padding:32px;color:var(--color-text-muted);background:#f8fafc}
.cc-map-foot {padding:12px 18px;font-size:.75rem;color:var(--color-text-soft)}
.cc-map-foot a {text-decoration:underline}
.cc-empty,.cc-error {padding:32px 22px;text-align:center}
.cc-empty h3,.cc-error h3 {font-size:1.12rem;margin:0 0 8px}
.cc-empty p,.cc-error p {color:var(--color-text-muted);font-size:.92rem;margin:0 0 17px}
.cc-disclaimer {color:var(--color-text-soft);font-size:.84rem;margin:22px 0 0}
.cc-next {padding:74px 0}
.cc-next-card {background:linear-gradient(135deg,#edf5ff,#e9fbff);border:1px solid #cfe5ff;border-radius:26px;padding:clamp(22px,4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cc-next-card h2 {font-size:clamp(1.45rem,3vw,2.2rem);margin:0 0 10px;line-height:1.2}
.cc-next-card p {color:var(--color-text-muted);max-width:610px;margin:0}
.cc-next-card .btn {flex-shrink:0}
.cc-popup {max-width:260px;font-family:var(--font-main);line-height:1.45}
.cc-popup strong {display:block;font-size:.95rem;margin-bottom:5px}
.cc-popup p {margin:5px 0;color:var(--color-text-muted)}
.cc-popup button {border:0;background:none;padding:6px 0;color:var(--color-primary);font-weight:800;text-decoration:underline;cursor:pointer}
.cc-map-pin {display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#2563eb;border:3px solid #fff;box-shadow:0 3px 11px #0f172a70}
.cc-map-pin span {width:8px;height:8px;background:#fff;border-radius:50%}
.cc-map-pin.selected {background:#0891b2;box-shadow:0 0 0 4px #67e8f988,0 3px 11px #0f172a70}
@media(max-width:980px){.cc-hero-inner{grid-template-columns:1fr}.cc-hero-aside{display:none}.cc-headline{align-items:start;flex-direction:column}.cc-layout{grid-template-columns:1fr}.cc-map-panel{position:static;grid-row:1}.cc-map{height:380px;max-height:none;min-height:300px}.cc-results{max-height:none;overflow:visible}}
@media(max-width:650px){.cc-search-controls{grid-template-columns:1fr 1fr}.cc-search-controls input{grid-column:1/-1}.cc-filters legend{width:100%;float:none;line-height:1.3;margin:0 0 7px}.cc-finder{padding:16px}.cc-search-controls .btn{padding:0 10px;font-size:.85rem}.cc-hero{padding:46px 0}.cc-directory.section{padding:42px 0}.cc-results-top,.cc-map-top{padding:14px 16px}.cc-card{padding:18px 16px}.cc-map{height:320px;min-height:280px}.cc-next-card{flex-direction:column;align-items:start}.cc-next-card .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.cc-card,.cc-map-pin{transition:none}}

.cc-country-label {display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:750;color:var(--color-text-muted)}
.cc-country-label select {min-height:38px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);border-radius:10px;padding:4px 9px;max-width:175px}
.cc-geocode-info {color:var(--color-text-soft);font-size:.75rem;margin:12px 0 0}
/* La sexta entrada de navegación no debe partir palabras ni botones. */
.site-header .header-inner {gap:12px}
.site-header .main-nav {gap:15px;font-size:.88rem}
.site-header .main-nav a {white-space:nowrap}
.site-header .header-actions .btn {white-space:nowrap;padding-inline:13px;font-size:.86rem}
.cc-map-fallback:not([hidden]) {display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}
@media(max-width:960px){.site-header .main-nav {gap:4px}}
