/* Accueil : deux mécanismes, deux compositions. */
.price-play-section.s{padding:64px 0 32px;background:var(--rv-surface)}
.price-play{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:55px;align-items:center;padding:12px 35px;color:var(--rv-ink)}
.price-play .eyebrow{color:var(--rv-gold);margin-bottom:16px}
.price-play h2{font-size:48px;line-height:1.06;color:var(--rv-ink);margin:0 0 20px}
.price-play h2 em{color:var(--rv-gold);font-weight:500}
.price-play h2::after,.invitation-copy h2::after{display:none!important}
.price-play-intro p{font-size:14px;line-height:1.8;color:var(--rv-muted);max-width:440px;margin:0 0 24px}
.price-play-intro .pill{min-height:46px;font-size:13px}
.price-play-demo{min-width:0}
.price-flight{height:240px;position:relative;background:radial-gradient(ellipse at 55% 50%,#f4ead8,transparent 70%)}
.price-flight-trail{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--rv-gold);overflow:visible}
.price-flight-trail .flight-wash{stroke:#c5a45e;stroke-width:16;opacity:.1;stroke-linecap:round}
.price-flight-trail .flight-path{stroke-width:1.5;stroke-dasharray:4 7;opacity:.6}
.price-flight-trail .flight-arrow{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.price-flight-trail .flight-spark{stroke-width:1;opacity:.6}
.price-flight-marker{position:absolute;left:var(--flight-x);top:var(--flight-y);display:flex;flex-direction:column;align-items:center;transition:left .45s ease,top .45s ease;transform:rotate(-7deg);color:var(--rv-ink)}
.price-flight-marker>svg{width:66px;height:48px;fill:var(--rv-paper);stroke:var(--rv-gold);stroke-width:1.5;margin-bottom:7px;transform:rotate(10deg)}
.price-flight-marker>span{font-size:11px;letter-spacing:.04em;color:var(--rv-muted);margin-bottom:5px}
.price-flight-marker>output{font:500 clamp(38px,4.5vw,62px)/1 Gar,Georgia,serif;white-space:nowrap;color:var(--rv-ink);text-shadow:0 2px 0 var(--rv-surface)}
.price-play-slider-row{max-width:420px;margin:2px auto 0}
.price-play-slider-row label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--rv-gold)}
#price-play-slider{display:block;width:100%;height:44px;margin:0;accent-color:var(--rv-gold);cursor:ew-resize;background:transparent}
.price-play-slider-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--rv-muted)}
.price-play-example{font-size:10px;line-height:1.6;text-align:center;color:var(--rv-muted);margin:14px 0 0}
.price-play .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-theme=dark] .price-flight{background:radial-gradient(ellipse at 55% 50%,#352e20,transparent 70%)}
.home-offers-divider{display:flex;align-items:center;justify-content:center;gap:22px;padding:16px 24px 40px;background:var(--rv-surface);color:var(--rv-gold)}
.home-offers-divider>span{height:1px;background:var(--rv-border);width:min(25vw,260px)}
.home-offers-divider svg{width:64px;height:24px;fill:none;stroke:currentColor;stroke-width:1}
.tv-private-deals.invitation-section.s{padding:42px 0 70px;background:var(--rv-surface)!important}
.invitation-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:75px;align-items:center}
.invitation-scene{position:relative;min-width:0;height:470px;background:radial-gradient(ellipse at 48% 55%,#f2e3d6 0%,#faf5ef 52%,transparent 73%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:60px}
.invitation-date{position:absolute;top:0;left:3%;display:flex;flex-direction:column;gap:6px;transform:rotate(-9deg);color:#775241;text-align:center}
.invitation-date small{font-size:9px;letter-spacing:.14em}.invitation-date strong{font:italic 43px/1.1 Gar,Georgia,serif}.invitation-date>span{font-size:10px}
.invitation-envelope{position:relative;width:350px;height:235px;border:0;background:none;cursor:pointer;padding:0;isolation:isolate;flex-shrink:0;transform:rotate(-5deg)}
.invitation-envelope-back{position:absolute;inset:0;background:#b97760;border-radius:8px;box-shadow:0 20px 40px #7f4f3425}
.invitation-envelope-back::before{content:"";position:absolute;inset:-100px 0 auto;height:110px;background:#c18a73;clip-path:polygon(0 100%,50% 0,100% 100%)}
.invitation-cards{position:absolute;inset:-54px 0 0;z-index:1}
.invitation-card{position:absolute;left:12%;top:0;width:63%;height:220px;padding:8px 8px 30px;background:#fffaf0;box-shadow:0 4px 12px #4b2e2425;transition:transform .4s ease}
.invitation-card img{width:100%;height:100%;object-fit:cover;display:block}
.invitation-card>span{position:absolute;inset:auto 4px 9px;text-align:center;font:italic 13px Georgia,serif;color:#624f3d}
.invitation-card-one{transform:translate(-20px,-26px) rotate(-13deg)}.invitation-card-two{transform:translate(80px,-1px) rotate(13deg)}
.invitation-envelope-front{position:absolute;z-index:2;inset:0;background:linear-gradient(145deg,#ddb39b,#cb957c);clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);border-radius:5px}
.invitation-envelope-front::after{content:"";position:absolute;inset:0;background:#e1bba2;clip-path:polygon(0 100%,50% 43%,100% 100%)}
.invitation-seal{position:absolute;z-index:3;top:42%;left:43%;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#9c624f;color:#ffe7bd;border:3px double #d7ac85;box-shadow:1px 4px 8px #6d443530;font:italic 19px Georgia,serif}
.invitation-envelope[aria-expanded=true] .invitation-card-one{transform:translate(-32px,-95px) rotate(-17deg)}
.invitation-envelope[aria-expanded=true] .invitation-card-two{transform:translate(89px,-72px) rotate(17deg)}
@media(hover:hover){.invitation-envelope:hover .invitation-card-one{transform:translate(-32px,-95px) rotate(-17deg)}.invitation-envelope:hover .invitation-card-two{transform:translate(89px,-72px) rotate(17deg)}}
.invitation-hint{position:absolute;bottom:8px;color:var(--rv-muted);font-size:12px}.invitation-hint>span{margin-left:9px;color:var(--rv-gold)}
.invitation-copy .eyebrow{color:var(--rv-gold);margin-bottom:16px}
.invitation-copy h2{font-size:clamp(46px,5.2vw,72px);line-height:.98;color:var(--rv-ink);margin:0 0 24px}
.invitation-copy h2 em{color:#a76550;font-weight:500}
.invitation-copy p{font-size:15px;line-height:1.85;color:var(--rv-muted);max-width:420px;margin:0 0 28px}
.invitation-copy .pill{background:#9d624e;color:#fff9ee;white-space:normal;text-align:center}
.invitation-copy>small{display:block;margin-top:16px;font-size:12px;line-height:1.6;color:var(--rv-muted)}
.price-play :focus-visible,.invitation-section :focus-visible{outline:3px solid var(--rv-gold);outline-offset:5px}
.price-play :focus-visible{outline-color:var(--rv-gold)}
html[data-theme=dark] .invitation-scene{background:radial-gradient(ellipse at 48% 55%,#4b342c,transparent 72%)}
html[data-theme=dark] .invitation-date,html[data-theme=dark] .invitation-copy h2 em{color:#e0ac91}
@media(max-width:1000px){.invitation-layout{gap:25px}.invitation-envelope{scale:.85}.invitation-date{left:0}.invitation-copy h2{font-size:54px}}
@media(max-width:700px){
 .price-play-section.s{padding:28px 0 20px}.price-play{grid-template-columns:1fr;gap:16px;padding:0 10px}
 .price-play h2{font-size:38px}.price-play-intro p{font-size:14px;margin-bottom:20px}
 .price-play-intro .pill{font-size:12px;white-space:normal;text-align:center}
 .price-flight{height:210px}.price-flight-marker>output{font-size:43px}.price-flight-marker>svg{width:50px;height:38px}
 .price-play-example{font-size:9px}.price-play-slider-row{padding-inline:12px}
 .home-offers-divider{padding:10px 24px 28px;gap:16px}
 .tv-private-deals.invitation-section.s{padding:18px 0 48px}.invitation-layout{grid-template-columns:1fr;gap:25px}
 .invitation-scene{height:390px;padding-bottom:30px}.invitation-envelope{scale:.8}.invitation-date{top:0;left:4%}.invitation-date strong{font-size:34px}.invitation-hint{font-size:11px;bottom:0}
 .invitation-copy{text-align:center}.invitation-copy h2{font-size:58px}.invitation-copy p{font-size:14px;margin-inline:auto}.invitation-copy .pill{font-size:13px}
}
@media(max-width:360px){.invitation-envelope{scale:.67}.invitation-scene{height:350px}}
@media(prefers-reduced-motion:reduce){.price-play-steps button,.invitation-card{transition:none}.price-play-steps button:hover{transform:none}}
/* Les styles globaux du thème sombre ne doivent pas effacer les contrastes locaux. */

.invitation-copy .pill{background:#9d624e!important;color:#fff9ee!important;border-color:#9d624e!important}
html[data-theme=dark] .invitation-copy h2 em{color:#e0ac91!important}

/* La page d’inscription reprend l’invitation de l’accueil. */
.tv-deals-hero .invitation-scene{height:420px;padding-bottom:40px}
.tv-deals-hero .invitation-envelope{scale:.85}
.tv-deals-hero .invitation-envelope:focus-visible{outline:3px solid var(--rv-gold);outline-offset:5px}
@media(max-width:700px){
 .tv-deals-hero .invitation-scene{height:340px;grid-row:1;padding-bottom:20px}
 .tv-deals-hero .invitation-envelope{scale:.7}
 .tv-deals-hero .invitation-date{top:0}
}
@media(max-width:360px){.tv-deals-hero .invitation-envelope{scale:.63}}

@media(min-width:701px) and (max-width:1000px){.price-play{gap:20px;padding-inline:0}.price-play h2{font-size:38px}.price-flight-marker>output{font-size:43px}}
@media(prefers-reduced-motion:reduce){.price-flight-marker{transition:none}}
