/* Raíces phone composition: keep all hero elements in normal document flow. */
@media (max-width: 640px) {
 body.rx-mobile {padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 body.rx-mobile .mega.rx-hero.signature-hero {display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0!important;height:auto!important;padding:28px 20px 0!important;gap:22px!important}
 body.rx-mobile .rx-hero .kicker {margin:0;width:100%;font-size:10px!important}
 body.rx-mobile .rx-hero.signature-hero .signature-title {order:1;display:flex;flex-direction:row;align-items:center;gap:14px!important;margin:0!important;width:100%!important;max-width:100%!important}
 body.rx-mobile .rx-hero.signature-hero .rx-acts-badge {display:block;position:relative;transform:none!important;writing-mode:horizontal-tb;width:36px!important;height:168px!important;min-height:168px;flex:0 0 36px!important;padding:0!important;background:#9c4a2e!important;box-shadow:-5px -5px 0 #ceac76!important;overflow:hidden}
 body.rx-mobile .rx-hero .rx-acts-badge b {position:absolute;top:50%;left:50%;display:block;writing-mode:vertical-rl;opacity:0;font:800 23px/1 'Syne',sans-serif;letter-spacing:.06em;color:#f4f0e5;animation:rx-badge-flip 9s cubic-bezier(.55,.08,.34,.95) infinite!important}
 body.rx-mobile .rx-title-stack {width:auto;flex:1;min-width:0}
 body.rx-mobile .rx-hero.signature-hero .signature-title h1 {font-size:var(--rx-title-fit,8vw)!important;line-height:1.1!important;letter-spacing:-.055em!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;transform:none}
 body.rx-mobile .rx-hero .rx-title-tagline {font:800 14px/1.4 'Syne',sans-serif!important;letter-spacing:0;max-width:27ch!important;margin:14px 0 0}
 body.rx-mobile .rx-hero .hero-foot {order:2;position:relative;inset:auto;margin:0!important;width:100%!important;padding:0 0 4px}
 body.rx-mobile .rx-hero .hero-foot a {display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;padding:14px 16px;font-size:11px;letter-spacing:.06em}
 body.rx-mobile .mega.rx-hero > .rx-hero-visual {order:3;position:relative!important;inset:auto!important;width:calc(100% + 40px)!important;height:220px!important;flex:none;max-width:none;margin:0 -20px;clip-path:none!important;transform:none!important;animation:none!important;background-position:center}
 body.rx-mobile .mega.rx-hero > .rx-event-bar {order:4;position:relative!important;inset:auto!important;transform:none!important;width:calc(100% + 40px);max-width:none;margin:-22px -20px 0;min-height:0;overflow:visible}
 body.rx-mobile .rx-event-track {display:grid;grid-template-columns:1fr 1fr;width:100%;animation:none!important;transform:none!important}
 body.rx-mobile .rx-event-bar span {font:700 10px/1.5 'Syne',sans-serif;letter-spacing:.04em;white-space:normal;padding:12px 10px;border-bottom:1px solid #ffffff20;min-width:0}
 body.rx-mobile .rx-event-bar span[aria-hidden] {display:none}
 body.rx-mobile .rx-intro {padding:44px 20px!important;gap:24px;grid-template-columns:minmax(0,1fr)}
 body.rx-mobile .rx-intro h2 {font-size:clamp(26px,7.2vw,36px)!important;line-height:1.15!important;overflow-wrap:normal}
 body.rx-mobile .rx-intro-copy {margin-top:22px}
 body.rx-mobile .rx-facts {margin-top:0}
 body.rx-mobile .rx-cart-fab {left:76px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100% - 88px);max-width:none;min-height:48px;padding:12px 16px;box-shadow:0 0 0 12px #f4f0e5;justify-content:space-between;font-size:11px}
 body.rx-mobile .hb-whatsapp {width:48px;height:48px;left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 body.rx-mobile .rx-cart {z-index:100}
}
@media (max-width:640px) {

 body.rx-mobile .hb-whatsapp {position:relative;left:auto;bottom:auto;margin:20px;width:48px;height:48px}
 body.rx-mobile .rx-cart-fab {left:12px;width:calc(100% - 24px)}
}
/* Full portrait photograph, uncropped, with the hero copy overlaid. */
@media (max-width:640px) {
 body.rx-mobile .mega.rx-hero.signature-hero {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto 96px;gap:22px!important;min-height:0!important;height:calc(177.6833156vw + 96px)!important;padding:28px 20px 0!important;background:#25100b}
 body.rx-mobile .mega.rx-hero > .rx-hero-visual {position:absolute!important;inset:0 0 auto!important;width:100%!important;height:177.6833156vw!important;margin:0;background-size:100% 100%;background-position:top center}
 body.rx-mobile .mega.rx-hero > .rx-hero-shade {display:block;position:absolute!important;inset:0 0 96px!important;width:100%!important;height:auto!important;clip-path:none;animation:none;background:linear-gradient(180deg,rgba(24,13,9,.55),rgba(24,13,9,.08) 48%,rgba(24,13,9,.65));z-index:1!important}
 body.rx-mobile .rx-hero .kicker {grid-row:1;position:relative;z-index:2;color:#f4f0e5}
 body.rx-mobile .rx-hero.signature-hero .signature-title {grid-row:2;align-self:start;margin-top:12px!important;position:relative;z-index:2}
 body.rx-mobile .rx-hero .rx-acts-badge b {color:#f4f0e5}
 body.rx-mobile .rx-hero .hero-foot {grid-row:3;align-self:end;padding-bottom:0;margin-bottom:0!important}
 body.rx-mobile .mega.rx-hero > .rx-event-bar {grid-row:4;align-self:stretch;height:96px;margin:0 -20px;}
 body.rx-mobile .rx-event-track {height:100%}
 body.rx-mobile .rx-event-bar span {display:flex;align-items:center;justify-content:center;padding:8px 10px}
}

/* Same vertical title lock-up as desktop, with the booking action available on scroll. */
@media(max-width:640px){
 body.rx-mobile .rx-hero .rx-acts-badge b:nth-child(2){animation-delay:3s!important}
 body.rx-mobile .rx-hero .rx-acts-badge b:nth-child(3){animation-delay:6s!important}
 body.rx-mobile .rx-hero .rx-title-tagline{font-size:clamp(11px,3.2vw,16px)!important;line-height:1.4!important}
 body.rx-mobile .rx-cart-fab{left:16px!important;right:16px!important;width:calc(100% - 32px)!important;max-width:none;justify-content:center;gap:14px;min-height:52px;padding:14px 16px!important;box-shadow:0 6px 28px #0003;font-size:11px;line-height:1.5}
}
#rxCartFab{display:none!important}
#rxCartFab.is-scroll-visible{display:flex!important}
#rxCartFab #rxFabTotal:empty{display:none}
body:has(.rx-cart.open) #rxCartFab,body:has(dialog[open]) #rxCartFab{display:none!important}
@media(prefers-reduced-motion:reduce){
 body.rx-mobile .rx-hero .rx-acts-badge b{display:none;animation:none!important}
 body.rx-mobile .rx-hero .rx-acts-badge b:first-child{display:block;opacity:1;transform:translate(-50%,-50%) rotate(180deg)!important}
}

/* Lead with the sunset-to-night experience; keep the original photograph intact. */
.rx-hero-promise{position:relative;z-index:2;font:800 clamp(26px,3vw,44px)/1.12 'Syne',sans-serif;letter-spacing:-.045em;color:#f4f0e5;margin:18px 0 24px;text-shadow:0 2px 20px #211a1566}
.rx-hero-promise span{display:block}
@media(max-width:640px){
 body.rx-mobile .mega.rx-hero.signature-hero{height:auto!important;min-height:177.6833156vw!important;grid-template-rows:auto auto auto auto 1fr;align-content:start;gap:20px!important;padding:24px 20px 32px!important}
 body.rx-mobile .mega.rx-hero > .rx-hero-shade{inset:0!important}
 body.rx-mobile .rx-hero.signature-hero .signature-title{margin:4px 0 0!important}
 body.rx-mobile .rx-hero.signature-hero .rx-acts-badge{height:148px!important;min-height:148px}
 body.rx-mobile .rx-hero-promise{grid-row:3;margin:0;font-size:clamp(18px,5.2vw,30px);line-height:1.2}
 body.rx-mobile .rx-hero .hero-foot{grid-row:4;align-self:start;margin:0!important;padding:0!important}
 body.rx-mobile .rx-hero .hero-foot a{margin:0;min-height:48px}
 body.rx-mobile{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 body.rx-mobile :is(h2,h3,h4,input,select,button,a){scroll-margin-bottom:100px}
 body.rx-mobile .rx-cart-fab{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;min-height:48px;padding:12px 16px!important}
}
@media(max-width:640px) and (max-height:620px){
 body.rx-mobile .mega.rx-hero.signature-hero{gap:14px!important;padding-top:18px!important}
 body.rx-mobile .rx-hero.signature-hero .rx-acts-badge{height:120px!important;min-height:120px}
}

@media(max-width:640px){body.rx-mobile .rx-hero-promise span{white-space:nowrap}body.rx-mobile .rx-hero .rx-acts-badge b{font-size:20px}}
@media(max-width:640px) and (max-height:620px){body.rx-mobile .rx-hero .rx-acts-badge b{font-size:17px}}

/* French copy retains the same lock-up without clipped words. */
@media(max-width:640px){html[lang="fr"] body.rx-mobile .rx-hero-promise{font-size:clamp(13px,3.6vw,22px)}html[lang="fr"] body.rx-mobile .rx-hero .rx-acts-badge b{font-size:13px;letter-spacing:0}html[lang="fr"] body.rx-mobile .rx-hero .hero-foot a,html[lang="fr"] body.rx-mobile .rx-cart-fab{font-size:10px;letter-spacing:0}}

@media(min-width:641px){html[lang="fr"] .rx-acts-badge b{font-size:clamp(18px,2vw,26px);letter-spacing:0}}

/* Give the rooftop room between the title and the booking block. */
@media(max-width:640px){body.rx-mobile .rx-hero-promise{margin-top:clamp(32px,calc(100svh - 500px),180px)}}

/* Event date stays with the sunset-to-night promise in both languages. */
.rx-hero-promise .rx-hero-date{font:600 clamp(13px,1.2vw,17px)/1.4 'Inter',sans-serif;letter-spacing:.12em;margin-bottom:12px;color:#f4f0e5}
