/* Finition commune au conseil et au configurateur. Les règles métier restent dans leurs modules. */
:root { --experience-ink:#132f4c; --experience-muted:#526575; --experience-line:#dce3e6; --experience-paper:#f4f6f5; --experience-teal:#247b80; }
#advisor-v2, #app.configurator-v2 { color:var(--experience-ink); }
#advisor-v2 .advisor-panel, #advisor-v2 .advisor-header, #advisor-v2 .advisor-footer { background:#fff; }
#advisor-v2 .advisor-title { color:var(--experience-ink); font-size:clamp(30px,2.6vw,42px); line-height:1.12; font-weight:600; letter-spacing:-.04em; }
#advisor-v2 .advisor-subtitle { color:var(--experience-muted); font-size:16px; line-height:1.65; }
#advisor-v2 .advisor-button { border-radius:10px; min-height:48px; font-size:14px; font-weight:600; box-shadow:none; }
#advisor-v2 .advisor-button:not(.advisor-button--secondary):not(.advisor-button--text) { background:#123d5b; border-color:#123d5b; color:#fff; }
#advisor-v2 .advisor-button--secondary { border-color:#b6c6ce; color:var(--experience-ink); background:#fff; }
#advisor-v2 .advisor-help { border:1px solid var(--experience-line); border-radius:8px; background:var(--experience-paper); color:var(--experience-ink); }
#advisor-v2 .advisor-header-context { color:var(--experience-muted); font-size:12px; }
#advisor-v2 .advisor-header-context i { display:none; }
#advisor-v2 .advisor-footer { border-top:1px solid var(--experience-line); }
#advisor-v2 .advisor-screen { padding-top:30px; padding-bottom:32px; }
#advisor-v2 .advisor-screen.is-entering { filter:none; }
#advisor-v2 .advisor-choice { min-height:92px; border:1px solid var(--experience-line); border-radius:12px; background:#fff; padding:16px; box-shadow:0 2px 4px #132f4c03; }
#advisor-v2 .advisor-choice.is-selected { border-color:#247b80; background:#edf7f6; box-shadow:inset 0 0 0 1px #247b80; }
#advisor-v2 .advisor-choice-title { font-size:15px; font-weight:600; color:var(--experience-ink); }
#advisor-v2 .advisor-choice-desc { font-size:13px; line-height:1.45; color:var(--experience-muted); }
#advisor-v2 .advisor-choice-icon { width:40px; height:40px; background:transparent; color:#357985; }
#advisor-v2 .advisor-choice-check { width:22px; height:22px; min-width:22px; }
#advisor-v2 .advisor-priority-hint { margin-block:20px; }
#advisor-v2 .advisor-segmented button { border-radius:12px; }
#advisor-v2 .advisor-segmented button.is-selected { background:#edf7f6; border-color:#247b80; }
#advisor-v2 .advisor-pool-sketch { border-radius:16px; background:#f2f8f8; border:1px solid #d6e5e5; }
#advisor-v2 .advisor-results-head { margin-bottom:24px; }
#advisor-v2 .advisor-result-map { margin-bottom:24px; }
#advisor-v2 .advisor-result-map-grid { border:0; border-radius:0; overflow:visible; gap:12px; }
#advisor-v2 .advisor-result-map-item { position:relative; grid-template-columns:minmax(0,1fr); padding:14px; border:1px solid #aabacb; min-height:76px; background:#fff; }
#advisor-v2 .advisor-result-map-rank { position:absolute; top:12px; left:14px; width:28px; height:28px; }
#advisor-v2 .advisor-result-map-copy > strong { padding-left:38px; min-height:36px; }
#advisor-v2 .advisor-result-map-item:first-child { background:#edf6f5; border-color:#1f407c; }
#advisor-v2 .advisor-result-map-item:hover { background:#edf6fa; border-color:#1f407c; }
#advisor-v2 .advisor-result-map-copy strong { font-size:14px; font-weight:600; }
#advisor-v2 .advisor-result-map-copy small { font-size:12px; line-height:1.5; }
#advisor-v2 .advisor-primary-result { display:block; min-height:0; border:1px solid var(--experience-line); border-radius:16px; background:#fff; overflow:hidden; box-shadow:0 8px 26px #132f4c06; }
#advisor-v2 .advisor-primary-overview { display:grid; grid-template-columns:minmax(180px,34%) minmax(0,1fr); background:#f5f8f7; }
#advisor-v2 .advisor-primary-media { height:100%; min-height:210px; }
#advisor-v2 .advisor-primary-intro { padding:24px; align-self:center; min-width:0; }
#advisor-v2 .advisor-primary-intro > .advisor-benefits { display:none; }
#advisor-v2 .advisor-primary-intro .advisor-result-category { flex-wrap:wrap; gap:8px; margin-bottom:12px; }
#advisor-v2 .advisor-primary-body { padding:22px 24px; }
#advisor-v2 .advisor-primary-intro h2 { color:var(--experience-ink); font-size:30px; font-weight:600; letter-spacing:-.03em; }
#advisor-v2 .advisor-primary-lead { font-size:15px; line-height:1.6; color:var(--experience-muted); }
#advisor-v2 .advisor-primary-facts { gap:22px; padding-top:0; margin-top:0; border-top:0; }
#advisor-v2 .advisor-primary-facts dt { font-size:13px; }
#advisor-v2 .advisor-primary-facts li { font-size:14px; line-height:1.6; }
#advisor-v2 .advisor-primary-actions { margin-top:18px; padding-top:14px; }
#advisor-v2 .advisor-result-match { border-radius:6px; padding:5px 8px; font-weight:600; }
#advisor-v2 .advisor-alternatives-head { margin:32px 0 18px; }
#advisor-v2 .advisor-direct-list { gap:16px; }
#advisor-v2 .advisor-model-more { display:none; }
#advisor-v2 .advisor-direct-name { font-size:20px; font-weight:600; letter-spacing:-.02em; }
#advisor-v2 .advisor-direct-desc, #advisor-v2 .advisor-model-selling small { font-size:13px; line-height:1.5; }
#advisor-v2 .advisor-direct-buttons button { min-height:48px; border-radius:9px; }
#advisor-v2 .advisor-direct-buttons .advisor-direct-main { background:#123d5b; color:#fff; }
#advisor-v2 .advisor-media-note { display:block; font-size:11px; }
#advisor-v2 .advisor-alternative, #advisor-v2 .advisor-direct-item { border:1px solid var(--experience-line); border-radius:14px; overflow:hidden; background:#fff; box-shadow:none; }
#advisor-v2 .advisor-alternative-copy h3, #advisor-v2 .advisor-direct-main h3 { font-weight:600; letter-spacing:-.02em; }
#advisor-v2 .advisor-studies, #advisor-v2 .advisor-family-item { border-radius:14px; border-color:var(--experience-line); }
#advisor-v2 .advisor-family-story, #advisor-v2 .advisor-family-summary { height:auto; border-color:var(--experience-line); background:#f5f8f7; }

/* Accueil : décision, aperçu des quatre familles, puis interlocuteur. */
#advisor-v2[data-screen='welcome'] .advisor-screen { display:block; min-height:0; max-width:880px; margin:0 auto; padding:36px; }
#advisor-v2[data-screen='welcome'] .advisor-step-label { display:block; font-size:11px; letter-spacing:.12em; color:#1b686c; margin:0 0 16px; }
#advisor-v2[data-screen='welcome'] .advisor-title { margin:0 0 20px; font-size:clamp(36px,3.2vw,50px); max-width:20ch; }
#advisor-v2[data-screen='welcome'] .advisor-subtitle { margin:0 0 24px; max-width:58ch; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-actions { display:flex; gap:12px; flex-wrap:wrap; margin:0; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-actions .advisor-button { min-height:52px; padding:14px 22px; }
#advisor-v2[data-screen='welcome'] .advisor-guide-link { margin:6px 0 20px; font-size:13px; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-reassurance { margin:0 0 28px; padding:0; gap:14px; border:0; background:none; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-reassurance > span { gap:9px; padding:0; border:0; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-reassurance svg { width:20px; height:20px; color:#247b80; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-reassurance b, #advisor-v2[data-screen='welcome'] .advisor-welcome-reassurance small { font-size:12px; line-height:1.5; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-products { display:block; position:static; margin:0 0 26px; padding:22px 0 0; border:0; border-top:1px solid var(--experience-line); background:transparent; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-products h2 { margin:0 0 14px; max-width:none; font-size:15px; font-weight:600; letter-spacing:0; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:0; overflow:visible; scroll-snap-type:none; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip button { display:block; position:relative; height:auto; width:100%; min-width:0; padding:0; border:1px solid var(--experience-line); border-radius:10px; overflow:hidden; background:#fff; text-align:left; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip img { display:block; width:100%; height:92px; aspect-ratio:auto; object-fit:cover; border:0; border-radius:0; transition:transform 250ms ease; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip button > span { display:block; position:static; background:#fff; padding:11px 9px; font-size:12px; font-weight:600; line-height:1.3; color:var(--experience-ink); }
#advisor-v2[data-screen='welcome'] .advisor-welcome-products-arrow { display:none; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-proof-grid { height:auto; min-height:0; align-items:center; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; margin:0; padding:20px 0 0; border:0; border-top:1px solid var(--experience-line); background:none; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-assurance { height:auto; display:flex; gap:14px; padding:0; margin:0; border:0; background:none; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-assurance-photo { width:52px; height:52px; flex:0 0 52px; border-radius:50%; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-assurance strong { font-size:13px; line-height:1.5; }
#advisor-v2[data-screen='welcome'] .advisor-welcome-assurance small { font-size:12px; line-height:1.5; margin-top:4px; color:var(--experience-muted); }
#advisor-v2[data-screen='welcome'] .advisor-google-proof { height:auto; display:block; padding:0; border:0; background:none; }
#advisor-v2[data-screen='welcome'] .advisor-google-link { display:grid; grid-template-columns:1fr; justify-content:start; gap:8px; min-height:44px; border:0; text-decoration:none; font-size:13px; line-height:1.5; padding:0; }
#advisor-v2[data-screen='welcome'] .advisor-review-heading { display:flex; align-items:center; gap:12px; margin:0; }
#advisor-v2[data-screen='welcome'] .advisor-review-rating { display:flex; align-items:baseline; gap:3px; color:var(--experience-ink); font-size:30px; line-height:1; font-weight:600; letter-spacing:-.03em; }
#advisor-v2[data-screen='welcome'] .advisor-review-rating small { font-size:15px; font-weight:400; letter-spacing:0; color:var(--experience-muted); }
#advisor-v2[data-screen='welcome'] .advisor-review-source { display:grid; gap:3px; font-size:12px; line-height:1.2; color:var(--experience-muted); }
#advisor-v2[data-screen='welcome'] .advisor-google-stars { gap:2px; color:#ad5810; }
#advisor-v2[data-screen='welcome'] .advisor-google-stars svg { width:14px; height:14px; }
#advisor-v2[data-screen='welcome'] .advisor-review-cta { margin:0; font-size:13px; font-weight:500; text-decoration:underline; text-underline-offset:3px; }
#advisor-v2[data-screen='welcome'] .advisor-google-link .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#advisor-v2[data-screen='welcome'] .advisor-google-quote { padding:0; border:0; margin:6px 0 0; font-size:12px; line-height:1.5; color:var(--experience-muted); }

#advisor-v2[data-screen='welcome'] .advisor-resume { position:static; width:100%; max-width:none; box-sizing:border-box; display:flex; align-items:center; gap:16px; margin:0 0 24px; padding:10px 12px 10px 16px; border:1px solid #c7ded8; border-radius:10px; background:#f0f7f5; }
#advisor-v2[data-screen='welcome'] .advisor-resume span { flex:1; font-size:13px; line-height:1.5; color:var(--experience-muted); }
#advisor-v2[data-screen='welcome'] .advisor-resume button { min-height:44px; border-radius:7px; border-color:#96b8b0; color:var(--experience-ink); }

/* Fiches : bénéfices puis contraintes, sans répéter le même argumentaire. */
#advisor-v2 .advisor-detail-card { background:var(--experience-paper); }
#advisor-v2 .advisor-detail-content { padding:30px 36px; }
#advisor-v2 .advisor-detail-title { color:var(--experience-ink); font-size:clamp(32px,3vw,44px); font-weight:600; letter-spacing:-.04em; margin:10px 0 16px; }
#advisor-v2 .advisor-detail-lead { font-size:16px; line-height:1.65; max-width:62ch; color:var(--experience-muted); }
#advisor-v2 .advisor-detail-proof { padding:8px 12px; border-radius:8px; background:#eef7f5; color:#275c52; margin-top:16px; }
#advisor-v2 .advisor-detail-essential-title { margin:26px 0 14px; font-size:14px; font-weight:600; }
#advisor-v2 .advisor-detail-benefits { padding:0; margin:0 0 26px; gap:16px; border:0; background:none; }
#advisor-v2 .advisor-detail-benefits > span { display:flex; padding:0; border:0; gap:12px; align-items:flex-start; background:none; }
#advisor-v2 .advisor-detail-benefits > span + span { border:0; }
#advisor-v2 .advisor-detail-benefits > span > svg { width:24px; height:24px; flex-shrink:0; color:#247b80; stroke-width:1.8; }
#advisor-v2 .advisor-detail-benefits b { font-size:14px; line-height:1.4; font-weight:600; }
#advisor-v2 .advisor-detail-benefits small { font-size:13px; line-height:1.6; margin-top:5px; color:var(--experience-muted); }
#advisor-v2 .advisor-detail-selling--confirm { padding:20px; margin:0 0 24px; border:1px solid #dce5e3; border-radius:12px; background:#f5f9f8; }
#advisor-v2 .advisor-detail-selling--confirm h3 { margin:0 0 16px; color:#245c58; font-size:14px; }
#advisor-v2 .advisor-detail-selling--confirm > div { gap:18px; background:none; border:0; }
#advisor-v2 .advisor-detail-selling--confirm > div > span { padding:0; border:0; gap:12px; grid-template-columns:24px minmax(0,1fr); background:none; }
#advisor-v2 .advisor-detail-selling--confirm svg { width:24px; height:24px; flex-shrink:0; color:#357a78; stroke-width:1.8; }
#advisor-v2 .advisor-detail-selling--confirm strong { font-size:13px; line-height:1.5; }
#advisor-v2 .advisor-detail-selling--confirm small { font-size:13px; line-height:1.6; color:var(--experience-muted); }
#advisor-v2 .advisor-detail-process { padding:14px 0; margin:0; border:0; border-radius:0; background:none; }
#advisor-v2 .advisor-detail-process svg { width:22px; height:22px; stroke-width:1.8; }
#advisor-v2 .advisor-detail-process strong { font-size:12px; }
#advisor-v2 .advisor-detail-process small { font-size:12px; line-height:1.4; }
#advisor-v2 .advisor-detail-more { margin-top:16px; padding-top:6px; border-color:var(--experience-line); }
#advisor-v2 .advisor-detail-more summary { min-height:48px; font-size:14px; }
#advisor-v2 .advisor-detail-project { margin:0; padding:22px 26px; border-radius:14px; background:#eaf1ef; color:var(--experience-ink); }
#advisor-v2 .advisor-detail-project > span { display:block; margin-bottom:8px; font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#386b67; }
#advisor-v2 .advisor-detail-project strong { display:block; font-size:22px; font-weight:600; }
#advisor-v2 .advisor-detail-project p { margin:6px 0 12px; font-size:15px; }
#advisor-v2 .advisor-detail-project small { font-size:12px; line-height:1.5; color:var(--experience-muted); }
#advisor-v2 .advisor-detail-footer { border-color:var(--experience-line); background:#fff; }
#advisor-v2 .advisor-detail-close { font-size:13px; color:var(--experience-muted); }

/* Les mêmes détails de finition suivent le visiteur dans les étapes du devis. */
#app.configurator-v2 > .panel { background:#fff; }
#app.configurator-v2 .p-bd { background:#fff; }
#app.configurator-v2 .config-stage-title { color:var(--experience-ink); font-weight:600; letter-spacing:-.035em; font-size:34px; margin-bottom:22px; }
#app.configurator-v2 .guided-summary { border:1px solid #d8e7e3; background:#f0f7f5; border-radius:12px; box-shadow:none; }
#app.configurator-v2 .shape-btn { border-radius:12px; border-color:var(--experience-line); }
#app.configurator-v2 .shape-btn.on { background:#edf7f6; border-color:#247b80; }
#app.configurator-v2 .fl input:not([type='checkbox']):not([type='radio']), #app.configurator-v2 .fl select, #app.configurator-v2 .fl textarea { border:1px solid #aabcc5; border-radius:9px; background-color:#fff; min-height:48px; font-size:15px; }
#app.configurator-v2 .fl input:not([type='checkbox']):not([type='radio']):focus, #app.configurator-v2 .fl select:focus, #app.configurator-v2 .fl textarea:focus { border-color:#247b80; box-shadow:0 0 0 3px #247b801c; outline:none; }
#app.configurator-v2 .fl [aria-invalid='true'] { border-color:#b4322b; box-shadow:0 0 0 2px #b4322b18; }
#app.configurator-v2 .fl label { font-weight:600; color:var(--experience-ink); }
/* Chaque choix porte son contour, sans l’ancien cadre commun ni séparateurs. */
#app.configurator-v2 .tg { border:0; border-radius:0; overflow:visible; }
#app.configurator-v2 .tg > .tb { border:1px solid var(--experience-line); border-radius:9px; min-height:46px; white-space:normal; }
#app.configurator-v2 .tg > .tb.on { border-color:#1f407c; }
#app.configurator-v2 .tg > .tb:focus-visible { outline:2px solid #247b80; outline-offset:3px; }
#app.configurator-v2 .config-next, #app.configurator-v2 .cta, #app.configurator-v2 #missing-action { border-radius:10px; font-weight:600; }
#app.configurator-v2 .contact-project-summary { border-radius:14px; background:#f0f7f5; border-color:#d5e6e1; }
#app.configurator-v2 .contact-project-summary h2 { font-weight:600; }
#app.configurator-v2 .cbr { min-height:44px; cursor:pointer; }
#app.configurator-v2 .cbr input[type='checkbox'] { width:18px; height:18px; min-width:18px; min-height:18px; flex:0 0 18px; align-self:flex-start; margin-top:3px; accent-color:#247b80; }
#app.configurator-v2 .pfoot { border-color:var(--experience-line); box-shadow:0 -4px 20px #132f4c04; }

/* Après l’envoi : référence lisible, interlocuteur, puis détails à consulter. */
#app.configurator-v2.success-active .success-main { padding:36px; }
#app.configurator-v2 .success-main .st { color:var(--experience-ink); font-size:34px; font-weight:600; letter-spacing:-.035em; }
#app.configurator-v2 .success-main #suc-ref { display:inline-block; margin-top:16px; padding:9px 12px; border:1px solid #cddfdc; border-radius:8px; background:#f0f7f5; color:#254f51; font-size:13px; font-weight:600; letter-spacing:.02em; }
#app.configurator-v2 .success-main #suc-ref[hidden] { display:none; }
#app.configurator-v2 .success-process { margin-top:28px; gap:22px; }
#app.configurator-v2 .success-process small { font-size:13px; line-height:1.5; }
#app.configurator-v2 .success-details { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:28px; }
#app.configurator-v2 .success-advisor-card { grid-template-columns:72px minmax(0,1fr); min-height:0; gap:8px 18px; padding:20px; border-radius:12px; border-color:var(--experience-line); background:#f5f8f7; }
#app.configurator-v2 .success-advisor-card img { width:72px; height:72px; }
#app.configurator-v2 .success-contact a { display:inline-flex; align-items:center; min-height:44px; font-size:17px; font-weight:600; color:var(--experience-ink); text-decoration:underline; text-underline-offset:4px; }
#app.configurator-v2 .success-contact span { font-size:12px; }
#app.configurator-v2 .success-recap-card { min-height:0; padding:0 20px; border-color:var(--experience-line); border-radius:12px; }
#app.configurator-v2 .success-recap-card[open] { padding-bottom:18px; }
#app.configurator-v2 .success-recap-card #suc-recap { max-height:none; overflow:visible; }
#app.configurator-v2 .success-recap-card summary { min-height:56px; }
#app.configurator-v2 #success-project-summary { margin-top:24px; border:1px solid #d3e2df; border-radius:16px; overflow:hidden; background:#f5f9f8; }
#success-project-summary .success-project-overview { display:flex; align-items:center; gap:20px; padding:22px; }
#success-project-summary .success-project-overview > img { width:96px; height:104px; flex:0 0 auto; object-fit:cover; border-radius:10px; }
#success-project-summary .success-project-copy { min-width:0; }
#success-project-summary .success-project-copy > span { color:#426c6c; font-size:12px; font-weight:600; }
#success-project-summary h2 { margin:5px 0 8px; color:var(--experience-ink); font-size:22px; line-height:1.2; font-weight:600; letter-spacing:-.025em; overflow-wrap:anywhere; }
#success-project-summary .success-project-copy p { margin:0; color:var(--experience-muted); font-size:13px; line-height:1.65; }
#success-project-summary .success-project-price { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; padding:16px 22px; border-top:1px solid #dce8e4; }
#success-project-summary .success-project-price > span { color:var(--experience-ink); font-size:13px; }
#success-project-summary .success-project-price > strong { color:var(--experience-ink); font-size:22px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
#success-project-summary .success-project-price p { flex-basis:100%; margin:0; color:var(--experience-muted); font-size:12px; line-height:1.5; }
#app.configurator-v2 #success-project-summary .success-recap-card { border:0; border-top:1px solid #dce8e4; border-radius:0; background:#fff; }
#app.configurator-v2 #success-project-summary .success-recap-card summary { gap:14px; justify-content:space-between; line-height:1.5; padding-block:12px; }
#success-project-summary .success-recap-card summary::after { content:'+'; flex-shrink:0; color:#426c6c; font-size:22px; font-weight:400; }
#success-project-summary .success-recap-card[open] summary::after { content:'−'; }
#app.configurator-v2 .success-next-title { margin:30px 0 0; color:var(--experience-ink); font-size:18px; font-weight:600; letter-spacing:-.02em; }
#app.configurator-v2 .success-next-title + .success-process { margin-top:20px; }
@media (max-width:480px) {
  #success-project-summary .success-project-overview { gap:14px; padding:16px; }
  #success-project-summary .success-project-overview > img { width:76px; height:96px; }
  #success-project-summary h2 { font-size:20px; }
  #success-project-summary .success-project-price { padding:14px 16px; }
  #app.configurator-v2 #success-project-summary .success-recap-card { padding-inline:16px; }
}


/* Le changement de modèle reste accessible sans précéder le projet de deux titres. */
#app.configurator-v2[data-config-product]:not([data-config-product='']) #s-equipment > .sh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#app.configurator-v2[data-config-product]:not([data-config-product='']) #s-equipment { margin-top:0; }
#app.configurator-v2 .product-switch-disclosure > summary { min-height:48px; box-sizing:border-box; padding:13px 16px; border:1px solid var(--experience-line); border-radius:9px; color:var(--experience-ink); background:#f7f9f9; font-size:14px; }
#app.configurator-v2 .product-switch-disclosure > summary span { display:inline; padding-left:12px; font-size:12px; color:var(--experience-muted); }
#app.configurator-v2 .product-switch-disclosure[open] > summary { border-color:#247b80; background:#edf7f6; }
#app.configurator-v2[data-config-step='installation'] #s-product-detail { margin-top:20px; padding-top:0; border-top:0; }
#advisor-v2 .advisor-detail-thumbnail { position:relative; }
#advisor-v2 .advisor-detail-thumbnail[aria-pressed='true'] { border-color:#247b80; box-shadow:0 0 0 1px #247b80; }
#advisor-v2 .advisor-detail-thumbnail-number { position:absolute; left:7px; bottom:7px; display:grid; place-items:center; width:24px; height:24px; border-radius:5px; background:#132f4ced; color:#fff; font:600 11px/1 Inter,sans-serif; }
#advisor-v2 .advisor-detail-thumbnail[aria-pressed='true'] .advisor-detail-thumbnail-number { background:#247b80; }

@media (min-width:961px) {
  #advisor-v2 .advisor-compare th, #advisor-v2 .advisor-compare td { font-size:13px; line-height:1.55; padding:14px 12px; }
  #advisor-v2 { padding:16px; gap:16px; grid-template-columns:minmax(340px,40vw) minmax(0,1fr); grid-template-rows:minmax(0,1fr); background:#edf1f1; }
  #advisor-v2 .advisor-visual { border-radius:18px; overflow:hidden; height:calc(100dvh - 32px); grid-template-rows:minmax(0,3fr) minmax(250px,2fr); background:#123d5b; }
  #advisor-v2 .advisor-visual-media { min-height:0; height:100%; }
  #advisor-v2 .advisor-visual-copy { display:flex; flex-direction:column; justify-content:center; padding:32px; background:#123d5b; }
  #advisor-v2 .advisor-visual-media img { object-position:center 65%; }
  #advisor-v2[data-screen='welcome'] .advisor-visual-welcome-title { font-size:42px; max-width:13ch; margin:18px 0; }
  #advisor-v2[data-screen='welcome'] .advisor-visual-welcome-text { max-width:38ch; font-size:16px; line-height:1.7; }
  #advisor-v2 .advisor-visual-trust { display:none; }
  #advisor-v2 .advisor-visual-title, #advisor-v2 .advisor-visual-welcome-title { transform:none; font-size:30px; line-height:1.15; font-weight:600; letter-spacing:-.035em; }
  #advisor-v2 .advisor-visual-text, #advisor-v2 .advisor-visual-welcome-text { font-size:14px; line-height:1.6; }
  #advisor-v2 .advisor-panel { height:100%; min-height:0; border:1px solid #e0e6e7; border-radius:18px; overflow:hidden; }
  #advisor-v2 .advisor-header { padding-inline:32px; min-height:76px; }
  #advisor-v2 .advisor-screen { padding-inline:32px; }
  #advisor-v2 .advisor-footer { padding-inline:24px; }
  #advisor-v2 .advisor-detail-card { padding:16px; gap:16px; grid-template-columns:minmax(340px,40vw) minmax(0,1fr); }
  #advisor-v2 .advisor-detail-gallery { padding:0; gap:0; grid-template-rows:auto auto minmax(0,1fr); background:#123d5b; border-radius:18px; overflow:hidden; }
  #advisor-v2 .advisor-detail-gallery--single { grid-template-rows:auto minmax(0,1fr); }
  #advisor-v2 .advisor-detail-gallery .advisor-detail-media { height:auto; aspect-ratio:4/3; min-height:0; max-height:46dvh; border-radius:0; background:#123d5b; }
  #advisor-v2 .advisor-detail-media img { object-fit:contain; background:#123d5b; }
  #advisor-v2 .advisor-detail-media--contain img { background:#fff; }
  #advisor-v2 .advisor-detail-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); box-sizing:border-box; padding:16px; gap:12px; height:132px; background:#123d5b; }
  #advisor-v2 .advisor-detail-thumbnail { height:100px; border-radius:9px; overflow:hidden; }
  #advisor-v2 .advisor-detail-project { display:flex; flex-direction:column; justify-content:center; padding:28px 32px; border-radius:0; background:#123d5b; color:#fff; }
  #advisor-v2 .advisor-detail-project > span { color:#b4e1e4; margin-bottom:18px; }
  #advisor-v2 .advisor-detail-project strong { max-width:19ch; font-size:clamp(26px,2.5vw,36px); line-height:1.2; letter-spacing:-.025em; }
  #advisor-v2 .advisor-detail-project p { max-width:40ch; margin:18px 0; font-size:16px; line-height:1.6; }
  #advisor-v2 .advisor-detail-project small { color:#d0e4eb; font-size:13px; line-height:1.6; }
  #advisor-v2 .advisor-detail-body { border:1px solid #e0e6e7; border-radius:18px; overflow:hidden; background:#fff; }
  #advisor-v2 .advisor-detail-header { padding-inline:28px; background:#fff; }
  #app.configurator-v2:not(.advisor-active) { box-sizing:border-box; padding:16px; gap:16px; background:#edf1f1; }
  #app.configurator-v2 > .vis { flex:0 0 40vw; width:40vw; border-radius:18px; overflow:hidden; }
  #app.configurator-v2 > .panel { height:100%; min-height:0; border:1px solid #e0e6e7; border-radius:18px; overflow:hidden; }
  #app.configurator-v2 .p-bd { min-height:0; }
  #app.configurator-v2 .product-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
  #app.configurator-v2 .product-fields > .fl { min-width:0; }
  #app.configurator-v2 > .vis { background:#123d5b; }
  #app.configurator-v2 .vi { height:60%; object-position:center 65%; }
  #app.configurator-v2 .vi-gr { display:none; }
  #app.configurator-v2:not(.success-active) .config-visual-copy { top:60%; right:0; bottom:120px; left:0; max-width:none; display:flex; flex-direction:column; justify-content:center; padding:24px 32px; text-shadow:none; }
  #app.configurator-v2 .config-visual-copy > strong { font-size:32px; font-weight:600; }
  #app.configurator-v2 .config-visual-copy > span:last-child { max-width:40ch; font-size:15px; line-height:1.6; margin-top:14px; }
  #app.configurator-v2 .config-visual-trust { min-height:120px; padding:20px 28px; }
  #app.configurator-v2 .config-visual-trust > span { grid-template-columns:24px minmax(0,1fr); gap:10px; padding-right:12px; }
  #app.configurator-v2 .config-visual-trust > span + span { padding-left:12px; }
  #app.configurator-v2 .config-visual-trust svg { width:24px; height:24px; }
  #app.configurator-v2 .vis-open-btn { top:calc(60% - 64px); right:20px; bottom:auto; left:auto; transform:none; }
  #app.configurator-v2 .vis-open-btn:active { transform:scale(.96); }
  #app.configurator-v2 .config-visual-trust { background:#123d5b; }
  #advisor-v2 .advisor-direct-item { grid-template-columns:180px minmax(0,1fr) 132px; gap:10px 16px; padding:16px; }
  #advisor-v2 .advisor-direct-media { width:100%; height:auto; aspect-ratio:4/3; min-height:0; margin:0; border-radius:10px; align-self:center; }
  #advisor-v2 .advisor-direct-copy, #advisor-v2 .advisor-model-selling, #advisor-v2 .advisor-direct-buttons { padding:0; }
  #advisor-v2 .advisor-model-selling svg { width:24px; height:24px; }
}
@media (min-width:961px) and (max-height:760px) {
  #advisor-v2[data-screen='welcome'] .advisor-visual-welcome-title { font-size:34px; margin:14px 0; }
  #advisor-v2[data-screen='welcome'] .advisor-visual-welcome-text { font-size:14px; line-height:1.6; }
  #advisor-v2 .advisor-detail-thumbnails { height:100px; padding:12px; }
  #advisor-v2 .advisor-detail-thumbnail { height:76px; }
  #advisor-v2 .advisor-detail-project { padding:20px; }
  #advisor-v2 .advisor-detail-project > span { margin-bottom:10px; }
  #advisor-v2 .advisor-detail-project strong { font-size:28px; }
  #advisor-v2 .advisor-detail-project p { font-size:14px; margin:10px 0; }
  #advisor-v2 .advisor-detail-project small { font-size:12px; }
}
@media (max-width:1100px) and (min-width:961px) {
  #advisor-v2, #advisor-v2 .advisor-detail-card { grid-template-columns:minmax(300px,35vw) minmax(0,1fr); gap:12px; padding:12px; }
  #advisor-v2 .advisor-screen, #advisor-v2 .advisor-detail-content, #advisor-v2[data-screen='welcome'] .advisor-screen { padding:24px; }
  #advisor-v2 .advisor-primary-overview { grid-template-columns:1fr; }
  #advisor-v2 .advisor-primary-media { height:220px; min-height:0; }
  #advisor-v2 .advisor-detail-project { padding:22px; }
  #advisor-v2 .advisor-detail-project > span { margin-bottom:10px; }
  #advisor-v2 .advisor-detail-project p { margin:10px 0; font-size:14px; }
  #advisor-v2 .advisor-detail-benefits { grid-template-columns:1fr; }
  #advisor-v2 .advisor-detail-selling--confirm > div { grid-template-columns:1fr; }
}
@media (min-width:961px) and (max-width:1200px) {
  #advisor-v2 .advisor-progress-meta { display:none; }
  #advisor-v2 .advisor-direct-item { grid-template-columns:140px minmax(0,1fr); }
  #advisor-v2 .advisor-direct-media { grid-column:1; grid-row:1 / 4; }
  #advisor-v2 .advisor-direct-buttons { grid-column:2; grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  #advisor-v2 .advisor-screen { padding:24px 20px; }
  #advisor-v2 .advisor-title { font-size:30px; }
  #advisor-v2 .advisor-header { padding-inline:20px; }
  #advisor-v2[data-screen='welcome'] .advisor-screen { padding:24px 20px; }
  #advisor-v2[data-screen='welcome'] .advisor-title { font-size:34px; max-width:21ch; }
  #advisor-v2[data-screen='welcome'] .advisor-subtitle { font-size:15px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-actions .advisor-button { width:100%; }
  #advisor-v2[data-screen='welcome'] .advisor-guide-link { margin-bottom:18px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip img { height:112px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip button > span { font-size:14px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-proof-grid { grid-template-columns:1fr; gap:18px; }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-assurance strong, #advisor-v2[data-screen='welcome'] .advisor-welcome-assurance small, #advisor-v2[data-screen='welcome'] .advisor-google-link, #advisor-v2[data-screen='welcome'] .advisor-google-quote { font-size:14px; }
  #advisor-v2 .advisor-choice { padding:14px; min-height:92px; }
  #advisor-v2 .advisor-choice-desc { font-size:14px; }
  #advisor-v2 .advisor-detail-content { padding:24px 20px; }
  #advisor-v2 .advisor-detail-title { font-size:32px; }
  #advisor-v2 .advisor-detail-benefits { display:grid; grid-template-columns:1fr; gap:18px; }
  #advisor-v2 .advisor-detail-benefits > span { padding:0; min-height:0; }
  #advisor-v2 .advisor-detail-benefits small, #advisor-v2 .advisor-detail-selling--confirm small, #advisor-v2 .advisor-detail-selling--confirm strong { font-size:14px; }
  #advisor-v2 .advisor-detail-selling--confirm { padding:18px; }
  #advisor-v2 .advisor-detail-selling--confirm > div { grid-template-columns:1fr; gap:18px; }
  #advisor-v2 .advisor-detail-project { display:none; }
  #advisor-v2 .advisor-primary-body { padding:20px; }
  #advisor-v2 .advisor-primary-facts li { font-size:14px; }
  #advisor-v2 .advisor-primary-intro h2 { font-size:28px; }
  #app.configurator-v2 .product-switch-disclosure > summary span { display:block; padding-left:14px; margin-top:3px; }
  #app.configurator-v2 .config-stage-title { font-size:28px; margin-bottom:18px; }
  #app.configurator-v2 .fl input:not([type='checkbox']):not([type='radio']), #app.configurator-v2 .fl select, #app.configurator-v2 .fl textarea { font-size:16px; }
  #app.configurator-v2:not([data-config-step='contact']) .pfoot > .pf-row { flex-direction:row; justify-content:space-between; align-items:center; }
  #app.configurator-v2:not([data-config-step='contact']) .pf-row > div:first-child { text-align:left !important; }
}
@media (max-width:600px) {
  #app.configurator-v2.success-active .success-main { padding:24px 18px; }
  #app.configurator-v2 .success-main .st { font-size:30px; }
  #advisor-v2 .advisor-result-map { display:block; }
  #advisor-v2 .advisor-primary-overview { grid-template-columns:1fr; }
  #advisor-v2 .advisor-primary-media { height:210px; min-height:0; }
  #advisor-v2 .advisor-primary-intro { padding:20px; }
  #advisor-v2 .advisor-detail-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #advisor-v2 .advisor-direct-item { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:16px; min-height:0; padding:14px; }
  #advisor-v2 .advisor-direct-media { grid-column:1; grid-row:1; width:100%; height:184px; min-height:0; margin:0; border-radius:9px; }
  #advisor-v2 .advisor-direct-copy { grid-column:1; grid-row:2; padding:0; }
  #advisor-v2 .advisor-direct-desc { font-size:14px; }
  #advisor-v2 .advisor-model-selling { display:grid; grid-column:1; grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; gap:16px; }
  #advisor-v2 .advisor-model-selling > span { display:flex; gap:8px; align-items:flex-start; min-width:0; }
  #advisor-v2 .advisor-model-selling svg { width:20px; height:20px; flex:0 0 20px; color:#357985; }
  #advisor-v2 .advisor-model-selling small { font-size:13px; line-height:1.6; }
  #advisor-v2 .advisor-direct-buttons { grid-column:1; grid-row:4; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
}
@media (max-width:360px) {
  #advisor-v2 .advisor-model-selling { grid-template-columns:1fr; gap:12px; }
  #advisor-v2[data-screen='welcome'] .advisor-title { font-size:30px; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  #advisor-v2 .advisor-choice:not(:disabled):hover { border-color:#7caaa8; box-shadow:0 4px 14px #163b5010; transform:translateY(-1px); }
  #advisor-v2[data-screen='welcome'] .advisor-welcome-product-strip button:hover img { transform:scale(1.035); }
  #advisor-v2 .advisor-button:not(:disabled):hover { filter:brightness(1.08); }
}
@media (prefers-reduced-motion:reduce) {
  #advisor-v2 .advisor-welcome-product-strip img { transition:none; }
}

/* Une faible hauteur doit laisser de la place aux choix, même en paysage. */
@media (max-width:960px) and (max-height:500px) {
  #advisor-v2[data-screen='welcome'] .advisor-visual { display:none; }
  #advisor-v2 .advisor-screen, #advisor-v2[data-screen='welcome'] .advisor-screen { padding:16px 20px 24px; }
  #advisor-v2 .advisor-title, #advisor-v2[data-screen='welcome'] .advisor-title { font-size:26px; max-width:none; margin-bottom:10px; }
  #advisor-v2 .advisor-subtitle { font-size:14px; line-height:1.5; margin-bottom:12px; }
  #advisor-v2 .advisor-hint { margin:8px 0; }
  #advisor-v2 .advisor-hint + .advisor-choice-list { margin-top:0; }
  #advisor-v2 .advisor-choice { min-height:76px; padding:12px; }
  #advisor-v2 .advisor-footer { padding-block:8px; }
  .advisor-detail-modal .advisor-detail-gallery .advisor-detail-media,
  .advisor-detail-modal .advisor-detail-gallery .advisor-detail-media img { height:112px; min-height:112px; }
  .advisor-detail-modal .advisor-detail-header { min-height:48px; height:48px; }
  .advisor-detail-modal .advisor-detail-content { padding-top:12px; }
  .advisor-detail-modal .advisor-detail-title { font-size:26px; }
}
@media (min-width:600px) and (max-width:960px) and (max-height:500px) {
  #advisor-v2 .advisor-choice-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
