/* Weekend special promo — to switch off the top banner, remove class "promo-bar-on" from <body>. To switch off all promo, remove class "promo-on". */
.fb-promo-bar,.fb-promo,.fb-gift{display:none}
body.promo-on .fb-promo{display:block}
body.promo-on .fb-gift{display:inline-flex}
body.promo-on.promo-bar-on .fb-promo-bar{display:flex}
.fb-promo-bar{position:fixed;top:0;left:0;right:0;height:34px;z-index:1001;align-items:center;background:linear-gradient(90deg,var(--stone) 0%,#2a5f86 45%,var(--ember) 100%);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.08em;overflow:hidden}
.fb-promo-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.fb-pb-track{display:flex;white-space:nowrap;animation:fb-pb 26s linear infinite;flex:1;min-width:0}
.fb-pb-track span{padding-right:3rem}
.fb-pb-x{position:relative;z-index:2;flex:0 0 34px;height:34px;border:0;background:var(--stone);color:#fff;font-size:1.1rem;cursor:pointer;line-height:1}
@keyframes fb-pb{from{transform:translateX(0)}to{transform:translateX(-50%)}}
body.promo-on.promo-bar-on #nav{top:34px}
@media(prefers-reduced-motion:reduce){.fb-pb-track{animation:none;justify-content:center}.fb-pb-track span+span{display:none}}
/* Offer section */
.fb-promo{padding:4rem 0 1rem;background:var(--cream)}
.fb-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;background:#fff;border:3px solid var(--navy);border-radius:10px;padding:2.4rem;box-shadow:8px 8px 0 color-mix(in srgb,var(--navy) 18%,transparent)}
.fb-card::before{content:'';position:absolute;right:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ember) 55%,#fff) 0%,color-mix(in srgb,var(--ember) 18%,transparent) 45%,transparent 70%);pointer-events:none}
.fb-card h2{margin-bottom:.8rem}
.fb-card p{color:var(--ink);max-width:36rem}
.fb-small{font-size:.82rem;color:var(--muted);margin-top:.6rem}
.fb-rate{position:relative;text-align:center;background:var(--navy);color:#fff;border-radius:8px;padding:1.6rem 1.2rem}
.fb-rate svg{display:block;margin:0 auto .4rem}
.fb-rate .fb-price{font-family:var(--serif);font-weight:600;font-size:3rem;line-height:1;color:var(--ember)}
.fb-rate .fb-per{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin:.3rem 0 1.1rem}
.fb-rate .h-btn{display:inline-flex;align-items:center;gap:.5rem}
@media(max-width:760px){.fb-promo{padding:3rem 0 .5rem}.fb-card{grid-template-columns:1fr;padding:1.6rem;gap:1.4rem}}
/* Gift icon — bounce + lid pop + sparkle every 4s (transform/opacity only, no layout shift) */
.fb-gift{width:20px;height:20px;align-items:center;justify-content:center;transform-origin:50% 100%;animation:fb-bounce 4s ease-in-out infinite}
.fb-gift svg{width:20px;height:20px;overflow:visible}
.fb-lid{transform-box:fill-box;transform-origin:50% 100%;animation:fb-lid 4s ease-in-out infinite}
.fb-spark{opacity:0;transform-box:fill-box;transform-origin:center;animation:fb-spark 4s ease-in-out infinite;stroke:var(--ember)}
@keyframes fb-bounce{0%,70%,100%{transform:translateY(0) scale(1)}74%{transform:translateY(0) scale(1.08,.92)}80%{transform:translateY(-4px) scale(.96,1.05)}86%{transform:translateY(0) scale(1.04,.96)}91%{transform:translateY(-1.5px)}95%{transform:translateY(0)}}
@keyframes fb-lid{0%,76%,100%{transform:translateY(0) rotate(0)}82%{transform:translateY(-3.5px) rotate(-8deg)}88%{transform:translateY(-1px) rotate(3deg)}93%{transform:translateY(0) rotate(0)}}
@keyframes fb-spark{0%,78%,100%{opacity:0;transform:scale(.3)}84%{opacity:1;transform:scale(1.15)}92%{opacity:0;transform:scale(.6)}}
@media(prefers-reduced-motion:reduce){.fb-gift,.fb-lid,.fb-spark{animation:none}.fb-spark{opacity:0}}
.mob-cta-bar .fb-gift{display:none}
body.promo-on .mob-cta-bar .fb-gift{display:inline-flex}
/* Price switching: promo values show while body has .promo-on (default in markup, so no-JS sees promo); JS removes .promo-on from 1 Dec 2026 to restore originals */
body.promo-on .fb-when-orig{display:none!important}
body:not(.promo-on) .fb-when-promo{display:none!important}
.rs-i .fb-rs{font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:0;margin-right:.35rem;color:#fff}
.hero-rate .fb-when-promo,.hero-rate .fb-when-orig{font-family:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;color:inherit}
.hero-rate .fb-when-promo>span,.hero-rate .fb-when-orig>span{color:#fff;font-family:var(--serif);font-weight:600;letter-spacing:0;font-size:1.05rem}
.fb-room-note{display:inline-block;margin:.45rem 0 .2rem;padding:.3rem .65rem;border-radius:4px;background:color-mix(in srgb,var(--ember) 16%,#fff);border-left:3px solid var(--ember);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.02em}
