/* Astur buscador v2.10.6 · CSS consolidado + carácter visual, geometría e iconografía · Diseño v6.3.
   Variables semánticas: identidad desde /recursos/marca/tema.php.
   Se han eliminado solo declaraciones históricas anuladas por otras posteriores del mismo selector/contexto. */
:root{--color-background:#F8FAF7;--color-surface:#FFFFFF;--color-text:#24332B;--color-text-muted:#65736A;--color-border:#D9E3DA;--color-primary:#4F7A2E;--color-primary-strong:#355822;--color-sea:#4072A8;--color-gold:#F2BE3F;--color-sky:#65BAE2;--color-meadow:#A1C036;--color-earth:#BFB296;--color-link:#356B8F;--color-whatsapp:#25D366;--color-on-primary:#FFFFFF;--color-surface-hover:#F8FAF7;--color-surface-selected:#F1F6EC;--color-border-soft:#E9EEE9;--color-border-strong:#AAB8AE;--color-overlay:rgba(36,51,43,.42);--color-surface-translucent:rgba(255,255,255,.96);--brand-sky:var(--color-sky);--brand-meadow:var(--color-meadow);--brand-earth:var(--color-earth);--brand-link:var(--color-link);--whatsapp:var(--color-whatsapp);}
*{box-sizing:border-box;}html,body{margin:0;padding:0;}a{color:inherit;}button,input{font:inherit;}.site-header{background:rgba(255,253,248,.96);border-bottom:1px solid var(--color-border);position:relative;z-index:30;}.header-inner{max-width:1180px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;}.brand-mark{width:38px;height:38px;border-radius:50%;background:var(--color-primary);display:grid;place-items:center;}.brand-mark span{width:10px;height:10px;border-radius:50%;background:white;}.brand b{display:block;}.brand small{display:block;color:var(--color-text-muted);}.site-header nav{display:flex;gap:22px;}.site-header nav a{text-decoration:none;color:#2c4636;font-size:.9rem;}.hero{min-height:520px;}.hero-inner{max-width:980px;margin:auto;padding:76px 22px 70px;}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:#a06436;}.hero h1{line-height:.98;margin:7px 0 18px;}.intro{max-width:720px;color:#58665d;margin-bottom:30px;}.search-form label{display:block;font-weight:700;margin:0 0 9px;}.search-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;}.search-box{position:relative;}.search-glyph{position:absolute;left:18px;top:19px;color:#66776d;font-size:1.15rem;pointer-events:none;z-index:3;}.search-box input{width:100%;height:58px;border:1px solid #9cb09f;border-radius:12px;background:white;padding:0 52px 0 52px;color:var(--color-text);outline:none;}.clear{position:absolute;right:13px;top:10px;width:38px;height:38px;border:0;background:transparent;color:#78877e;font-size:1.8rem;line-height:1;cursor:pointer;}.search-submit{height:58px;padding:0 24px;border:0;border-radius:11px;background:var(--color-primary);color:#fff;font-weight:700;cursor:pointer;}.under-search{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:10px;color:#6a766e;font-size:.78rem;}.under-search button{border:0;background:none;color:#356447;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}.advanced-note{margin-top:8px;}.map-path{margin-top:27px;color:#56665c;}.map-path a{text-underline-offset:3px;}.suggestions{position:absolute;left:0;right:0;top:66px;background:#fff;border:1px solid #cfd7cf;border-radius:12px;box-shadow:var(--shadow);z-index:50;overflow:hidden;}.suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;border-bottom:1px solid #e6e9e5;align-items:center;}.suggestion:last-of-type{border-bottom:0;}.suggestion:hover{background:#f8faf7;}.suggestion-main{cursor:pointer;min-width:0;}.suggestion-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;}.suggestion-name{font-weight:750;}.suggestion-reg{font-size:.76rem;color:#6c796f;white-space:nowrap;}.suggestion-meta{display:flex;align-items:center;gap:8px;margin-top:5px;color:#405548;}.type-badge{display:inline-grid;place-items:center;}.suggestion-location{margin-top:3px;color:#6d786f;}.suggestion-actions{display:flex;gap:7px;align-items:center;}.contact-btn{height:36px;border:1px solid #aec4b2;padding:0 10px;display:inline-flex;gap:7px;align-items:center;text-decoration:none;color:#214d32;background:#f7faf6;white-space:nowrap;}.contact-btn.wa{font-weight:650;}.suggestions-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-top:1px solid #dfe5df;}.suggestions-footer b{font-size:.78rem;}.suggestions-footer a{font-size:.8rem;font-weight:700;color:#275a39;text-decoration:none;}.view-all-mobile{display:none;}.secondary-band{max-width:1180px;margin:0 auto 70px;padding:44px 22px;border-top:1px solid #d9ddd6;display:flex;justify-content:space-between;gap:30px;}.secondary-band h2{font-size:2rem;margin:5px 0 8px;letter-spacing:-.04em;}.secondary-band p{margin:0;color:#657169;}.outline-btn{border:1px solid #9daf9e;border-radius:9px;padding:12px 18px;text-decoration:none;background:#fffdf8;font-weight:650;}footer{border-top:1px solid var(--color-border);padding:22px;display:flex;justify-content:space-between;max-width:1180px;margin:auto;color:#66736b;font-size:.78rem;}footer nav{display:flex;gap:16px;}footer button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;}
.detail-modal[hidden],.cookie-modal[hidden],.cookie-banner[hidden]{display:none!important;}.detail-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;}.detail-backdrop{position:absolute;inset:0;background:rgba(20,31,24,.43);}.detail-panel{position:relative;max-height:90dvh;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(18,36,25,.25);z-index:2;}.detail-close{width:38px;border:1px solid #d6ded6;color:#234433;cursor:pointer;}.detail-media{display:grid;background:#edf1eb;}.detail-media.only-map{grid-template-columns:1fr;}.detail-photo,.detail-map{min-width:0;overflow:hidden;}.detail-photo img{width:100%;height:100%;object-fit:cover;display:block;}.detail-head{display:flex;justify-content:space-between;gap:16px;}.detail-head h2{margin:0;letter-spacing:-.04em;}.detail-head .reg{color:#66756b;white-space:nowrap;}.detail-place{margin:4px 0 0;color:#647168;}.detail-type-row{display:flex;align-items:center;gap:10px;margin-top:14px;}.detail-actions{flex-wrap:wrap;margin-top:16px;}.detail-actions .phone{color:#fff;}.detail-actions .secondary{background:white;}.detail-summary{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e3e7e3;border-left:1px solid #e3e7e3;}.detail-summary div{padding:11px 12px;border-right:1px solid #e3e7e3;border-bottom:1px solid #e3e7e3;}.detail-summary small{display:block;color:#7a847e;}.detail-summary span{display:block;margin-top:2px;}.detail-more summary{cursor:pointer;color:#305b3f;font-weight:650;}.detail-owner{margin-top:18px;font-size:.8rem;}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;max-width:720px;margin:auto;padding:14px 16px;background:#fff;border:1px solid #ccd6cd;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.16);display:flex;justify-content:space-between;gap:18px;align-items:center;}.cookie-banner p{margin:3px 0 0;color:#69756d;font-size:.78rem;}.cookie-banner button,.cookie-modal button{border:1px solid #bdcbbf;background:#fff;border-radius:8px;padding:9px 12px;}.cookie-banner .primary,.cookie-modal .primary{color:#fff;}.cookie-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;}.cookie-modal section{position:relative;z-index:2;background:white;border-radius:15px;padding:24px;width:min(440px,100%);}.cookie-modal label{display:flex;justify-content:space-between;padding:15px 0;}.wide{width:100%;}
.results-main{max-width:1120px;margin:auto;padding:38px 22px 70px;}.back-link{display:inline-flex;gap:8px;align-items:center;color:#486052;font-size:.84rem;}.results-search{margin:18px 0 26px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;border:1px solid #c9d4ca;background:#fff;border-radius:11px;overflow:hidden;}.results-search i{margin-left:15px;color:#6b786f;}.results-search input{height:50px;border:0;outline:0;padding:0 13px;font-size:1rem;}.results-search button{height:50px;border:0;background:var(--color-primary);color:white;padding:0 20px;font-weight:700;}.results-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;}.results-title-row h1{margin:5px 0 0;letter-spacing:-.04em;}.results-title-row>strong{color:#5e6b63;}.family-filters{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 22px;}.family-filters button{border:1px solid #cbd5cc;border-radius:999px;background:white;padding:8px 12px;color:#354c3c;}.family-filters button.active{border-color:#89a28e;}.results-grid{display:grid;gap:12px;}.result-card{display:grid;gap:16px;border:1px solid #d8ddd8;border-radius:13px;background:#fff;align-items:center;}.result-photo{border-radius:9px;background:#edf1ec;overflow:hidden;display:grid;place-items:center;color:#8b9990;}.result-photo img{width:100%;height:100%;object-fit:cover;}.result-info{min-width:0;}.result-top{display:flex;justify-content:space-between;gap:12px;}.result-top h2{margin:0;}.result-reg{font-size:.75rem;color:#68756c;white-space:nowrap;}.result-meta{display:flex;gap:8px;align-items:center;margin-top:6px;}.result-location{margin:4px 0 0 36px;color:#68756d;}.result-actions{display:grid;gap:7px;justify-items:stretch;}.result-actions .contact-btn{justify-content:center;}.result-actions .view-card{height:36px;border:1px solid #bfcac0;border-radius:8px;background:#fff;color:#2f533b;cursor:pointer;font-weight:650;}.pagination{display:flex;justify-content:center;gap:6px;margin-top:26px;}.pagination button{width:36px;height:36px;border:1px solid #cbd4cc;border-radius:8px;background:white;}.pagination button.active{background:var(--color-primary);color:white;border-color:var(--color-primary);}
@media(max-width:720px){.eyebrow,.hero h1,.intro,.map-path,.secondary-band,footer{display:none;}.search-form label{margin-bottom:10px;}.search-line{grid-template-columns:1fr;}.search-submit{display:none;}.search-box input{height:58px;padding-left:50px;}.search-glyph{top:20px;}.suggestions{position:relative;top:auto;margin-top:10px;box-shadow:none;overflow:auto;}.suggestion{grid-template-columns:1fr;}.suggestion-actions{margin-top:4px;}.under-search{display:none;}.advanced-note{display:none!important;}.view-all-mobile{display:flex;width:100%;border:1px solid #88a28d;border-radius:9px;background:#eef5ec;color:#285139;align-items:center;justify-content:space-between;padding:0 13px;margin-top:8px;font-weight:700;}.suggestions-footer{position:sticky;bottom:0;}.detail-modal{padding:0;align-items:end;}.detail-panel{width:100%;border-radius:18px 18px 0 0;}.detail-summary{grid-template-columns:1fr 1fr;}.results-main{padding:18px 14px 50px;}.site-header.compact{display:block;}.site-header.compact .header-inner{padding:10px 14px;}.site-header.compact nav a:first-child{display:none;}.results-search{margin:12px 0 18px;}.results-title-row h1{font-size:1.65rem;}.results-grid{gap:10px;}.result-card{gap:10px;}.result-actions{display:flex;gap:7px;justify-content:flex-end;}.result-actions .contact-btn,.result-actions .view-card{height:38px;}.cookie-banner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;}.cookie-banner>div:last-child{display:flex;gap:8px;}.cookie-banner button{flex:1;}}

/* v2.1 · accesibilidad, jerarquía y modales */
.hero-inner{padding-top:64px;}.hero h1{font-size:clamp(2.25rem,4.4vw,4.25rem);font-weight:680;letter-spacing:-.045em;}.search-submit{font-size:1rem;}.secondary-band{align-items:center;}.secondary-copy{max-width:560px;}.map-preview{width:320px;height:180px;border:1px solid #cdd9ce;border-radius:14px;position:relative;overflow:hidden;background:linear-gradient(145deg,#e9efe7,#f9f8f1);text-decoration:none;color:#294c36;box-shadow:0 10px 28px rgba(35,69,45,.08);}.map-preview:before,.map-preview:after{content:"";position:absolute;background:rgba(255,255,255,.8);height:5px;width:130%;transform:rotate(-14deg);left:-10%;top:60px;}.map-preview:after{transform:rotate(20deg);top:108px;}.map-preview .map-road{position:absolute;background:#d7cdbb;height:3px;width:120%;left:-10%;top:80px;transform:rotate(8deg);}.map-preview .r2{top:120px;transform:rotate(-25deg);}.map-preview i{position:absolute;color:var(--color-primary);font-size:24px;z-index:2;}.map-preview .p1{left:62px;top:44px;}.map-preview .p2{left:154px;top:98px;}.map-preview .p3{right:54px;top:54px;}.map-preview strong{position:absolute;left:18px;bottom:14px;z-index:3;background:rgba(255,253,248,.92);padding:7px 10px;border-radius:8px;font-size:.9rem;}.suggestion{padding:14px 16px;}.suggestion-reg,.result-reg{border:0;background:#f0f4ef;color:#365d42;border-radius:7px;font-weight:700;cursor:pointer;}.results-main{font-size:17px;}.result-card{grid-template-columns:160px minmax(0,1fr) auto;padding:13px;}.result-photo{width:160px;height:116px;}.result-actions .view-card{min-width:130px;}.detail-panel{width:min(920px,100%);}.detail-close,.modal-close-text{position:absolute;right:14px;top:14px;z-index:8;min-width:92px;height:44px;border-radius:999px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.12);}.detail-close span{font-size:.88rem;}.detail-registration strong{color:#244f34;}.detail-registration button{border:0;background:none;padding:0;color:#356847;text-decoration:underline;cursor:pointer;}.detail-actions .contact-btn{height:46px;font-size:.98rem;}.info-modal[hidden],.web-modal[hidden]{display:none!important;}.info-modal,.web-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:24px;}.info-panel{position:relative;z-index:2;width:min(600px,100%);background:#fff;border-radius:16px;padding:64px 28px 28px;box-shadow:0 24px 70px rgba(0,0,0,.24);}.info-panel h2{margin:0 0 12px;}.info-panel p{line-height:1.55;color:#4f6156;}.info-note{background:#eef5ec;padding:12px;border-radius:10px;}.web-panel{position:relative;z-index:2;width:min(1100px,96vw);height:min(86dvh,820px);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 26px 80px rgba(0,0,0,.26);}.web-panel header{min-height:62px;padding:10px 130px 10px 18px;border-bottom:1px solid #dde3dd;display:flex;align-items:center;}.web-panel header small{display:block;color:#758078;font-size:.72rem;}.web-panel header strong{display:block;font-size:1rem;}.web-panel iframe{width:100%;height:100%;border:0;}.web-fallback{padding:8px 14px;border-top:1px solid #e1e5e1;color:#68736c;font-size:.75rem;}.web-fallback a{color:#315f40;}.image-error{display:none;}
@media(max-width:720px){.hero{min-height:100dvh;}.hero-inner{padding:88px 18px 36px;min-height:100dvh;}.site-header{display:block;}.site-header .header-inner{padding:11px 16px;}.site-header nav{display:none;}.hero .eyebrow{display:block;font-size:.68rem;}.hero h1{display:block;font-size:2rem;line-height:1.05;margin:8px 0 12px;}.intro{display:block;margin:0 0 24px;}.map-path{display:block;font-size:.92rem;margin-top:24px;}.secondary-band{display:none;}.mobile-search-mode .site-header,.mobile-search-mode .hero .eyebrow,.mobile-search-mode .hero h1,.mobile-search-mode .intro,.mobile-search-mode .map-path{display:none;}.mobile-search-mode .hero-inner{padding-top:20vh;}.mobile-search-mode .search-form label{display:block;}.mobile-search-mode .under-search{display:none;}.suggestions{max-height:44dvh;}.view-all-mobile{font-size:.95rem;height:46px;}.suggestion{padding:13px;}.suggestion-head{align-items:flex-start;}.suggestion-actions{justify-content:flex-end;}.suggestion-actions .contact-btn{height:42px;font-size:.9rem;}.detail-panel{max-height:94dvh;}.detail-close{position:sticky;float:right;margin:10px 10px -54px 0;}.detail-map{height:180px;}.detail-type-row .type-badge.large{width:50px;height:50px;flex-basis:50px;}.detail-type-row .type-badge.large i{font-size:28px;}.detail-actions{display:grid;}.detail-actions .contact-btn{justify-content:center;}.result-card{grid-template-columns:90px minmax(0,1fr);padding:11px;}.result-photo{width:90px;height:90px;}.result-top h2{font-size:1.15rem;}.result-reg{font-size:.76rem;}.result-meta{font-size:.96rem;}.result-location{font-size:.9rem;margin-left:46px;}.result-actions{grid-column:1/-1;}.result-actions .contact-btn,.result-actions .view-card{font-size:.9rem;flex:1;}.info-modal,.web-modal{padding:0;}.info-panel{border-radius:18px 18px 0 0;align-self:end;padding:66px 22px 28px;}.web-panel{width:100vw;height:100dvh;border-radius:0;}.web-panel header{padding-left:14px;}.modal-close-text{right:10px;top:10px;}}

/* v2.2 · registro turístico flexible, legibilidad y marca */
.brand-logo{width:46px;height:46px;object-fit:contain;display:block;flex:0 0 auto;}

.brand b{font-size:1.12rem;}.brand small{font-size:.84rem;}
.intro{font-size:1.22rem;line-height:1.52;}
.search-box input{font-size:1.22rem;}
.suggestion-meta{font-size:1rem;}.suggestion-location{font-size:.96rem;}
.suggestion-reg,.result-reg{font-size:.88rem;padding:6px 9px;}


.contact-btn{font-size:1rem;}
.results-title-row h1{font-size:2rem;}.results-count{font-size:1rem;}
.result-top h2{font-size:1.34rem;}.result-meta{font-size:1.06rem;}.result-location{font-size:1rem;margin-left:50px;}
.result-meta .type-badge{width:42px;height:42px;flex-basis:42px;}.result-meta .type-badge i{font-size:24px;}
.detail-head h2{font-size:2.15rem;}.detail-place{font-size:1.12rem;}.detail-registration button{font-size:.9rem;}
.detail-type-row .type-badge.large{width:56px;height:56px;flex-basis:56px;}.detail-type-row .type-badge.large i{font-size:31px;}.detail-type-row strong{font-size:1.16rem;}
.detail-summary small{font-size:.88rem;}.detail-summary span{font-size:1.08rem;}
.info-panel h2{font-size:1.75rem;}.info-panel p{font-size:1.08rem;}.official-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}.official-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #b8c8ba;border-radius:10px;color:#2c5c3b;text-decoration:none;font-weight:700;background:#fff;}.official-links a:first-child{background:#eef5ec;}
@media(max-width:720px){body{font-size:19px;}.brand-logo{width:42px;height:42px;}.intro{font-size:1.08rem;}.search-form label{font-size:1.12rem;}.search-box input{font-size:1.18rem;}.suggestion-name{font-size:1.15rem;}.suggestion-meta{font-size:1.02rem;}.suggestion-reg{font-size:.86rem;}.type-badge{width:44px;height:44px;flex-basis:44px;}.type-badge i{font-size:25px;}.suggestion-location{margin-left:52px;}.contact-btn{font-size:1rem;}.info-panel p{font-size:1.1rem;}.official-links{display:grid;}.official-links a{justify-content:center;}}


/* v2.3 · flujo móvil: CTA visible y cookies externas fuera de la interfaz */
@media(max-width:720px){
  .mobile-search-mode.mobile-has-results .hero-inner{padding-top:6.5vh;}
  .search-box .view-all-mobile{display:none;}
  .mobile-search-mode.mobile-has-results .search-box .view-all-mobile:not([hidden]){
    display:flex;position:relative;z-index:20;margin:8px 0 0;width:100%;height:52px;
    border:1px solid #477d57;border-radius:10px;background:#3f7d51;color:#fff;
    align-items:center;justify-content:space-between;padding:0 16px;font-size:1rem;font-weight:750;
    box-shadow:0 6px 18px rgba(39,81,51,.12)
  ;}
  .mobile-search-mode.mobile-has-results .suggestions{margin-top:8px;max-height:47dvh;}
  .mobile-search-mode.mobile-has-results .suggestions-footer{display:none;}
  .suggestion{border-radius:0;}
}
/* ocultar revisitas flotantes de gestores externos: Astur conserva su enlace Cookies en el pie */
.cky-btn-revisit-wrapper,.cky-btn-revisit,[data-cky-tag="revisit-consent"],#CookiebotWidget,.cmplz-manage-consent,.cc-revoke,#onetrust-pc-btn-handler,#ot-sdk-btn-floating{display:none!important;}

/* ===== Astur buscador v2.4 · inicio simplificado ===== */
:root{
  
  
  --ink:#173a29;
  --muted:#64746b;
  --line:#d8e1db;
  --green:#3f7d51;
  --green2:#2f6541;
  
  --blue:#48acd0;
  --ochre:#e3a43b;
  --shadow:var(--shadow-suggestions,0 14px 38px rgba(25,55,37,.11));
}

body[data-page="home"]{background:#f6f8f6;}
body[data-page="home"] .start-header{background:#fff;}
body[data-page="home"] .search-home{min-height:72vh;display:flex;align-items:center;padding:36px 20px 42px;}
body[data-page="home"] .search-home-inner{width:min(860px,100%);margin:auto;}
.search-intro{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 32px;text-align:left;}
.search-logo{width:76px;height:76px;object-fit:contain;}
.place-name{display:block;font-size:.82rem;letter-spacing:.18em;font-weight:750;}
.search-intro h1{margin:1px 0 0;font-size:clamp(2.1rem,5vw,3.7rem);line-height:1;letter-spacing:-.045em;font-weight:720;}
body[data-page="home"] .search-form{width:min(780px,100%);margin:auto;position:relative;}
body[data-page="home"] .search-form label{font-size:1.08rem;margin-bottom:10px;}
body[data-page="home"] .search-line{grid-template-columns:minmax(0,1fr) auto;gap:10px;}
body[data-page="home"] .search-box input{height:64px;border-radius:13px;border-color:#99ad9e;font-size:1.18rem;background:#fff;}
body[data-page="home"] .search-glyph{top:22px;font-size:1.22rem;}
body[data-page="home"] .clear{top:13px;}
body[data-page="home"] .search-submit{height:64px;min-width:112px;border-radius:13px;font-size:1rem;}
.search-options{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:18px;font-size:.93rem;}
.search-options button,.search-options a{border:0;background:none;text-decoration:none;padding:7px 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.search-options button:hover,.search-options a:hover{text-decoration:underline;text-underline-offset:4px;}
body[data-page="home"] .advanced-note{text-align:center;margin-top:4px;}
body[data-page="home"] .suggestions{position:relative;left:auto;right:auto;top:auto;margin-top:10px;box-shadow:var(--shadow);border-radius:13px;max-height:475px;overflow:auto;}
body[data-page="home"] .suggestion{padding:12px 14px;background:#fff;}
body[data-page="home"] .suggestion-name{font-size:1.05rem;}
body[data-page="home"] .suggestion-reg{font-size:.8rem;background:#f1f5f2;padding:5px 7px;border-radius:7px;}
body[data-page="home"] .suggestion-actions .contact-btn{height:38px;}
body[data-page="home"] .suggestions-footer{background:#f2f7f3;}
body[data-page="home"] .view-all-mobile{display:none;}
.home-lower{max-width:860px;margin:0 auto;padding:34px 20px 70px;}
.simple-path{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-decoration:none;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:20px 4px;color:var(--color-text);}
.simple-path>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf4ed;color:#3d7950;font-size:1.2rem;}
.simple-path b{display:block;font-size:1.05rem;}.simple-path small{display:block;color:var(--color-text-muted);margin-top:3px;font-size:.86rem;}

/* el botón externo de reabrir preferencias no debe invadir la interfaz */
.cky-btn-revisit-wrapper,.cky-btn-revisit,[data-cky-tag="revisit-consent"],#CookiebotWidget,.cmplz-manage-consent,.cc-revoke,#onetrust-pc-btn-handler,#ot-sdk-btn-floating,
iframe[title*="cookie" i],iframe[src*="cookieyes" i],iframe[src*="cookiebot" i]{display:none!important;}

/* enlaces externos dentro de modal */
.web-panel{background:#fff;}.web-panel iframe{background:#fff;}

@media(max-width:720px){
  body[data-page="home"]{font-size:18px;background:#f7f9f7;}
  body[data-page="home"] .site-header{display:none!important;}
  body[data-page="home"] .search-home{min-height:100dvh;padding:0 16px 28px;align-items:flex-start;background:#f7f9f7;}
  
  .search-intro{justify-content:flex-start;gap:13px;}
  .search-logo{width:56px;height:56px;}
  .place-name{font-size:.68rem;}
  body[data-page="home"] .search-form{width:100%;}
  body[data-page="home"] .search-form label{font-size:1.08rem;}
  body[data-page="home"] .search-line{grid-template-columns:1fr;}
  body[data-page="home"] .search-submit{display:none;}
  body[data-page="home"] .search-box input{height:62px;font-size:1.18rem;padding-left:50px;}
  body[data-page="home"] .search-glyph{top:21px;}
  body[data-page="home"] .search-options{gap:20px;justify-content:flex-start;margin-top:17px;font-size:.92rem;}
  body[data-page="home"] .home-lower,body[data-page="home"] footer{display:none;}
  body[data-page="home"] .suggestions{margin-top:8px;max-height:44dvh;box-shadow:none;border-radius:12px;}
  body[data-page="home"] .suggestion{grid-template-columns:1fr;padding:12px 13px;}
  body[data-page="home"] .suggestion-actions{justify-content:flex-start;margin-left:0;margin-top:8px;}
  body[data-page="home"] .suggestion-actions .contact-btn{height:40px;font-size:.91rem;}
  body[data-page="home"] .suggestion-meta{font-size:.96rem;}.suggestion-location{font-size:.9rem;}
  body[data-page="home"] .suggestions-footer{display:none;}
  body[data-page="home"] .view-all-mobile:not([hidden]){display:flex!important;width:100%;height:50px;margin-top:9px;border:0;border-radius:11px;background:var(--color-primary);color:#fff;text-decoration:none;align-items:center;justify-content:space-between;padding:0 16px;font-size:1rem;font-weight:720;box-shadow:0 7px 18px rgba(45,101,65,.18);}
  /* al empezar a buscar dejamos solo lo esencial */
  body.mobile-search-mode .search-home-inner{padding-top:16vh;}
  body.mobile-search-mode .search-intro{display:none;}
  body.mobile-search-mode .search-options,body.mobile-search-mode .advanced-note{display:none!important;}
  body.mobile-search-mode.mobile-has-results .search-home-inner{padding-top:8vh;}
  body.mobile-search-mode.mobile-has-results .suggestions{max-height:48dvh;}
}


/* v2.5 · ficha y resultados orientados al viajero */
:root{--bg:#f7f8f5;--paper:#ffffff;--soft:#eef5ee;}

.results-options-btn{border:1px solid #b9c9bc;background:#fff;color:#244d35;border-radius:10px;min-height:44px;padding:0 14px;font-weight:700;display:inline-flex;align-items:center;gap:9px;cursor:pointer;}
.tools-modal[hidden],.map-modal[hidden]{display:none!important;}.tools-modal,.map-modal{position:fixed;inset:0;z-index:1750;display:grid;place-items:center;padding:20px;}.tools-panel{position:relative;z-index:2;width:min(620px,100%);background:#fff;border-radius:18px;padding:66px 22px 22px;box-shadow:0 26px 80px rgba(0,0,0,.23);}.tools-panel h2{margin:0 0 18px;font-size:1.55rem;}.tool-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #e2e8e2;}.tool-choice:first-of-type{border-top:0;}.tool-choice>div{display:grid;grid-template-columns:28px 1fr;column-gap:8px;}.tool-choice>div>i{grid-row:1/3;font-size:1.15rem;color:#3d7850;margin-top:3px;}.tool-choice small{color:#6b786f;}.tool-choice select{min-width:160px;padding:9px;border:1px solid #c7d2c8;border-radius:9px;background:#fff;}.tool-choice.link{text-decoration:none;color:inherit;}.switchline{white-space:nowrap;font-weight:650;}.switchline input{transform:scale(1.25);margin-right:6px;}
.detail-panel{overflow:visible;}.detail-panel>#detailContent{max-height:90dvh;overflow:auto;border-radius:18px;}.detail-close{position:absolute!important;float:none!important;top:12px!important;right:12px!important;background:#fff!important;box-shadow:0 6px 20px rgba(0,0,0,.2)!important;}
.detail-media{height:300px;grid-template-columns:1.18fr .82fr;}.detail-photo{position:relative;}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:#214b32;box-shadow:0 3px 12px rgba(0,0,0,.2);cursor:pointer;}.gallery-prev{left:12px;}.gallery-next{right:12px;}.gallery-count{position:absolute;right:12px;bottom:12px;background:rgba(20,35,25,.72);color:#fff;padding:6px 9px;border-radius:999px;font-size:.8rem;}.detail-map-wrap{position:relative;min-width:0;overflow:hidden;}.detail-map{height:300px;}.map-expand{position:absolute;right:10px;bottom:10px;z-index:500;border:1px solid #b6c5b8;background:#fff;color:#244c34;border-radius:9px;padding:9px 11px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.map-modal-panel{position:relative;z-index:2;width:min(1100px,96vw);height:min(86dvh,800px);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.28);}#expandedMap{width:100%;height:100%;}.map-modal-panel .modal-close-text{z-index:1000;}
.detail-body{padding:25px 28px 30px;}.detail-head{align-items:flex-start;}.detail-registration{border:1px solid #a9c1ad;background:#edf6ed;border-radius:14px;padding:11px 14px;min-width:205px;margin-right:100px;color:#214b32;text-align:left;cursor:pointer;}.detail-registration small{display:block;font-size:.82rem;color:#66766b;}.detail-registration strong{display:block;font-size:1.55rem;letter-spacing:.02em;margin:2px 0;}.detail-registration span{font-size:.84rem;text-decoration:underline;text-underline-offset:3px;}.traveler-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}.traveler-chips span{border:1px solid #c8d4ca;background:#f7faf6;border-radius:999px;padding:7px 10px;font-size:.93rem;}.traveler-chips span:first-child{background:#e6f1e6;border-color:#a9c4ad;font-weight:700;}.detail-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}.detail-actions .contact-btn{width:100%;justify-content:center;min-height:48px;}.detail-actions .wa i{font-size:1.25rem;}
.capacity-card{margin-top:18px;border:1px solid #dbe3dc;border-radius:14px;background:#fbfcfa;padding:14px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;}.capacity-card>div{display:flex;align-items:center;gap:8px;}.capacity-card small{display:block;color:#6c786f;}.capacity-card b,.capacity-card strong{font-size:1rem;}.capacity-people{flex-direction:column!important;align-items:flex-start!important;gap:3px!important;}.capacity-people>span{display:flex;gap:4px;align-items:center;color:#3f7850;}.capacity-people i{font-size:1.05rem;}.capacity-people span b{font-size:.84rem;}.zone-card{margin-top:12px;border:1px solid #dbe3dc;border-radius:14px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:15px;}.zone-card small{display:block;color:#6d786f;}.zone-card b{font-size:1.04rem;}.zone-mini{display:flex;gap:4px;}.zone-mini span{width:30px;height:25px;border-radius:7px;background:#e7ebe7;display:grid;place-items:center;color:#7e8981;font-size:.72rem;font-weight:800;}.zone-mini span.on{background:#3f7d51;color:#fff;}.official-type-card{margin-top:12px;border:1px solid #dbe3dc;border-radius:14px;padding:13px 14px;display:flex;justify-content:space-between;gap:14px;align-items:center;}.official-type-card>div{display:flex;gap:11px;align-items:center;}.official-type-card small{display:block;color:#6d786f;}.official-type-card strong{display:block;font-size:1.05rem;}.official-type-card button{border:0;background:none;color:#356849;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:650;}.detail-more{margin-top:14px;border-top:1px solid #e1e6e1;padding-top:12px;}.detail-more summary{font-size:1rem;}.detail-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}.detail-link-card{border:1px solid #bfd0c2;border-radius:13px;padding:14px;text-decoration:none;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;background:#f9fbf8;}.detail-link-card>i:first-child{width:36px;height:36px;border-radius:10px;background:#e5f1e5;color:#347047;display:grid;place-items:center;}.detail-link-card b{display:block;font-size:1rem;}.detail-link-card span{display:block;color:#68756d;font-size:.82rem;margin-top:2px;}.detail-link-card.owner{background:#fff;}.detail-link-card.owner>i:first-child{background:#f5efe2;color:#936628;}
.result-actions .view-card{font-size:.95rem;}.results-head{position:relative;}
.info-panel a{color:#2e6542;}
@media(max-width:720px){.tools-modal{padding:0;align-items:end;}.tools-panel{border-radius:18px 18px 0 0;width:100%;padding:68px 20px 24px;}.tool-choice{align-items:flex-start;}.tool-choice select{min-width:135px;}.detail-panel>#detailContent{max-height:94dvh;}.detail-media{grid-template-columns:1fr;height:auto;}.detail-photo{height:220px;}.detail-map-wrap,.detail-map{height:180px;}.detail-body{padding:20px 18px 26px;}.detail-head{display:block;}.detail-head h2{font-size:1.85rem;}.detail-registration{margin:15px 0 0;min-width:0;width:100%;padding:12px 14px;}.detail-registration strong{font-size:1.65rem;}.traveler-chips span{font-size:.98rem;}.detail-actions{grid-template-columns:1fr 1fr;}.detail-actions .contact-btn{font-size:1rem;}.capacity-card{gap:14px;}.zone-card,.official-type-card{align-items:flex-start;}.detail-links{grid-template-columns:1fr;}.detail-link-card{padding:14px;}.map-modal{padding:0;}.map-modal-panel{width:100vw;height:100dvh;border-radius:0;}.result-actions .view-card{min-width:0;}.results-options-btn{width:100%;justify-content:center;}}


/* v2.6 · opciones persistentes, cierre por encima del mapa y cookies */
.tools-panel{max-height:min(82dvh,720px);overflow:auto;}.tool-choice-stacked{align-items:flex-start;}.tool-choice-stacked>div{flex:1;}.tool-choice-stacked small{font-size:.95rem;line-height:1.45;max-width:410px;}.tool-choice-stacked select{margin-top:2px;}.detail-panel{isolation:isolate!important;}.detail-media,.detail-map-wrap,.detail-map{position:relative;z-index:1;}.detail-panel .leaflet-pane{z-index:2!important;}.detail-panel .leaflet-top,.detail-panel .leaflet-bottom{z-index:3!important;}.detail-close{z-index:10000!important;min-width:96px;height:46px;border-radius:999px!important;font-size:1rem!important;font-weight:750!important;display:flex!important;align-items:center;justify-content:center;gap:7px;}.cookie-banner{z-index:20000!important;}.cookie-banner .primary{background:#2f7147!important;border-color:#2f7147!important;color:#fff!important;font-weight:800!important;box-shadow:0 5px 16px rgba(47,113,71,.22);}body.cookie-choice-made .cky-btn-revisit-wrapper,body.cookie-choice-made .cky-btn-revisit,body.cookie-choice-made [data-cky-tag="revisit-consent"],body.cookie-choice-made #CookiebotWidget,body.cookie-choice-made .cmplz-manage-consent,body.cookie-choice-made .cc-revoke,body.cookie-choice-made #onetrust-pc-btn-handler,body.cookie-choice-made #ot-sdk-btn-floating{display:none!important;}
@media(max-width:720px){.tools-panel{max-height:86dvh;overflow:auto;}.tool-choice-stacked{display:grid;grid-template-columns:1fr;gap:12px;}.tool-choice-stacked select{width:100%;min-width:0;}.switchline{justify-self:start;}.detail-close{top:9px!important;right:9px!important;min-width:88px;height:43px;}}

/* v2.8 · identidad Astur basada en el logo */
body[data-page="home"] .search-home{background:linear-gradient(180deg,#fff 0%,var(--color-background) 100%);}
.search-intro{margin-bottom:18px;}.search-intro h1{color:var(--color-text);}.place-name{color:var(--color-sea);}
.seo-lead{max-width:690px;margin:-4px auto 24px;text-align:center;color:var(--color-text-muted);font-size:1rem;line-height:1.45;}
.search-box input{border-color:#B9CDBA;box-shadow:0 0 0 3px rgba(161,192,54,.10);}.search-box input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(161,192,54,.16);}
.search-submit,.view-all-mobile:not([hidden]){background:var(--color-primary)!important;}.contact-btn.wa,.detail-actions .wa{background:var(--color-whatsapp)!important;border-color:var(--color-whatsapp)!important;color:#fff!important;}
.search-options button,.search-options a{color:var(--color-link);}
.tools-apply-row{position:sticky;bottom:-1px;background:#fff;border-top:1px solid var(--color-border);padding:14px 0 0;margin-top:4px;}.tools-apply{width:100%;min-height:48px;border:0;border-radius:11px;font-weight:800;font-size:1rem;cursor:pointer;}.tools-apply[hidden]{display:none!important;}
.palette-accent{color:var(--color-gold);}
@media(max-width:720px){body[data-page="home"] .search-home-inner{padding-top:16vh;}.search-intro{margin-bottom:15px;}.seo-lead{text-align:left;font-size:.93rem;margin:0 0 20px;line-height:1.4;}.search-intro h1{font-size:2.05rem;}}

/* Astur v2.9 · Libro de estilo central */
:root{--font-base:18px;--font-small:15px;--font-label:17px;--font-button:17px;--title-weight:500;--heading-weight:550;--item-weight:700;--line-height:1.45;--icon-size:23px;--icon-large:30px;--icon-modal:28px;--type-complete:#78A83F;--type-rooms:#4072A8;--type-multiple:#E9A72E;--radius-control:12px;--radius-card:14px;--radius-modal:18px;}
body{font-weight:400;}.hero h1,.search-intro h1,.results-title-row h1,.secondary-band h2,.info-panel h2,.tools-panel h2,.cookie-modal h2{font-weight:var(--title-weight)!important;}.search-form label,.tool-choice b,.results-options-btn,.family-filters button{font-weight:var(--heading-weight)!important;}.suggestion-name,.result-top h2,.detail-head h2,.detail-title{font-weight:var(--item-weight)!important;}.brand b,.site-header nav a{font-weight:500;}.search-form label{font-size:var(--font-label);}button,.contact-btn,.search-submit,.view-card,.tools-apply{font-size:var(--font-button);}
.search-box input,.results-search input{font-size:1.08em;}.search-options button,.search-options a{font-size:1em;font-weight:520!important;}.search-options i{font-size:1.22em;}.search-options button{border:1px solid transparent!important;border-radius:999px;padding:9px 12px!important;transition:.16s ease;}.search-options button.active{background:var(--soft)!important;border-color:var(--color-sky)!important;color:var(--color-sea)!important;text-decoration:none!important;}.search-options button.active i{color:var(--color-sea);}.search-form.advanced-active .search-box input{border-color:var(--color-sky)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-sky) 18%,transparent)!important;}.search-form.advanced-active .search-glyph{color:var(--color-sea)!important;}.advanced-note{font-size:var(--font-small)!important;background:var(--soft);border-left:3px solid var(--color-sky);border-radius:8px;padding:8px 10px;color:var(--color-text)!important;max-width:680px;}
.suggestion-name{font-size:1.04em;}.suggestion-reg,.suggestion-location,.result-reg,.result-location,.result-meta,.detail-owner,.detail-summary small,.tool-choice small,.info-note,.web-fallback{font-size:var(--font-small)!important;}.type-badge{flex-basis:40px!important;position:relative;}.type-badge.large{width:48px!important;height:48px!important;flex-basis:48px!important;}.type-badge.large i{font-size:var(--icon-large)!important;}.type-completa{background:color-mix(in srgb,var(--color-type-complete) 18%,white)!important;color:var(--color-type-complete)!important;}.type-habitaciones{background:color-mix(in srgb,var(--color-type-rooms) 16%,white)!important;color:var(--color-type-rooms)!important;}.type-varias{background:color-mix(in srgb,var(--color-type-multiple) 18%,white)!important;color:var(--color-type-multiple)!important;}.type-badge.split-house .split-line{position:absolute;left:9px;right:9px;top:52%;height:2px;border-radius:2px;background:currentColor;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-surface) 70%,transparent);}
.contact-btn{min-height:40px!important;border-radius:var(--radius-control)!important;}.contact-btn.wa{background:var(--color-whatsapp)!important;border-color:var(--color-whatsapp)!important;color:#fff!important;}.contact-btn.wa i{font-size:1.15em;}.result-card,.suggestions,.simple-path{border-radius:var(--radius-card)!important;}.search-box input,.search-submit,.results-search,.results-search button{border-radius:var(--radius-control)!important;}
.detail-panel,.info-panel,.web-panel,.map-modal-panel,.tools-panel,.cookie-modal section{background:var(--color-surface)!important;border-radius:var(--radius-modal)!important;color:var(--color-text);}.detail-close,.modal-close-text{background:var(--soft)!important;border:1px solid var(--color-border)!important;color:var(--color-text)!important;}.tools-panel .tool-choice>div>i,.tools-panel .tool-choice.link>i{font-size:var(--icon-modal)!important;color:var(--color-sea)!important;min-width:34px;}.tool-choice{border-radius:var(--radius-card)!important;}.tool-choice b{font-size:1.02em;}.tool-choice small{line-height:1.45;}.tools-apply{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important;}.info-panel a,.official-links a,.web-fallback a{color:var(--color-link)!important;}.cookie-banner .primary,.cookie-modal .primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;}.detail-actions .phone{background:var(--color-primary)!important;border-color:var(--color-primary)!important;}.detail-actions .wa{background:var(--color-whatsapp)!important;border-color:var(--color-whatsapp)!important;color:white!important;}
@media(max-width:820px){body{font-size:var(--font-base);}.search-intro h1{font-weight:var(--title-weight)!important;}.search-form label{font-size:calc(var(--font-label) + 1px);}.suggestion-name{font-size:1.08em;}.search-options button,.search-options a{font-size:1em;}.type-badge{width:42px!important;height:42px!important;flex-basis:42px!important;}.type-badge i{font-size:calc(var(--icon-size) + 1px)!important;}.suggestion-location{margin-left:50px!important;}}


/* v2.10 · auditoría de identidad: todo sale de Logo y colores + Libro de estilo */
body{font-family:var(--font-family,system-ui),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:var(--font-base,18px)!important;line-height:var(--line-height,1.45)!important;background:var(--color-background)!important;color:var(--color-text)!important;}
.site-header,.detail-panel,.info-panel,.web-panel,.map-modal-panel,.tools-panel,.result-card,.suggestions,.cookie-modal section{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;}
.hero h1,.search-home h1,.results-title-row h1,.info-panel h2,.tools-panel h2{font-weight:var(--title-weight,500)!important;color:var(--color-text)!important;}
h2,h3,.secondary-band h2,.official-type-card strong{font-weight:var(--heading-weight,550)!important;}
.suggestion-name,.result-top h2,.detail-head h2{font-weight:var(--item-weight,700)!important;}
.search-form label,.search-options,.result-location,.suggestion-location,.detail-place,.detail-summary span{font-size:var(--font-label,17px)!important;}
.advanced-note,.suggestion-reg,.result-reg,.detail-summary small,.info-note,.web-fallback{font-size:var(--font-small,15px)!important;}
button,.contact-btn,.outline-btn,.view-card,.results-options-btn{font-size:var(--font-button,17px)!important;}
.search-glyph,.results-search>i{font-size:var(--icon-size,23px)!important;color:var(--primary,var(--color-primary))!important;}
.type-badge{width:calc(var(--icon-large,30px) + 16px)!important;height:calc(var(--icon-large,30px) + 16px)!important;flex:0 0 calc(var(--icon-large,30px) + 16px)!important;border-radius:var(--radius-control,12px)!important;}
.type-badge i{font-size:var(--icon-large,30px)!important;}
.suggestion-location{margin-left:calc(var(--icon-large,30px) + 24px)!important;}
.modal-close-text i,.tools-panel i,.info-panel i{font-size:var(--icon-modal,28px)!important;}
/* WhatsApp: el color elegido controla de forma visible icono, texto y borde. */
.contact-btn.wa,.result-actions .contact-btn.wa,.detail-actions .contact-btn.wa{
  background:var(--color-surface)!important;
  border:2px solid var(--color-whatsapp)!important;
  
  font-weight:650!important;
}
.contact-btn.wa i,.result-actions .contact-btn.wa i,.detail-actions .contact-btn.wa i{
  color:var(--color-whatsapp)!important;
  fill:currentColor!important;
  font-size:1.22em!important;
}

.contact-btn.wa:hover i,.contact-btn.wa:focus-visible i{color:#fff!important;}
.contact-btn.phone,.detail-actions .phone{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important;}
.search-box input:focus,.results-search:focus-within{border-color:var(--color-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 15%,transparent)!important;}
.search-options button,.search-options a,.info-panel a,.official-links a,.web-fallback a{color:var(--color-link)!important;}
.advanced-active .search-box input{border-color:var(--color-sea)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-sea) 13%,transparent)!important;}
/* Componentes auxiliares: no introducir tonos fijos fuera del sistema. */
.suggestions-footer,.family-filters button.active,.simple-path,.official-type-card,.detail-link-card{border-color:var(--color-border)!important;}
.suggestions-footer{background:var(--soft)!important;}.family-filters button.active{background:var(--soft)!important;color:var(--color-text)!important;}

/* v2.10.1 · identidad robusta: el color de WhatsApp debe gobernar botón, glifo y pseudo-elemento FA. */
.contact-btn.wa,.result-actions .contact-btn.wa,.detail-actions .contact-btn.wa{
  border-color:var(--color-whatsapp)!important;
  color:var(--color-whatsapp)!important;
}
.contact-btn.wa .fa-whatsapp,
.contact-btn.wa .fa-whatsapp::before,
.result-actions .contact-btn.wa .fa-whatsapp,
.result-actions .contact-btn.wa .fa-whatsapp::before,
.detail-actions .contact-btn.wa .fa-whatsapp,
.detail-actions .contact-btn.wa .fa-whatsapp::before{
  color:var(--color-whatsapp)!important;
  -webkit-text-fill-color:var(--color-whatsapp)!important;
  fill:currentColor!important;
}
.contact-btn.wa svg,.contact-btn.wa svg *{fill:currentColor!important;stroke:currentColor!important;}
.contact-btn.wa:hover,.contact-btn.wa:focus-visible{background:var(--color-whatsapp)!important;color:#fff!important;}
.contact-btn.wa:hover .fa-whatsapp,.contact-btn.wa:hover .fa-whatsapp::before,
.contact-btn.wa:focus-visible .fa-whatsapp,.contact-btn.wa:focus-visible .fa-whatsapp::before{
  color:#fff!important;-webkit-text-fill-color:#fff!important;}

/* v2.10.4 · Sistema de diseño v6.1
   Nuevos controles globales. Sus valores por defecto reproducen v2.10.3. */
:root{
  --border-width:1px;
  --border-width-strong:2px;
  --control-height:40px;
  --control-height-small:36px;
  --control-height-results:50px;
  --control-height-search:58px;
  --control-height-home:64px;
  --control-height-home-mobile:62px;
  --control-height-large:48px;
  --density-gap-tight:7px;
  --density-gap-normal:10px;
  --density-gap-list:12px;
  --density-gap-card:16px;
  --density-pad-card:13px;
  --density-pad-suggestion-y:14px;
  --density-pad-suggestion-x:16px;
  --density-pad-home-suggestion-y:12px;
  --density-pad-home-suggestion-x:14px;
  --density-pad-home-mobile-x:13px;
  --density-pad-detail-top:25px;
  --density-pad-detail-x:28px;
  --density-pad-detail-bottom:30px;
  --density-pad-detail-mobile-top:20px;
  --density-pad-detail-mobile-x:18px;
  --density-pad-detail-mobile-bottom:26px;
  --shadow-suggestions:0 14px 38px rgba(25,55,37,.11);
  --shadow-detail:0 30px 80px rgba(18,36,25,.25);
  --shadow-info:0 24px 70px rgba(0,0,0,.24);
  --shadow-web:0 26px 80px rgba(0,0,0,.26);
  --shadow-tools:0 26px 80px rgba(0,0,0,.23);
  --shadow-map:0 28px 80px rgba(0,0,0,.28);
  --shadow-cookie:0 16px 40px rgba(0,0,0,.16);
  --shadow-close:0 6px 20px rgba(0,0,0,.20);
}

/* Alturas coherentes a partir de un único control base. */
.contact-btn{min-height:var(--control-height)!important;}
.result-actions .view-card{height:var(--control-height-small)!important;}
.results-search input,.results-search button{height:var(--control-height-results)!important;}
.search-box input,.search-submit{height:var(--control-height-search)!important;}
body[data-page="home"] .search-box input,body[data-page="home"] .search-submit{height:var(--control-height-home)!important;}
.detail-actions .contact-btn{min-height:var(--control-height-large)!important;}

/* Grosor de borde común. Los controles de WhatsApp conservan un borde destacado. */
.search-box input,.results-search,.suggestions,.result-card,.family-filters button,.outline-btn,.results-options-btn,.detail-registration,.capacity-card,.zone-card,.official-type-card,.detail-link-card,.tool-choice select,.map-expand,.cookie-banner,.cookie-banner button,.cookie-modal button{
  border-width:var(--border-width)!important;
}
.contact-btn.wa,.result-actions .contact-btn.wa,.detail-actions .contact-btn.wa{border-width:var(--border-width-strong)!important;}

/* Densidad: un ajuste genera varias separaciones internas sin exponer decenas de paddings. */
.search-line{gap:var(--density-gap-normal)!important;}
.results-grid{gap:var(--density-gap-list)!important;}
.result-card{gap:var(--density-gap-card)!important;padding:var(--density-pad-card)!important;}
.suggestion{padding:var(--density-pad-suggestion-y) var(--density-pad-suggestion-x)!important;}
body[data-page="home"] .suggestion{padding:var(--density-pad-home-suggestion-y) var(--density-pad-home-suggestion-x)!important;}
.suggestion-actions{gap:var(--density-gap-tight)!important;}
.detail-body{padding:var(--density-pad-detail-top) var(--density-pad-detail-x) var(--density-pad-detail-bottom)!important;}

/* Sombras derivadas del preset de Diseño. */
.suggestions{box-shadow:var(--shadow-suggestions)!important;}
.detail-panel{box-shadow:var(--shadow-detail)!important;}
.info-panel{box-shadow:var(--shadow-info)!important;}
.web-panel{box-shadow:var(--shadow-web)!important;}
.tools-panel{box-shadow:var(--shadow-tools)!important;}
.map-modal-panel{box-shadow:var(--shadow-map)!important;}
.cookie-banner{box-shadow:var(--shadow-cookie)!important;}
.detail-close{box-shadow:var(--shadow-close)!important;}

@media(max-width:720px){
  body[data-page="home"] .search-box input{height:var(--control-height-home-mobile)!important;}
  body[data-page="home"] .suggestion{padding:var(--density-pad-home-suggestion-y) var(--density-pad-home-mobile-x)!important;}
  .suggestion{padding:var(--density-pad-card)!important;}
  .results-grid{gap:var(--density-gap-normal)!important;}
  .result-card{padding:calc(var(--density-pad-card) - 2px)!important;gap:var(--density-gap-normal)!important;}
  .detail-body{padding:var(--density-pad-detail-mobile-top) var(--density-pad-detail-mobile-x) var(--density-pad-detail-mobile-bottom)!important;}
  .suggestions{box-shadow:none!important;}
  .result-actions .contact-btn,.result-actions .view-card{height:calc(var(--control-height) - 2px)!important;}
}



/* v2.10.6 · Diseño v6.3
   Nuevos tokens de geometría. La estructura visual abierta/enmarcada se emite desde tema.php;
   el modo mixto no añade reglas y conserva el diseño base. */
:root{
  --radius-image:9px;
  --radius-chip:999px;
  --icon-complete:house-chimney;
  --icon-rooms:bed;
  --icon-multiple:split-house;
  --icon-search:magnifying-glass;
  --icon-filters:sliders;
  --icon-phone:phone;
  --icon-web:globe;
  --icon-email:envelope;
  --icon-map:map;
  --icon-route:route;
  --icon-registration:id-card;
  --icon-capacity:user;
  --icon-units:building;
}
.result-photo{border-radius:var(--radius-image)!important;}
.family-filters button,.search-options button,.traveler-chips span{border-radius:var(--radius-chip)!important;}


/* v2.10.6 · Auditoría CSS: puente semántico de alta confianza.
   Las reglas históricas siguen presentes para trazabilidad; esta capa hace que
   los componentes comunes obedezcan los tokens del Centro de Control. */
.site-header{background:var(--color-surface-translucent)!important;}
.site-header nav a,.back-link,.under-search,.map-path,.secondary-band p,footer{color:var(--color-text-muted)!important;}
.search-box input,.results-search,.family-filters button,.outline-btn,.contact-btn,.result-actions .view-card,.pagination button,.cookie-banner,.cookie-modal section{background:var(--color-surface)!important;border-color:var(--color-border)!important;}
.search-box input,.results-search,.contact-btn,.result-actions .view-card,.pagination button{border-width:var(--border-width)!important;}
.suggestions{background:var(--color-surface)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-suggestions)!important;}
.suggestion{border-color:var(--color-border-soft)!important;}
.suggestion:hover{background:var(--color-surface-hover)!important;}
.result-card{border-width:var(--border-width)!important;border-color:var(--color-border)!important;}
.result-photo,.detail-media,.detail-photo,.detail-map{background:var(--soft)!important;}
.search-submit,.results-search button,.pagination button.active,.detail-actions .phone,.cookie-banner .primary,.cookie-modal .primary{color:var(--color-on-primary)!important;}
.detail-backdrop{background:var(--color-overlay)!important;}
.detail-panel{box-shadow:var(--shadow-detail)!important;}
.cookie-banner{box-shadow:var(--shadow-cookie)!important;}
.search-box input,.search-submit,.results-search,.results-search button,.contact-btn,.result-actions .view-card,.pagination button,.cookie-banner button,.cookie-modal button{border-radius:var(--radius-control)!important;}
.result-photo,.detail-photo img{border-radius:var(--radius-image)!important;}
.family-filters button{border-radius:var(--radius-chip)!important;}
