/* Love Room ou Hôtel — instrument de décision */
.page-comparatif { --choice-ink:#0a0b0d; --choice-paper:#e8e2d7; --choice-warm:#c6b99f; --choice-line:rgba(232,226,215,.2); background:var(--choice-ink); color:var(--choice-paper); }
.page-comparatif .site-header { background:linear-gradient(180deg,rgba(7,8,10,.9),transparent); }
.choice-rail { position:fixed; z-index:30; top:50%; right:1.4rem; display:flex; flex-direction:column; align-items:center; gap:.65rem; transform:translateY(-50%); font:600 .58rem/1 Jost,sans-serif; letter-spacing:.16em; color:rgba(232,226,215,.55); }
.choice-rail>i { position:relative; width:1px; height:7.5rem; background:rgba(232,226,215,.18); }
.choice-rail>i b { position:absolute; inset:0 0 auto; height:0; background:var(--choice-paper); }
.choice-rail>i em { position:absolute; width:5px; height:5px; left:-2px; top:0; border-radius:50%; background:var(--choice-paper); transform:translateY(-50%); }
.choice-rail small { writing-mode:vertical-rl; text-transform:uppercase; }
.choice-hero { position:relative; min-height:100svh; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(15rem,.45fr) minmax(0,.8fr); padding:9.5rem clamp(1.5rem,5vw,6.5rem) 4rem; isolation:isolate; }
.choice-hero:before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 58% 40%,rgba(198,185,159,.1),transparent 28%),linear-gradient(90deg,#08090b 0 67%,#131416 67%); }
.choice-hero:after { content:""; position:absolute; inset:0; z-index:-1; opacity:.35; background-image:linear-gradient(rgba(232,226,215,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(232,226,215,.04) 1px,transparent 1px); background-size:8vw 8vw; mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 75%,transparent); }
.choice-hero-copy { align-self:center; z-index:2; max-width:54rem; }
.choice-hero .section-label { color:var(--choice-warm); }
.choice-hero h1 { margin:1.4rem 0 1.6rem; font-size:clamp(3.25rem,4.6vw,5.5rem); line-height:.88; letter-spacing:-.04em; }
.choice-hero h1 span { display:block; white-space:nowrap; }
.choice-hero h1 em { display:block; margin-top:.1em; color:var(--choice-warm); font-weight:400; }
.choice-lead { max-width:35rem; margin:0 0 2rem; font-size:clamp(1rem,1.25vw,1.22rem); line-height:1.75; color:rgba(232,226,215,.72); }
.choice-hero-balance { align-self:center; display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; text-align:center; color:rgba(232,226,215,.52); }
.balance-orbit { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; font:600 .56rem/1 Jost,sans-serif; letter-spacing:.19em; }
.balance-orbit i { width:6px; height:6px; border:1px solid var(--choice-warm); border-radius:50%; box-shadow:0 0 0 12px rgba(198,185,159,.06); }
.balance-line { grid-column:1/-1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.balance-line i { height:1px; background:linear-gradient(90deg,transparent,var(--choice-warm)); }
.balance-line i:last-child { background:linear-gradient(90deg,var(--choice-warm),transparent); }
.balance-line b { width:5rem; aspect-ratio:1; border:1px solid rgba(198,185,159,.35); border-radius:50%; position:relative; }
.balance-line b:before,.balance-line b:after { content:""; position:absolute; background:var(--choice-warm); }
.balance-line b:before { width:1px; height:140%; left:50%; top:-20%; }
.balance-line b:after { height:1px; width:140%; top:50%; left:-20%; }
.choice-hero-balance p { margin:0; font:500 .67rem/1.4 Jost,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.choice-hero-image { position:relative; align-self:stretch; min-height:35rem; margin-left:2rem; overflow:hidden; }
.choice-hero-image:before { content:""; position:absolute; inset:0; z-index:1; border:1px solid rgba(232,226,215,.22); pointer-events:none; }
.choice-hero-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) contrast(1.05); }
.choice-hero-image span { position:absolute; z-index:2; inset:auto 1.6rem 1.6rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.35); font:400 italic clamp(1.2rem,1.8vw,1.8rem)/1.2 Cormorant,serif; text-shadow:0 2px 18px #000; }
.choice-premise { background:var(--choice-paper); color:var(--choice-ink); padding:clamp(6rem,11vw,10rem) clamp(1.5rem,8vw,9rem); display:grid; grid-template-columns:.3fr 1fr 1.2fr; gap:clamp(2rem,6vw,7rem); align-items:start; }
.choice-premise-number { font:300 clamp(8rem,18vw,18rem)/.65 Cormorant,serif; color:transparent; -webkit-text-stroke:1px rgba(10,11,13,.18); }
.choice-premise h2,.criteria-head h2,.comparison-table-head h2,.decision-question h2,.faq-intro h2 { font-size:clamp(2.8rem,4.35vw,5.25rem); line-height:.92; letter-spacing:-.035em; margin:1.2rem 0 1.7rem; }
.choice-premise h2 em,.criteria-head h2 em,.comparison-table-head h2 em,.decision-question h2 em,.faq-intro h2 em { font-weight:400; color:#756a58; }
.choice-premise-copy>p:last-child,.criteria-head>p:last-child,.decision-question>p:last-child { max-width:36rem; color:rgba(10,11,13,.68); line-height:1.8; }
.choice-axes { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(10,11,13,.18); }
.choice-axes article { min-height:22rem; padding:clamp(1.5rem,3vw,3rem); display:flex; flex-direction:column; justify-content:flex-end; }
.choice-axes article+article { background:var(--choice-ink); color:var(--choice-paper); }
.choice-axes small,.decision-cards small { margin-bottom:auto; font:600 .62rem/1 Jost,sans-serif; text-transform:uppercase; letter-spacing:.18em; }
.choice-axes h3 { font-size:clamp(2rem,3vw,3.4rem); line-height:.95; margin:3rem 0 1.2rem; }
.choice-axes p { line-height:1.7; opacity:.67; }
.criteria-section { padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,9rem); background:#0b0c0e; }
.criteria-head { max-width:58rem; margin-bottom:clamp(4rem,8vw,7rem); }
.criteria-head>p:last-child { color:rgba(232,226,215,.62); }
.criteria-list { border-top:1px solid var(--choice-line); }
.criterion { border-bottom:1px solid var(--choice-line); }
.criterion header { display:grid; grid-template-columns:4rem 1fr auto; align-items:center; gap:2rem; min-height:8.5rem; }
.criterion header>span { color:var(--choice-warm); font:500 .65rem/1 Jost,sans-serif; letter-spacing:.2em; }
.criterion h3 { margin:0; font-size:clamp(2rem,3.25vw,3.4rem); font-weight:400; letter-spacing:-.025em; }
.criterion button { border:0; background:none; color:var(--choice-paper); padding:1rem 0 1rem 1rem; font:600 .62rem/1 Jost,sans-serif; text-transform:uppercase; letter-spacing:.14em; cursor:pointer; }
.criterion button i { display:inline-grid; place-items:center; width:2.4rem; height:2.4rem; margin-left:1rem; border:1px solid rgba(232,226,215,.25); border-radius:50%; font-style:normal; }
.criterion-body { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--choice-line); margin:0 0 2.5rem 6rem; }
.criterion-body[hidden] { display:none; }
.criterion-body>div { padding:clamp(1.5rem,3vw,3rem); background:#111214; }
.criterion-body>div:nth-child(2) { background:#171716; }
.criterion-body small { color:var(--choice-warm); font:600 .6rem/1 Jost,sans-serif; text-transform:uppercase; letter-spacing:.17em; }
.criterion-body p { color:rgba(232,226,215,.68); line-height:1.75; }
.criterion-verdict { grid-column:1/-1; margin:0; padding:1.5rem clamp(1.5rem,3vw,3rem); background:var(--choice-paper); color:rgba(10,11,13,.72)!important; }
.criterion-verdict strong { display:block; color:var(--choice-ink); margin-bottom:.45rem; text-transform:uppercase; letter-spacing:.11em; font-size:.65rem; }
.criterion-verdict a { color:inherit; text-decoration:underline; }
.comparison-table-section { background:var(--choice-paper); color:var(--choice-ink); padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,9rem); display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(3rem,8vw,9rem); }
.comparison-table-head { position:sticky; top:8rem; align-self:start; }
.comparison-table,.comparison-table thead,.comparison-table tbody { display:block; }
.comparison-table { width:100%; border-collapse:collapse; border-top:1px solid rgba(10,11,13,.3); }
.comparison-row { display:grid; grid-template-columns:.7fr 1fr 1fr; gap:2rem; padding:1.6rem 0; border-bottom:1px solid rgba(10,11,13,.18); align-items:start; }
.comparison-row th:first-child { font:600 .64rem/1.3 Jost,sans-serif; text-transform:uppercase; letter-spacing:.14em; }
.comparison-row th,.comparison-row td { margin:0; padding:0; text-align:left; line-height:1.5; font-weight:400; }
.comparison-heading { color:#756a58; }
.decision-section { padding:clamp(6rem,11vw,11rem) clamp(1.5rem,8vw,9rem); overflow:hidden; }
.decision-question { max-width:56rem; margin-bottom:5rem; }
.decision-question>p:last-child { color:rgba(232,226,215,.62); }
.decision-cards { display:grid; grid-template-columns:1fr 1fr; }
.decision-cards article { min-height:42rem; padding:clamp(2rem,5vw,5rem); display:flex; flex-direction:column; }
.hotel-choice { background:var(--choice-paper); color:var(--choice-ink); }
.love-choice { border:1px solid rgba(232,226,215,.25); background:radial-gradient(circle at 80% 20%,rgba(198,185,159,.12),transparent 35%); }
.decision-cards h3 { font-size:clamp(2.6rem,3.8vw,4.5rem); line-height:.9; margin:5rem 0 3rem; }
.decision-cards ul { list-style:none; margin:auto 0 2rem; padding:0; }
.decision-cards li { position:relative; padding:1rem 0 1rem 2rem; border-bottom:1px solid currentColor; border-color:rgba(127,118,102,.22); line-height:1.5; }
.decision-cards li:before { content:""; position:absolute; left:0; top:1.55rem; width:.55rem; height:.55rem; border:1px solid currentColor; border-radius:50%; }
.decision-cards article>p { max-width:32rem; opacity:.65; line-height:1.7; }
.decision-links { margin-top:5rem; border-top:1px solid var(--choice-line); }
.decision-links a { display:grid; grid-template-columns:4rem 1fr auto; gap:2rem; padding:1.7rem 0; color:inherit; text-decoration:none; border-bottom:1px solid var(--choice-line); align-items:center; }
.decision-links span { color:var(--choice-warm); font-size:.65rem; letter-spacing:.16em; }
.decision-links strong { font:400 clamp(1.5rem,2.2vw,2.5rem)/1 Cormorant,serif; }
.decision-links i { font-style:normal; transition:transform .25s; }
.decision-links a:hover i { transform:translate(4px,-4px); }
.comparatif-faq { background:#d7d0c4; color:var(--choice-ink); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,9rem); padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,9rem); }
.comparatif-faq .faq-list details { border-color:rgba(10,11,13,.2); }
.comparatif-faq .faq-list summary { color:var(--choice-ink); }
.comparatif-faq .faq-list p { color:rgba(10,11,13,.65); }
.choice-verdict { position:relative; min-height:80vh; display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:5rem; padding:clamp(6rem,10vw,10rem) clamp(1.5rem,10vw,12rem); overflow:hidden; }
.choice-verdict:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 28% 50%,rgba(198,185,159,.12),transparent 28%); }
.verdict-scale { position:relative; z-index:1; aspect-ratio:1; max-width:34rem; border:1px solid rgba(232,226,215,.18); border-radius:50%; display:grid; grid-template-columns:1fr auto auto auto 1fr; place-items:center; color:var(--choice-warm); font:500 .7rem/1 Jost,sans-serif; }
.verdict-scale i { width:5rem; height:1px; background:linear-gradient(90deg,transparent,var(--choice-warm)); }
.verdict-scale i:nth-of-type(2) { background:linear-gradient(90deg,var(--choice-warm),transparent); }
.verdict-scale b { width:1.4rem; height:1.4rem; border:1px solid var(--choice-warm); border-radius:50%; box-shadow:0 0 0 2rem rgba(198,185,159,.04),0 0 0 5rem rgba(198,185,159,.025); }
.verdict-copy { position:relative; z-index:1; max-width:50rem; }
.verdict-copy h2 { font-size:clamp(3.25rem,5.8vw,6.75rem); line-height:.86; margin:1.5rem 0 2rem; }
.verdict-copy h2 em { color:var(--choice-warm); font-weight:400; }
.verdict-copy>p:not(.section-label) { max-width:42rem; line-height:1.8; color:rgba(232,226,215,.65); }
.verdict-copy blockquote { margin:3rem 0 0; padding:2rem 0 0; border-top:1px solid var(--choice-line); font:400 italic clamp(1.7rem,3vw,3.2rem)/1.15 Cormorant,serif; }
.choice-final { position:relative; min-height:92vh; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:#050608; }
.choice-final-image { position:relative; min-height:45rem; }
.choice-final-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#050608),linear-gradient(0deg,#050608,transparent 30%); }
.choice-final-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) brightness(.75); }
.choice-final-copy { position:relative; z-index:2; align-self:center; padding:6rem clamp(2rem,7vw,8rem) 6rem 0; margin-left:-3rem; }
.choice-final h2 { font-size:clamp(3rem,5vw,6rem); line-height:.89; margin:1.3rem 0 2rem; }
.choice-final h2 em { color:var(--choice-warm); font-weight:400; }
.choice-final-copy>p:not(.section-label) { max-width:37rem; line-height:1.7; color:rgba(232,226,215,.65); }
.choice-final .final-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem 2rem; margin-top:2.2rem; }
.choice-final .final-trust { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; margin-top:3rem; color:rgba(232,226,215,.5); font-size:.65rem; text-transform:uppercase; letter-spacing:.11em; }
.choice-final .final-trust i { width:3px; height:3px; border-radius:50%; background:var(--choice-warm); }
@media (max-width:1100px) { .choice-hero { grid-template-columns:1.1fr .7fr; } .choice-hero-balance { display:none; } .choice-premise { grid-template-columns:1fr 1fr; } .choice-premise-number { display:none; } .comparison-table-section { grid-template-columns:1fr; } .comparison-table-head { position:static; } }
@media (max-width:760px) {
  .choice-rail { display:none; }
  .choice-hero { min-height:auto; grid-template-columns:1fr; padding:8rem 1.25rem 0; }
  .choice-hero:before { background:#08090b; }
  .choice-hero-copy { padding-bottom:3.5rem; }
  .choice-hero h1 { font-size:clamp(2.8rem,12.5vw,3.75rem); line-height:.92; }
  .choice-hero h1 span { white-space:normal; }
  .choice-hero-image { margin:0 -1.25rem; min-height:65svh; }
  .choice-premise,.comparatif-faq { grid-template-columns:1fr; padding:5.5rem 1.25rem; }
  .choice-axes { grid-template-columns:1fr; }
  .choice-axes article { min-height:19rem; }
  .criteria-section,.comparison-table-section,.decision-section { padding:5.5rem 1.25rem; }
  .criterion header { grid-template-columns:2rem 1fr auto; gap:.75rem; min-height:7rem; }
  .criterion header>span { align-self:start; padding-top:2.15rem; }
  .criterion h3 { font-size:clamp(1.9rem,9vw,3rem); }
  .criterion button { width:2.5rem; overflow:hidden; white-space:nowrap; color:transparent; padding:0; }
  .criterion button i { color:var(--choice-paper); margin:0; }
  .criterion-body { margin:0 0 1.5rem; grid-template-columns:1fr; }
  .comparison-row { grid-template-columns:.7fr 1fr 1fr; gap:.7rem; padding:1.2rem 0; font-size:.8rem; }
  .comparison-row td { line-height:1.35; }
  .decision-cards { grid-template-columns:1fr; }
  .decision-cards article { min-height:39rem; padding:2rem 1.5rem; }
  .decision-cards h3 { margin:4rem 0 2rem; }
  .decision-links a { grid-template-columns:2rem 1fr auto; gap:1rem; }
  .choice-verdict { min-height:auto; grid-template-columns:1fr; gap:3rem; padding:6rem 1.25rem; }
  .verdict-scale { width:75vw; justify-self:center; }
  .verdict-scale i { width:12vw; }
  .choice-final { min-height:auto; grid-template-columns:1fr; }
  .choice-final-image { min-height:62svh; }
  .choice-final-image:after { background:linear-gradient(0deg,#050608,transparent 70%); }
  .choice-final-copy { padding:0 1.25rem 6rem; margin:-5rem 0 0; }
  .choice-final h2 { font-size:clamp(2.8rem,11.5vw,4.25rem); }
}
@media (prefers-reduced-motion:reduce) { .page-comparatif * { scroll-behavior:auto!important; } }
/* V3 — la comparaison se lit de haut en bas, sans titre isolé en colonne */
.comparison-table-section,.comparatif-faq{display:block}
.comparison-table-head,.comparatif-faq .faq-intro{display:block;max-width:940px;margin-inline:auto;text-align:center}
.comparison-table-head h2,.comparatif-faq .faq-intro h2{max-width:none;margin:0;font-size:clamp(2.9rem,4vw,4.7rem);line-height:.94}
.comparison-table-head .section-label,.comparatif-faq .section-label{margin:0 0 1rem}
.comparison-table-head>p:last-child,.comparatif-faq .faq-intro>p:last-child{max-width:740px;margin:1.4rem auto 0;line-height:1.75}
.comparison-table{max-width:1200px;margin:3.2rem auto 0}.comparatif-faq .faq-list{max-width:1050px;margin:3.2rem auto 0}
@media(max-width:760px){.comparison-table-head,.comparatif-faq .faq-intro{text-align:left}.comparison-table-head h2,.comparatif-faq .faq-intro h2{font-size:clamp(2.65rem,10.2vw,3.65rem)}.comparison-table-head>p:last-child,.comparatif-faq .faq-intro>p:last-child{margin:1.2rem 0 0}.comparison-table,.comparatif-faq .faq-list{margin-top:2.4rem}}

/* V3.1 — l'en-tête du récapitulatif reste entièrement au-dessus du tableau */
.comparison-table-section{position:relative;padding-top:clamp(5.5rem,7vw,7.5rem);padding-bottom:clamp(5.5rem,7vw,7.5rem)}
.comparison-table-head{position:static;top:auto;align-self:auto;max-width:1200px;margin:0 auto 3.5rem;text-align:left}
.comparison-table-head h2{max-width:760px;line-height:.98}
.comparison-table{position:relative;clear:both;margin:0 auto}
@media(max-width:760px){.comparison-table-head{margin-bottom:2.4rem}.comparison-table{margin-top:0}}
