@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#19342d;--muted:#64766f;--brand:#26705a;--brand-dark:#174b3c;--mint:#e7f1eb;--sand:#f7f5ef;--white:#fff;--line:#e3e9e4;--shadow:0 14px 42px rgba(25,52,45,.10);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.75 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-underline-offset:4px;transition:color .18s,background .18s,transform .18s}a:hover{color:var(--brand-dark)}img{max-width:100%;height:auto}.topbar{background:var(--ink);color:#f5faf6;font-size:.82rem}.topbar-inner,.nav-inner,.footer-inner,.wrap{width:min(1160px,calc(100% - 44px));margin-inline:auto}.topbar-inner{display:flex;gap:10px 24px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:8px 0}.topbar a{color:#fff;text-decoration:none}.topbar a:hover{color:#bce2ce}.nav{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(227,233,228,.9);backdrop-filter:blur(14px)}.nav-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700;flex-shrink:0}.brand img{width:67px;height:67px;object-fit:contain;border-radius:50%;background:#fff}.brand span{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;letter-spacing:-.025em}.menu{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.menu a{padding:9px 13px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem;white-space:nowrap}.menu a:hover,.menu a.active{background:var(--mint);color:var(--brand-dark)}.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,rgba(13,43,34,.90),rgba(13,43,34,.72)),url('img/quebrantos.jpg') center 55%/cover no-repeat;color:white;padding:clamp(64px,9vw,112px) 0 clamp(62px,8vw,98px)}.hero:after{content:'';position:absolute;z-index:-1;inset:auto 0 0;height:8px;background:linear-gradient(90deg,#d6e8db,#f4f0e5,#b9d9c7)}.hero h1{font:700 clamp(2.35rem,5.8vw,4.4rem)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.035em;max-width:850px;margin:0 0 18px;text-wrap:balance}.hero p{max-width:690px;font-size:clamp(1.02rem,2vw,1.2rem);margin:0;color:#f1f7f2}.hero .eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:700;color:#d7f0df;margin-bottom:16px}.content{padding:clamp(38px,6vw,72px) 0 clamp(54px,7vw,88px)}.content article{max-width:100%;overflow-wrap:anywhere}.content h1,.content h2,.content h3{font-family:'Playfair Display',Georgia,serif;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}.content h2{font-size:clamp(1.65rem,3.3vw,2.45rem);margin:1.65em 0 .65em}.content h2:first-child{margin-top:0}.content h3{font-size:clamp(1.2rem,2.2vw,1.5rem);margin:1.35em 0 .5em}.content p{margin:0 0 1.15em;color:#344d45}.content img{border-radius:14px}.content figure{margin:0}.content figure img{display:block;width:100%;box-shadow:var(--shadow);transition:transform .25s}.content figure a:hover img{transform:translateY(-3px)}.content ul,.content ol{padding-left:1.35em}.content li{padding-left:.2em;margin:.35em 0}.content .wp-block-gallery,.content .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;margin:28px 0}.content .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.content .button,.content button,.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--brand);color:white;padding:12px 22px;text-decoration:none;font:700 .96rem 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 7px 18px rgba(38,112,90,.16);transition:background .2s,transform .2s}.content .button:hover,.content button:hover,.cta:hover{background:var(--brand-dark);color:white;transform:translateY(-2px)}.content input,.content textarea,.content select{width:100%;padding:12px 14px;border:1px solid #cbd8d0;border-radius:10px;font:inherit;margin:4px 0 14px}.content label{font-weight:600}.notice{background:var(--sand);border:1px solid #eee9dc;border-left:5px solid var(--brand);padding:22px 24px;border-radius:0 var(--radius) var(--radius) 0;margin:28px 0}.notice p:last-child{margin-bottom:0}.footer{background:var(--ink);color:#e9f0ec;padding:38px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}.footer p{margin:5px 0;color:#d9e5de}.footer a{color:white}.footer a:hover{color:#bce2ce}.footer small{color:#b9cbc1}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin:28px 0}.card{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,28px);background:white;box-shadow:var(--shadow)}.card h3{margin-top:0}.map-link{display:inline-block;margin:12px 0}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:99;border-radius:8px}.content a:not(.cta){text-decoration-thickness:1px}.content section+section{margin-top:18px}::selection{background:#d2e9dc;color:var(--ink)}:focus-visible{outline:3px solid #e2b85b;outline-offset:3px}@media(max-width:800px){.funding-strip{width:calc(100% - 30px)}.funding-strip img{width:100%;max-width:100%}.carousel-slide img{height:260px}.nav-inner{align-items:flex-start;flex-direction:column;padding:12px 0;gap:8px}.menu{gap:3px}.menu a{padding:8px 10px}.topbar-inner{justify-content:center}.hero{padding:58px 0}}@media(max-width:480px){.topbar-inner,.nav-inner,.footer-inner,.wrap{width:calc(100% - 30px)}.topbar-inner span{display:none}.brand img{width:58px;height:58px}.brand span{font-size:1.2rem}.menu{width:100%;gap:3px}.menu a{font-size:.82rem;padding:7px 9px}.hero{padding:48px 0 54px}.content{padding:34px 0 48px}.content .wp-block-gallery,.content .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;margin:28px 0}.notice{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Carruseles locales: conservan las galerías originales sin depender de Smart Slider/WordPress */
.funding-strip{width:min(1123px,calc(100% - 36px));margin:28px auto 0;background:transparent;border:0;padding:0;border-radius:0}.funding-strip img{display:block;width:674px;max-width:100%;margin-inline:auto;height:auto;max-height:none;object-fit:contain;border-radius:0!important}.footer{padding-bottom:18px}

.photo-credits{font-size:.78rem;color:#64766f;margin:-18px 0 30px!important}

/* Fondo fotográfico rotatorio en la cabecera de Inicio y Escape room */
.hero[data-hero-slider]{background:#17392e;isolation:isolate}
.hero-backgrounds{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-bg-slide{position:absolute;inset:0;background-position:center 50%;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.025);transition:opacity 1.2s ease,transform 7s linear}
.hero-bg-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,27,.84),rgba(10,34,27,.57) 58%,rgba(10,34,27,.35))}
.hero-bg-slide.is-active{opacity:1;transform:scale(1);}
.hero-copy{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.hero-bg-slide{transition:none;transform:none}}

/* WhatsApp en la barra superior */
.topbar-whatsapp{display:inline-flex;align-items:center;gap:5px;color:#b9efca!important;font-weight:700;white-space:nowrap}.topbar-whatsapp svg{display:block;flex:none}.topbar-whatsapp:hover{color:#fff!important}

/* Galería mosaico del escape room: conserva las proporciones originales */
.escape-gallery{columns:3 230px;column-gap:16px;margin:28px 0}
.escape-gallery figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 16px;padding:7px;background:#fff;border:1px solid #e3e9e4;border-radius:16px;box-shadow:0 8px 24px rgba(25,52,45,.08)}
.escape-gallery figure a{display:block;overflow:hidden;border-radius:10px;cursor:zoom-in}
.escape-gallery figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:10px;box-shadow:none;transition:transform .25s ease}
.escape-gallery figure a:hover img{transform:scale(1.035)}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,20,16,.92);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px)}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox img{display:block;max-width: min(100%,1400px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.4)}
.gallery-lightbox-close{position:absolute;top:14px;right:18px;width:46px;height:46px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.gallery-lightbox-close:hover{background:rgba(255,255,255,.24)}
.gallery-lightbox-caption{position:absolute;bottom:12px;left:12px;right:12px;color:#fff;text-align:center;font-size:.9rem}
@media(max-width:600px){.escape-gallery{columns:2 135px;column-gap:10px;margin:22px 0}.escape-gallery figure{margin-bottom:10px;padding:5px;border-radius:12px}.gallery-lightbox{padding:12px}.gallery-lightbox img{max-height:80vh}}

.legal-links{width:min(1160px,calc(100% - 44px));margin:20px auto 0;display:flex;gap:12px 22px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.16);padding-top:18px;font-size:.9rem}.legal-links a{color:#fff}


/* Aviso de cookies global, adaptable a móvil y escritorio */
.cookie-consent-banner{position:fixed;z-index:10000;left:18px;right:18px;bottom:18px;max-width:980px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;color:#202522;border:1px solid #d4ddd8;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.22);font:15px/1.45 Arial,Helvetica,sans-serif}
.cookie-consent-copy{flex:1;min-width:0}.cookie-consent-copy strong{display:block;font-size:1.05rem;margin-bottom:4px}.cookie-consent-copy p{margin:0;color:#303a35}.cookie-consent-copy a{color:#155f49;text-decoration:underline}.cookie-consent-actions{display:flex;flex-shrink:0;gap:9px}.cookie-consent-actions button{font:inherit;font-weight:700;padding:10px 15px;border-radius:7px;border:1px solid #24483c;cursor:pointer}.cookie-consent-reject{background:#fff;color:#24483c}.cookie-consent-accept{background:#24483c;color:#fff}.cookie-consent-actions button:focus-visible{outline:3px solid #4a9d80;outline-offset:3px}
@media(max-width:650px){.cookie-consent-banner{left:10px;right:10px;bottom:10px;padding:15px;display:block;max-height:75vh;overflow:auto}.cookie-consent-actions{margin-top:13px}.cookie-consent-actions button{flex:1}}

/* Atribuciones discretas en las fotografías del slider de portada */
.hero-bg-slide .photo-credit{position:absolute;right:12px;bottom:12px;z-index:2;max-width:calc(100% - 24px);font:500 10px/1.35 Arial,sans-serif;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.88);text-align:right;text-shadow:0 1px 3px rgba(0,0,0,.9);opacity:.85}
.hero-bg-slide .photo-credit a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.55)}
.hero-bg-slide .photo-credit a:hover,.hero-bg-slide .photo-credit a:focus{opacity:1;color:#fff}
@media(max-width:520px){.hero-bg-slide .photo-credit{font-size:9px;right:8px;bottom:8px;max-width:calc(100% - 16px)}}
