@layer tokens, base, components, site;
@import url('design-system/tokens/fonts.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/colors.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/typography.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/spacing.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/shape.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/components.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/elevation.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/accents.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/tints.css?v=20261115-27') layer(tokens);
@import url('design-system/tokens/aliases.css?v=20261115-27') layer(tokens);
@import url('design-system/base/base.css?v=20261115-27') layer(base);
@import url('design-system/base/type.css?v=20261115-27') layer(base);
@import url('design-system/base/utilities.css?v=20261115-27') layer(base);
@import url('design-system/components/cta.css?v=20261115-27') layer(components);
@import url('design-system/components/forms.css?v=20261115-27') layer(components);
@import url('design-system/components/cards.css?v=20261115-27') layer(components);
@import url('design-system/components/states.css?v=20261115-27') layer(components);
@import url('design-system/components/institutional-page.css?v=20261115-27') layer(components);

/* Global/site legacy rules are now in one ordered layer. Route and fragment-local rules remain explicit overrides during staged migration. */
@layer site {

[data-media-state="missing"]{background:var(--surface-media-placeholder,var(--surface-alt));}
.rp-consent-control__button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);padding:0 var(--space-4);border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--text-primary);font:600 var(--fs-small)/1.2 var(--font-body);cursor:pointer}.rp-consent-control__button:hover{border-color:var(--line-ink);background:var(--surface-alt)}.rp-consent-control__button:focus-visible{outline:var(--focus-outline);outline-offset:3px}.rp-map-consent-note{max-width:60ch;font-size:var(--fs-meta);color:var(--text-meta)}

/* ===== Site Header (ES/EN) ===== */
.sh-wrap,.sh-mobile-panel,.ab,.r-ft{line-height:var(--leading-text,1.5)}
.sh-wrap{transition:transform var(--motion-base) var(--ease-standard);}
.sh-wrap.sh-hidden{transform:translateY(-100%);}
.sh-dropdown.open{opacity:1;visibility:visible;pointer-events:auto;}
.sh-nav-burger{display:none;}
.sh-rs{display:none;}
@media (max-width:479px){.sh-rl{display:none;}.sh-rs{display:inline;}.sh-nav-burger{gap:var(--space-2) !important;}}
@media (min-width:360px) and (max-width:439px){.sh-logo-t{display:none !important;}}
@media (max-width:479px){.sh-wrap nav{width:100%;padding-inline:10px !important;gap:8px !important;justify-content:space-between !important;}.sh-nav-burger{display:flex !important;flex:0 0 auto;margin-left:0 !important;gap:4px !important;}.sh-nav-burger>a.cta-primary-compact{flex:0 1 auto;min-width:0;width:auto;max-width:124px;padding-inline:12px !important;white-space:nowrap;}.sh-nav-burger .rp-menu-open{display:flex !important;flex:0 0 auto !important;width:auto !important;min-width:44px !important;padding:0 8px 0 8px !important;gap:4px !important;border-radius:22px;background:var(--cream-a10) !important;}.sh-nav-burger .rp-menu-open .sh-mn-l{display:none !important;}.sh-nav-burger .rp-menu-open .sh-mn-s{display:inline !important;}.sh-nav-burger .rp-menu-open svg{display:block;flex:none;width:20px;height:20px;}}
/* < 360 px: el acceso de fechas se conserva y el wordmark cede su lugar al símbolo de marca (antes se ocultaba el acceso). */
@media (max-width:359px){.sh-wrap .sh-logo-text{display:none !important;}.sh-nav-burger>a.cta-primary-compact{padding-inline:10px !important;max-width:132px;}}
.sh-langsw{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;flex:none;height:var(--header-ctl-h,32px);border:1px solid currentColor;border-radius:var(--radius-circle);color:var(--cream);}
.sh-langsw::before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:var(--radius-circle);background:var(--cream);animation:lsFromEs .45s var(--ease-marea) both;transform:translateX(var(--ls-dx,0px));transition:transform .25s var(--ease-marea);}
.sh-langsw:has(a[hreflang="en"][aria-current]:not([aria-current="false"]))::before{transform:translateX(calc(100% + var(--ls-dx,0px)));animation-name:lsFromEn;}
.sh-langsw:active{cursor:grabbing;}
.sh-langsw.ls-drag::before,.sh-langsw.ls-go::before{animation:none;}
.sh-langsw.ls-drag::before{transition:none;}
.sh-langsw.ls-drag a,.sh-langsw.ls-go a{pointer-events:none;}
@keyframes lsFromEs{from{transform:translateX(100%)}to{transform:translateX(var(--ls-dx,0px))}}
@keyframes lsFromEn{from{transform:none}to{transform:translateX(100%)}}
.sh-langsw a{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:100%;font-size:var(--fs-meta);font-weight:600;line-height:1;color:inherit;text-decoration:none;border-radius:var(--radius-circle);}
.sh-langsw a::after{content:"";position:absolute;inset:-7px -5px;}
.sh-langsw a[aria-current]:not([aria-current="false"]){color:var(--ink);}
.sh-langsw a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.sh-langsw::before{animation:none;}}
@media (min-width:1180px) and (max-width:1439px){.sh-nav-links-desktop{gap:var(--space-3) !important;font-size:var(--fs-small);}}
@media (max-width:1179px){.sh-nav-links-desktop{display:none !important;}
.sh-nav-burger{display:flex !important;}}
.sh-nav-scrolled{background:var(--header-bg) !important;}
.sh-nav-links-desktop>a,.sh-nav-links-desktop span>a{transition:color var(--motion-base) var(--ease-standard);}
.sh-dropdown{transition:opacity .25s var(--ease-marea) !important;}
.sh-dropdown-card{position:relative;isolation:isolate;background:var(--header-menu-bg);border:1px solid var(--border-dark);border-radius:var(--header-menu-radius);padding:var(--header-menu-pad);min-width:220px;box-shadow:var(--shadow-lift-dark);}
.sh-dropdown-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background-image:var(--grain-img);}
.sh-dropdown-card a{display:flex;align-items:center;min-height:var(--target-min);padding-inline:var(--space-3);border-radius:var(--header-item-radius,12px);font-size:var(--fs-small);color:var(--header-link-muted);transition:background var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard);}
.sh-dropdown-card a:hover{background:var(--white-a06);color:var(--cream);}
.sh-dropdown-card a[aria-current="page"]{color:var(--cream);font-weight:600;background:var(--white-a08);}
/* Header · medidas locales, indicador de marea, selector EN inactivo y dropdowns editoriales */
.sh-nav-links-desktop{--sh-wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M0 3q3-3 6 0t6 0' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");}
.sh-nl,.sh-nav-more>span{position:relative;}
.sh-nl::after,.sh-nav-more>span::after{content:"";position:absolute;left:0;right:0;bottom:var(--space-1);height:6px;background:var(--sand);-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;opacity:0;transform:scaleX(.6);transform-origin:left center;pointer-events:none;transition:opacity var(--motion-base) var(--ease-marea),transform var(--motion-base) var(--ease-marea);}
.sh-nl:hover::after,.sh-nl:focus-visible::after,.sh-nav-more>span:hover::after,.sh-nav-more>span:focus-within::after{opacity:.55;transform:none;}
.sh-nl[aria-current="page"]::after,.sh-nav-more>span[data-on="true"]::after{opacity:1;transform:none;}
.sh-chev-btn{background:none;border:0;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;width:var(--header-chev-w);height:var(--target-min);padding:0;position:relative;border-radius:var(--radius-circle);transition:background var(--motion-base) var(--ease-standard);}
.sh-chev-btn::before{content:"";position:absolute;inset:0 -8px;}
.sh-chev-btn:hover{background:var(--white-a08);}
.sh-plan-btn{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:0;position:relative;}
.sh-hub{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:var(--target-min);}
.sh-nl{display:inline-flex;align-items:center;min-height:var(--target-min);}
.sh-cta{flex-shrink:0;min-height:var(--target-min);min-width:var(--header-cta-min);justify-content:center;padding:0 var(--space-6);font-weight:600;}
.sh-dropdown{position:absolute;top:100%;padding-top:var(--space-3);z-index:var(--z-menu);}
.sh-dd-start{left:0;}
.sh-dd-end{right:0;}
.sh-dd-tt{display:flex;flex-direction:column;gap:0;padding:var(--space-1) 0;}
.sh-dd-s{font-size:var(--fs-meta);font-weight:400;color:var(--text-on-dark-muted);}
.sh-chev-btn:focus-visible,.sh-plan-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.sh-dropdown-card.has-media{min-width:272px;}
.sh-dd-eyebrow{display:block;padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand);}
.sh-dropdown-card a.sh-dd-all{color:var(--sand);font-weight:600;}
.sh-dropdown-card a.sh-dd-all:hover{color:var(--cream);}
.sh-dd-media{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--header-item-radius) - 2px);margin:0 0 var(--space-2);}
@media (prefers-reduced-motion:reduce){.sh-nl::after,.sh-nav-more>span::after,.sh-chev-btn{transition:none;}}
.sh-mobile-panel{display:none;position:fixed;inset:0;z-index:var(--z-header);cursor:default;}
.sh-mobile-panel.open{display:flex !important;}
.shm-scrim{position:absolute;inset:0;background:var(--ink-a60);}
.shm-sheet{position:relative;margin-left:auto;width:min(440px,100%);height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-3);padding:max(var(--space-4),var(--safe-area-top,env(safe-area-inset-top,0px))) max(var(--gutter),var(--safe-area-right,env(safe-area-inset-right,0px))) max(var(--space-4),var(--safe-area-bottom,env(safe-area-inset-bottom,0px))) max(var(--gutter),var(--safe-area-left,env(safe-area-inset-left,0px)));background:var(--ink);color:var(--cream);overflow:hidden;}
.shm-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:var(--opacity-55);}
.shm-veil{position:absolute;inset:0;background:linear-gradient(to bottom,var(--ink-a85) 0%,var(--ink-a82) 45%,var(--ink-a94) 100%);}
.shm-top,.shm-nav,.shm-foot{position:relative;z-index:1;}
.shm-top{display:flex;align-items:center;justify-content:space-between;flex:none;}
.shm-logo{display:flex;align-items:center;gap:var(--space-3);}
.shm-close{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-circle);background:transparent;border:1px solid var(--border-on-dark);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.shm-close:hover,.shm-close:active{background:var(--cream-a10);}
.shm-nav{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;scrollbar-width:none;}
.shm-nav::-webkit-scrollbar{display:none;}
.shm-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);box-sizing:border-box;width:100%;min-height:clamp(48px,7.2vh,68px);padding:var(--space-1) 0;border:0;border-bottom:1px solid var(--cream-a20);background:transparent;color:var(--cream);text-align:left;cursor:pointer;flex-direction:row;}
.shm-link:hover,.shm-link:active{background:var(--cream-a06);}
.shm-link .shm-tt,.shm-link{flex-wrap:nowrap;}
.shm-link:not(.shm-btn){flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-0);}
.shm-tt{display:flex;flex-direction:column;gap:var(--space-0);min-width:0;}
.shm-t{font-family:var(--font-display);font-weight:500;font-size:clamp(1.625rem,4.3vh,2rem);line-height:var(--leading-tight);}
.shm-s{font-size:var(--fs-meta);line-height:var(--leading-title);color:var(--text-on-dark-muted);}
.shm-link[aria-current="page"] .shm-t,.shm-btn[data-on="true"] .shm-t{font-weight:600;}
.shm-link[aria-current="page"] .shm-t::before,.shm-btn[data-on="true"] .shm-t::before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-circle);background:var(--sand);margin-right:var(--space-3);vertical-align:middle;}
.shm-chev{flex:none;color:var(--sand);}
.shm-sub{display:flex;flex-direction:column;padding:0 0 var(--space-1) var(--space-4);border-bottom:1px solid var(--cream-a20);}
.shm-sub a{display:flex;align-items:center;min-height:var(--target-min);font-size:var(--fs-body);color:var(--text-on-dark-muted);}
.shm-sub a:hover,.shm-sub a:active{color:var(--cream);}
.shm-sub a[aria-current="page"]{color:var(--cream);font-weight:600;}
.shm-sub .shm-all{color:var(--sand);font-weight:600;}
.shm-foot{flex:none;display:flex;flex-direction:column;gap:var(--space-2);}
.shm-contact{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);}
.shm-contact a{min-height:var(--target-min);}
.shm-mini{display:flex;flex-wrap:wrap;gap:0 var(--space-4);}
.shm-mini a{display:inline-flex;align-items:center;min-height:var(--target-min);font-size:var(--fs-small);color:var(--text-on-dark-muted);}
.shm-mini a[aria-current="page"]{color:var(--cream);font-weight:600;}
.shm-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);}
.shm-hours{font-size:var(--fs-meta);color:var(--text-on-dark-muted);}
@keyframes shm-in{from{opacity:0}to{opacity:1}}
@keyframes shm-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sh-mobile-panel.open .shm-scrim{animation:shm-in .25s ease-out;}
.sh-mobile-panel.open .shm-sheet{animation:shm-in .25s ease-out;}
.sh-mobile-panel.open .shm-i{animation:shm-up .4s ease-out both;}
.shm-nav>.shm-i:nth-child(1){animation-delay:40ms;}.shm-nav>.shm-i:nth-child(2){animation-delay:80ms;}.shm-nav>.shm-i:nth-child(3){animation-delay:120ms;}.shm-nav>.shm-i:nth-child(4){animation-delay:160ms;}.shm-nav>.shm-i:nth-child(5){animation-delay:200ms;}
.sh-mobile-panel .shm-foot>.shm-i{animation-delay:240ms;}
@media (max-width:767px){.shm-scrim{display:none;}.shm-sheet{width:100%;}}
@media (max-height:760px){.shm-s{display:none;}.shm-hours{display:none;}.shm-meta{justify-content:flex-end;}.shm-link{min-height:var(--control-height);}.shm-t{font-size:1.5rem;}}
@media (max-height:700px){.shm-sub .shm-all{display:none;}.shm-mini{display:none;}.shm-link{min-height:46px;}}
@media (prefers-reduced-motion:reduce){.sh-mobile-panel.open .shm-scrim,.sh-mobile-panel.open .shm-sheet,.sh-mobile-panel.open .shm-i{animation:none;}}

/* ===== Site Footer (ES/EN) ===== */
.r-ft a:not([class]){color:var(--text-on-dark-muted);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--target-min);font-size:var(--fs-small);max-width:100%;overflow-wrap:anywhere;}
.r-ft a:not([class]):hover{color:var(--cream);text-decoration:underline;text-underline-offset:4px;}
.r-ft a:focus-visible,.r-ft button:focus-visible{outline:2px solid var(--sand);outline-offset:2px;}
.r-ft .r-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.r-ft .r-fh{margin:0 0 var(--space-3);font-family:var(--font-body);font-weight:600;font-size:var(--fs-body);line-height:var(--leading-title);color:var(--sand);}
.r-ft .r-fcol{display:flex;flex-direction:column;align-items:flex-start;}
.r-ft .r-fband{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-8);margin-bottom:var(--space-10);border:1px solid var(--border-dark);border-radius:var(--card-radius);background:var(--white-a06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.r-ft .r-fband h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.625rem,3vw,2.25rem);line-height:var(--leading-tight);color:var(--cream);}
.r-ft .r-fband p{margin:var(--space-2) 0 0;font-size:var(--fs-body);color:var(--text-on-dark-muted);}
.r-ft .r-fband-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);}

.r-ft .r-fbrand p{margin:0 0 var(--space-4);max-width:280px;font-size:var(--fs-small);line-height:var(--leading-read);}
.r-ft .r-fsocial{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3);}
.r-ft a.r-fi{display:inline-flex;align-items:center;width:var(--target-min);height:var(--target-min);justify-content:center;border:1px solid var(--border-on-dark);border-radius:var(--radius-circle);color:var(--cream);text-decoration:none;}
.r-ft a.r-fi{transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard);}
.r-ft a.r-fi:hover{border-color:var(--sand);color:var(--sand);transform:translateY(-2px);box-shadow:var(--shadow-lift-dark);}
.r-ft .r-fdot{display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:var(--radius-circle);background:var(--text-on-dark-muted);vertical-align:middle;}.r-ft .r-fdot.on{background:var(--whatsapp-online);}
@media (prefers-reduced-motion:reduce){.r-ft a.r-fi{transition:none;}.r-ft a.r-fi:hover{transform:none;}}
.r-ft a.r-freview{color:var(--cream);font-weight:600;font-size:var(--fs-small);text-decoration:underline;text-decoration-color:var(--sand);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:var(--target-min);}
.r-ft .r-fhours{margin:var(--space-2) 0 0;font-size:var(--fs-small);color:var(--text-on-dark-muted);}
.r-ft .r-legal{border-top:1px solid var(--border-dark);padding-top:var(--space-5);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3) var(--space-6);font-size:var(--fs-small);}
.r-ft .r-legal nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);}
.r-ft .r-fcookies{font:inherit;font-size:var(--fs-small);color:var(--text-on-dark-muted);background:none;border:none;padding:0;min-height:var(--target-min);cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
.r-ft a.r-fcookies{display:inline-flex;align-items:center;}
.r-ft .r-fcookies:hover{color:var(--cream);}

@media (max-width:767px){
.r-ft{padding-top:var(--space-8) !important;padding-bottom:var(--space-4) !important;}
.r-ft .r-fband{padding:var(--space-6);margin-bottom:var(--space-6);}
.r-ft .r-fband-cta{width:100%;flex-direction:column;}
.r-ft .r-fband-cta a{width:100%;justify-content:center;}
.r-ft .r-fgrid{gap:var(--space-6) var(--space-4);margin-bottom:var(--space-4);}

.r-ft .r-legal{padding-top:var(--space-2);}
}

/* ===== Announcement Bar (ES/EN) ===== */
.ab{background:var(--ink);color:var(--cream);border-bottom:var(--rule-accent);position:relative;font-size:var(--fs-small);box-sizing:border-box;min-height:48px;max-height:160px;overflow:hidden;transition:max-height var(--motion-base) var(--ease-marea),opacity var(--motion-base) var(--ease-standard);}
.ab.ab-out{max-height:0;min-height:0;opacity:0;border-bottom-width:0;}
.ab-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-6);max-width:calc(var(--layout-max) + 112px);margin:0 auto;box-sizing:border-box;padding:var(--space-2) 56px;line-height:var(--leading-title);}
.ab-text{display:flex;align-items:center;flex-wrap:wrap;flex:1 1 auto;gap:var(--space-1) var(--space-4);min-width:0;}
.ab-iso{height:18px;width:auto;display:block;flex:none;}
.ab-dot{width:6px;height:6px;margin-right:var(--space-2);border-radius:var(--radius-circle);background:var(--sand);flex:none;animation:abPulse 2.4s var(--ease-standard) infinite;}
@keyframes abPulse{0%,100%{box-shadow:0 0 0 0 var(--sand-a40);}50%{box-shadow:0 0 0 6px transparent;}}
.ab-pct{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lead);color:var(--sand-hover);}
.ab-label{display:inline-flex;align-items:center;padding:2px var(--space-3);border:1px solid var(--sand);border-radius:var(--radius-circle);color:var(--sand);font-size:var(--fs-meta);font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;white-space:nowrap;}
.ab-msg{margin:0;color:var(--cream);}
.ab-msg strong{font-weight:600;}
.ab-short{display:none;}
@media (max-width:767px){.ab-in{min-height:48px;padding:var(--space-2) 56px var(--space-2) var(--space-3);}.ab-iso,.ab-label,.ab-long,.ab-short,.ab-until{display:none;}.ab-text{flex-wrap:nowrap;}.ab-msg{white-space:nowrap;}.ab-pct{font-size:var(--fs-body);}.ab-cond{font-size:var(--fs-meta);}}
.ab-until{color:var(--text-on-dark-muted);white-space:nowrap;}
.ab-until::before{content:"· ";}
.ab-close{transition:background var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);}.ab-close:hover{transform:translateY(-50%) rotate(90deg);}
@media (min-width:768px){.ab-msg{white-space:nowrap;}}
@media (max-width:1100px){.ab-iso{display:none;}}
@media (max-width:767px){.ab-text{width:100%;}}
@media (max-width:1100px){.ab-label{display:none;}.ab-until{display:block;}.ab-until::before{content:none;}}
.ab-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.ab-close{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:var(--target-min);height:var(--target-min);display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:var(--radius-circle);color:var(--cream);cursor:pointer;}
.ab-close:hover{background:var(--cream-a10);}
.ab-close:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:2px;}
@media (max-width:767px){
.ab-in{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:var(--space-3);padding:var(--space-2) 52px var(--space-2) var(--space-4);text-align:left;}
.ab-label{display:none;}
.ab-until{display:block;white-space:normal;font-size:var(--fs-meta);}
}
@media (prefers-reduced-motion:reduce){.ab,.ab-close{transition:none;}.ab-dot{animation:none;}.ab-close:hover{transform:translateY(-50%);}}

/* ===== WhatsApp Fab (ES/EN) ===== */
@keyframes waIn{from{opacity:0;transform:translateY(14px) scale(.9);}to{opacity:1;transform:none;}}@keyframes waPulse{from{transform:scale(1);opacity:var(--opacity-60);}to{transform:scale(1.45);opacity:0;}}
.wa-fab-wrap.wa-in{animation:waIn .6s var(--ease-marea) both;}
.wa-fab-wrap.intro .wa-fab::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--whatsapp);animation:waPulse 1.8s ease-out infinite;pointer-events:none;}
.wa-fab-wrap{position:fixed;right:max(var(--space-4),var(--safe-area-right,env(safe-area-inset-right,0px)));bottom:calc(var(--space-4) + var(--bar-live,0px) + var(--cookie-offset,0px) + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));z-index:var(--z-float);transition:opacity var(--motion-base) var(--ease-standard),bottom var(--motion-base) var(--ease-standard);}
@media (min-width:768px){.wa-fab-wrap{right:max(28px,var(--safe-area-right,env(safe-area-inset-right,0px)));}}
.wa-fab{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-circle);background:var(--whatsapp);color:var(--cream);text-decoration:none;box-shadow:0 0 0 2px var(--cream),var(--shadow-lift-dark);transition:transform var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard);}
.wa-fab:hover{background:var(--whatsapp-hover);transform:translateY(-3px);}
.wa-fab:active{transform:translateY(0) scale(.96);}
.wa-fab:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--cream),var(--shadow-lift-dark);}
.wa-fab-label{position:absolute;right:calc(100% + var(--space-3));top:50%;display:flex;flex-direction:column;gap:2px;width:max-content;max-width:min(320px,calc(100vw - 120px));box-sizing:border-box;padding:var(--space-2) var(--space-4);border-radius:16px;background:var(--ink);color:var(--cream);font-size:var(--fs-small);font-weight:600;line-height:var(--leading-snug);white-space:normal;box-shadow:var(--shadow-lift-dark);opacity:0;transform:translate(6px,-50%);pointer-events:none;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);}
.wa-fab-sub{display:flex;align-items:flex-start;gap:var(--space-2);line-height:var(--leading-title);font-size:var(--fs-meta);font-weight:400;color:var(--text-on-dark-muted);}
.wa-fab-dot{width:8px;height:8px;margin-top:.42em;border-radius:var(--radius-circle);background:var(--sand);flex:none;}
.wa-fab-dot.on{background:var(--whatsapp-online);}
.wa-fab:hover .wa-fab-label,.wa-fab:focus-visible .wa-fab-label,.wa-fab-wrap.intro .wa-fab-label{opacity:1;transform:translate(0,-50%);}
@media (prefers-reduced-motion:reduce){.wa-fab,.wa-fab-label,.wa-fab-wrap{transition:none;}.wa-fab:hover{transform:none;}.wa-fab-wrap.wa-in,.wa-fab-wrap.intro .wa-fab::before{animation:none;}}

/* ===== Barra Disponibilidad (ES/EN) ===== */
body{padding-bottom:var(--bar-live,0px);}
rp-sticky-action[hidden]{display:none!important}
@media(max-width:767px){body:has(rp-sticky-action:not([hidden]):not([variant="experiencia"]):not([variant="beneficio"])) .wa-fab-wrap{visibility:hidden!important;opacity:0!important;pointer-events:none!important}rp-sticky-action[variant="experiencia"],rp-sticky-action[variant="beneficio"]{display:none!important}.wa-fab-wrap.experience-action-overlap{visibility:visible!important;opacity:1!important;pointer-events:auto!important}}
@media(max-width:767px){.wa-fab-wrap.stay-cards-current{visibility:hidden!important;opacity:0!important;pointer-events:none!important}}
@media(max-width:767px){.wa-fab-wrap.experience-action-overlap{visibility:hidden!important;opacity:0!important;pointer-events:none!important}}
.bd{position:fixed;left:0;right:0;bottom:calc(var(--mobile-bar-offset,0px) + var(--cookie-offset,0px));z-index:var(--z-bar);box-sizing:border-box;background:var(--ink);color:var(--cream);padding:var(--space-3) var(--space-5) calc(var(--space-3) + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));border-top:1px solid var(--sand);box-shadow:0 -6px 18px var(--ink-a35);transition:transform .45s var(--ease-marea),bottom var(--motion-base) var(--ease-standard),visibility var(--motion-base);}
.bd-in{max-width:var(--layout-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);}
.bd-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bd-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-meta);font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sand);}
.bd-label::before{content:"";width:20px;height:1px;background:currentColor;flex:none;}
.bd-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-4);}
.bd-price{font-family:var(--font-display);font-size:var(--fs-h3);line-height:var(--leading-tight);font-weight:600;font-variant-numeric:lining-nums proportional-nums;}
.bd-price+.bd-detail{padding-left:var(--space-4);border-left:1px solid var(--sand);}
.bd-price.txt{font-family:var(--font-display);font-weight:600;}
.bd-detail{font-size:var(--fs-small);color:var(--text-on-dark);}
.bd-dates{display:flex;align-items:center;gap:var(--space-2);flex:none;margin-left:auto;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border:1px solid var(--border-on-dark);border-radius:var(--radius-circle);font-size:var(--fs-small);white-space:nowrap;}
.bd-change{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-3);border-radius:var(--radius-circle);color:var(--sand);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.bd-change:hover{background:var(--cream-a10);}
.bd .cta-primary{flex:none;min-width:200px;justify-content:center;min-height:48px;white-space:nowrap;transition:transform var(--motion-base) var(--ease-standard);}
.bd .cta-primary:hover{transform:translateY(-2px);}
.bd-pick{margin-left:auto;border:1px dashed var(--sand);border-radius:var(--radius-circle);padding:0 var(--space-4);text-decoration:none;}
.bd-x{flex:none;width:var(--target-min);height:var(--target-min);display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-circle);background:transparent;color:var(--text-on-dark-muted);cursor:pointer;}.bd-x:hover{background:var(--cream-a10);color:var(--cream);}
.bd a:focus-visible,.bd button:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:2px;}
.wa-fab-wrap.bar-wa{opacity:0 !important;visibility:hidden;pointer-events:none !important;}
@media (max-width:767px){
/* Una sola fila (~72 px): nombre y precio a la izquierda, acción y cierre a la derecha. */
.bd{padding:var(--space-2) max(var(--space-3),var(--safe-area-left,env(safe-area-inset-left,0px))) calc(var(--space-2) + var(--safe-area-bottom,env(safe-area-inset-bottom,0px))) max(var(--space-3),var(--safe-area-right,env(safe-area-inset-right,0px)));}
.bd-in{flex-wrap:nowrap;gap:var(--space-2);}
.bd-info{flex:1 1 0;min-width:0;}
.bd-label{display:block;white-space:normal;line-height:1.2;overflow-wrap:anywhere;}
.bd-label::before{display:none;}
.bd-row{flex-wrap:nowrap;min-width:0;}
.bd-detail{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.bd-price+.bd-detail{display:none;}
.bd-price{font-size:var(--fs-body);}
.bd-x{position:static;}
.bd .cta-primary{flex:0 1 auto;min-width:0;max-width:56%;min-height:var(--target-min);padding:var(--space-2) var(--space-4);font-size:var(--fs-small);line-height:1.15;white-space:normal;text-align:center;}
.bd-dates,.bd-pick{display:none;}
.bd-dates-m{font-size:var(--fs-small);color:var(--text-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
@media (min-width:768px){.bd-dates-m{display:none;}}
@media (prefers-reduced-motion:reduce){.bd,.bd .cta-primary{transition:none;}.bd .cta-primary:hover{transform:none;}}

/* ===== Section Head (ES/EN) ===== */
.shd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-8);flex-wrap:wrap;}
.shd-main{min-width:0;flex:1 1 320px;}
.shd.centro{justify-content:center;}
.shd-anchor{position:absolute;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:var(--target-min);min-height:var(--target-min);margin-left:var(--space-1);font-family:var(--font-body);font-size:.6em;font-weight:400;color:var(--text-meta);text-decoration:none;opacity:0;vertical-align:middle;transition:opacity var(--motion-fast) var(--ease-standard);}
.shd-h:hover .shd-anchor,.shd-anchor:focus-visible{opacity:1;}
.shd-anchor:hover{color:var(--text-accent);}
.shd-anchor.dark{color:var(--text-on-dark-muted);}
@media (hover:none){.shd-anchor{display:none;}}
@media (prefers-reduced-motion:reduce){.shd-anchor{transition:none;}}

/* ===== Card (ES/EN) ===== */
.cd{position:relative;display:flex;min-width:0;height:100%;border-radius:var(--card-radius);}
.cd-link{color:inherit;text-decoration:none;}
.cd-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--card-radius);}
.cd-link:focus-visible{outline:none;}
.cd-link:focus-visible::after{outline:var(--focus-outline);outline-offset:3px;}
.cd.oscuro .cd-link:focus-visible::after{outline:var(--focus-outline-on-dark);}
.cd-box{transition:border-color var(--motion-fast) var(--ease-standard);}
.cd:hover .cd-box{border-color:var(--sand) !important;}
.cd-media{position:relative;overflow:hidden;background:var(--surface-media-placeholder);}
.cd-media>image-slot{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform var(--motion-slow,500ms) var(--ease-marea);}
.cd-media:has(.cd-badge)::before{content:"";position:absolute;inset:0 0 55% 0;background:linear-gradient(to bottom,var(--ink-a35),transparent);pointer-events:none;z-index:1;}
.cd:hover .cd-media>image-slot{transform:scale(1.03);}
.cd-title{font-family:var(--font-display);font-weight:600;line-height:var(--leading-snug);margin:0;color:inherit;text-wrap:balance;}
.cd-eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--fs-eyebrow);line-height:var(--leading-title);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;}
.cd-cta::after{content:"";display:inline-block;width:22px;height:8px;margin-left:var(--space-2);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2022%208'%3E%3Cpath%20d%3D'M0%204q2.75-4%205.5%200t5.5%200%205.5%200%205.5%200'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2022%208'%3E%3Cpath%20d%3D'M0%204q2.75-4%205.5%200t5.5%200%205.5%200%205.5%200'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;text-decoration:none;transition:transform var(--motion-base) var(--ease-standard);}
.cd:hover .cd-cta::after{transform:translateX(6px);}
.cd-cta{display:inline-flex;align-items:center;min-height:var(--target-min);font-size:var(--fs-body);font-weight:600;text-decoration:underline;text-decoration-color:var(--sand);text-decoration-thickness:2px;text-underline-offset:6px;}
.cd-sec{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-4);border:1px solid currentColor;border-radius:var(--btn-radius);font-size:var(--fs-small);font-weight:600;color:inherit;text-decoration:none;}
.cd-sec:hover{border-color:var(--sand);}
.cd-sec:focus-visible{outline:var(--focus-outline);outline-offset:2px;}
.cd.oscuro .cd-sec:focus-visible{outline:var(--focus-outline-on-dark);}
.cd-badge{position:absolute;top:16px;left:16px;z-index:2;max-width:calc(100% - 32px);padding:var(--space-2) var(--space-4);border-radius:var(--radius-circle);background:var(--ink-a94);color:var(--cream);font-size:var(--fs-small);font-weight:600;line-height:var(--leading-title);pointer-events:none;box-shadow:0 1px 8px var(--ink-a55);}
.cd-badge.destacada{background:var(--sand);color:var(--ink);}
.cd-badge.agotada{background:var(--cream);color:var(--ink);outline:1px solid var(--ink);}
.cd-badge:has(dc-import){padding:0;background:transparent;color:inherit;box-shadow:none;outline:0}
.cd-price-sm{font-size:var(--fs-small);font-weight:600;font-variant-numeric:lining-nums proportional-nums;}
.cd-bloque>.cd-box{height:100%;}
.cd .price-block .amount{font-family:var(--font-display);font-weight:600;}
.cd.oscuro .cd-box{position:relative;isolation:isolate;}.cd.oscuro .cd-box::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain-img);}
.cd-iso{position:absolute;right:var(--space-4);bottom:var(--space-4);z-index:2;width:44px;height:auto;opacity:var(--opacity-90);pointer-events:none;}
.cd-montada{--card-overlap:clamp(40px,5vw,64px);}
@media (prefers-reduced-motion:reduce){.cd-cta::after{transition:none;}.cd:hover .cd-cta::after{transform:none;}.cd-media>image-slot,.cd-box{transition:none;}.cd:hover .cd-media>image-slot{transform:none;}}

/* Reviews Band: texto solo para lector de pantalla */
.rb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Alias de los colores base para los modos oscuros (evita referencias circulares al intercambiar --ink y --cream) */
:root{--ink-orig:var(--ink);--cream-orig:var(--cream);}


/* ===== Globales v2: elevación, grano, capas (tokens en design-system/tokens/elevation.css y accents.css) ===== */
.rp-lift{transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard);}
.rp-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);}
.cd{transition:transform var(--motion-base) var(--ease-standard);}
.cd:hover{transform:translateY(-3px);}
.cd-box{transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard);}
.cd:hover .cd-box{box-shadow:var(--shadow-lift);}
.cd.oscuro:hover .cd-box{box-shadow:var(--shadow-lift-dark);}
:where(.rp-grain){position:relative;}
.rp-grain,.bd,.ab{isolation:isolate;}
.rp-grain::after,.bd::after,.ab::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain-img);}
.rp-circ{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-circle);border:1.5px solid var(--line-accent);font-family:var(--font-display);font-weight:600;line-height:1;}
@media (prefers-reduced-motion:reduce){.rp-lift,.cd,.cd-box{transition:none;}.rp-lift:hover,.cd:hover{transform:none;}}

/* Pasada pendientes */
@media (max-width:767px){.bd-dates,.bd-detail{display:none !important;}.bd-in{gap:var(--space-3);}}
/* Aviso en anchos medios */
@media (min-width:600px) and (max-width:1100px){.ab-iso{display:none;}.ab-text{display:block;}.ab-msg{display:block;white-space:normal;}.ab-until{display:inline;white-space:normal;}.ab-in{padding-left:var(--space-6);padding-right:56px;}}
/* Pasada arte 28 */
.r-ft .r-fh::before{content:"";display:inline-block;width:20px;border-top:2px solid var(--sand);vertical-align:middle;margin-right:var(--space-3);}
.ab::before,.bd::before{content:"";position:absolute;left:0;right:0;height:8px;background:var(--sand);opacity:var(--opacity-70);pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='8' viewBox='0 0 32 8'%3E%3Cpath d='M0 4q8-6 16 0t16 0' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") repeat-x center / 32px 8px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='8' viewBox='0 0 32 8'%3E%3Cpath d='M0 4q8-6 16 0t16 0' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") repeat-x center / 32px 8px;}
.ab::before{display:none;}.bd::before{top:0;}
.ab-soon{color:var(--sand);font-family:var(--font-display);font-weight:600;font-size:var(--fs-lead);}
.bd .cta-primary{min-height:52px;}
@media (hover:none){.shd-anchor{opacity:var(--opacity-70);}}
.shd-anchor:focus-visible{background:var(--ink-a05);border-radius:4px;}
.cd:has(.cd-link:focus-visible){outline:3px solid var(--ink);outline-offset:3px;border-radius:var(--card-radius);}
.wa-fab-label>span:first-child{font-family:var(--font-display);font-weight:500;}
/* Pasada compuestos 1-10: foco/hover y movimiento reducido */
.ab a:hover{text-decoration-thickness:2px;}
.ab a:focus-visible,.bd-change:focus-visible,.bd-x:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:2px;}
.bd-change:active,.bd-x:active{transform:scale(.97);}
.sh a:focus-visible,.sh button:focus-visible,.shm a:focus-visible,.shm button:focus-visible{outline:var(--focus-outline);outline-offset:3px;}
.sh a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--sand);text-decoration-thickness:2px;text-underline-offset:8px;}
.r a:focus-visible,.r button:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:3px;}
.rb-card{transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);}
@media (prefers-reduced-motion:reduce){.sh,.sh *,.shm,.shm *,.ab,.ab *,.bd,.bd *{transition:none!important;animation:none!important;}.rb-card{transition:none!important;transform:none!important;}}

/* ===== Transiciones entre páginas ===== */
@view-transition{navigation:auto;}
.sh-wrap{view-transition-name:site-header;}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-base);animation-timing-function:var(--ease-marea);}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none;}}

/* ===== Estados: carga, vacío, error ===== */
[aria-busy="true"]{cursor:progress;}
.estado{margin:0;padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--fs-small);line-height:var(--leading-text);color:var(--text-body);border:1px dashed var(--border-default);border-radius:var(--card-radius);background:var(--surface-alt);}
.estado-error{border-style:solid;border-color:var(--line-ink);color:var(--text-primary);}
.estado-carga{min-height:var(--space-10);border-radius:var(--card-radius);background:linear-gradient(90deg,var(--surface-alt) 0,var(--surface-page) 50%,var(--surface-alt) 100%);background-size:200% 100%;animation:estadoCarga var(--motion-ambient) linear infinite;}
@keyframes estadoCarga{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.estado-carga{animation:none;}}
/* Nav y avisos: estado pulsado y deshabilitado */
.ab a:active,.bd a:active,.bd button:active,.r-ft a:active,.cd a:active,.cd button:active,.pm-btn:active,.pm-x:active,.pm-no:active{transform:translateY(1px);}
.ab-close:active{transform:translateY(calc(-50% + 1px));}
.ab button:disabled,.bd button:disabled,.cd button:disabled,.pm-dlg button:disabled,.cd [aria-disabled="true"],.bd [aria-disabled="true"]{opacity:var(--opacity-60);cursor:not-allowed;transform:none;}
@media (prefers-reduced-motion:reduce){.ab a:active,.bd a:active,.bd button:active,.r-ft a:active,.cd a:active,.cd button:active,.pm-btn:active,.pm-x:active,.pm-no:active{transform:none;}}
/* Datos y contenido e Interacción: estado pulsado y deshabilitado */
.pol-btn:active,.pol-chip:active,.pol-cp:active,.fc-btn:active,.fa-all:active,.fa-btn:active,.lf-chip:active,.gl-th:active,.pol-ess-a:active,.fc-alt:active{transform:translateY(1px);}
.pol-card:active,.gf-card:active,.gf-cell:active,.gf-qa:active,.lf-item:active,.cl-fact:active{transform:translateY(-1px);}
.pol-btn:disabled,.fc-btn:disabled,.fa-all:disabled,.lf-chip:disabled,.gl-th:disabled,.pol-cp:disabled{opacity:var(--opacity-60);cursor:not-allowed;transform:none;}
@media (prefers-reduced-motion:reduce){.pol-btn:active,.pol-chip:active,.pol-cp:active,.fc-btn:active,.fa-all:active,.fa-btn:active,.lf-chip:active,.gl-th:active,.pol-ess-a:active,.fc-alt:active,.pol-card:active,.gf-card:active,.gf-cell:active,.gf-qa:active,.lf-item:active,.cl-fact:active{transform:none;}}
/* Texto largo: medida y ritmo de lectura únicos */
.texto-largo{max-width:var(--read-max);line-height:var(--leading-read);text-wrap:pretty;}
.texto-largo>*+*{margin-top:var(--space-4);}

/* Nivel de agua: línea fina a la derecha que sube con el scroll (solo transform, sin JS; sin soporte o con movimiento reducido no se muestra) */
.marea-nivel{display:none;}
@keyframes mareaNivel{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.marea-nivel{display:block;position:fixed;top:0;right:0;bottom:0;width:3px;z-index:var(--z-raise);pointer-events:none;background:var(--ink-a05);}.marea-nivel::after{content:"";position:absolute;inset:0;background:var(--page-accent,var(--acc-home));transform-origin:bottom;animation:mareaNivel linear both;animation-timeline:scroll(root);}}}

/* Apaisado de poca altura: el panel móvil y la cabecera se ajustan */
@media (orientation:landscape) and (max-height:500px){.shm-sheet{overflow-y:auto;height:100dvh}.sh-wrap{--header-height:56px}}


/* Móvil y texto grande: nada se sale del contenedor. Probado a 320 px con el texto al 200 % (Matriz de viewports). */
@media (max-width:767px){
main :where(div,section,article,li,a,span,p,h1,h2,h3,dd,dt,figure,ul,ol):not([style*="flex:none"]):not([style*="flex:0 0"]):not(.ie-chip):not(.gl-th){min-width:0;max-width:100%}
main :where(a,span,p,dd,dt,li,h1,h2,h3){overflow-wrap:anywhere}
[style*="nowrap"]:not(.ie-chip):not(.gl-th):not(.sh-langsw):not([class*="shm-"]){white-space:normal !important}
}

/* Header refinado: espacio constante, control táctil completo y foco visible claro. */
@media (min-width:1180px){.sh-nav-links-desktop{gap:clamp(var(--space-2),1vw,var(--space-4)) !important}.sh-dropdown-card{min-width:240px;max-width:min(320px,calc(100vw - 32px))}}
.sh-nav-more .rp-dd-toggle{min-width:var(--target-min);width:var(--target-min) !important;border-radius:var(--radius-circle);transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}
.sh-nav-more .rp-dd-toggle:hover,.sh-nav-more .rp-dd-toggle[aria-expanded="true"]{background:var(--white-a08);color:var(--cream)}
.sh-nav-more .rp-dd-toggle:focus-visible,.sh-nav-more>a:focus-visible,.sh-nav-links-desktop>a:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:3px}
.sh-dropdown-card a:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:2px;background:var(--white-a08);color:var(--cream)}
@media (max-width:1179px){.sh-mobile-panel .shm-nav{overscroll-behavior:contain}.sh-mobile-panel .shm-nav a,.sh-mobile-panel .shm-foot a{min-height:max(var(--target-min),44px)}}
@media (prefers-reduced-motion:reduce){.sh-nav-more .rp-dd-toggle{transition:none}}

/* Foco del header y del panel móvil: las reglas .sh y .shm de arriba no coinciden con ningún elemento (el header usa .sh-wrap y .sh-mobile-panel); Junco sobre Marea 4,69:1 */
.sh-wrap a:focus-visible,.sh-wrap button:focus-visible,.sh-mobile-panel a:focus-visible,.sh-mobile-panel button:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:3px;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Pasada parciales Alojamiento: estado actual, idioma en menú móvil, foco en contextos oscuros */
[data-ctx="dark"] a:focus-visible,[data-ctx="dark"] button:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:3px;}
[data-ctx="dark"] .cta-link-dark:hover,[data-ctx="dark"] a:not([class]):hover{text-decoration-thickness:2px;}
/* Aviso: una línea y alto contenido en escritorio; en móvil la vigencia queda solo para lector de pantalla */
@media (min-width:1101px){.ab-in{padding-top:var(--space-2);padding-bottom:var(--space-2);}.ab-msg{line-height:1.25;}}
@media (max-width:767px){.ab-until{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}}
/* Banner de cookies manda sobre la barra sticky en móvil; el pie no queda bajo la barra */
@media (max-width:1023px){.bd{bottom:var(--mobile-bar-offset,0px);}}
@media (max-width:767px){.r-ft{padding-bottom:calc(var(--space-4) + var(--bar-live,0px)) !important;}}
.ab-until.ab-none{display:none !important;}

/* Aviso: logo, etiqueta y mensaje en una sola fila en anchos grandes */
@media (min-width:1101px){.ab-text{flex-wrap:nowrap;align-items:center;}.ab-iso,.ab-label{flex:none;}.ab-msg{white-space:normal;flex:1 1 0;min-width:0;text-wrap:pretty;}}

/* Aviso: el enlace de condiciones sigue al texto en la misma línea */
.ab-until.ab-none{display:inline !important;white-space:normal;}.ab-until.ab-none::before{content:none !important;}.ab-msg .ab-cond{display:inline;white-space:nowrap;}

@media (min-width:1101px){.ab-in{padding-left:32px;}.ab-text{column-gap:var(--space-3);}}

/* LanguageSwitcher · refinamientos (UX/UI/Arte/Composición) */
:root{--sh-wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M0 3q3-3 6 0t6 0' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");}
.sc-host[data-sc-name="Language Switcher"]{display:contents;}
.sh-langsw{border-color:color-mix(in oklch,currentColor 55%,transparent);transition:border-color var(--dur-fast,.15s) ease,box-shadow var(--dur-fast,.15s) ease;overflow:visible;}
.sh-langsw:hover,.sh-langsw:focus-within{border-color:currentColor;}
.sh-langsw::before{animation:none;}
html[data-ls-anim] .sh-langsw::before{animation:lsFromEs .45s var(--ease-marea) both;}
html[data-ls-anim] .sh-langsw:has(a[hreflang="en"][aria-current]:not([aria-current="false"]))::before{animation-name:lsFromEn;}
html .sh-langsw.ls-drag::before,html .sh-langsw.ls-go::before{animation:none;}
.sh-langsw a{width:calc(var(--header-ctl-h,32px) - 2px);font-size:var(--fs-small);font-weight:500;letter-spacing:var(--ls-eyebrow,.08em);transition:opacity var(--dur-fast,.15s) ease,transform var(--dur-fast,.15s) ease;}
.sh-langsw a[aria-current]:not([aria-current="false"]){font-weight:600;}
.sh-langsw a:not([aria-current]):hover,.sh-langsw a[aria-current="false"]:hover{opacity:.8;}
.sh-langsw a:active{transform:scale(.96);}
.sh-langsw a[aria-disabled="true"]{opacity:1;cursor:pointer;}
.sh-langsw a[aria-disabled="true"]:hover{opacity:.8;}
.sh-langsw[data-suggest="en"]{animation:lsPulse 1.6s ease-out 2;}
@keyframes lsPulse{0%{box-shadow:0 0 0 0 color-mix(in oklch,var(--sand) 70%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.sh-ls-msg{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-menu);width:max-content;max-width:min(18rem,80vw);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--ink);color:var(--cream);font-size:var(--fs-small);font-weight:400;line-height:1.35;letter-spacing:0;text-align:left;box-shadow:var(--shadow-md,0 6px 20px rgba(0,0,0,.25));opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease,visibility 0s .2s;pointer-events:none;}
.sh-ls-msg.on{opacity:1;visibility:visible;transform:none;transition-delay:0s;}
.sh-ls-panel .sh-ls-msg{top:auto;bottom:calc(100% + var(--space-2));right:auto;left:0;}
html[data-ls-anim] .sh-langsw::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:currentColor;opacity:.35;-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;animation:lsWave .9s var(--ease-marea) both;}
@keyframes lsWave{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0);opacity:0}}
@media (prefers-reduced-motion:reduce){.sh-langsw::before,html[data-ls-anim] .sh-langsw::before,html[data-ls-anim] .sh-langsw::after,.sh-langsw[data-suggest="en"]{animation:none !important;}.sh-ls-msg{transition:none;}}

/* GlobalBreadcrumbs (Migas de Pan) · una sola implementación, sobre fondo claro u oscuro */
.sc-host[data-sc-name="Migas de Pan"]{display:contents;}
.bc{font-family:var(--font-body);font-size:var(--fs-small);line-height:var(--leading-title,1.3);color:var(--text-body);margin:0 0 var(--space-2);}
.bc-dark{position:relative;isolation:isolate;color:var(--text-on-dark);text-shadow:0 1px 14px var(--ink-a55);}
.bc-dark::before{content:"";position:absolute;inset:calc(var(--space-3) * -1) calc(var(--space-6) * -1) calc(var(--space-2) * -1);z-index:-1;background:var(--scrim-hero-bc);pointer-events:none;}
.bc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;}
.bc-i{display:inline-flex;align-items:center;min-height:var(--target-min);}
.bc-i+.bc-i::before{content:"";flex:none;width:.5rem;height:.75rem;margin-inline:var(--space-2);background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1.5 1.5 6 6l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1.5 1.5 6 6l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.bc a{display:inline-flex;align-items:center;min-height:var(--target-min);color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklch,currentColor var(--mark-underline-alpha),transparent);text-decoration-thickness:var(--mark-underline-thickness);text-underline-offset:4px;transition:text-decoration-color var(--motion-base,.25s) var(--ease-marea),text-decoration-thickness var(--motion-base,.25s) var(--ease-marea);border-radius:var(--radius-sm);}
.bc a:hover{text-decoration-color:var(--mark-current);text-decoration-thickness:var(--mark-underline-hover);}
.bc a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.bc-cur{display:inline-block;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.bc-back{display:none !important;}
@media (max-width:767px){.bc-list{display:flex !important;}.bc-back{display:none !important;}}
@media (prefers-reduced-motion:reduce){.bc a{transition:none;}}

/* GlobalFooter · refinamientos (UX/UI/Arte/Composición) */
.r-ft{position:relative;background:radial-gradient(ellipse 50% 60% at 92% 0%,var(--white-a06),transparent 70%),var(--surface-inverse);color:var(--text-on-dark-muted);padding:var(--section-pad-tight) var(--gutter) var(--space-8);font-family:var(--font-body);overflow:hidden;}
.r-ft::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--sand);opacity:.55;-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;pointer-events:none;}
.r-ft .r-fmark{position:absolute;z-index:var(--z-under);right:-4vw;bottom:-6vw;width:clamp(240px,32vw,480px);height:auto;opacity:var(--opacity-5);pointer-events:none;}
.r-ft .r-flogo{height:clamp(6rem,7vw,7rem);width:auto;max-width:100%;margin:0 0 var(--space-4);display:block;object-fit:contain;object-position:left center;}
.r-ft .r-fbrand .r-ftag{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lead);line-height:var(--leading-tight);color:var(--cream);max-width:26ch;margin:0 0 var(--space-5);}
.r-ft .r-fcta{margin-top:var(--space-1);}
.r-ft .r-fh{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);}

.r-ft .r-flegal{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:0 var(--space-5);}
.r-ft .r-fprefs{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-5);}
.r-ft a:not([class]),.r-ft .r-fcookies{transition:color var(--motion-base) var(--ease-standard),text-decoration-color var(--motion-base) var(--ease-standard);}
.r-ft a[aria-current="page"]:not(.cta-primary-compact){color:var(--cream);text-decoration:none;position:relative;}
.bc-cur,.r-ft a[aria-current="page"]:not(.cta-primary-compact),.sh-nl[aria-current="page"]{--mark-wave:var(--sh-wave);}
.bc-cur{position:relative;}
.bc-cur::after,.r-ft a[aria-current="page"]:not(.cta-primary-compact)::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:var(--mark-current-h);background:var(--mark-current);-webkit-mask:var(--mark-wave) repeat-x left center/12px 6px;mask:var(--mark-wave) repeat-x left center/12px 6px;pointer-events:none;}
.r-ft .r-fcontact a{align-items:center;}

@media (prefers-reduced-motion:reduce){.r-ft a:not([class]),.r-ft .r-fcookies{transition:none;}}
.r-ft .r-fcontact a strong{margin-right:var(--space-1);}
.r-ft .r-figl{display:flex;margin-top:var(--space-2);}

/* ===== Salto al contenido (Skip Link) ===== */
.skip-link{position:fixed;left:max(var(--space-3),var(--safe-area-left,env(safe-area-inset-left,0px)));top:calc(var(--header-height) + var(--announce-live) + max(var(--space-3),var(--safe-area-top,env(safe-area-inset-top,0px))));z-index:var(--z-modal);opacity:0;transform:translateY(calc(var(--space-2) * -1));pointer-events:none;display:inline-flex;align-items:center;min-height:var(--btn-height);padding:0 var(--btn-pad-x);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-body);font-size:var(--fs-small);font-weight:600;text-decoration:none;box-shadow:var(--shadow-md);transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);}
.skip-link:focus,.skip-link:focus-visible{opacity:1;pointer-events:auto;transform:none;outline:2px solid var(--focus-ring);outline-offset:3px;}
.sc-host[data-sc-name="Skip Link"]{display:contents;}
main[tabindex="-1"]:focus{outline:none;}
html{scroll-padding-top:var(--scroll-offset-top);}
@media (prefers-reduced-motion:reduce){.skip-link{transition:none;}}

/* ===== Section Head: estilos de la pieza ===== */
.shd{--shd-k:var(--page-accent-text,var(--text-accent));--shd-t:var(--text-primary);--shd-b:var(--text-body);--shd-gap:0;--shd-max:var(--measure-title);text-align:left;}
.shd.dark{--shd-k:var(--accent-on-dark);--shd-t:var(--text-on-dark);--shd-b:var(--text-on-dark);}
.shd.centro{text-align:center;}
.shd-k{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);font-weight:600;font-size:var(--fs-eyebrow);line-height:var(--leading-title);letter-spacing:.04em;text-transform:none;color:var(--shd-k);margin-bottom:var(--space-4);}
.shd.centro .shd-k{justify-content:center;}
.shd-kn{font-family:var(--font-display);font-variant-numeric:lining-nums;}
.shd-kl{display:inline-block;width:28px;height:1px;background:currentColor;}
.shd-h{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h2);line-height:var(--lh-h2);text-wrap:balance;color:var(--shd-t);margin:0 0 var(--space-6);max-width:var(--shd-max);}
.shd.tx .shd-h{margin-bottom:var(--space-4);}
.shd.grande .shd-h{font-size:var(--fs-h1);line-height:1.15;}
.shd.pequeno .shd-h{font-size:var(--fs-h3);line-height:1.15;}
.shd.centro .shd-h{margin-inline:auto;}
.shd-acc{display:block;font-style:italic;color:var(--shd-k);}
.shd-wave{display:block;margin:0 0 var(--space-4);color:var(--shd-k);}
.shd.centro .shd-wave{margin-inline:auto;}
.shd-p{font-size:var(--fs-body);line-height:var(--leading-read);color:var(--shd-b);margin:0 0 var(--shd-gap);max-width:var(--read-max);text-wrap:pretty;}
.shd.centro .shd-p{margin-inline:auto;}

/* ===== Índice editorial (AnchorNavigation) ===== */
.ie-side{display:none;}
.ie-bar{display:block;}
@media (min-width:1440px){.ie-side{display:block;}.ie-bar{display:none;}}
.ie-skip{position:fixed;left:max(var(--space-3),var(--safe-area-left,env(safe-area-inset-left,0px)));top:max(var(--space-3),var(--safe-area-top,env(safe-area-inset-top,0px)));z-index:var(--z-overlay);transform:translateY(-250%);display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-circle);background:var(--surface-inverse);color:var(--text-on-dark);font-size:var(--fs-small);font-weight:600;text-decoration:none;}.ie-skip:focus{transform:none;outline:2px solid var(--line-accent);outline-offset:2px;}
.ie-demo .ie-top,.ie-demo .ie-skip{display:none !important;}
.ie-chip{position:relative;}
.ie-chip[aria-current="true"]::after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:4px;height:var(--mark-current-h);background:var(--mark-current);-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;pointer-events:none;}
.ie-l{opacity:0;transform:translateX(8px);transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);}
.ie-a:hover .ie-l,.ie-a:focus-visible .ie-l,.ie-a[aria-current="true"] .ie-l{opacity:1;transform:none;}
@media (min-width:1680px){.ie-l{opacity:1;transform:none;}}
.ie-demo{position:relative !important;top:auto !important;right:auto !important;left:auto !important;transform:none !important;opacity:1 !important;pointer-events:auto !important;display:block !important;box-shadow:none !important;margin:var(--space-6) auto;max-width:var(--layout-copy-narrow);}
.ie-a:focus-visible,.ie-chip:focus-visible,.ie-menu-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.ie-scroll{scrollbar-width:none;}.ie-scroll::-webkit-scrollbar{display:none;}
.ie-chip{transition:background-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard);}
.ie-chip:hover{border-color:var(--line-ink);}
.ie-a[aria-current="true"] .ie-l{background:var(--surface-inverse);color:var(--text-on-dark);border-color:var(--line-ink);font-weight:600;}.ie-chip[aria-current="true"]{font-weight:600;}
.ie-l{box-shadow:var(--shadow-sm);}
@media (prefers-reduced-motion:reduce){.ie-l,.ie-chip,.ie-bar{transition:none;}}

/* Footer: áreas táctiles en punteros gruesos */
@media (pointer:coarse){.r-ft .r-flegal a,.r-ft .r-fcol a,.r-ft .r-figl{min-height:var(--target-min);display:inline-flex;align-items:center;}}

/* Footer: grilla única con transición a cinco columnas solo cuando hay ancho suficiente. */
.r-ft .r-fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand brand" "hotel exp" "visita visita" "contact contact";gap:var(--space-6) var(--space-4);margin-bottom:var(--space-5);}
.r-ft .r-fbrand{grid-area:brand}.r-ft .r-fhotel{grid-area:hotel}.r-ft .r-fexp{grid-area:exp}.r-ft .r-fvisita{grid-area:visita}.r-ft .r-fcontact{grid-area:contact}
@media (min-width:768px){.r-ft .r-fgrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand hotel exp" "brand visita contact";gap:var(--space-8) var(--space-6)}}
@media (min-width:1280px){.r-ft .r-fgrid{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);grid-template-areas:"brand hotel exp visita contact";gap:var(--space-8)}}
@media (min-width:1440px){.r-ft .r-fgrid{gap:var(--space-10)}}
@media (max-width:900px){.r-ft .r-legal{align-items:flex-start}.r-ft .r-flegal{order:3;flex:1 1 100%}.r-ft .r-fprefs{margin-left:auto}}

/* Local Nav (navegación local de ficha): mismo patrón que rp-anchor-navigation */
.sc-host[data-sc-name="Local Nav"]{display:block;position:sticky;top:calc(var(--header-height) - 1px);z-index:var(--z-above);}
.an-band{background:var(--surface-alt);border-bottom:1px solid var(--border-default);padding:var(--space-1) var(--gutter);}
.an{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:var(--space-1) 0;}
.an::-webkit-scrollbar{display:none;}
.an-band[data-more-end] .an{-webkit-mask:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask:linear-gradient(to right,#000 calc(100% - 32px),transparent);}
.an-band[data-more-start] .an{-webkit-mask:linear-gradient(to left,#000 calc(100% - 32px),transparent);mask:linear-gradient(to left,#000 calc(100% - 32px),transparent);}
.an-band[data-more-start][data-more-end] .an{-webkit-mask:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent);}
.an a{position:relative;display:inline-flex;align-items:center;flex:none;min-height:var(--target-min);padding:0 var(--space-4);border:1px solid var(--line-muted);border-radius:var(--radius-circle);color:var(--text-body);text-decoration:none;font-size:var(--fs-small);font-weight:500;white-space:nowrap;transition:border-color var(--motion-base) var(--ease-standard);}
.an a:hover{border-color:var(--line-ink);}
.an a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.an a[aria-current="true"]{font-weight:600;border-color:var(--line-ink);}
.an a[aria-current="true"]::after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:4px;height:var(--mark-current-h);background:var(--mark-current);-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;pointer-events:none;}
@media (prefers-reduced-motion:reduce){.an a{transition:none;}}

/* WhatsApp Help (DC y rp-whatsapp-help): mismo enlace con ícono y área táctil */
.wah{margin:0;line-height:var(--leading-text);max-width:48ch;}
.wah-l{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.wah-l svg{flex:none;width:1em;height:1em;}
.wah-l:focus-visible{outline:var(--focus-outline);outline-offset:2px;}
.sc-host[data-sc-name="WhatsApp Help"]{display:block;}
.ab-msg .ab-sr{display:none;}
/* Enlace "Ver condiciones" del aviso: mismo estilo en DC y en Home (antes dependía de estilo en línea) */
.ab-cond{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.ab-cond:hover{text-decoration-color:var(--sand);text-decoration-thickness:2px;}
.ab-cond:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:2px;}
.ab::after{background-image:none}
/* Aviso promocional: beneficio directo, sin adornos redundantes y con texto legible en móvil. */
.ab{background:var(--surface-alt);color:var(--text-primary);}
.ab-msg{color:var(--text-primary);}
.ab-pct{color:var(--sand-deep);}
.ab-until{color:var(--text-body);}
.ab-close{color:var(--text-primary);}
.ab-close:hover{background:var(--ink-a05);}
.ab-close:focus-visible,.ab a:focus-visible{outline:var(--focus-outline);outline-offset:2px;}
.ab-iso,.ab-label{display:none !important;}
.ab-text{min-width:0;}
.ab-msg{white-space:normal !important;line-height:var(--leading-title);}
@media (max-width:767px){.ab-in{display:flex;min-height:48px;gap:0;padding:var(--space-2) 56px var(--space-2) var(--space-3);}.ab-text{width:auto;}.ab-long{display:none !important;}.ab-msg{white-space:nowrap !important;font-size:var(--fs-meta);}.ab-pct{font-size:var(--fs-body);}.ab-cond{font-size:var(--fs-meta);}}

.experience-inquiry-summary{display:grid;gap:var(--space-3);margin-block:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--card-radius);background:var(--surface-raised)}.experience-inquiry-summary h3{margin:0;font-family:var(--font-display);font-size:var(--fs-h4);font-weight:500;line-height:var(--leading-tight)}.experience-inquiry-summary .sc-host{min-width:0}
/* Contenido y confianza globales. */
rp-notice,rp-map-fallback,rp-quick-facts{display:block}
.rp-notice{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--border-default);border-left:4px solid var(--page-accent-deep,var(--text-primary));background:var(--surface-alt);color:var(--text-primary);font:var(--fs-small)/var(--leading-read) var(--font-body);max-width:var(--read-max)}
.rp-notice strong{font-size:var(--fs-body);font-weight:600}
.rp-notice a{width:fit-content;min-height:var(--target-min);display:inline-flex;align-items:center;color:inherit;font-weight:600;text-underline-offset:3px}
.rp-notice a:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.rp-notice--warning{border-left-color:var(--state-warning,var(--sand-deep));background:var(--state-warning-bg,var(--surface-alt))}
.rp-notice--success{border-left-color:var(--state-success,var(--page-accent-deep));background:var(--state-success-bg,var(--surface-alt))}
.rp-notice--pending{border-style:dashed;color:var(--text-meta)}
.rp-map-fallback{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);min-height:240px;box-sizing:border-box;padding:clamp(var(--space-5),3vw,var(--space-8));border:1px solid var(--border-default);background:var(--surface-page);color:var(--text-primary)}
.rp-map-fallback p{margin:0;max-width:var(--read-max);line-height:var(--leading-read)}
.rp-map-fallback a,.rp-map-fallback button{width:fit-content;min-height:var(--target-min);display:inline-flex;align-items:center;font:600 var(--fs-small)/var(--leading-text) var(--font-body);color:var(--text-primary);text-underline-offset:3px}
.rp-map-fallback button{padding:0 var(--space-4);border:1px solid var(--line-ink);background:transparent;cursor:pointer}
.rp-map-fallback :is(a,button):focus-visible{outline:var(--focus-outline);outline-offset:2px}
.rp-map-mark{font-size:var(--fs-h2);color:var(--page-accent-deep,var(--text-primary))}
.rp-map-frame{width:100%;aspect-ratio:4/3;min-height:300px;background:var(--surface-media-placeholder)}
.rp-map-frame iframe{width:100%;height:100%;border:0}
.rp-quick-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--space-5);margin:0;padding:0;border-block:1px solid var(--border-default)}
.rp-quick-facts>div{min-width:0;padding:var(--space-4) 0;border-top:2px solid var(--page-accent,var(--acc-home))}
.rp-quick-facts dt{font-size:var(--fs-meta);font-weight:600;color:var(--text-meta)}
.rp-quick-facts dd{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--fs-lead);line-height:var(--leading-snug);color:var(--text-primary)}
.rp-quick-facts small{display:block;margin-top:var(--space-1);font-size:var(--fs-meta);line-height:var(--leading-read);color:var(--text-body)}
.rp-editorial-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(var(--space-8),6vw,var(--space-16));align-items:center}
.rp-editorial-split>figure{margin:0;min-width:0;overflow:hidden}
.rp-editorial-split>figure img{display:block;width:100%;height:100%;object-fit:cover}
.rp-editorial-split[reverse]>:first-child{grid-column:2;grid-row:1}
.rp-editorial-split[reverse]>:nth-child(2){grid-column:1;grid-row:1}
.rp-editorial-split[data-order="media-left"]>:first-child{grid-column:2;grid-row:1}
.rp-editorial-split[data-order="media-left"]>:nth-child(2){grid-column:1;grid-row:1}
.rp-editorial-split[data-ratio="media-wide"]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.rp-editorial-split[data-ratio="balanced"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.rp-editorial-split[data-tone="soft"]{background:var(--surface-alt)}
@media(max-width:767px){.rp-editorial-split{grid-template-columns:1fr}.rp-editorial-split[reverse]>:first-child,.rp-editorial-split[reverse]>:nth-child(2){grid-column:auto;grid-row:auto}}
@media(max-width:767px){.rp-editorial-split[data-order="media-left"]>:first-child,.rp-editorial-split[data-order="media-left"]>:nth-child(2){grid-column:auto;grid-row:auto}.rp-editorial-split[data-ratio="media-wide"],.rp-editorial-split[data-ratio="balanced"]{grid-template-columns:1fr}}
.sv-facts.rp-quick-facts,.c360-facts.rp-quick-facts{display:block;border:0;background:transparent}
.sv-facts .rp-quick-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--sv-line);background:var(--sv-line)}
.sv-facts .rp-quick-facts>div{padding:25px;background:var(--sv-paper);border:0}
.c360-hero .c360-facts .rp-quick-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-color:#ffffff44}
.c360-hero .c360-facts .rp-quick-facts>div{border-color:#ffffff44}
.c360-hero .c360-facts :is(dt,dd,small){color:#fff}
@media(max-width:900px){.sv-facts .rp-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sv-facts .rp-quick-facts{grid-template-columns:1fr}}
rp-faq-list{display:block}
rp-accordion summary{min-height:var(--target-min);box-sizing:border-box;display:list-item;align-content:center;cursor:pointer}
rp-faq-list summary:focus-visible,rp-accordion summary:focus-visible,.rp-comparison-scroll:focus-visible,.rp-gallery-dialog button:focus-visible{outline:var(--focus-outline);outline-offset:3px}
.rp-comparison-scroll{max-width:100%;overflow-x:auto;scrollbar-gutter:stable}
.rp-gallery-dialog figcaption{max-width:70ch;line-height:var(--leading-read)}

/* Contrato móvil de la barra compartida: 72 px de contenido + área segura. */
@media (max-width:767px){
  .bd{height:calc(72px + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));padding:0 var(--space-3) var(--safe-area-bottom,env(safe-area-inset-bottom,0px));}
  .bd-in{height:100%;min-height:0;flex-wrap:nowrap;}
  .bd .cta-primary{height:44px;min-height:44px;max-height:44px;padding:0 var(--space-3);}
  .bd-x{width:var(--target-min);height:var(--target-min);}
}

/* Footer de referencia: contacto y navegación ordenados por tarea. */
.r-ft .r-fcopy{align-self:flex-start;padding:0 var(--space-1);border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--text-on-dark-muted);font:inherit;font-size:var(--fs-small);text-decoration:none;cursor:pointer;min-height:var(--target-min)}
.r-ft .r-fcopy:hover{color:var(--cream)}
.r-ft .r-fcopy:focus-visible{outline:var(--focus-outline-on-dark);outline-offset:3px}
.r-ft .r-faddress{display:block;max-width:30ch;font-size:var(--fs-small);line-height:var(--leading-read)}
.r-ft .r-fcontact .r-fcol{gap:var(--space-2)}
.r-ft .r-fsocial{margin-top:var(--space-5)}
.r-ft .r-fi-ta{font-family:var(--font-body);font-size:var(--fs-small);font-weight:700;letter-spacing:-.04em}
.r-ft .r-fratings{display:block;max-width:28ch;margin:var(--space-1) 0 var(--space-4);font-size:var(--fs-small);line-height:var(--leading-read);color:var(--text-on-dark-muted)}
.r-ft .r-fratings a{display:inline;color:inherit;text-decoration:none;min-height:0;font-size:inherit}
.r-ft .r-fratings a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.r-ft .r-freview{display:inline;max-width:30ch;line-height:var(--leading-read)}
.r-ft .r-fratings{max-width:34ch;text-wrap:pretty}
.r-ft .r-fratings a{text-decoration:underline;text-decoration-color:var(--border-on-dark);text-underline-offset:3px}
.r-ft .r-fbrand .r-ftag{max-width:30ch}
.r-ft .r-flegal{border-inline-start:1px solid var(--border-dark);padding-inline-start:var(--space-4)}
.r-ft .r-fprefs{gap:var(--space-2) var(--space-4)}
.r-ft .r-fh{max-width:22ch;text-wrap:balance}
@media(max-width:900px){.r-ft .r-flegal{border-inline-start:0;padding-inline-start:0}}

/* Galería compartida de experiencias · fotos con ampliación y placeholders no interactivos. */
body rp-accessible-gallery.rp-experience-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(150px,17vw,250px);gap:var(--space-4);min-width:0}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item{position:relative;grid-column:span 4;grid-row:span 1;min-width:0;margin:0;overflow:hidden;border-radius:var(--card-radius);background:var(--surface-media-placeholder)}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item:nth-child(1){grid-column:span 7;grid-row:span 2}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item:nth-child(2),body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item:nth-child(3){grid-column:span 5}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-photo>button{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-photo figcaption{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);color:var(--cream);font-weight:600;text-shadow:0 1px 5px var(--ink-a70);pointer-events:none}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-photo>button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-4px}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-placeholder{display:grid;align-content:stretch;background:linear-gradient(145deg,var(--surface-raised),var(--surface-page));border:1px dashed var(--border-control)}
.rp-gallery-placeholder__visual{display:grid;align-content:center;justify-items:center;gap:var(--space-2);min-height:0;padding:var(--space-5);text-align:center;color:var(--text-body)}
.rp-gallery-placeholder__visual strong{font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500;line-height:var(--leading-title)}
.rp-gallery-placeholder__visual span{font-size:var(--fs-meta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-meta)}
body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item.rp-gallery-placeholder figcaption{align-self:end;padding:0 var(--space-4) var(--space-4);color:var(--text-meta);font-size:var(--fs-meta);line-height:var(--leading-read)}
body rp-accessible-gallery.rp-experience-gallery[data-items="2"]>.rp-gallery-item{grid-column:span 6;grid-row:span 1}
@media(max-width:700px){body rp-accessible-gallery.rp-experience-gallery{display:flex;gap:var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:0 0 var(--space-2)}body rp-accessible-gallery.rp-experience-gallery>.rp-gallery-item{flex:0 0 86vw;height:64vw;min-height:230px;max-height:420px;scroll-snap-align:center}body rp-accessible-gallery.rp-experience-gallery[data-items="2"]>.rp-gallery-item{grid-column:auto}}
body rp-accessible-gallery.rp-experience-gallery:focus-visible{outline:var(--focus-outline);outline-offset:4px}
.rp-experience-gallery-controls{display:none}
@media(max-width:700px){
  .rp-experience-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-3) 0 0;color:var(--text-primary)}
  .rp-experience-gallery-controls__button{display:inline-flex;align-items:center;justify-content:center;width:var(--target-min);height:var(--target-min);min-width:var(--target-min);border:1px solid var(--border-control);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-primary);font:600 1.15rem/1 var(--font-body);cursor:pointer}
  .rp-experience-gallery-controls__button:focus-visible{outline:var(--focus-outline);outline-offset:3px}
  .rp-experience-gallery-controls__button:disabled{opacity:.45;cursor:default}
  .rp-experience-gallery-controls__count{font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--text-meta)}
}


/* Calendar: anchored on desktop, centered modal with a quiet scrim on mobile. */
@media(max-width:767px){
  body:has(.rs-calendar-popover)::before{content:"";position:fixed;inset:0;z-index:calc(var(--z-modal) - 1);background:var(--ink-a35)}
  body:has(.rs-calendar-popover) .wa-fab-wrap{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
  body:has(.rs-calendar-popover) .rs-calendar-popover{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%);z-index:var(--z-modal)!important;width:calc(100vw - 24px)!important;max-width:360px;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:var(--shadow-lift-dark)}
}
@media(min-width:768px){body:has(.rs-calendar-popover) .rs-calendar-popover{position:absolute!important;top:56px!important;left:0!important;right:auto!important;bottom:auto!important;inset:auto!important;transform:none;width:min(100%,300px)!important;max-height:calc(100vh - 24px);overflow-y:auto;z-index:var(--z-bar)!important;box-shadow:var(--shadow-lift-dark)}body:has(.rs-calendar-popover) .rs-calendar-popover.rs-calendar-above{top:auto!important;bottom:calc(100% + 8px)!important}}
.rs-calendar-popover button:focus-visible{outline:var(--focus-outline);outline-offset:1px;z-index:1}
.rs-calendar-popover button:disabled{opacity:.45;cursor:not-allowed!important}

/* Lockup de marca: símbolo blanco del header + nombre tipográfico; firma completa en el footer. */
.sh-logo-wordmark{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:500;letter-spacing:.01em;color:var(--text-on-dark);white-space:nowrap}
.shm-logo.sh-logo-wordmark{font-size:var(--fs-title-sm)}
.sh-logo-mark{display:block;width:clamp(2rem,3vw,2.5rem);height:auto;flex:none;object-fit:contain}
.shm-logo-lockup{display:flex;align-items:center;gap:var(--space-3)}
.shm-logo-lockup .sh-logo-mark{width:2.75rem}

.xh-selection-note{margin:0;font-size:var(--fs-meta);line-height:var(--leading-read);color:var(--text-on-dark-muted)}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Upgrade visual · 10 nov 2026
   · Motivo único: línea de marea (--tide-wave). Se usa solo en bordes de transición.
   · Barra de promoción: tinta, una línea, enlace a la derecha.
   · Header: transparente sobre el hero (atributo overlay), logo mayor, menús amplios, idioma en texto.
   Va en la capa `site`, al final, para ganar a las reglas !important anteriores de la misma capa.
   ═══════════════════════════════════════════════════════════════════════════ */
@layer site {
  :root { --tide-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='8' viewBox='0 0 32 8'%3E%3Cpath d='M0 4q8-6 16 0t16 0' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E"); }

  /* Línea de marea reutilizable: <span class="tide-rule" aria-hidden="true"></span>. Color con currentColor. */
  .tide-rule { display: block; height: 8px; background: currentColor; opacity: .5; -webkit-mask: var(--tide-wave) repeat-x center / 32px 8px; mask: var(--tide-wave) repeat-x center / 32px 8px; pointer-events: none; }

  /* ── Barra de promoción ─────────────────────────────────────────────── */
  .ab { background: var(--ink) !important; color: var(--cream) !important; min-height: 38px; border-bottom: 1px solid var(--cream-a10); }
  .ab-in { display: flex !important; align-items: center; justify-content: center; gap: var(--space-5); padding: 6px 56px !important; min-height: 38px; }
  .ab-text { flex: 0 1 auto !important; width: auto !important; justify-content: center; }
  .ab-long { display: none !important; }
  .ab-msg { color: var(--cream) !important; white-space: nowrap !important; font-size: var(--fs-small); font-variant-numeric: tabular-nums lining-nums; text-wrap: balance; }
  .ab-pct { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; color: var(--sand-hover) !important; letter-spacing: .01em; margin-right: .2em; }
  .ab-until, .ab-compact { color: var(--text-on-dark-muted); }
  .ab .ab-cond { flex: none; color: var(--cream); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; font-weight: 600; white-space: nowrap; }
  .ab .ab-cond:hover { text-decoration-color: var(--sand-hover); text-decoration-thickness: 2px; }
  .ab a:focus-visible, .ab-close:focus-visible { outline: var(--focus-outline-on-dark) !important; outline-offset: 2px; }
  .ab-close { right: var(--space-3); width: 28px !important; height: 28px !important; border: 1px solid var(--cream-a30, rgba(255,253,247,.3)) !important; color: var(--cream) !important; font-size: 1.1rem; line-height: 1; }
  .ab-close:hover { background: var(--cream-a10) !important; transform: translateY(-50%) !important; }
  @media (max-width: 767px) {
    .ab-in { padding: 6px 52px 6px var(--space-3) !important; justify-content: flex-start; }
    .ab-msg { white-space: normal !important; font-size: var(--fs-meta); }
    .ab-pct { font-size: 1.15rem; }
    .ab-in { gap: var(--space-3); flex-wrap: nowrap; justify-content: space-between !important; }
    .ab-compact { display: none !important; }   /* móvil: una línea "15% de descuento" + enlace; el detalle va en el nombre accesible y en las condiciones */
  }

  /* ── Header ─────────────────────────────────────────────────────────── */
  /* 1 · Logo mayor */
  .sh-logo-mark { width: clamp(2.5rem, 3.6vw, 3.1rem) !important; }
  .sh-logo-wordmark { font-size: calc(var(--fs-lead) * 1.12); letter-spacing: .07em; }

  /* 2 · Transparente sobre el hero (solo con <rp-site-header overlay>) y sólido al hacer scroll */
  rp-site-header[overlay] .sh-spacer, .sh-wrap.sh-overlay + .sh-spacer { height: 0 !important; }
  .sh-overlay .sh-bar { position: relative; transition: border-color var(--motion-base) var(--ease-standard); }
  .sh-overlay .sh-bar::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--header-bg); opacity: 0; transition: opacity .35s var(--ease-marea); pointer-events: none; }
  .sh-overlay:not(.sh-scrolled) .sh-bar { background: linear-gradient(180deg, rgba(20,31,26,.6), rgba(20,31,26,0)) !important; border-bottom-color: transparent !important; }
  .sh-overlay.sh-scrolled .sh-bar { background: transparent !important; }
  .sh-overlay.sh-scrolled .sh-bar::before { opacity: 1; }
  @media (prefers-reduced-motion: reduce) { .sh-overlay .sh-bar::before { transition: none; } }

  /* 3 · Menús amplios: panel a todo el ancho bajo la barra, con frase a la izquierda y enlaces en dos columnas */
  .sh-nav-more { position: static !important; }
  .sh-bar { position: relative; }
  .sh-dropdown { top: 100% !important; left: 0 !important; right: 0 !important; padding-top: 0 !important; }
  .sh-dropdown-card, .sh-dropdown-card.has-media {
    display: grid; grid-template-columns: minmax(15rem, 22rem) repeat(2, minmax(0, 1fr)); column-gap: var(--space-8); row-gap: var(--space-1);
    align-items: center; max-width: calc(var(--layout-max) + var(--gutter) * 2); min-width: 0; width: 100%; box-sizing: border-box; margin: 0 auto;
    padding: var(--space-8) var(--gutter) var(--space-8); border-radius: 0; border-width: 1px 0 0; border-color: var(--border-dark);
    background: var(--header-menu-bg); box-shadow: 0 28px 48px -24px rgba(8,12,10,.55);
  }
  .sh-dropdown-card::before { content: ""; position: absolute; left: var(--gutter); right: var(--gutter); top: -4px; height: 8px; background: var(--sand); opacity: .55; -webkit-mask: var(--tide-wave) repeat-x center / 32px 8px; mask: var(--tide-wave) repeat-x center / 32px 8px; pointer-events: none; }
  .sh-dd-eyebrow { grid-column: 1; grid-row: 1 / span 3; align-self: start; padding: 0; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: clamp(1.7rem, 1.4rem + 1vw, 2.2rem); line-height: 1.15; letter-spacing: 0; text-transform: none; color: var(--cream); max-width: 12ch; }
  .sh-dropdown-card a { position: relative; min-height: 0; padding: var(--space-2) 0 !important; border-radius: 0 !important; font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; line-height: 1.2; color: var(--cream-a85); background: none !important; }
  .sh-dropdown-card a:hover, .sh-dropdown-card a:focus-visible, .sh-dropdown-card a[aria-current="page"] { color: var(--cream); background: none !important; }
  .sh-dropdown-card a:not(.sh-dd-all)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 6px; background: var(--sand); -webkit-mask: var(--sh-wave) repeat-x left center / 12px 6px; mask: var(--sh-wave) repeat-x left center / 12px 6px; opacity: 0; transform: scaleX(.5); transform-origin: left center; transition: opacity var(--motion-base) var(--ease-marea), transform var(--motion-base) var(--ease-marea); }
  .sh-dropdown-card a:not(.sh-dd-all):hover::after, .sh-dropdown-card a:not(.sh-dd-all):focus-visible::after { opacity: .7; transform: none; }
  .sh-dropdown-card a.sh-dd-all { grid-column: 1; grid-row: 4; justify-self: start; margin-top: var(--space-5); font-family: var(--font-body); font-size: var(--fs-small); font-weight: 600; color: var(--sand-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
  .sh-dropdown-card a.sh-dd-all:hover { color: var(--cream); text-decoration-thickness: 2px; }
  .sh-dd-media { display: none; }
  @media (prefers-reduced-motion: reduce) { .sh-dropdown-card a::after { transition: none; } }

  /* 4 · Idioma: texto "ES · EN" con el activo subrayado por una línea de marea, sin píldora */
  .sh-bar .sh-langsw { height: auto; border: 0; border-radius: 0; color: var(--text-on-dark-muted); gap: 0; }
  .sh-bar .sh-langsw::before { display: none !important; }
  .sh-bar .sh-langsw a { width: auto; min-width: 2rem; padding: 0 .45rem; height: 2rem; border-radius: 0; color: var(--text-on-dark-muted); letter-spacing: .04em; }
  .sh-bar .sh-langsw a + a::before { content: ""; position: absolute; left: 0; top: 30%; bottom: 30%; width: 1px; background: var(--cream-a30, rgba(255,253,247,.3)); }
  .sh-bar .sh-langsw a[aria-current]:not([aria-current="false"]) { color: var(--cream) !important; }
  .sh-bar .sh-langsw a[aria-current]:not([aria-current="false"])::before { content: ""; position: absolute; left: .45rem; right: .45rem; bottom: 2px; top: auto; width: auto; height: 5px; background: var(--sand); -webkit-mask: var(--tide-wave) repeat-x left center / 20px 5px; mask: var(--tide-wave) repeat-x left center / 20px 5px; }
  /* Menú móvil: el nombre del lockup no debe chocar con el botón de cierre (el wordmark del header es mayor desde el upgrade) */
  .shm-logo-lockup { min-width: 0; }
  .shm-logo.sh-logo-wordmark { font-size: var(--fs-title-sm); letter-spacing: .04em; }
  @media (max-width: 359px) { .shm-logo.sh-logo-wordmark { font-size: 1.2rem; letter-spacing: .02em; } .sh-bar .sh-logo-wordmark { letter-spacing: .03em; font-size: var(--fs-lead); } }
  /* ═══ Footer ═══════════════════════════════════════════════════════════ */
  /* Línea de marea superior: --sh-wave no existía en este ámbito, por eso el borde salía punteado/recto */
  .r-ft { --sh-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M0 3q3-3 6 0t6 0' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E"); }
  .r-ft::before { height: 8px; opacity: .5; -webkit-mask: var(--tide-wave) repeat-x center / 32px 8px; mask: var(--tide-wave) repeat-x center / 32px 8px; }

  /* 1 · Títulos de columna: Cormorant en minúscula, sin guion ni mayúsculas espaciadas */
  .r-ft .r-fh { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 1.2rem + .5vw, 1.7rem); line-height: 1.15; letter-spacing: 0; text-transform: none; color: var(--cream); margin-bottom: var(--space-4); max-width: none; }
  .r-ft .r-fh::before { content: none; }

  /* 2 · Contacto agrupado: dirección, canales y horarios con aire entre grupos */
  .r-ft .r-fcontact .r-fcol { gap: var(--space-1); }
  .r-ft .r-fcontact .r-faddress { color: var(--cream); font-size: var(--fs-body); max-width: 26ch; }
  .r-ft .r-fcontact a[data-rp-wa] { margin-top: var(--space-4); }
  .r-ft .r-fhours { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border-dark); line-height: 1.55; }

  /* 3 · Firma: logo mayor y frase en cursiva real */
  .r-ft .r-flogo { height: clamp(7.5rem, 9vw, 9.5rem); margin-bottom: var(--space-5); }
  .r-ft .r-fbrand .r-ftag { font-style: italic; font-weight: 400; font-size: clamp(1.4rem, 1.2rem + .7vw, 1.8rem); line-height: 1.3; max-width: 22ch; margin-bottom: var(--space-6); }

  /* 4 · Idioma del footer: mismo texto "ES · EN" que el header */
  .r-ft .sh-langsw { height: auto; border: 0; border-radius: 0; color: var(--text-on-dark-muted); gap: 0; }
  .r-ft .sh-langsw::before { display: none !important; }
  .r-ft .sh-langsw a { width: auto; min-width: 2rem; padding: 0 .45rem; height: 2rem; border-radius: 0; color: var(--text-on-dark-muted); letter-spacing: .04em; }
  .r-ft .sh-langsw a + a::before { content: ""; position: absolute; left: 0; top: 30%; bottom: 30%; width: 1px; background: var(--cream-a30); }
  .r-ft .sh-langsw a[aria-current]:not([aria-current="false"]) { color: var(--cream) !important; }
  .r-ft .sh-langsw a[aria-current]:not([aria-current="false"])::before { content: ""; position: absolute; left: .45rem; right: .45rem; bottom: 2px; top: auto; width: auto; height: 5px; background: var(--sand); -webkit-mask: var(--tide-wave) repeat-x left center / 20px 5px; mask: var(--tide-wave) repeat-x left center / 20px 5px; }

  /* El marcador de "página actual" del footer no debe dibujarse sobre el idioma activo (ya lo marca la línea inferior) */
  .r-ft .sh-langsw a[aria-current]::after { background: none; -webkit-mask: none; mask: none; height: auto; inset: -7px -5px; opacity: 1; }

  /* 5 · Contraste: textos secundarios más claros sobre tinta */
  .r-ft a:not([class]), .r-ft .r-fhours, .r-ft .r-fratings, .r-ft .r-fcopy, .r-ft .r-fcookies, .r-ft .r-legal > span { color: var(--cream-a85); }
  .r-ft a:not([class]):hover, .r-ft .r-fcopy:hover, .r-ft .r-fcookies:hover { color: var(--cream); }
  .r-ft .r-legal { border-top-color: var(--cream-a20); }
  /* ═══ rp-skip-link ═════════════════════════════════════════════════════ */
  /* 1 · Foco legible sobre cualquier fondo (foto, tinta o crema): anillo doble crema + tinta */
  .skip-link:focus, .skip-link:focus-visible { outline: 2px solid var(--cream); outline-offset: 2px; box-shadow: 0 0 0 5px var(--ink), var(--shadow-md); }
  /* 2 · Siempre por encima del header, incluso transparente (overlay) y del aviso de cookies; texto de cuerpo, no de metadato */
  .skip-link { z-index: calc(var(--z-header) + 20); font-size: var(--fs-body); }
  /* ═══ rp-map-fallback ══════════════════════════════════════════════════ */
  /* 1 · Dirección en Cormorant; 2 · coordenadas tabulares con "Copiar"; 3 · dos estados claros; 4 · nota de consentimiento discreta */
  .rp-map-fallback { gap: var(--space-2); min-height: 0; background: linear-gradient(165deg, color-mix(in oklch, var(--nature-bay, #567b87) 14%, var(--surface-page)), var(--surface-alt)); border-radius: var(--radius-sm); border-color: color-mix(in oklch, var(--nature-bay, #567b87) 28%, var(--border-default)); }
  .rp-map-fallback .rp-map-mark { font-size: 1.5rem; line-height: 1; margin-bottom: var(--space-1); }
  .rp-map-fallback > strong { font-family: var(--font-display); font-size: clamp(1.6rem, 1.3rem + .8vw, 2rem); font-weight: 500; line-height: 1.1; }
  .rp-map-fallback > span:not(.rp-map-mark) { font-size: var(--fs-small); color: var(--text-body); }
  .rp-map-fallback > p { font-size: var(--fs-small); color: var(--text-body); }
  .rp-map-coords { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-3); margin: var(--space-1) 0 0 !important; }
  .rp-map-coords-v { font-variant-numeric: tabular-nums lining-nums; letter-spacing: .02em; font-size: var(--fs-small); color: var(--text-primary); }
  .rp-map-copy { min-height: 2rem; padding: 0 !important; border: 0 !important; border-bottom: 1px solid currentColor !important; background: none !important; font: 600 var(--fs-meta)/1.2 var(--font-body) !important; color: var(--text-body) !important; cursor: pointer; }
  .rp-map-copy:hover { color: var(--text-primary) !important; }
  .rp-map-fallback .rp-map-consent-note { font-size: var(--fs-meta); color: var(--text-meta); margin-top: var(--space-2); }
  .rp-map-fallback button.rp-consent-control__button { min-height: 2.75rem; padding: 0 var(--space-5); background: var(--ink); color: var(--cream); border-color: var(--ink); border-radius: var(--btn-radius); font-weight: 600; }
  .rp-map-fallback button.rp-consent-control__button:hover { background: var(--ink-hover); }
  .rp-map-frame:not([hidden]) { margin-top: var(--space-3); border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border-default); }

  /* ═══ rp-whatsapp-help ═════════════════════════════════════════════════ */
  /* 1 · Enlace con el ícono en verde de WhatsApp; 2 · foco legible sobre tinta; 3 · botón flotante más discreto; 4 · no compite con la barra sticky (regla móvil ya existente) */
  .wah-l svg { color: var(--whatsapp); width: 1.15em; height: 1.15em; }
  .wah-l { text-decoration-thickness: 1px; text-decoration-color: color-mix(in oklch, currentColor 45%, transparent); }
  .wah-l:hover { text-decoration-thickness: 2px; text-decoration-color: currentColor; }
  [data-ctx="dark"] .wah-l:focus-visible, .ab .wah-l:focus-visible { outline: var(--focus-outline-on-dark); }
  .wa-fab { width: 48px; height: 48px; box-shadow: 0 0 0 2px var(--cream), 0 6px 18px -8px rgba(8,12,10,.5); }
  .wa-fab:hover { transform: none; }
  .wa-fab-wrap.intro .wa-fab::before { animation: none; display: none; }
  .wa-fab-label { font-family: var(--font-body); }

  /* ═══ rp-sticky-action ═════════════════════════════════════════════════ */
  /* 1 · Más baja; 2 · precio en Cormorant y etiqueta en minúscula (sin mayúsculas espaciadas); 3 · entra desde abajo al aparecer; 4 · cierre de 44 px */
  .bd { padding-block: 6px calc(6px + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px))); }
  .bd .cta-primary { min-height: 44px; }
  .bd-label { font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: var(--fs-small); letter-spacing: 0; text-transform: none; color: var(--sand-hover); }
  .bd-label::before { display: none; }
  .bd-price { font-size: 1.5rem; font-variant-numeric: lining-nums tabular-nums; }
  .bd-x { width: 44px; height: 44px; border: 1px solid var(--cream-a30); color: var(--cream-a85); }
  .bd-x:hover { background: var(--cream-a10); color: var(--cream); }
  rp-sticky-action:not([hidden]) .bd { animation: bdIn .32s var(--ease-marea) both; }
  @keyframes bdIn { from { transform: translateY(100%); } to { transform: none; } }
  @media (prefers-reduced-motion: reduce) { rp-sticky-action:not([hidden]) .bd { animation: none; } }
}

/* Contrato móvil de la barra compartida, revisado: 60 px de contenido + área segura (antes 72 px). El botón mide 44 px. */
@media (max-width:767px){
  .bd{height:calc(60px + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));}
}

/* ═══ Shell de las suites · 10 nov 2026 ═══ */
@layer site {
  /* Cerrar la promo alineado al borde del contenedor, no al borde de la ventana */
  .ab-close { right: max(var(--space-3), calc((100% - var(--layout-max, 1200px)) / 2)) !important; }
  /* En las suites el botón de reservar del header espera a que el hero salga de la vista (el hero ya lo ofrece) */
  .sh-wrap .sh-nav-links-desktop .cta-primary-compact { transition: opacity .3s var(--ease-marea), visibility .3s; }
  .sh-wrap.sh-cta-wait .sh-nav-links-desktop .cta-primary-compact { opacity: 0; visibility: hidden; pointer-events: none; }
  /* Páginas solo en español: sin selector de idioma deshabilitado */
  @media (prefers-reduced-motion: reduce) { .sh-wrap .sh-nav-links-desktop .cta-primary-compact { transition: none; } }
}


/* Logotipo en imagen (texto-blanco.png) en lugar del texto "Refugio Pullao" en el header y el menú móvil */
@layer site{
  .sh-logo-text{display:block;width:auto;height:2.15rem;flex:none;object-fit:contain}
  .shm-logo.sh-logo-text{height:1.9rem}
}

/* Pie: el ícono (ave y nido) en grande y en diagonal, asomando por la esquina inferior derecha, con degradado que lo funde hacia arriba */
.r-ft::after{content:"";position:absolute;left:auto;right:clamp(-9.6rem,-6.4vw,-3.2rem);bottom:clamp(-19rem,-16vw,-9rem);width:min(43vw,35.2rem);aspect-ratio:1169/855;background:url("./uploads/icono-blanco.png") no-repeat center/contain;transform:rotate(-16deg);transform-origin:70% 70%;opacity:.13;pointer-events:none;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 25%,rgba(0,0,0,.4) 50%,transparent 78%);mask-image:linear-gradient(to top,#000 0%,#000 25%,rgba(0,0,0,.4) 50%,transparent 78%)}
.r-ft>.pc{position:relative;z-index:1}
@media(max-width:767px){.r-ft::after{width:min(77vw,19.2rem);right:-4.8rem;bottom:-8rem;opacity:.1}}

/* Escala general de escritorio: todo el sitio se ve como al 80 % del zoom del navegador (en móvil y tablet no cambia) */
@media (min-width:1024px){html{zoom:.8}}

/* ═══ Header · mega menú de escritorio y panel móvil/tablet (refresh nov 2026) ═════════════════ */
@keyframes shm-fade{from{opacity:0}to{opacity:1}}
@keyframes shm-slide{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.sh-dd-scrim{position:fixed;inset:0;z-index:calc(var(--z-header) - 1);background:rgba(10,16,13,.52);opacity:0;pointer-events:none}
.sh-dd-scrim[hidden]{display:none}
.sh-dd-scrim.on{opacity:1;pointer-events:auto;animation:shm-fade .25s ease-out}

/* Mega menú: Alojamientos y Experiencias */
.sh-dropdown .sh-mega{position:relative;background:var(--header-menu-bg);border-top:1px solid var(--border-dark);box-shadow:0 34px 64px rgba(8,14,11,.5);transform:translateY(-8px);transition:transform .28s var(--ease-marea,ease)}
.sh-dropdown.open .sh-mega{transform:none}
.sh-mega::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:-4px;height:8px;background:var(--sand);opacity:.55;-webkit-mask:var(--tide-wave) repeat-x center/32px 8px;mask:var(--tide-wave) repeat-x center/32px 8px;pointer-events:none}
.sh-mega__in{display:grid;grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);gap:clamp(32px,4vw,64px);max-width:calc(var(--layout-max) + var(--gutter) * 2);margin:0 auto;padding:clamp(26px,3vw,42px) var(--gutter);box-sizing:border-box}
.sh-mega__intro{display:grid;align-content:start;gap:12px}
.sh-mega__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem);line-height:1.15;color:var(--cream);max-width:12ch}
.sh-mega__intro p{margin:0;max-width:26ch;font-size:var(--fs-small);line-height:1.5;color:var(--text-on-dark-muted)}
.sh-mega__all,.sh-mega__link{display:inline-flex;align-items:center;min-height:44px;color:var(--sand-hover);font-size:var(--fs-small);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.sh-mega__all:hover,.sh-mega__link:hover{color:var(--cream);text-decoration-thickness:2px}
.sh-mega__link{color:var(--text-on-dark-muted);font-weight:500}
.sh-mega__cards{list-style:none;margin:0;padding:0;display:grid;gap:18px 20px;min-width:0}
.sh-mega__cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sh-mega__cards--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.sh-mcard{display:grid;gap:12px;color:var(--cream);text-decoration:none;background:none !important;padding:0 !important;border-radius:0 !important;min-height:0 !important}
.sh-mcard::after{display:none !important}
.sh-mcard__media{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:3px 18px 3px 3px;background:#243a31}
.sh-mcard__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.sh-mcard:hover .sh-mcard__media img,.sh-mcard:focus-visible .sh-mcard__media img{transform:scale(1.05)}
.sh-mcard__media--ph{display:grid;place-items:center;background:linear-gradient(150deg,#2c4336,var(--rp-forest-900));color:var(--sand)}
.sh-mcard__body{display:grid;gap:5px;justify-items:start}
.sh-mcard__body strong{position:relative;font-family:var(--font-display);font-weight:500;font-size:1.4rem;line-height:1.15;color:var(--cream)}
.sh-mcard__body strong::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:var(--sand);-webkit-mask:var(--sh-wave) repeat-x left center/12px 6px;mask:var(--sh-wave) repeat-x left center/12px 6px;opacity:0;transform:scaleX(.5);transform-origin:left center;transition:opacity .2s,transform .25s}
.sh-mcard:hover strong::after,.sh-mcard:focus-visible strong::after,.sh-mcard[aria-current="page"] strong::after{opacity:.8;transform:none}
.sh-mcard__body em{font-style:normal;font-size:.9rem;color:var(--text-on-dark-muted)}
.sh-mcard__tag{display:inline-flex;width:fit-content;margin-top:2px;padding:3px 11px;border:1px solid rgba(215,191,139,.42);border-radius:999px;background:rgba(215,191,139,.14);font:600 .76rem/1.2 var(--font-body);color:#ecdcb2}
.sh-mcard__tag--soft{background:transparent;border-color:rgba(255,253,247,.25);color:rgba(255,253,247,.82)}
.sh-mega[data-kind="experiences"] .sh-mcard{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:14px}
.sh-mega[data-kind="experiences"] .sh-mcard__body strong{font-size:1.2rem}
.sh-mega__foot{border-top:1px solid var(--cream-a20)}
.sh-mega__foot-in{display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,2.4vw,32px);max-width:calc(var(--layout-max) + var(--gutter) * 2);margin:0 auto;padding:12px var(--gutter);box-sizing:border-box}
.sh-mega__cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:2px;background:var(--btn-bg);color:var(--btn-text) !important;font-weight:600;font-size:var(--fs-small);text-decoration:none}
.sh-mega__cta:hover{background:var(--sand-hover)}
@media (min-width:1180px) and (max-width:1279px){.sh-mega__in{grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);gap:28px}.sh-mcard__body strong{font-size:1.25rem}.sh-mega[data-kind="experiences"] .sh-mcard{grid-template-columns:84px minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.sh-dropdown .sh-mega{transform:none;transition:none}.sh-dd-scrim.on{animation:none}.sh-mcard__media img,.sh-mcard__body strong::after{transition:none}}

/* Panel de tablet y móvil */
.shm-nav{justify-content:flex-start !important;padding-top:var(--space-4)}
.shm-link,.shm-link:hover,.shm-link:focus-visible{text-decoration:none}
.shm-link{min-height:clamp(56px,7.4vh,68px) !important}
.shm-acc__head{display:flex;align-items:stretch;border-bottom:1px solid var(--cream-a20)}
.shm-acc__head .shm-acc__link{flex:1;border-bottom:0 !important}
.shm-acc__btn{flex:none;display:grid;place-items:center;width:56px;min-height:56px;border:0;background:none;color:var(--sand);cursor:pointer}
.shm-acc__btn svg{transition:transform .25s}
.shm-acc__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.shm-acc__panel{display:grid;gap:2px;padding:6px 0 14px;border-bottom:1px solid var(--cream-a20)}
.shm-acc__panel[hidden]{display:none}
.shm-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;min-height:60px;padding:6px 0;color:var(--cream);text-decoration:none}
.shm-row__img{display:block;width:76px;height:52px;overflow:hidden;border-radius:3px 12px 3px 3px;background:#243a31}
.shm-row__img img{display:block;width:100%;height:100%;object-fit:cover}
.shm-row__txt strong{display:block;font-family:var(--font-display);font-weight:500;font-size:1.25rem;line-height:1.15}
.shm-row__txt em{display:block;margin-top:2px;font-style:normal;font-size:.86rem;color:var(--text-on-dark-muted)}
.shm-row[aria-current="page"] strong{color:var(--sand)}
.shm-acc__panel .shm-all{display:inline-flex;align-items:center;min-height:44px;margin-top:2px;color:var(--sand-hover);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.shm-close{width:auto !important;min-width:var(--target-min);padding:0 16px !important;gap:8px;border-radius:999px !important;font-size:.9rem}
.shm-close span[aria-hidden]{font-size:1.3rem;line-height:1}
.shm-promo{margin:0;padding:10px 14px;border:1px solid rgba(215,191,139,.4);border-radius:12px;background:rgba(215,191,139,.1);font-size:.86rem;line-height:1.4;color:#ecdcb2}
.shm-promo strong{color:var(--rp-paper)}
.shm-feature{display:none;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border:1px solid var(--cream-a20);border-radius:3px 18px 3px 3px;color:var(--cream);text-decoration:none;background:rgba(255,253,247,.04)}
.shm-feature img{display:block;width:104px;height:70px;object-fit:cover;border-radius:3px 12px 3px 3px}
.shm-feature span{display:grid;gap:2px}
.shm-feature em{font-style:normal;font:600 .74rem/1.2 var(--font-body);color:var(--sand)}
.shm-feature strong{font-family:var(--font-display);font-weight:500;font-size:1.3rem}
.shm-feature small{font-size:.82rem;color:var(--text-on-dark-muted)}
@media (min-width:768px) and (min-height:820px){.shm-feature{display:grid}}
.shm-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shm-quick a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--border-on-dark);border-radius:2px;color:var(--cream);font-size:var(--fs-small);font-weight:600;text-decoration:none}
.shm-quick a:hover{background:var(--cream-a10)}
.sh-mobile-panel.open .shm-sheet{animation:shm-slide .3s cubic-bezier(.2,.8,.2,1) !important}
@media (max-width:767px){.sh-mobile-panel.open .shm-sheet{animation:shm-slide .3s cubic-bezier(.2,.8,.2,1) !important}}
@media (prefers-reduced-motion:reduce){.sh-mobile-panel.open .shm-sheet{animation:none !important}.shm-acc__btn svg{transition:none}}
.shm-nav:has(.shm-acc__btn[aria-expanded="true"]) ~ .shm-foot .shm-feature{display:none}
.sh-mobile-panel .sh-langsw{display:inline-flex;width:auto;align-self:flex-start}
.sh-mobile-panel .sh-langsw a{width:56px}

/* Enlaces del header sin clic (hubs y secciones aún no publicadas) */
.sh-wrap a.is-off,.sh-mobile-panel a.is-off{cursor:default;}
.sh-wrap a.is-off:hover,.sh-mobile-panel a.is-off:hover{text-decoration:none;}
#rp-off-msg{position:fixed;z-index:99999;left:0;top:0;padding:.5rem .8rem;border-radius:999px;background:var(--surface-inverse,var(--rp-ink-900));color:var(--rp-paper,var(--rp-paper));border:1px solid color-mix(in oklch,var(--rp-paper,var(--rp-paper)) 35%,transparent);font:600 .85rem/1.2 var(--font-body,inherit);box-shadow:0 6px 20px rgba(0,0,0,.3);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}
#rp-off-msg.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){#rp-off-msg{transition:none}}

@layer site {
/* Idioma ES/EN como interruptor en cápsula: la pieza deslizante en arena marca el idioma activo */
html body .sh-bar .sh-langsw{position:relative;display:inline-flex;align-items:center;height:36px;padding:2px;gap:0;border:1px solid var(--cream-a30,rgba(255,253,247,.34));border-radius:999px;background:rgba(255,253,247,.06);color:var(--cream)}
html body .sh-bar .sh-langsw::before{display:block!important;content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);height:auto;border-radius:999px;background:var(--rp-sand-300,var(--sand));box-shadow:0 2px 8px rgba(0,0,0,.28);transform:translateX(var(--ls-dx,0px));transition:transform .3s var(--ease-marea,ease);animation:none}
html body .sh-bar .sh-langsw:has(a[hreflang="en"][aria-current]:not([aria-current="false"]))::before{transform:translateX(calc(100% + var(--ls-dx,0px)))}
html body .sh-bar .sh-langsw a{width:40px;min-width:0;height:100%;padding:0;border-radius:999px;font-size:var(--fs-small);font-weight:600;letter-spacing:.06em;color:var(--cream)}
html body .sh-bar .sh-langsw a+a::before,html body .sh-bar .sh-langsw a[aria-current]:not([aria-current="false"])::before{display:none}
html body .sh-bar .sh-langsw a[aria-current]:not([aria-current="false"]){color:var(--ink,var(--rp-ink-900))!important}
html body .sh-bar .sh-langsw:hover,html body .sh-bar .sh-langsw:focus-within{border-color:var(--cream)}
@media (prefers-reduced-motion:reduce){html body .sh-bar .sh-langsw::before{transition:none}}
/* Las acciones principales comparten la forma de control; los selectores conservan su cápsula. */
.cta-primary-compact,.sh-mega__cta{border-radius:var(--btn-radius)}
}

/* ═══ Idioma: EN no disponible en esta ruta ═══ */
.sh-langsw a[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.sh-langsw a[aria-disabled="true"]:hover,.sh-langsw a[aria-disabled="true"]:active{opacity:.5;transform:none}
.sh-ls-note{display:inline-block;margin:0 0 0 .75rem;font-size:var(--fs-meta,.8rem);line-height:1.3;opacity:.8;vertical-align:middle}

/* ═══ Flecha de salida solo en enlaces externos ═══
   Los enlaces de texto que abren otra ventana (reseñas, mapas, redes con texto) llevan ↗; los internos no.
   Los .cta-* ya la traen de design-system/components/cta.css; los enlaces con icono o imagen no la necesitan. */
a[target="_blank"]:not([class*="cta-"]):not(.skip-link):not(:has(img,svg))::after{content:"↗" / "";display:inline-block;margin-left:.25em;font-weight:400;line-height:1;text-decoration:none}

/* ═══ Barra de acción persistente (móvil) · alto según contenido ═══
   Con alto fijo, el rótulo y el precio de las experiencias se recortaban. La barra crece con su contenido;
   --bar-live (medido en conversion-components.js) sube el botón de WhatsApp para que nunca se superpongan. */
@media (max-width:767px){
  .bd{height:auto;min-height:60px;padding-block:var(--space-2) calc(var(--space-2) + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)))}
  .bd-in{height:auto}
  .bd-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bd-price{line-height:1.15}
  /* En las fichas de experiencia el nombre ya está en el título de la página: se omite para que el precio respire. */
  .bd[data-variant="experiencia"] .bd-label{display:none}
}

/* ═══ Cookies (móvil) · más compacto ═══
   El aviso ocupaba el 47 % de la pantalla y tapaba la acción persistente y WhatsApp. Mismo texto, menos aire. */
@media (max-width:767px){
  rp-cookie-consent .cookie-card{padding:var(--space-3) var(--space-4)}
  rp-cookie-consent .cookie-card h2{font-size:1.2rem;margin-bottom:var(--space-2)}
  rp-cookie-consent .cookie-card p{margin-bottom:var(--space-2);font-size:.82rem;line-height:1.4}
  rp-cookie-consent .cookie-card .cookie-current{font-size:.78rem}
  rp-cookie-consent .cookie-card .cookie-actions{gap:var(--space-2)}
  /* Mientras el aviso está abierto, WhatsApp y la barra de acción esperan (ya no compiten por el mismo espacio). */
  html:has(rp-cookie-consent .cookie-card) .wa-fab-wrap{visibility:hidden}
}

/* Foco sobre superficies oscuras y fotografía: anillo dorado + borde tinta (≥ 3:1 sobre verde humedal y sobre foto). Sin capa, para ganar a los anillos de componente. */
:is(.sh-wrap,.shm-sheet,.sh-mega,.sh-dropdown-card,.r-ft,.hu,.hero,.sv-hero-book,[data-tone="dark"],[data-ctx="dark"],section.dark,.rp-experience-hero,rp-experience-hero,rp-accommodation-hero,rp-accommodation-closing,.sv-total) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--sand);outline-offset:2px;box-shadow:0 0 0 2px var(--ink)}
[data-tone="light"] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 2px var(--cream)}

/* ═══ Iconos de acción unificados · cerrar, anterior/volver, siguiente ═══
   Un solo trazo (1.8, extremos redondeados) y un tamaño de 18 px en todos los controles. */
.rp-ico{display:block;flex:none;width:18px;height:18px}
.ab-close,.cookie-x,.shm-close>span[aria-hidden]{display:inline-grid;place-items:center;line-height:1}
.bd-x svg{width:18px;height:18px;stroke-width:1.8}
/* Visor ampliado sin variante «escenario»: su × de texto se dibuja con el mismo icono */
.rp-gallery-close:not(:has(svg)){font-size:0;display:inline-grid;place-items:center}
.rp-gallery-close:not(:has(svg))::before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat}

/* ═══ Consulta ≠ confirmación · mismo marcador en hero, cierre y formulario ═══
   Círculo con «i» + frase corta, siempre junto a la acción. */
.rp-consulta-note,.rp-accommodation-hero__note{display:flex;align-items:flex-start;gap:.55rem;max-width:44ch}
.rp-consulta-note{margin:.85rem 0 0;padding:.7rem .9rem;border:1px solid color-mix(in oklch,var(--rp-sand-300,#d7bf8b) 70%,var(--border-default,#d8d2c4));border-radius:3px 14px 3px 3px;background:color-mix(in oklch,var(--rp-sand-300,#d7bf8b) 18%,var(--surface-raised,#fffdf7));font-size:var(--fs-small,.9rem);line-height:1.45;color:var(--text-body,#454b44)}
.rp-consulta-note strong{display:block;color:var(--text-primary,#192824)}
.rp-consulta-note>span:first-child,.rp-accommodation-hero__note::before{content:"i";flex:none;display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-top:.05rem;border:1px solid currentColor;border-radius:50%;font:italic 600 .78rem/1 var(--font-display,Georgia,serif)}
.rp-accommodation-hero__note::before{content:"i"}

/* ═══ Cabecera, aviso, pie y cookies idénticos en todas las páginas (referencia: el Home) ═══
   El Home fija 1rem y el estilo del botón de la cabecera dentro de «.home»; el resto de páginas heredaba el tamaño de texto de su propio cuerpo (≈17,8 px) y un botón con otro radio. */
html body rp-announcement-bar,html body rp-site-header,html body rp-site-footer,html body rp-cookie-consent{font-size:1rem;line-height:1.6}
html body rp-site-header .cta-primary-compact,html body rp-site-header .sh-mega__cta{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);padding-inline:1.2rem;border:1px solid var(--btn-bg);border-radius:var(--radius-sm)!important;background:var(--btn-bg);color:var(--btn-text)!important;font-weight:600;text-decoration:none;transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}
html body rp-site-header .cta-primary-compact:hover,html body rp-site-header .cta-primary-compact:focus-visible,html body rp-site-header .sh-mega__cta:hover,html body rp-site-header .sh-mega__cta:focus-visible{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text)!important}
html body rp-site-header .cta-primary{border-radius:var(--radius-sm)!important}

/* ═══ Barra de acción inferior · mismo color y lenguaje que la cabecera (fondo teal con brillo, filete claro, cifra en Cormorant, botón arena de 12 px) ═══ */
html body .bd{background:radial-gradient(ellipse 40% 260% at 8% 0%,var(--white-a08,rgba(255,255,255,.08)),transparent 70%),var(--header-bg,var(--wetland,#193638));border-top:1px solid var(--border-dark,rgba(247,244,237,.15));box-shadow:0 -10px 28px -12px rgba(13,25,22,.55)}
html body .bd::before{content:none}
html body .bd-label{display:block;font:700 .72rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--sand,#d8bc82)}
html body .bd-label::before{content:none}
html body .bd-price{font-family:var(--font-display);font-size:clamp(1.35rem,1.15rem + .7vw,1.75rem);font-weight:500;line-height:1.1;color:#fff}
html body .bd-price+.bd-detail{padding-left:var(--space-4,16px);border-left:1px solid rgba(247,244,237,.28)}
html body .bd-detail{color:rgba(247,244,237,.85)}
html body .bd .cta-primary{border:1px solid var(--sand,#d8bc82);border-radius:var(--radius-sm,12px);background:var(--sand,#d8bc82);color:#1a2521!important;font-weight:600}
html body .bd .cta-primary:hover{transform:none;background:var(--sand-hover,#e3cc9b);border-color:var(--sand-hover,#e3cc9b)}
html body .bd-x{border:1px solid var(--border-dark,rgba(247,244,237,.15))}
html body .bd-x:hover{border-color:var(--sand,#d8bc82);background:transparent;color:var(--sand,#d8bc82)}
html body .bd-dates{border-color:var(--border-dark,rgba(247,244,237,.15))}
html body .bd-pick{border-radius:var(--radius-sm,12px)}

/* Cabecera (≥1360 px): mismo ancho que la columna de contenido (max-width y gutter de rp-page-container), de modo que el logotipo y el botón quedan alineados con el texto de la página. Con ese ancho ya no caben dos columnas laterales iguales con el menú centrado, así que se mantiene la disposición en fila: logotipo a la izquierda; menú y acciones a la derecha. */
@media (min-width:1360px){
  html body rp-site-header .sh-wrap nav{max-width:calc(var(--layout-max) + var(--gutter) * 2)!important;padding-inline:var(--gutter)!important}
  html body rp-site-header .sh-nav-center{color:var(--text-on-dark-muted);font-size:var(--fs-small)}
  html body rp-site-header .sh-nav-center>a{transition:color var(--motion-base) var(--ease-standard)}
}
html body rp-site-header .sh-nav-center, html body rp-site-header .sh-nav-actions { flex: none; white-space: nowrap; }
html body rp-site-header .sh-nav-links-desktop { gap: var(--space-4) !important; }

/* Footer: reseñas agrupadas, contacto con horarios separados e información legal rotulada */
html body .r-ft .r-freviews{margin:var(--space-3) 0 0}
html body .r-ft .r-freviews__t{margin:0 0 var(--space-2);font-size:var(--fs-small);font-weight:600;color:var(--cream)}
html body .r-ft .r-freviews__l{display:flex;flex-wrap:wrap;gap:0 var(--space-4);margin:0;padding:0;list-style:none}
html body .r-ft .r-freviews__l a{display:inline-flex;align-items:center;gap:.25rem;min-height:var(--target-min);font-size:var(--fs-small);color:var(--text-on-dark-muted);text-decoration:none}
html body .r-ft .r-freviews__l a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:4px}
html body .r-ft .r-fh--sub{margin:var(--space-5) 0 var(--space-2);font-size:var(--fs-small);font-weight:600}
html body .r-ft dl.r-fhours{display:grid;gap:var(--space-2);margin:0;color:var(--text-on-dark-muted);font-size:var(--fs-small)}
html body .r-ft dl.r-fhours>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.15rem var(--space-3)}
html body .r-ft dl.r-fhours dt,html body .r-ft dl.r-fhours dd{margin:0}
html body .r-ft dl.r-fhours dd{color:var(--cream);font-variant-numeric:tabular-nums}
html body .r-ft .r-flegal__t{margin-right:var(--space-3);font-size:var(--fs-small);font-weight:600;color:var(--cream)}

/* Botón «Menú»: etiqueta corta junto al ícono en teléfonos; solo ícono por debajo de 360 px */
.sh-mn-s{display:none;}
@media (max-width:359px){.sh-nav-burger .rp-menu-open{flex:0 0 44px !important;width:44px !important;padding:0 !important;border-radius:50%;}.sh-nav-burger .rp-menu-open .sh-mn-s{display:none !important;}}
/* Orientación: sección y página actuales visibles en el header */
.sh-nav-center .is-section > span > a,.sh-nav-center > a[aria-current="page"],.sh-nav-center .sh-nav-more:not(.rp-dd) a[aria-current="page"]{color:var(--text-on-dark,#fff) !important;text-decoration:underline !important;text-decoration-color:var(--sand) !important;text-decoration-thickness:2px !important;text-underline-offset:.55em !important;}
.sh-mcard[aria-current="page"]{outline:2px solid var(--sand);outline-offset:2px;}
.shm-row[aria-current="page"] strong::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--sand);vertical-align:middle;}
.shm-acc__link[aria-current="true"] .shm-t::before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-circle);background:var(--sand);margin-right:var(--space-3);vertical-align:middle;}
.shm-acc__link[aria-current="true"] .shm-t{font-weight:600;}

@media (min-width:360px) and (max-width:479px){.sh-nav-burger>a.cta-primary-compact{padding-inline:10px !important;}}

/* ═══ Ritmo del header de escritorio ═══
   Tres espacios con nombre (mínimos; el espacio que sobra se reparte a partes iguales entre el del logotipo y el del idioma):
   --hd-gap-logo  logotipo → primer enlace   56 px
   --hd-gap-item  entre enlaces del menú     28 px, medido de lo visible a lo visible
   --hd-gap-lang  último enlace → idioma     40 px
   Con el contenedor de 1200 px (1440 px de pantalla) el menú queda al límite, por eso estos valores caben en todo el rango desde 1180 px.
   El chevron mide 24 px de ancho con el ícono centrado; su margen negativo hace que el espacio entre ítems arranque en el ícono, no en la caja,
   de modo que los ítems con y sin submenú quedan a la misma distancia. El área táctil sigue siendo de 44 px de alto. ═══ */
@media (min-width:1180px){
  html body rp-site-header{--hd-gap-item:28px;--hd-gap-logo:56px;--hd-gap-lang:40px;}
  html body rp-site-header .sh-wrap nav{justify-content:space-between!important;gap:0!important}
  html body rp-site-header .sh-nav-links-desktop{display:contents!important}
  html body rp-site-header .sh-nav-center{margin-left:var(--hd-gap-logo)!important;margin-right:var(--hd-gap-lang)!important;gap:var(--hd-gap-item)!important}
  html body rp-site-header .sh-nav-center .rp-dd-toggle{width:24px!important;margin-right:-6px!important}
  html body rp-site-header .sh-nav-center .sh-nav-more:not(.rp-dd){padding-right:0!important}
  html body rp-site-header .sh-nav-center>a{padding-right:0!important}
}

/* ═══ Footer: redes con texto, ruta en Google Maps, canales con su función y móvil con contacto antes de la navegación ═══ */
.r-ft a.r-fi--txt{width:auto;padding-inline:var(--space-4);gap:var(--space-2);border-radius:var(--radius-pill,999px);font-size:var(--fs-small);font-weight:600;}
.r-ft a.r-fi--txt span{line-height:1;}
.r-ft .r-fmap{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);}
.r-ft a.r-fmaplink{display:inline-flex;align-items:center;min-height:var(--target-min);color:var(--cream);font-size:var(--fs-small);font-weight:600;text-decoration:underline;text-decoration-color:var(--sand);text-decoration-thickness:2px;text-underline-offset:.3em;}
.r-ft a.r-fmaplink:hover{color:var(--sand);}
.r-ft .r-fch{display:flex;flex-direction:column;align-items:flex-start;}
.r-ft .r-fch__d{display:block;margin-top:calc(var(--space-1) * -1);padding-bottom:var(--space-2);color:var(--text-on-dark-muted);font-size:var(--fs-meta);line-height:1.3;}
@media (max-width:767px){
  .r-ft .r-fgrid{grid-template-areas:"brand brand" "contact contact" "hotel exp" "visita visita";}
  .r-ft{padding-bottom:calc(var(--space-4) + var(--bar-live,0px) + 80px) !important;}
}

/* Header con texto ampliado (ver global-components.js, data-large-text) */
html[data-large-text] .sh-nav-links-desktop,html[data-large-text] .sh-nav-actions{display:none !important}
html[data-large-text] .sh-nav-burger{display:flex !important;flex:0 0 auto;margin-left:auto}
html[data-large-text] .sh-wrap .sh-logo-text,html[data-large-text] .sh-logo-t{display:none !important}
html[data-large-text] .sh-wrap nav>a:first-child{min-width:0;flex:0 1 auto}
html[data-large-text] .sh-nav-burger .rp-menu-open .sh-mn-s,html[data-large-text] .sh-nav-burger .rp-menu-open .sh-mn-l{display:none !important}
html[data-large-text] .sh-nav-burger .rp-menu-open{min-width:44px !important;width:44px !important;padding:0 !important;justify-content:center}
html[data-large-text] .sh-nav-burger>a.cta-primary-compact{max-width:112px;white-space:normal;line-height:1.1;text-align:center}
html[data-large-text] body rp-site-header .sh-nav-burger .rp-menu-open .sh-mn-s,html[data-large-text] body rp-site-header .sh-nav-burger .rp-menu-open .sh-mn-l{display:none !important}
html[data-large-text] body rp-site-header .sh-nav-burger .rp-menu-open{width:44px !important;min-width:44px !important;padding:0 !important;justify-content:center}
@media (max-width:359px){html[data-large-text] .sh-nav-burger>a.cta-primary-compact{display:none !important}}

/* ═══ Footer global · recomposición (auditoría 14 nov) ═══════════════════════════
   Marca + mapa del sitio arriba, contacto en una franja alineada a la misma retícula,
   fila legal sola. Dos lenguajes de enlace: navegación (gris, subrayado al pasar) y
   acción (crema con subrayado arena). Sin marca de agua. */
.r-ft::after{display:none !important}
.r-ft .rf{display:grid;gap:var(--space-8)}
.r-ft .rf-top,.r-ft .rf-contact{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.r-ft .rf-logo{display:block;height:clamp(5.5rem,7vw,7rem);width:auto;max-width:100%;margin:0 0 var(--space-4);object-fit:contain;object-position:left center}
.r-ft .rf-tag{margin:0;max-width:22ch;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem);line-height:1.3;color:var(--cream)}
.r-ft .rf-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5)}
.r-ft .rf-group:last-child{grid-column:1 / -1}
.r-ft .rf-h{margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-dark);font:500 1.2rem/1.3 var(--font-display);color:var(--cream);text-transform:none;letter-spacing:0}
.r-ft .rf-h::before{content:none}
.r-ft .rf-list,.r-ft .rf-inline,.r-ft .rf-channels{list-style:none;margin:0;padding:0}
.r-ft .rf-list{display:flex;flex-direction:column}
.r-ft .rf-list a,.r-ft .rf-inline a,.r-ft .rf-legal a{display:inline-flex;align-items:center;min-height:2.25rem;font-size:.9375rem;line-height:1.35;color:var(--text-on-dark-muted);text-decoration:none;overflow-wrap:anywhere}
.r-ft .rf-list a:hover,.r-ft .rf-inline a:hover,.r-ft .rf-legal a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:4px}
.r-ft .rf-contact{padding:var(--space-6) 0;border-block:1px solid var(--border-dark)}
.r-ft .rf-addr{display:flex;flex-direction:column;gap:var(--space-1);margin:0;font-style:normal;font-size:.9375rem;line-height:1.5;color:var(--cream)}
.r-ft .rf-addr__act{display:flex;flex-wrap:wrap;gap:0 var(--space-5)}
.r-ft .rf-addr__act a,.r-ft .rf-addr__act .r-fcopy,.r-ft .rf-channels a{display:inline-flex;align-items:center;min-height:2.25rem;padding:0;border:0;background:none;font:inherit;font-size:.9375rem;font-weight:600;color:var(--cream);text-decoration:underline;text-decoration-color:var(--sand);text-decoration-thickness:1px;text-underline-offset:5px;cursor:pointer}
.r-ft .rf-addr__act a:hover,.r-ft .rf-addr__act .r-fcopy:hover,.r-ft .rf-channels a:hover{text-decoration-thickness:2px}
.r-ft .rf-channels{display:grid;gap:var(--space-4)}
.r-ft .rf-channels li{display:flex;flex-direction:column;gap:2px;min-width:0}
.r-ft .rf-sub{font-size:.875rem;line-height:1.4;color:var(--text-on-dark-muted)}
.r-ft .rf-social{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-5)}
.r-ft .rf-social__t{font-size:.875rem;color:var(--text-on-dark-muted)}
.r-ft .rf-inline{display:flex;flex-wrap:wrap;gap:0 var(--space-5)}
.r-ft .rf-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-6);font-size:.875rem;color:var(--text-on-dark-muted)}
.r-ft .rf-legal .r-fcookies{font-size:.9375rem;min-height:2.25rem}
.r-ft .rf-legal__nav{flex:1 1 24rem;min-width:0}
.r-ft .rf-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-5);margin-left:auto}
@media (min-width:768px){.r-ft .rf-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.r-ft .rf-group:last-child{grid-column:auto}.r-ft .rf-channels{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){
 .r-ft .rf-top,.r-ft .rf-contact{grid-template-columns:minmax(11rem,.8fr) minmax(0,2.2fr);column-gap:var(--space-8)}
 .r-ft .rf-contact{grid-template-areas:"head chan" "addr chan" ". social";row-gap:var(--space-3)}
 .r-ft .rf-contact>.rf-h{grid-area:head;border:0;padding:0;margin:0}
 .r-ft .rf-addr{grid-area:addr}.r-ft .rf-channels{grid-area:chan}.r-ft .rf-social{grid-area:social;margin-top:var(--space-2)}
}
@media (pointer:coarse){.r-ft .rf-list a,.r-ft .rf-inline a,.r-ft .rf-legal a,.r-ft .rf-addr__act a,.r-ft .rf-addr__act .r-fcopy,.r-ft .rf-channels a,.r-ft .rf-legal .r-fcookies{min-height:var(--target-min)}}
.r-ft .rf-sub{display:flex;flex-direction:column}
.r-ft .rf-hrs{white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.r-ft .rf-legal .rf-inline{gap:0 var(--space-4)}
.r-ft .rf-legal__nav{flex:1 1 0}
.r-ft .rf-tools{gap:0 var(--space-4)}
.r-ft .rf-copy{margin:var(--space-4) 0 0;font-size:.875rem;color:var(--text-on-dark-muted)}
.r-ft .rf-legal__nav{flex:1 1 auto}
@media (max-width:767px){
 .r-ft .rf{gap:var(--space-6)}
 .r-ft .rf-top{gap:var(--space-5)}
 .r-ft .rf-brand{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);align-items:center}
 .r-ft .rf-logo{height:4.5rem;margin:0}
 .r-ft .rf-tag{font-size:1.2rem}
 .r-ft .rf-copy{grid-column:1 / -1;margin-top:var(--space-3)}
 .r-ft .rf-group:last-child .rf-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .r-ft .rf-contact{padding:var(--space-5) 0;gap:var(--space-4)}
 .r-ft .rf-channels{gap:var(--space-3)}
 .r-ft .rf-legal .rf-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .r-ft .rf-tools{margin-left:0;width:100%;justify-content:space-between}
}
@media (min-width:1100px){.r-ft .rf-top,.r-ft .rf-contact{grid-template-columns:minmax(13rem,.8fr) minmax(0,2.2fr);column-gap:var(--space-10)}}
@media (min-width:768px) and (max-width:1099px){.r-ft .rf-channels{grid-template-columns:minmax(0,1fr)}}

/* Móvil: con la barra fija de reserva visible, el CTA del header se oculta para no mostrar dos CTA de reserva a la vez (auditoría CTA F5). */
@media (max-width:767px){html:has(rp-sticky-action:not([hidden])) rp-site-header .sh-nav-burger>a.cta-primary-compact{display:none !important}}

/* Simetría con el botón de preferencias de cookies: mismo tamaño (44 px), misma altura y mismo margen lateral (16 px). */
.wa-fab-wrap{right:max(var(--space-4),var(--safe-area-right,env(safe-area-inset-right,0px)));bottom:calc(var(--space-4) + var(--bar-live,0px) + var(--cookie-offset,0px) + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)))}
@media (min-width:768px){.wa-fab-wrap{right:max(var(--space-4),var(--safe-area-right,env(safe-area-inset-right,0px)))}}
.wa-fab,.wa-fab:hover{width:44px;height:44px}
.wa-fab{box-shadow:0 0 0 1px color-mix(in oklch,var(--cream) 70%,transparent),0 8px 24px color-mix(in oklch,var(--ink) 16%,transparent)}
.wa-fab svg{width:24px;height:24px}
@media (max-width:767px){.wa-fab{width:44px;height:44px}}
