/* Scoped to the Saly reservation app. No Paris/Studio selectors. */
#sb-booking-app .sb-rose-banner{display:grid;grid-template-columns:minmax(140px,.65fr) 1.8fr;gap:clamp(20px,4vw,48px);align-items:center;position:relative;overflow:hidden;margin:0 0 28px;padding:clamp(24px,4vw,46px);border:1px solid #efd1dc;border-radius:26px;background:radial-gradient(ellipse at 5% 10%,#f7cbda,transparent 60%),linear-gradient(120deg,#fff5f8,#fffaf5);color:#542138;box-shadow:0 8px 30px #7b244109}
#sb-booking-app .sb-rose-art{text-align:center;color:#c51b62;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
#sb-booking-app .sb-rose-ribbon{width:clamp(90px,14vw,155px);height:auto;filter:drop-shadow(0 10px 9px #ab1b4820);animation:sb-rose-arrive 1.2s ease-out both}
#sb-booking-app .sb-rose-art>span{font-family:Georgia,serif;font-style:italic;font-size:23px;line-height:1.3;margin-top:10px;color:#7b4056}
#sb-booking-app .sb-rose-kicker{display:block;font-size:11px;font-weight:600;letter-spacing:1.8px;color:#864557;margin-bottom:12px}
#sb-booking-app .sb-rose-copy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(26px,3.3vw,42px);line-height:1.13;margin:0 0 15px;color:#69243f}
#sb-booking-app .sb-rose-copy p{font-size:14px;line-height:1.65;margin:8px 0;color:#703e50}
#sb-booking-app .sb-rose-copy .sb-rose-lead{font-size:17px;line-height:1.35}.sb-rose-lead strong{font-size:42px;font-weight:650;color:#ad1753;vertical-align:middle;margin-right:6px}
#sb-booking-app .sb-rose-cta{display:inline-flex;gap:16px;align-items:center;background:#a91650;color:#fff;border-radius:99px;padding:13px 22px;margin:12px 0;text-decoration:none;font-size:14px;font-weight:600;min-height:46px}
#sb-booking-app .sb-rose-cta:hover{background:#86113e}#sb-booking-app .sb-rose-cta:focus-visible{outline:3px solid #9d783a;outline-offset:4px}
#sb-booking-app .sb-rose-copy .sb-rose-terms{font-size:11px;line-height:1.65;max-width:510px;color:#795863}
#sb-booking-app .sb-rose-price{display:inline-flex;flex-wrap:wrap;gap:3px 7px;align-items:baseline;max-width:100%}#sb-booking-app .sb-rose-price del{font-size:.78em;font-weight:400;color:#78636b}#sb-booking-app .sb-rose-price>span{color:#a91650}#sb-booking-app .sb-rose-price>small{display:block;flex-basis:100%;font-size:10px!important;font-weight:500;color:#90516a;line-height:1.4}
#sb-booking-app.sb-october-rose .sb-option.selected{border-color:#c95984;background:#fff5f8}#sb-booking-app.sb-october-rose .sb-btn{background:#a91650;color:#fff}#sb-booking-app.sb-october-rose .sb-btn:disabled{opacity:.45}#sb-booking-app.sb-october-rose .sb-brand:after{content:'Octobre Rose';display:block;color:#a91650;font-size:10px;font-weight:500;letter-spacing:1px;text-align:center;margin-top:4px}
#sb-booking-app .sb-home-signature-hero[hidden]{display:none!important}
@keyframes sb-rose-arrive{from{opacity:0;transform:translateY(8px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:600px){#sb-booking-app .sb-rose-banner{grid-template-columns:1fr;padding:24px 20px;gap:14px;border-radius:20px}#sb-booking-app .sb-rose-art{flex-direction:row;gap:14px;justify-content:flex-start}#sb-booking-app .sb-rose-ribbon{width:54px}#sb-booking-app .sb-rose-art>span{font-size:19px;text-align:left;margin:0}#sb-booking-app .sb-rose-copy h2{font-size:29px}#sb-booking-app .sb-rose-copy .sb-rose-lead{font-size:15px}#sb-booking-app .sb-rose-lead strong{font-size:38px}#sb-booking-app .sb-rose-cta{width:100%;justify-content:center;box-sizing:border-box}#sb-booking-app .sb-rose-price{justify-content:inherit}}
@media(prefers-reduced-motion:reduce){#sb-booking-app .sb-rose-ribbon{animation:none}}

/* 0.10.31: clean ribbon and readable actions. */
#sb-booking-app.sb-october-rose .sb-brand:after{content:none}
#sb-booking-app.sb-october-rose .sb-btn:not(.sb-btn-secondary){color:#fff!important}
#sb-booking-app.sb-october-rose .sb-btn.sb-btn-secondary{background:#fff5f8!important;color:#8b1745!important;border:1px solid #da9bb2;box-shadow:none}
#sb-booking-app.sb-october-rose .sb-btn.sb-btn-secondary:hover{background:#f9e2eb!important}





@media(max-width:600px){
 #sb-booking-app .sb-rose-banner{padding:20px 18px;gap:10px}
 #sb-booking-app .sb-rose-copy h2{font-size:26px;margin-bottom:10px}
 #sb-booking-app .sb-rose-ribbon{width:44px}
 #sb-booking-app .sb-rose-copy .sb-rose-terms{font-size:12px;line-height:1.5}
 #sb-booking-app .sb-rose-art>span{font-size:17px}
 #sb-booking-app #sb-booking-root{scroll-margin-top:20px}
 
 
}

/* Temporary logo accessory, removed automatically when the discount ends. */
#sb-booking-app .sb-brand{position:relative}
#sb-booking-app .sb-rose-logo-badge{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:block;width:22px;height:30px;pointer-events:none}
#sb-booking-app .sb-rose-logo-badge .sb-rose-ribbon{display:block;width:22px;height:30px;animation:none;filter:none}
#sb-booking-app .sb-rose-ended-label{display:inline-block;padding:6px 12px;border:1px solid #d7b8c3;border-radius:99px;font-size:12px;font-weight:600;margin-bottom:12px;color:#703e50;background:#fff}
#sb-booking-app .sb-rose-expired{background:linear-gradient(120deg,#faf2f5,#fffaf5)}
#sb-booking-app .sb-rose-expired .sb-rose-cta{border:0;cursor:pointer;background:#634836;font-family:inherit}
#sb-booking-app .sb-rose-expiry-message{padding:12px 15px;border-left:3px solid #b97791;background:#fff;border-radius:4px}
#sb-booking-app .sb-rose-expiry-message[hidden]{display:none}

/* 0.10.34: the theme already reserves space for its mobile navigation. */
#sb-booking-app:not([data-booking-stage]) .sb-rose-logo-badge,
#sb-booking-app[data-booking-stage="accueil"] .sb-rose-logo-badge{display:none}
#sb-booking-app .sb-rose-logo-badge .sb-rose-ribbon{transform-origin:50% 25%;animation:sb-rose-sway 3.6s ease-in-out 2}
@keyframes sb-rose-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
#sb-booking-app button.sb-rose-cta{border:0;font-family:inherit;cursor:pointer}
#sb-booking-app .sb-rose-expiry-message a{color:#8b1745;text-decoration:underline;font-weight:600}
@media(max-width:900px){
 #sb-booking-app #sb-booking-root:has(.sb-floating-next){padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){#sb-booking-app .sb-rose-logo-badge .sb-rose-ribbon{animation:none}}
/* Original portrait remains untouched. Both announcements retain their contents. */
#sb-booking-app .sb-rose-awareness{font-family:Georgia,serif;font-size:clamp(17px,2vw,22px);line-height:1.5}
#sb-booking-app .sb-rose-divider{border:0;border-top:1px solid #e8c3d0;margin:20px 0}
#sb-booking-app .sb-campaign-slider{display:grid;grid-template-columns:minmax(0,1fr);margin:0 0 26px;isolation:isolate}
#sb-booking-app .sb-campaign-slider>.sb-campaign-slide{grid-area:1/1;margin:0!important;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:opacity .65s ease,transform .65s ease,visibility .65s;align-self:stretch}
#sb-booking-app .sb-campaign-slider>.sb-campaign-current{opacity:1;visibility:visible;pointer-events:auto;transform:none}
#sb-booking-app .sb-campaign-controls{grid-area:2/1;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 0 0}
#sb-booking-app .sb-campaign-controls button{font:500 12px/1.3 system-ui,sans-serif;min-height:36px;padding:8px 13px;border:1px solid #ddc7ce;border-radius:30px;color:#744252;background:#fff;cursor:pointer}
#sb-booking-app .sb-campaign-controls button[aria-pressed="true"]{background:#a91650;color:#fff;border-color:#a91650}
#sb-booking-app .sb-campaign-controls button:focus-visible{outline:3px solid #a91650;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#sb-booking-app .sb-campaign-slider>.sb-campaign-slide{transition:none;transform:none}}

/* 0.10.36: remove the theme's 370px crop on narrow screens only. */
@media(max-width:760px){
 #sb-booking-app .sb-home-signature-hero .sb-home-signature-media{height:auto!important;max-height:none!important;min-height:0}
 #sb-booking-app .sb-home-signature-hero img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}

/* 0.10.37: both panels share one grid cell and one border-box geometry. */
#sb-booking-app #sb-booking-root .sb-campaign-slider{width:100%;min-width:0;align-items:stretch}
#sb-booking-app #sb-booking-root .sb-campaign-slider>.sb-campaign-slide{box-sizing:border-box;width:100%;max-width:none;height:auto;min-height:100%;align-self:stretch;justify-self:stretch;border-radius:22px;transform:none;transition:opacity .65s ease,visibility .65s}
@media(max-width:640px){#sb-booking-app #sb-booking-root .sb-campaign-slider>.sb-campaign-slide{border-radius:18px}}
@media(prefers-reduced-motion:reduce){#sb-booking-app #sb-booking-root .sb-campaign-slider>.sb-campaign-slide{transition:none}}

/* 0.10.38: override the theme's mobile native-button text color. */
#sb-booking-app .sb-rose-banner .sb-rose-cta,
#sb-booking-app .sb-rose-banner .sb-rose-cta span,
#sb-booking-app .sb-campaign-controls button[aria-pressed="true"]{
 color:#fff!important;-webkit-text-fill-color:#fff!important;
}
#sb-booking-app .sb-campaign-controls button:not([aria-pressed="true"]){
 color:#744252!important;-webkit-text-fill-color:#744252!important;
}
