/*!
 * Contact Devis — Menuiserie Dasnois
 * Styles scopés sous #contact-page-wrapper
 */

/* === Wrapper de base : équivalent Tailwind font-sans + antialiased + couleur texte === */
#contact-page-wrapper{
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #29261b;
  line-height: 1.5;
}

/* === Tokens couleurs (locaux au wrapper) === */
  #contact-page-wrapper{
    --wood-50:#faf8f5; --wood-100:#f3efe8; --wood-200:#e8e0d3;
    --wood-300:#d4c4ad; --wood-400:#bfa882; --wood-500:#a68b5b;
    --wood-600:#8b7049; --wood-700:#6d573a; --wood-800:#5a4832;
    --wood-900:#4a3c2b;
    --brand-red:#D62828; --brand-red-dk:#b91d1d;
    --cream:#fdfbf7; --paper:#f7f2e8;
    --ink:#1d1812;
  }
  #contact-page-wrapper *{ box-sizing:border-box; }
  #contact-page-wrapper a{ text-decoration:none; }

  /* === Utilities === */
  #contact-page-wrapper .text-wood-300{color:var(--wood-300)} #contact-page-wrapper .text-wood-400{color:var(--wood-400)}
  #contact-page-wrapper .text-wood-500{color:var(--wood-500)} #contact-page-wrapper .text-wood-600{color:var(--wood-600)}
  #contact-page-wrapper .text-wood-700{color:var(--wood-700)} #contact-page-wrapper .text-wood-800{color:var(--wood-800)}
  #contact-page-wrapper .text-wood-900{color:var(--wood-900)} #contact-page-wrapper .text-ink{color:var(--ink)}
  #contact-page-wrapper .text-brand-red{color:var(--brand-red)}
  #contact-page-wrapper .bg-cream{background:var(--cream)} #contact-page-wrapper .bg-paper{background:var(--paper)}
  #contact-page-wrapper .bg-wood-50{background:var(--wood-50)} #contact-page-wrapper .bg-wood-100{background:var(--wood-100)}
  #contact-page-wrapper .bg-wood-200{background:var(--wood-200)} #contact-page-wrapper .bg-wood-800{background:var(--wood-800)}
  #contact-page-wrapper .bg-wood-900{background:var(--wood-900)} #contact-page-wrapper .bg-brand-red{background:var(--brand-red)}
  #contact-page-wrapper .border-wood-100{border-color:var(--wood-100)} #contact-page-wrapper .border-wood-200{border-color:var(--wood-200)}
  #contact-page-wrapper .border-wood-300{border-color:var(--wood-300)}

  /* ===== HERO ===== */
  #contact-page-wrapper .hero{
    position:relative; overflow:hidden;
    background:var(--ink);
    color:#fff;
  }
  #contact-page-wrapper .hero-grid{
    display:grid; grid-template-columns:1fr; gap:0;
    max-width:1440px; margin:0 auto;
  }
  @media (min-width:1024px){
    #contact-page-wrapper .hero-grid{ grid-template-columns:1.05fr 1fr; min-height:540px; }
  }
  #contact-page-wrapper .hero-text{
    padding:120px 28px 80px;
    display:flex; flex-direction:column; justify-content:center;
    position:relative; z-index:2;
  }
  @media (min-width:1024px){
    #contact-page-wrapper .hero-text{ padding:140px 64px 88px 80px; }
  }
  @media (max-width:520px){
    #contact-page-wrapper .hero-text{ padding:100px 22px 60px; }
  }
  #contact-page-wrapper .hero-image{
    position:relative; min-height:380px;
    background:#2a2218 url('https://menuiseriedasnois.be/wp-content/uploads/2026/05/Menuiserie-Dasnois-pere-et-fils.webp') center 15%/cover no-repeat;
  }
  #contact-page-wrapper .hero-image::after{
    content:""; position:absolute; inset:0;
    background:
      linear-gradient(180deg, transparent 0%, transparent 55%, rgba(29,24,18,.6) 82%, rgba(29,24,18,.95) 100%),
      linear-gradient(90deg,
        rgba(29,24,18,.85) 0%,
        rgba(29,24,18,.25) 25%,
        rgba(29,24,18,0) 50%,
        rgba(29,24,18,0) 60%,
        rgba(29,24,18,.35) 85%,
        rgba(29,24,18,.85) 100%
      );
  }
  @media (min-width:1024px){
    #contact-page-wrapper .hero-image::after{
      background:
        linear-gradient(180deg, transparent 0%, transparent 60%, rgba(29,24,18,.55) 88%, rgba(29,24,18,.9) 100%),
        linear-gradient(90deg,
          rgba(29,24,18,1) 0%,
          rgba(29,24,18,.4) 18%,
          rgba(29,24,18,0) 38%,
          rgba(29,24,18,0) 62%,
          rgba(29,24,18,.4) 86%,
          rgba(29,24,18,.95) 100%
        );
    }
  }
  #contact-page-wrapper .hero-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; letter-spacing:.32em; text-transform:uppercase;
    color:var(--wood-300); font-weight:600; margin-bottom:24px;
  }
  #contact-page-wrapper .hero-eyebrow .dot{
    width:6px; height:6px; border-radius:50%; background:var(--brand-red);
    box-shadow:0 0 0 4px rgba(214,40,40,.18);
  }
  #contact-page-wrapper .hero h1{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(2rem, 5.2vw, 4.2rem);
    line-height:1.04; font-weight:500;
    letter-spacing:-0.015em;
    margin-bottom:20px;
  }
  #contact-page-wrapper .hero h1 em{
    font-style:italic; font-weight:400; color:var(--wood-300);
    display:block;
  }
  #contact-page-wrapper .hero-lede{
    max-width:480px; color:rgba(255,255,255,.78); line-height:1.55;
    font-size:1.0625rem; margin-bottom:32px;
  }
  #contact-page-wrapper .hero-promises{
    display:flex; flex-wrap:wrap; gap:24px 32px; margin-bottom:36px;
  }
  #contact-page-wrapper .hero-promises .item{ display:flex; align-items:center; gap:12px; }
  #contact-page-wrapper .hero-promises .num{
    font-family:'Cormorant Garamond', serif; font-size:2rem;
    color:var(--wood-300); font-weight:600; line-height:1;
  }
  #contact-page-wrapper .hero-promises .lab{
    font-size:11px; line-height:1.3; color:rgba(255,255,255,.7);
    text-transform:uppercase; letter-spacing:.12em; font-weight:600;
  }
  #contact-page-wrapper .hero-cta-row{
    display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  }
  #contact-page-wrapper .hero-cta{
    display:inline-flex; align-items:center; gap:10px;
    background:#fff; color:var(--ink);
    padding:14px 22px; border-radius:9999px;
    font-weight:600; font-size:.875rem;
    transition:transform .2s, box-shadow .2s;
  }
  #contact-page-wrapper .hero-cta:hover{ transform:translateY(-1px); box-shadow:0 12px 30px rgba(0,0,0,.3); }
  #contact-page-wrapper .hero-cta-ghost{
    display:inline-flex; align-items:center; gap:10px;
    color:#fff; padding:14px 18px; border-radius:9999px;
    border:1px solid rgba(255,255,255,.25);
    font-weight:500; font-size:.875rem;
    transition:background .2s;
    white-space:nowrap;
  }
  #contact-page-wrapper .hero-cta-ghost:hover{ background:rgba(255,255,255,.08); }

  /* Carte sticker primes flottante dans le hero */
  #contact-page-wrapper .primes-sticker{
    position:absolute; top:28px; right:28px; z-index:3;
    background:#fff; color:var(--ink);
    padding:14px 18px; border-radius:14px;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
    display:flex; align-items:center; gap:14px;
    max-width:260px; transform:rotate(-1.5deg);
  }
  #contact-page-wrapper .primes-sticker .icon{
    width:42px; height:42px; flex-shrink:0; border-radius:10px;
    background:linear-gradient(135deg, #fff8e6 0%, #ffe9b0 100%);
    display:flex; align-items:center; justify-content:center;
    color:#a17400; font-size:1.1rem;
  }
  #contact-page-wrapper .primes-sticker .lab{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--wood-500); font-weight:600; }
  #contact-page-wrapper .primes-sticker .val{ font-family:'Cormorant Garamond', serif; font-size:1.35rem; font-weight:600; line-height:1.1; }
  @media (max-width:1023px){ #contact-page-wrapper .primes-sticker{ display:none; } }

  /* ===== TRUST BAR (juste sous le hero) ===== */
  #contact-page-wrapper .trust-bar{
    background:var(--paper);
    border-bottom:1px solid var(--wood-100);
  }
  #contact-page-wrapper .trust-bar-inner{
    max-width:1440px; margin:0 auto;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    gap:18px 32px; padding:18px 32px;
  }
  #contact-page-wrapper .trust-item{
    display:flex; align-items:center; gap:12px;
    font-size:13px; color:var(--wood-700);
  }
  #contact-page-wrapper .trust-item i{ color:var(--wood-500); }
  #contact-page-wrapper .trust-item strong{ color:var(--wood-900); font-weight:600; }
  #contact-page-wrapper .trust-divider{ width:1px; height:24px; background:var(--wood-200); }
  @media (max-width:768px){ #contact-page-wrapper .trust-divider{ display:none; } }

  /* ===== MAIN GRID ===== */
  #contact-page-wrapper .contact-grid{
    display:grid; grid-template-columns:1fr; gap:32px;
    max-width:1280px; margin:0 auto; padding:64px 24px 48px;
  }
  @media (min-width:1024px){
    #contact-page-wrapper .contact-grid{ grid-template-columns:1.35fr 1fr; gap:40px; padding:72px 32px 64px; }
  }

  /* ===== FORM CARD ===== */
  #contact-page-wrapper .form-card{
    background:#fff; border-radius:24px; overflow:hidden;
    box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 24px 60px -20px rgba(74,60,43,.25);
    border:1px solid rgba(74,60,43,.06);
  }
  #contact-page-wrapper .form-header{
    padding:28px 32px 22px; border-bottom:1px solid var(--wood-100);
    background:linear-gradient(180deg, var(--wood-50) 0%, #fff 100%);
  }
  #contact-page-wrapper .form-header-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
  #contact-page-wrapper .form-title{ font-family:'Cormorant Garamond', serif; font-size:1.75rem; font-weight:600; color:var(--wood-900); line-height:1.1; margin:0; }
  #contact-page-wrapper .form-sub{ color:var(--wood-600); font-size:.875rem; margin-top:6px; }
  #contact-page-wrapper .step-pill{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--wood-900); color:#fff;
    font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
    padding:8px 14px; border-radius:9999px;
  }
  #contact-page-wrapper .step-pill .num{ color:var(--wood-300); }

  /* Progress */
  #contact-page-wrapper .progress-track{
    height:4px; background:var(--wood-100); border-radius:9999px; overflow:hidden; position:relative;
  }
  #contact-page-wrapper .progress-fill{
    height:100%; background:linear-gradient(90deg, var(--wood-500), var(--wood-700));
    border-radius:9999px; transition:width .5s cubic-bezier(.65,0,.35,1);
  }

  #contact-page-wrapper .form-body{ padding:32px; min-height:520px; position:relative; }
  @media (max-width:640px){ #contact-page-wrapper .form-body{ padding:24px 22px; } }

  /* Steps */
  #contact-page-wrapper .form-step{ display:none; }
  #contact-page-wrapper .form-step.active{ display:block; animation:fadeInStep .45s cubic-bezier(.2,.7,.2,1); }
  @keyframes fadeInStep{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

  #contact-page-wrapper .step-eyebrow{
    font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--wood-500);
    font-weight:600; margin-bottom:6px;
  }
  #contact-page-wrapper .step-title{
    font-family:'Cormorant Garamond', serif;
    font-size:1.75rem; line-height:1.15; font-weight:600; color:var(--wood-900);
    margin-bottom:6px;
  }
  #contact-page-wrapper .step-help{ color:var(--wood-600); font-size:.9rem; margin-bottom:28px; }

  /* Service grid */
  #contact-page-wrapper .service-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:10px;
    margin-bottom:28px;
  }
  @media (min-width:560px){ #contact-page-wrapper .service-grid{ grid-template-columns:repeat(4, 1fr); } }
  #contact-page-wrapper .svc-card{
    position:relative; cursor:pointer;
    background:#fff; border:1.5px solid var(--wood-100);
    border-radius:14px; padding:18px 12px 16px;
    text-align:center;
    transition:border-color .25s ease, background .25s ease, transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
    -webkit-tap-highlight-color:transparent;
  }
  #contact-page-wrapper .svc-card:hover{
    border-color:var(--wood-300);
    transform:translateY(-3px);
    box-shadow:0 14px 28px -12px rgba(74,60,43,.22), 0 2px 0 rgba(255,255,255,.6) inset;
  }
  #contact-page-wrapper .svc-card:active{ transform:translateY(-1px); transition-duration:.12s; }
  #contact-page-wrapper .svc-card.selected{
    border-color:var(--wood-700); background:var(--wood-50);
    box-shadow:0 0 0 3px rgba(166,139,91,.12), 0 14px 24px -12px rgba(74,60,43,.2);
    animation: svcSelectPop .5s cubic-bezier(.34,1.56,.64,1);
  }
  @keyframes svcSelectPop{
    0%   { transform:scale(1); }
    35%  { transform:scale(.96); }
    65%  { transform:scale(1.02); }
    100% { transform:scale(1); }
  }
  #contact-page-wrapper .svc-card .ico{
    width:46px; height:46px; margin:0 auto 10px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(180deg, #fff 0%, var(--wood-50) 100%);
    border:1px solid var(--wood-100);
    border-radius:13px;
    position:relative;
    color:var(--wood-600);
    transition:background .28s ease, color .28s ease, transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .28s ease, border-color .28s ease;
    box-shadow:0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(74,60,43,.04);
  }
  #contact-page-wrapper .svc-card:hover .ico{
    background:#fff;
    color:var(--wood-900);
    border-color:var(--wood-200);
    transform:translateY(-1px);
    box-shadow:0 8px 16px -6px rgba(74,60,43,.25), 0 1px 0 rgba(255,255,255,.6) inset;
  }
  #contact-page-wrapper .svc-card.selected .ico{
    background:linear-gradient(180deg, var(--wood-700) 0%, var(--wood-900) 100%);
    border-color:var(--wood-900);
    color:#fff;
    transform:translateY(0);
    box-shadow:0 10px 22px -8px rgba(74,60,43,.55), 0 1px 0 rgba(255,255,255,.14) inset;
  }
  #contact-page-wrapper .svc-card .nm{ font-size:.78rem; font-weight:600; color:var(--wood-900); letter-spacing:.02em; }
  #contact-page-wrapper .svc-card .check{
    position:absolute; top:8px; right:8px;
    width:20px; height:20px; border-radius:50%;
    background:var(--wood-900); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:9px;
    opacity:0; transform:scale(.4) rotate(-25deg);
    transition:all .35s cubic-bezier(.34,1.56,.64,1);
    box-shadow:0 4px 10px -2px rgba(74,60,43,.5);
  }
  #contact-page-wrapper .svc-card.selected .check{ opacity:1; transform:scale(1) rotate(0); }

  /* ----- BESPOKE SVG ICONS ----- */
  #contact-page-wrapper .svc-icon{
    width:24px; height:24px;
    stroke:currentColor; fill:none;
    stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round;
    overflow:visible;
  }
  #contact-page-wrapper .svc-icon *{
    transition:transform .45s cubic-bezier(.34,1.56,.64,1), opacity .3s ease, fill .3s ease;
    transform-box:fill-box;
    transform-origin:center;
  }
  #contact-page-wrapper .svc-icon .glass{ fill:transparent; }
  #contact-page-wrapper .svc-card.selected .svc-icon .glass{ fill:rgba(255,255,255,.16); }

  /* Châssis — mullion thickens, glass tints */
  #contact-page-wrapper .svc-card:hover .icon-window .mullion{ stroke-width:2.1; }

  /* Véranda — roof rises, glass panels stagger */
  #contact-page-wrapper .svc-card:hover .icon-veranda .roof{ transform:translateY(-1.2px); }
  #contact-page-wrapper .svc-card:hover .icon-veranda .panel-1{ transform:translateY(-.4px); }
  #contact-page-wrapper .svc-card:hover .icon-veranda .panel-2{ transform:translateY(-.4px); transition-delay:.05s; }
  #contact-page-wrapper .svc-card:hover .icon-veranda .panel-3{ transform:translateY(-.4px); transition-delay:.1s; }

  /* Garage — door panels lift like an opening door */
  #contact-page-wrapper .svc-card:hover .icon-garage .panel-3{ transform:translateY(-1px); }
  #contact-page-wrapper .svc-card:hover .icon-garage .panel-2{ transform:translateY(-2px); transition-delay:.05s; }
  #contact-page-wrapper .svc-card:hover .icon-garage .panel-1{ transform:translateY(-3px); transition-delay:.1s; opacity:.55; }
  #contact-page-wrapper .svc-card.selected .icon-garage .panel-1{ opacity:.35; transform:translateY(-3.5px); }
  #contact-page-wrapper .svc-card.selected .icon-garage .panel-2{ opacity:.65; transform:translateY(-2.5px); }

  /* Escalier — steps cascade */
  #contact-page-wrapper .svc-card:hover .icon-stairs .step-1{ transform:translateY(-.5px); }
  #contact-page-wrapper .svc-card:hover .icon-stairs .step-2{ transform:translateY(-1px); transition-delay:.06s; }
  #contact-page-wrapper .svc-card:hover .icon-stairs .step-3{ transform:translateY(-1.5px); transition-delay:.12s; }
  #contact-page-wrapper .svc-card:hover .icon-stairs .step-4{ transform:translateY(-2px); transition-delay:.18s; }

  /* Door — swings open on hover, more on select */
  #contact-page-wrapper .svc-card .icon-door .door-leaf{ transform-origin:left center; }
  #contact-page-wrapper .svc-card:hover .icon-door .door-leaf{ transform:perspective(60px) rotateY(-22deg); }
  #contact-page-wrapper .svc-card.selected .icon-door .door-leaf{ transform:perspective(60px) rotateY(-32deg); }
  #contact-page-wrapper .svc-card:hover .icon-door .handle{ opacity:.4; }

  /* Parquet — planks subtle horizontal shift */
  #contact-page-wrapper .svc-card:hover .icon-planks .plank-1{ transform:translateX(-.6px); }
  #contact-page-wrapper .svc-card:hover .icon-planks .plank-2{ transform:translateX(.6px); }
  #contact-page-wrapper .svc-card:hover .icon-planks .plank-3{ transform:translateX(-.6px); }
  #contact-page-wrapper .svc-card:hover .icon-planks .grain{ opacity:1; }
  #contact-page-wrapper .svc-card .icon-planks .grain{ opacity:.4; transition:opacity .3s ease; }

  /* Bardage — vertical slats breathe */
  #contact-page-wrapper .svc-card .icon-slats .slat{ transform-origin:center; }
  #contact-page-wrapper .svc-card:hover .icon-slats .slat-1{ transform:scaleY(1.06); }
  #contact-page-wrapper .svc-card:hover .icon-slats .slat-2{ transform:scaleY(1.1); transition-delay:.05s; }
  #contact-page-wrapper .svc-card:hover .icon-slats .slat-3{ transform:scaleY(1.06); transition-delay:.1s; }
  #contact-page-wrapper .svc-card:hover .icon-slats .slat-4{ transform:scaleY(1.1); transition-delay:.15s; }

  /* Chair — subtle 3D lean */
  #contact-page-wrapper .svc-card .icon-chair{ transform:perspective(120px); transform-style:preserve-3d; }
  #contact-page-wrapper .svc-card:hover .icon-chair .chair-group{ transform:rotateY(-12deg); transform-origin:center; }

  /* Hint: ripple on selection click */
  @keyframes svcRipple{
    0%   { transform:translate(-50%,-50%) scale(.6); opacity:.4; }
    100% { transform:translate(-50%,-50%) scale(2.4); opacity:0; }
  }
  #contact-page-wrapper .svc-card.selected .ico::after{
    content:""; position:absolute;
    top:50%; left:50%;
    width:46px; height:46px; border-radius:50%;
    background:rgba(166,139,91,.25);
    transform:translate(-50%,-50%) scale(.6); opacity:0;
    pointer-events:none;
    animation:svcRipple .65s ease-out;
  }

  /* Respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    #contact-page-wrapper .svc-card, #contact-page-wrapper .svc-card .ico, #contact-page-wrapper .svc-icon *, #contact-page-wrapper .svc-card.selected{ animation:none !important; transition-duration:.15s !important; }
  }

  /* Urgency */
  #contact-page-wrapper .urgency-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:24px; }
  @media (max-width:520px){ #contact-page-wrapper .urgency-grid{ grid-template-columns:1fr; } }
  #contact-page-wrapper .urg-card{
    cursor:pointer; background:#fff;
    border:1.5px solid var(--wood-100); border-radius:12px;
    padding:14px 14px; display:flex; align-items:center; gap:14px;
    transition:border-color .25s ease, background .25s ease, transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
    -webkit-tap-highlight-color:transparent;
  }
  #contact-page-wrapper .urg-card:hover{
    border-color:var(--wood-300);
    transform:translateY(-2px);
    box-shadow:0 12px 24px -12px rgba(74,60,43,.2);
  }
  #contact-page-wrapper .urg-card:active{ transform:translateY(0); transition-duration:.12s; }
  #contact-page-wrapper .urg-card.selected{
    border-color:var(--wood-700); background:var(--wood-50);
    box-shadow:0 0 0 3px rgba(166,139,91,.12), 0 12px 24px -12px rgba(74,60,43,.2);
    animation: svcSelectPop .5s cubic-bezier(.34,1.56,.64,1);
  }
  #contact-page-wrapper .urg-card .ico{
    width:44px; height:44px; flex-shrink:0; border-radius:11px;
    background:linear-gradient(180deg, #fff 0%, var(--wood-50) 100%);
    border:1px solid var(--wood-100);
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
    transition:background .28s ease, transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .28s ease, border-color .28s ease;
    box-shadow:0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(74,60,43,.04);
  }
  #contact-page-wrapper .urg-card:hover .ico{
    background:#fff;
    border-color:var(--wood-200);
    transform:translateY(-1px) scale(1.02);
    box-shadow:0 8px 16px -6px rgba(74,60,43,.25), 0 1px 0 rgba(255,255,255,.6) inset;
  }
  #contact-page-wrapper .urg-card.selected .ico{
    background:linear-gradient(180deg, var(--wood-700) 0%, var(--wood-900) 100%);
    border-color:var(--wood-900);
    box-shadow:0 10px 22px -8px rgba(74,60,43,.55), 0 1px 0 rgba(255,255,255,.14) inset;
  }
  #contact-page-wrapper .urg-card .nm{ font-size:.85rem; font-weight:600; color:var(--wood-900); }
  #contact-page-wrapper .urg-card .delay{ font-size:.7rem; color:var(--wood-500); white-space:nowrap; }

  /* ===== Urgency icon SVGs ===== */
  #contact-page-wrapper .urg-icon{ width:24px; height:24px; overflow:visible; display:block; }
  #contact-page-wrapper .urg-icon *{
    transition:transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s, fill .3s, stroke .3s, stroke-dashoffset .55s cubic-bezier(.6,0,.4,1), filter .3s;
    transform-box:fill-box;
    transform-origin:center;
  }

  /* --- 1. URGENT : eclair animé --- */
  #contact-page-wrapper .urg-icon.urg-bolt .halo{
    fill:rgba(245,158,11,.18); stroke:none;
    transform:scale(0); opacity:0;
  }
  #contact-page-wrapper .urg-card:hover .urg-icon.urg-bolt .halo{ transform:scale(1); opacity:1; }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-bolt .halo{
    transform:scale(1); opacity:1;
    fill:rgba(251,191,36,.28);
    animation: urgHaloPulse 1.8s ease-in-out infinite;
  }
  @keyframes urgHaloPulse{
    0%,100%{ transform:scale(1); opacity:1; }
    50%{ transform:scale(1.18); opacity:.5; }
  }
  #contact-page-wrapper .urg-icon.urg-bolt .bolt{
    fill:#f59e0b; stroke:#f59e0b; stroke-width:.5;
    stroke-linejoin:round; stroke-linecap:round;
  }
  #contact-page-wrapper .urg-card:hover .urg-icon.urg-bolt .bolt{
    transform:scale(1.06) rotate(-2deg);
    filter:drop-shadow(0 0 4px rgba(245,158,11,.5));
  }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-bolt .bolt{
    fill:#fbbf24; stroke:#fbbf24;
    filter:drop-shadow(0 0 6px rgba(251,191,36,.85));
    animation: urgBoltFlash 2.6s ease-in-out infinite;
  }
  @keyframes urgBoltFlash{
    0%, 86%, 100%{ transform:scale(1) rotate(0); }
    90%{ transform:scale(1.12) rotate(-3deg); }
    93%{ transform:scale(.94) rotate(2deg); }
    96%{ transform:scale(1.04); }
  }

  /* --- 2. NORMAL : calendrier avec cercle qui se dessine --- */
  #contact-page-wrapper .urg-icon.urg-cal .ring,
  #contact-page-wrapper .urg-icon.urg-cal .body,
  #contact-page-wrapper .urg-icon.urg-cal .strip{
    stroke:#3b82f6; stroke-width:1.6;
    fill:none; stroke-linecap:round; stroke-linejoin:round;
  }
  #contact-page-wrapper .urg-icon.urg-cal .day{ fill:#3b82f6; }
  #contact-page-wrapper .urg-icon.urg-cal .target{
    fill:none; stroke:#3b82f6; stroke-width:1.5;
    stroke-dasharray:18; stroke-dashoffset:18;
    stroke-linecap:round;
  }
  #contact-page-wrapper .urg-card:hover .urg-icon.urg-cal .target,
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .target{ stroke-dashoffset:0; }
  #contact-page-wrapper .urg-card:hover .urg-icon.urg-cal .body{ transform:translateY(-.5px); }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .ring,
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .body,
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .strip{ stroke:#fff; }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .day{ fill:#fff; }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .day.target-day{ fill:#fbbf24; }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-cal .target{
    stroke:#fbbf24;
    animation: urgTargetPulse 2.2s ease-in-out infinite;
  }
  @keyframes urgTargetPulse{
    0%,100%{ filter:drop-shadow(0 0 0 rgba(251,191,36,0)); }
    50%{ filter:drop-shadow(0 0 4px rgba(251,191,36,.7)); }
  }

  /* --- 3. SOUPLE : infini avec point qui voyage --- */
  #contact-page-wrapper .urg-icon.urg-inf .infinity-path{
    stroke:#10b981; fill:none;
    stroke-width:1.8; stroke-linecap:round;
  }
  #contact-page-wrapper .urg-icon.urg-inf .trail{
    fill:#10b981;
    filter:drop-shadow(0 0 3px rgba(16,185,129,.7));
  }
  #contact-page-wrapper .urg-card:hover .urg-icon.urg-inf .infinity-path{
    stroke:#059669;
    filter:drop-shadow(0 0 4px rgba(5,150,105,.4));
  }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-inf .infinity-path{
    stroke:#34d399;
    filter:drop-shadow(0 0 5px rgba(52,211,153,.6));
  }
  #contact-page-wrapper .urg-card.selected .urg-icon.urg-inf .trail{
    fill:#fbbf24;
    filter:drop-shadow(0 0 6px rgba(251,191,36,.9));
  }

  @media (prefers-reduced-motion: reduce){
    #contact-page-wrapper .urg-icon *, #contact-page-wrapper .urg-card, #contact-page-wrapper .urg-card .ico{ animation:none !important; transition-duration:.15s !important; }
    #contact-page-wrapper .urg-icon.urg-inf .trail{ display:none; }
  }

  /* Inputs */
  #contact-page-wrapper .field-label{
    display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--wood-700); font-weight:600; margin-bottom:8px;
  }
  #contact-page-wrapper .field-label .opt{ color:var(--wood-400); text-transform:none; letter-spacing:0; font-weight:400; font-size:11px; margin-left:6px; }
  #contact-page-wrapper .field-wrap{ position:relative; }
  #contact-page-wrapper .field-wrap > i{
    position:absolute; left:14px; top:50%; transform:translateY(-50%);
    color:var(--wood-400); font-size:.9rem; pointer-events:none;
  }
  #contact-page-wrapper .form-input, #contact-page-wrapper .form-area{
    width:100%; border:1.5px solid var(--wood-100);
    background:#fff; color:var(--wood-900);
    border-radius:12px;
    padding:14px 16px;
    font:inherit; font-size:.95rem;
    transition:border-color .18s, box-shadow .18s, background .18s;
  }
  #contact-page-wrapper .form-input.with-ico{ padding-left:44px; }
  #contact-page-wrapper .form-area{ resize:vertical; min-height:96px; }
  #contact-page-wrapper .form-input:focus, #contact-page-wrapper .form-area:focus{
    outline:none; border-color:var(--wood-600);
    box-shadow:0 0 0 4px rgba(166,139,91,.12);
  }
  #contact-page-wrapper .form-input.error, #contact-page-wrapper .form-area.error{ border-color:#dc2626; box-shadow:0 0 0 4px rgba(220,38,38,.1); }

  /* Channel preference */
  #contact-page-wrapper .channel-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  #contact-page-wrapper .channel{
    cursor:pointer; border:1.5px solid var(--wood-100);
    border-radius:10px; padding:10px 12px; text-align:center;
    font-size:.78rem; font-weight:600; color:var(--wood-700);
    transition:all .18s; background:#fff;
    display:flex; align-items:center; justify-content:center; gap:6px;
  }
  #contact-page-wrapper .channel:hover{ border-color:var(--wood-300); }
  #contact-page-wrapper .channel.selected{ border-color:var(--wood-700); background:var(--wood-900); color:#fff; }
  #contact-page-wrapper .channel i{ font-size:.85rem; }

  /* Buttons */
  #contact-page-wrapper .btn-primary{
    background:var(--wood-900); color:#fff;
    padding:16px 24px; border-radius:12px;
    font-weight:600; font-size:.875rem; letter-spacing:.04em;
    text-transform:uppercase; cursor:pointer; border:none;
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    transition:transform .15s, box-shadow .2s, background .2s;
    width:100%;
  }
  #contact-page-wrapper .btn-primary:hover{ background:#000; transform:translateY(-1px); box-shadow:0 14px 30px -10px rgba(0,0,0,.4); }
  #contact-page-wrapper .btn-primary:disabled{ opacity:.5; cursor:not-allowed; }
  #contact-page-wrapper .btn-ghost{
    background:transparent; color:var(--wood-700);
    padding:16px 18px; border-radius:12px;
    border:1.5px solid var(--wood-200);
    font-weight:600; font-size:.8rem; letter-spacing:.04em;
    text-transform:uppercase; cursor:pointer;
    transition:all .18s;
  }
  #contact-page-wrapper .btn-ghost:hover{ background:var(--wood-50); border-color:var(--wood-400); }

  #contact-page-wrapper .form-actions{
    display:flex; gap:12px; align-items:stretch;
    border-top:1px solid var(--wood-100); padding-top:24px; margin-top:8px;
  }
  #contact-page-wrapper .form-actions.single{ border-top:none; padding-top:0; }
  #contact-page-wrapper .form-actions .btn-ghost{ flex:0 0 auto; min-width:120px; }
  #contact-page-wrapper .form-actions .btn-primary{ flex:1; }

  /* Inline review (under step 1 button) */
  #contact-page-wrapper .inline-review{
    display:flex; align-items:center; gap:14px;
    margin-top:18px; padding:12px 14px;
    background:var(--wood-50); border:1px solid var(--wood-100);
    border-radius:11px;
  }
  #contact-page-wrapper .inline-review-meta{
    display:flex; align-items:center; gap:8px;
    flex-shrink:0; padding-right:12px;
    border-right:1px solid var(--wood-200);
  }
  #contact-page-wrapper .inline-review .g-mini{ width:22px; height:22px; flex-shrink:0; }
  #contact-page-wrapper .inline-review-score{ display:flex; flex-direction:column; line-height:1; }
  #contact-page-wrapper .inline-review-score .num{
    font-family:'Cormorant Garamond', serif;
    font-size:1.05rem; font-weight:700; color:var(--wood-900);
    letter-spacing:-.01em;
  }
  #contact-page-wrapper .inline-review-score .num .of{
    font-size:.65rem; color:var(--wood-500);
    font-weight:500; margin-left:1px;
  }
  #contact-page-wrapper .inline-review-score .stars{
    color:#f59e0b; font-size:.62rem; letter-spacing:.06em;
    margin-top:3px;
  }
  #contact-page-wrapper .inline-review-text{
    font-size:.78rem; color:var(--wood-700); line-height:1.45;
    min-width:0;
  }
  #contact-page-wrapper .inline-review-text .quote{
    font-family:'Cormorant Garamond', serif;
    font-size:.92rem; font-style:italic;
    color:var(--wood-800);
    display:block;
  }
  #contact-page-wrapper .inline-review-text .who{
    display:block; margin-top:4px;
    font-size:.68rem; text-transform:uppercase;
    letter-spacing:.08em; color:var(--wood-500); font-weight:600;
    font-style:normal;
  }
  @media (max-width:560px){
    #contact-page-wrapper .inline-review{ flex-direction:column; align-items:flex-start; gap:10px; }
    #contact-page-wrapper .inline-review-meta{ border-right:none; padding-right:0; padding-bottom:10px; border-bottom:1px solid var(--wood-200); width:100%; }
  }

  /* Error alert */
  #contact-page-wrapper .err-alert{
    display:flex; align-items:center; gap:10px;
    background:#fef2f2; border:1px solid #fecaca; color:#b91c1c;
    padding:12px 14px; border-radius:10px; font-size:.85rem; margin-bottom:20px;
  }
  #contact-page-wrapper .err-alert.hidden{ display:none; }

  /* Step 3 states */
  #contact-page-wrapper .state-block{ text-align:center; padding:40px 0; }
  #contact-page-wrapper .state-icon{
    width:72px; height:72px; border-radius:50%; margin:0 auto 22px;
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem;
  }
  #contact-page-wrapper .state-icon.loading{ background:transparent; border:3px solid var(--wood-100); border-top-color:var(--wood-700); animation:spin 0.9s linear infinite; }
  #contact-page-wrapper .state-icon.success{ background:#16a34a; box-shadow:0 12px 30px -8px rgba(22,163,74,.4); }
  #contact-page-wrapper .state-icon.error{ background:#dc2626; }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  #contact-page-wrapper .state-title{ font-family:'Cormorant Garamond', serif; font-size:1.85rem; font-weight:600; color:var(--wood-900); margin-bottom:10px; }
  #contact-page-wrapper .state-text{ color:var(--wood-600); max-width:380px; margin:0 auto 24px; line-height:1.55; }
  #contact-page-wrapper .state-text strong{ color:var(--wood-900); }

  /* Receipt card (in success) */
  #contact-page-wrapper .receipt{
    background:var(--wood-50); border:1px dashed var(--wood-300);
    border-radius:14px; padding:18px 20px; max-width:380px; margin:0 auto 24px; text-align:left;
  }
  #contact-page-wrapper .receipt-row{ display:flex; justify-content:space-between; align-items:baseline; padding:6px 0; font-size:.85rem; color:var(--wood-600); }
  #contact-page-wrapper .receipt-row + .receipt-row{ border-top:1px dashed var(--wood-200); }
  #contact-page-wrapper .receipt-row strong{ color:var(--wood-900); font-weight:600; }
  #contact-page-wrapper .receipt-num{ font-family:'JetBrains Mono', monospace; font-size:.78rem; color:var(--wood-500); margin-top:10px; padding-top:10px; border-top:1px dashed var(--wood-200); display:flex; justify-content:space-between; }

  /* ===== SIDEBAR ===== */
  #contact-page-wrapper .sidebar{ display:flex; flex-direction:column; gap:20px; }

  /* Artisan card */
  #contact-page-wrapper .artisan-card{
    background:var(--wood-900); color:#fff;
    border-radius:24px; overflow:hidden;
    box-shadow:0 24px 60px -20px rgba(74,60,43,.4);
    position:relative;
  }
  #contact-page-wrapper .artisan-photo{
    height:210px;
    background:#2a2218 url('https://menuiseriedasnois.be/wp-content/uploads/2026/01/Menuiserie-Dasnois-1.jpg') center top/cover no-repeat;
    position:relative;
  }
  #contact-page-wrapper .artisan-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 0%, rgba(74,60,43,.85) 100%);
  }
  #contact-page-wrapper .artisan-photo .badge{
    position:absolute; top:14px; left:14px; z-index:2;
    background:rgba(255,255,255,.16); backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.2);
    padding:6px 10px; border-radius:9999px;
    font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
    display:flex; align-items:center; gap:6px;
  }
  #contact-page-wrapper .artisan-photo .badge .pulse{
    width:6px; height:6px; border-radius:50%; background:#9ca3af;
  }
  #contact-page-wrapper .artisan-photo .badge[data-state="open"] .pulse{
    background:#22c55e;
    box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:pulse 2s infinite;
  }
  #contact-page-wrapper .artisan-photo .badge[data-state="closed"] .pulse{
    background:#f59e0b;
  }
  @keyframes pulse{ 50%{ box-shadow:0 0 0 6px rgba(34,197,94,0); } }
  #contact-page-wrapper .artisan-body{ padding:24px 26px 26px; }
  #contact-page-wrapper .artisan-name{ font-family:'Cormorant Garamond', serif; font-size:1.35rem; font-weight:600; line-height:1.1; }
  #contact-page-wrapper .artisan-role{ font-size:.78rem; color:var(--wood-300); margin-top:2px; letter-spacing:.06em; text-transform:uppercase; }
  #contact-page-wrapper .artisan-quote{
    font-family:'Cormorant Garamond', serif; font-style:italic;
    font-size:1.0625rem; line-height:1.4; color:rgba(255,255,255,.92);
    margin:18px 0 22px; position:relative; padding-left:18px;
  }
  #contact-page-wrapper .artisan-quote::before{
    content:"\201C"; position:absolute; left:-4px; top:-12px;
    font-size:3rem; color:var(--wood-500); font-family:'Cormorant Garamond', serif; line-height:1;
  }
  #contact-page-wrapper .artisan-channels{ display:block; }
  #contact-page-wrapper .ch-btn{
    display:flex; align-items:center; justify-content:center; gap:10px;
    padding:14px 16px; border-radius:11px;
    font-size:.9rem; font-weight:600; letter-spacing:.02em;
    transition:transform .15s, background .2s;
  }
  #contact-page-wrapper .ch-btn.tel{ background:#fff; color:var(--wood-900); }
  #contact-page-wrapper .ch-btn.tel:hover{ transform:translateY(-1px); }

  /* Reviews card */
  #contact-page-wrapper .reviews-card{
    background:#fff; border-radius:20px; padding:22px 24px;
    border:1px solid var(--wood-100);
    box-shadow:0 6px 24px -10px rgba(74,60,43,.15);
  }
  #contact-page-wrapper .reviews-head{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
  #contact-page-wrapper .g-logo{
    width:42px; height:42px; border-radius:50%; flex-shrink:0;
    background:#fff; border:1px solid var(--wood-100);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
  }
  #contact-page-wrapper .g-logo svg{ width:24px; height:24px; }
  #contact-page-wrapper .reviews-score{
    display:flex; align-items:baseline; gap:6px; font-family:'Cormorant Garamond', serif;
  }
  #contact-page-wrapper .reviews-score .num{ font-size:1.75rem; font-weight:700; color:var(--wood-900); line-height:1; }
  #contact-page-wrapper .reviews-score .of{ font-size:.85rem; color:var(--wood-500); }
  #contact-page-wrapper .reviews-stars{ color:#f59e0b; font-size:.85rem; letter-spacing:.05em; margin-top:2px; }
  #contact-page-wrapper .reviews-meta{ font-size:.72rem; color:var(--wood-500); text-transform:uppercase; letter-spacing:.1em; margin-top:4px; }
  #contact-page-wrapper .review-snippet{
    background:var(--wood-50); border-radius:12px; padding:12px 14px;
    font-size:.85rem; color:var(--wood-700); line-height:1.5;
    border-left:3px solid var(--wood-400);
  }
  #contact-page-wrapper .review-snippet .who{ font-size:.72rem; color:var(--wood-500); margin-top:6px; text-transform:uppercase; letter-spacing:.08em; }

  /* Hours / Map / Showroom card */
  #contact-page-wrapper .info-card{
    background:#fff; border-radius:20px; padding:22px 24px;
    border:1px solid var(--wood-100);
  }
  #contact-page-wrapper .info-card h4{
    font-family:'Cormorant Garamond', serif; font-size:1.25rem; font-weight:600;
    color:var(--wood-900); display:flex; align-items:center; gap:10px; margin-bottom:14px;
  }
  #contact-page-wrapper .info-card h4 .ico{
    width:32px; height:32px; border-radius:9px;
    background:var(--wood-50); color:var(--wood-700);
    display:flex; align-items:center; justify-content:center; font-size:.85rem;
  }
  #contact-page-wrapper .hours-list{ display:flex; flex-direction:column; gap:8px; font-size:.875rem; color:var(--wood-700); }
  #contact-page-wrapper .hours-list .row{ display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px dashed var(--wood-100); }
  #contact-page-wrapper .hours-list .row:last-child{ border-bottom:none; }
  #contact-page-wrapper .hours-list .row .h{ font-family:'JetBrains Mono', monospace; font-size:.78rem; color:var(--wood-900); font-weight:500; }
  #contact-page-wrapper .hours-list .closed{ color:var(--wood-400); font-style:italic; }
  #contact-page-wrapper .hours-subhead{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--wood-500); font-weight:600; margin-bottom:8px; }
  #contact-page-wrapper .hours-rdv{ font-size:.85rem; color:var(--wood-700); line-height:1.55; }

  /* Showroom CTA card */
  #contact-page-wrapper .showroom-card{
    position:relative; overflow:hidden;
    background:#1a140d url('https://menuiseriedasnois.be/wp-content/uploads/2026/05/showroom-facade-2026.jpg') center/cover no-repeat;
    border-radius:20px; padding:28px 26px;
    color:#fff; min-height:220px;
    display:flex; flex-direction:column; justify-content:flex-end;
  }
  #contact-page-wrapper .showroom-card::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(26,20,13,.4) 0%, rgba(26,20,13,.92) 100%);
  }
  #contact-page-wrapper .showroom-card > *{ position:relative; z-index:1; }
  #contact-page-wrapper .showroom-card .eye{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--wood-300); font-weight:600; margin-bottom:8px; }
  #contact-page-wrapper .showroom-card h4{ font-family:'Cormorant Garamond', serif; font-size:1.5rem; font-weight:600; line-height:1.15; margin-bottom:6px; }
  #contact-page-wrapper .showroom-card p{ color:rgba(255,255,255,.78); font-size:.85rem; margin-bottom:16px; line-height:1.5; }
  #contact-page-wrapper .showroom-link{
    display:inline-flex; align-items:center; gap:8px;
    color:#fff; font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
    padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.4);
    align-self:flex-start;
    transition:gap .2s, border-color .2s;
  }
  #contact-page-wrapper .showroom-link:hover{ gap:14px; border-bottom-color:#fff; }

  /* ===== "ET APRÈS ?" PROCESS TIMELINE ===== */
  #contact-page-wrapper .process-section{
    background:var(--paper);
    padding:72px 24px 80px;
    border-top:1px solid var(--wood-100);
  }
  @media (max-width:768px){
    #contact-page-wrapper .process-section{ padding:52px 20px 56px; }
  }
  #contact-page-wrapper .process-inner{ max-width:1280px; margin:0 auto; }
  #contact-page-wrapper .section-eyebrow{
    text-align:center; font-size:11px; letter-spacing:.32em; text-transform:uppercase;
    color:var(--wood-500); font-weight:600; margin-bottom:14px;
  }
  #contact-page-wrapper .section-title{
    text-align:center; font-family:'Cormorant Garamond', serif;
    font-size:clamp(2rem, 4vw, 2.75rem); line-height:1.05; font-weight:500;
    color:var(--wood-900); margin-bottom:14px;
    letter-spacing:-0.01em;
  }
  #contact-page-wrapper .section-title em{ font-style:italic; color:var(--wood-600); }
  #contact-page-wrapper .section-sub{ text-align:center; color:var(--wood-600); max-width:600px; margin:0 auto 48px; line-height:1.6; }

  #contact-page-wrapper .timeline{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
    position:relative;
  }
  @media (max-width:900px){ #contact-page-wrapper .timeline{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ #contact-page-wrapper .timeline{ grid-template-columns:1fr; } }
  #contact-page-wrapper .timeline::before{
    content:""; position:absolute; top:32px; left:8%; right:8%; height:1px;
    background:repeating-linear-gradient(90deg, var(--wood-300) 0 4px, transparent 4px 10px);
    z-index:0;
  }
  @media (max-width:900px){ #contact-page-wrapper .timeline::before{ display:none; } }
  #contact-page-wrapper .timeline .step{ position:relative; z-index:1; text-align:left; }
  #contact-page-wrapper .timeline .badge{
    width:64px; height:64px; border-radius:50%;
    background:#fff; border:1.5px solid var(--wood-200);
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-size:1.5rem; color:var(--wood-700); font-weight:600;
    margin-bottom:18px;
  }
  #contact-page-wrapper .timeline .step.now .badge{ background:var(--wood-900); color:#fff; border-color:var(--wood-900); }
  #contact-page-wrapper .timeline .when{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--brand-red); font-weight:600; margin-bottom:6px; }
  #contact-page-wrapper .timeline h5{ font-family:'Cormorant Garamond', serif; font-size:1.25rem; font-weight:600; color:var(--wood-900); margin-bottom:6px; }
  #contact-page-wrapper .timeline p{ font-size:.875rem; color:var(--wood-600); line-height:1.5; }

  /* ===== TESTIMONIALS ===== */
  #contact-page-wrapper .testimonials{ padding:80px 24px; background:#fff; }
  #contact-page-wrapper .testimonials-inner{ max-width:1280px; margin:0 auto; }
  #contact-page-wrapper .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:900px){ #contact-page-wrapper .testi-grid{ grid-template-columns:1fr; } }
  #contact-page-wrapper .testi-card{
    background:var(--wood-50); border-radius:20px; padding:0; overflow:hidden;
    display:flex; flex-direction:column;
    border:1px solid var(--wood-100);
  }
  #contact-page-wrapper .testi-img{
    height:200px; background-size:cover; background-position:center;
    position:relative;
  }
  #contact-page-wrapper .testi-img::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.4) 100%);
  }
  #contact-page-wrapper .testi-img .tag{
    position:absolute; bottom:12px; left:12px; z-index:1;
    background:rgba(255,255,255,.9); backdrop-filter:blur(8px);
    padding:5px 10px; border-radius:9999px;
    font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
    color:var(--wood-900);
  }
  #contact-page-wrapper .testi-body{ padding:22px 24px 24px; flex:1; display:flex; flex-direction:column; }
  #contact-page-wrapper .testi-stars{ color:#f59e0b; font-size:.85rem; margin-bottom:10px; letter-spacing:.04em; }
  #contact-page-wrapper .testi-quote{
    font-family:'Cormorant Garamond', serif; font-size:1.1rem;
    color:var(--wood-900); line-height:1.4; flex:1; margin-bottom:16px;
  }
  #contact-page-wrapper .testi-author{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--wood-100); }
  #contact-page-wrapper .testi-avatar{
    width:38px; height:38px; border-radius:50%;
    background:var(--wood-700); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-weight:600;
    flex-shrink:0;
  }
  #contact-page-wrapper .testi-meta{ font-size:.85rem; }
  #contact-page-wrapper .testi-meta .nm{ font-weight:600; color:var(--wood-900); }
  #contact-page-wrapper .testi-meta .lo{ font-size:.75rem; color:var(--wood-500); }

  /* ===== RED CTA BAND ===== */
  #contact-page-wrapper .red-cta{
    background:var(--brand-red); color:#fff;
    padding:48px 24px; position:relative; overflow:hidden;
  }
  @media (max-width:640px){
    #contact-page-wrapper .red-cta{ padding:36px 20px; text-align:center; }
    #contact-page-wrapper .red-cta-text{ flex-direction:column; gap:14px; text-align:center; }
    #contact-page-wrapper .red-cta-inner{ justify-content:center; }
  }
  #contact-page-wrapper .red-cta::before{
    content:""; position:absolute; right:-80px; top:-80px;
    width:280px; height:280px; border-radius:50%;
    background:rgba(255,255,255,.05);
  }
  #contact-page-wrapper .red-cta-inner{
    max-width:1280px; margin:0 auto; position:relative; z-index:1;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
  }
  #contact-page-wrapper .red-cta-text{ display:flex; align-items:center; gap:22px; }
  #contact-page-wrapper .red-cta .ico{
    width:56px; height:56px; border-radius:50%;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center; font-size:1.25rem;
    flex-shrink:0;
  }
  #contact-page-wrapper .red-cta h3{ font-family:'Cormorant Garamond', serif; font-size:1.8rem; line-height:1.1; font-weight:600; margin-bottom:4px; }
  #contact-page-wrapper .red-cta p{ font-size:.92rem; opacity:.9; max-width:440px; }
  #contact-page-wrapper .red-cta-btn{
    display:inline-flex; align-items:center; gap:12px;
    background:#fff; color:var(--brand-red);
    padding:18px 28px; border-radius:14px;
    font-weight:700; font-size:1.05rem; letter-spacing:.01em;
    box-shadow:0 18px 40px -12px rgba(0,0,0,.4);
    transition:transform .2s, box-shadow .2s;
  }
  #contact-page-wrapper .red-cta-btn:hover{ transform:translateY(-2px); }
  #contact-page-wrapper .red-cta-btn i{ font-size:.9rem; }
  #contact-page-wrapper .red-cta-btn .label{ font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brand-red); opacity:.7; font-weight:600; display:block; }
  #contact-page-wrapper .red-cta-btn .num{ font-family:'Cormorant Garamond', serif; font-size:1.5rem; font-weight:600; white-space:nowrap; }

  /* ===== STICKY MOBILE BAR ===== */
  #contact-page-wrapper .sticky-mobile{
    display:none;
    position:fixed; bottom:12px; left:12px; right:12px; z-index:50;
    background:var(--wood-900); color:#fff;
    border-radius:14px; padding:10px;
    box-shadow:0 20px 40px -10px rgba(0,0,0,.4);
  }
  #contact-page-wrapper .sticky-mobile a{
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 10px; border-radius:9px;
    font-size:.85rem; font-weight:600; letter-spacing:.02em;
    background:#fff; color:var(--wood-900);
  }
  @media (max-width:768px){
    #contact-page-wrapper .sticky-mobile{ display:block; }
    /* Donne de l'air en bas pour que la sticky-bar ne masque pas le red-cta */
    #contact-page-wrapper{ padding-bottom:80px; }
  }

  /* ===== TWEAK-DRIVEN VARIATIONS ===== */
  /* Hero modes */
  body[data-hero="sober"] #contact-page-wrapper .hero-image{ display:none; }
  body[data-hero="sober"] #contact-page-wrapper .hero-grid{ grid-template-columns:1fr; }
  body[data-hero="sober"] #contact-page-wrapper .hero{ background:var(--wood-900); }
  body[data-hero="sober"] #contact-page-wrapper .hero-text{ padding-bottom:80px; }
  body[data-hero="sober"] #contact-page-wrapper .primes-sticker{ display:none; }

  /* Accent off (no red) */
  body[data-accent="off"] #contact-page-wrapper{ --brand-red:#a68b5b; --brand-red-dk:#6d573a; }
  body[data-accent="off"] .fake-nav a[class*="bg-[#D62828]"]{ background:#4a3c2b !important; }
  body[data-accent="off"] #contact-page-wrapper .hero-eyebrow .dot{ background:var(--wood-500); box-shadow:0 0 0 4px rgba(166,139,91,.2); }

  /* Single-page form */
  body[data-form="onepage"] #contact-page-wrapper .form-step{ display:block !important; animation:none; }
  body[data-form="onepage"] #contact-page-wrapper .form-step[data-step="3"]{ display:none !important; }
  body[data-form="onepage"] #contact-page-wrapper .step-pill{ display:none; }
  body[data-form="onepage"] #contact-page-wrapper #stepBack{ display:none !important; }
  body[data-form="onepage"] #contact-page-wrapper #stepNext{ display:none !important; }
  body[data-form="onepage"] #contact-page-wrapper #stepSubmit{ display:inline-flex !important; }
  body[data-form="onepage"] #contact-page-wrapper .progress-track{ display:none; }
  body[data-form="onepage"] #contact-page-wrapper .form-step:not([data-step="3"]) .step-title{ display:none; }
  body[data-form="onepage"] #contact-page-wrapper .form-step:not([data-step="3"]) .step-help{ display:none; }
  body[data-form="onepage"] #contact-page-wrapper .form-step:not([data-step="3"]) .step-eyebrow{ display:none; }

  /* Estimation block */
  #contact-page-wrapper .estimate-block{ display:none; }
  body[data-estimate="on"] #contact-page-wrapper .estimate-block{ display:block; }

  /* ==========================================================================
     MOBILE REFINEMENTS (≤ 768px)
     ========================================================================== */
  @media (max-width: 768px) {

    /* Hero promises : 3 colonnes compactes côte à côte */
    #contact-page-wrapper .hero-promises {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-bottom: 28px;
    }
    #contact-page-wrapper .hero-promises .item {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
    #contact-page-wrapper .hero-promises .num {
      font-size: 1.6rem;
    }
    #contact-page-wrapper .hero-promises .lab {
      font-size: 9.5px;
      letter-spacing: 0.07em;
      line-height: 1.25;
    }

    /* CTA hero principal "Lancer ma demande" masqué sur mobile
       (remplacé par la sticky bar en bas d'écran) */
    #contact-page-wrapper .hero-cta-row .hero-cta {
      display: none;
    }
  }
