/* ============================================================
   LeegmakenWoning.be — Design System v2
   Inspired by monvidemaison.be
   ============================================================ */
:root{
  --navy:#2d4156;
  --navy2:#1a2d3d;
  --navy3:#3d5a80;
  --orange:#ff5a1f;
  --orange2:#e04a10;
  --orange-light:rgba(255,90,31,.08);
  --green:#16a34a;
  --green-light:#dcfce7;
  --white:#ffffff;
  --light:#f8f9fa;
  --light2:#f1f3f5;
  --gray:#6c757d;
  --gray2:#adb5bd;
  --text:#2d4156;
  --border:#dee2e6;
  --radius:12px;
  --radius-sm:8px;
  --radius-lg:16px;
  --shadow:0 2px 16px rgba(0,0,0,.06);
  --shadow-md:0 8px 24px rgba(149,157,165,.2);
  --shadow-lg:0 16px 48px rgba(0,0,0,.12);
  --shadow-orange:0 8px 32px rgba(255,90,31,.25);
  --trans:.3s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;color:var(--text);background:#fff;line-height:1.7;overflow-x:hidden;font-weight:400}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit;transition:var(--trans)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5{line-height:1.2;font-weight:800;color:var(--navy)}
input,select,textarea,button{font-family:inherit}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.container-sm{max-width:860px;margin:0 auto;padding:0 24px}
.section{padding:100px 0}
.section-sm{padding:64px 0}
.section-xs{padding:40px 0}

/* ─── SECTION WAVE SHAPES ─── */
.section-wave{position:relative}
.section-wave::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:60px;background:inherit;z-index:1}
.section-wave::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:60px;background:inherit;z-index:1}

/* ─── UTILS ─── */
.text-center{text-align:center}
.text-orange{color:var(--orange)}
.text-navy{color:var(--navy)}
.text-gray{color:var(--gray)}
.fw-900{font-weight:900}
.mt-0{margin-top:0!important}
.mb-0{margin-bottom:0!important}
.d-flex{display:flex}
.align-center{align-items:center}
.gap-12{gap:12px}
.gap-16{gap:16px}

/* ─── BADGE / TAG ─── */
.badge{display:inline-flex;align-items:center;gap:7px;background:var(--orange-light);color:var(--orange);font-size:.72rem;font-weight:700;padding:6px 16px;border-radius:50px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px}
.badge-navy{background:rgba(45,65,86,.07);color:var(--navy)}
.badge-green{background:var(--green-light);color:var(--green)}
.badge-white{background:rgba(255,255,255,.15);color:#fff}

/* ─── TITLES ─── */
.section-title{font-size:clamp(1.9rem,3.8vw,2.8rem);font-weight:800;color:var(--navy);margin-bottom:16px;line-height:1.12;letter-spacing:-.02em}
.section-title .hl{color:var(--orange)}
.section-title-white{color:#fff}
.section-subtitle-light{color:rgba(255,255,255,.6)!important}
.section-sub{font-size:1.02rem;color:var(--gray);max-width:580px;line-height:1.8;margin-bottom:40px;font-weight:300}
.center-sub{margin-left:auto;margin-right:auto;text-align:center}
.section-title-sm{font-size:clamp(1.4rem,2.8vw,2rem);font-weight:800;color:var(--navy);margin-bottom:12px;letter-spacing:-.01em}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:.92rem;padding:15px 30px;border-radius:50px;border:none;cursor:pointer;transition:var(--trans);white-space:nowrap;letter-spacing:.5px;text-transform:uppercase}
.btn-lg{font-size:1rem;padding:18px 38px}
.btn-sm{font-size:.82rem;padding:11px 22px}
.btn-full{width:100%;font-size:1rem;padding:17px 32px}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange2);transform:scale(1.03);box-shadow:var(--shadow-orange)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy2);transform:scale(1.03);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff;transform:scale(1.03)}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.btn-outline-white:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:scale(1.03)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:var(--light);transform:scale(1.03)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{background:rgba(255,255,255,.22);transform:scale(1.03)}

/* ─── TOPBAR ─── */
.topbar{background:var(--navy);padding:0;font-size:.82rem;height:42px;display:flex;align-items:center}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}
.topbar-item{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.75);font-weight:300}
.topbar-item i{color:var(--orange);font-size:.85rem}
.topbar-item a{color:rgba(255,255,255,.75);font-weight:400}
.topbar-item a:hover{color:#fff}
.topbar-item strong{color:#fff;font-weight:600}

/* ─── HEADER ─── */
.site-header{position:sticky;top:0;z-index:999;background:#fff;border-bottom:none;transition:box-shadow var(--trans),background var(--trans)}
.site-header.scrolled{box-shadow:var(--shadow-md);background:rgba(255,255,255,.98)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.logo-wrap{display:flex;align-items:center;gap:14px;flex-shrink:0}

/* ─── LOGO ICON: animated house ─── */
.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--orange) 0%,#ff8c42 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;box-shadow:0 4px 16px rgba(255,90,31,.3);animation:logoSwing 4s ease-in-out infinite;transform-origin:top center}
.logo-house{position:relative;width:24px;height:20px}
.logo-roof{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:11px solid #fff;position:absolute;top:-2px;left:-2px}
.logo-door{width:20px;height:12px;background:#fff;border-radius:2px 2px 0 0;position:absolute;bottom:0;left:2px}
.logo-door::before{content:'';position:absolute;width:6px;height:8px;background:var(--orange);border-radius:1.5px 1.5px 0 0;bottom:0;left:50%;transform:translateX(-50%)}
.logo-door::after{content:'';position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;bottom:3px;right:5px}
.logo-sparkle{position:absolute;top:-3px;right:-3px;font-size:.6rem;color:#fbbf24;animation:logoSpark 2s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(251,191,36,.6))}

/* ─── LOGO TEXT ─── */
.logo-name{line-height:1.15}
.logo-brand{font-weight:700;font-size:1.0rem;color:var(--navy);letter-spacing:-.01em}
.logo-brand strong{font-weight:900;color:var(--orange)}
.logo-brand em{font-style:normal;font-weight:400;color:var(--gray);font-size:.85em}
.logo-tagline{display:block;font-size:.7rem;font-weight:500;color:var(--gray);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}

/* ─── LOGO ANIMATIONS ─── */
@keyframes logoSwing{0%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}100%{transform:rotate(-3deg)}}
@keyframes logoSpark{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

/* ─── LOGO HOVER ─── */
.logo-wrap:hover .logo-icon{animation:logoSwing 1.5s ease-in-out infinite;box-shadow:0 6px 24px rgba(255,90,31,.4)}
.logo-wrap:hover .logo-sparkle{animation:logoSpark .8s ease-in-out infinite}
.logo-wrap:hover .logo-brand strong{color:var(--orange2)}
.main-nav{display:flex;align-items:center;gap:0}
.nav-link{padding:10px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;color:var(--text);transition:var(--trans);position:relative;letter-spacing:-.01em}
.nav-link:hover,.nav-link.active{color:var(--orange);background:var(--orange-light)}
.dd-arrow{font-size:.6rem;margin-left:4px;transition:transform .2s}
.has-dd:hover .dd-arrow{transform:rotate(180deg)}
.main-nav .has-dd{position:relative}
.main-nav .has-dd:hover>.dropdown{display:block;animation:ddFade .2s ease}
@keyframes ddFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;padding:8px;border:1px solid var(--border);z-index:100}
.dropdown a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.88rem;color:var(--text);font-weight:400;transition:var(--trans)}
.dropdown a:hover{background:var(--orange-light);color:var(--orange);padding-left:18px}
.dropdown a i{color:var(--orange);width:16px;text-align:center;font-size:.85rem}
.dd-see-all{border-top:1px solid var(--border)!important;margin-top:4px!important;color:var(--orange)!important;font-weight:600!important}
/* Mega dropdown */
.mega-dropdown{min-width:580px;padding:0!important}
.mega-dropdown-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
.mega-col{padding:20px;border-right:1px solid var(--border)}
.mega-col:last-child{border-right:none}
.mega-col-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin-bottom:10px;padding:0 14px}
.mega-col a{font-size:.86rem}
.mega-cta{margin-top:16px;padding:0 14px}
.mega-cta .btn{width:100%;font-size:.78rem;padding:10px 16px}
.header-actions{display:flex;align-items:center;gap:8px}
.header-partner{font-size:.8rem!important;padding:10px 18px!important}
.header-phone{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;font-size:.9rem;transition:var(--trans);white-space:nowrap}
.header-phone i{color:var(--orange);font-size:.85rem}
.header-phone:hover{color:var(--orange)}
.hamburger{display:none;background:none;border:2px solid var(--border);padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:4px;flex-shrink:0;transition:var(--trans)}
.hamburger:hover{border-color:var(--orange)}
.hamburger span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:var(--trans)}
/* Mobile nav */
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(45,65,86,.97);z-index:9998;flex-direction:column;padding:28px 28px 40px;overflow-y:auto;backdrop-filter:blur(8px)}
.mobile-overlay.open{display:flex}
.mobile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}
.mobile-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:var(--trans)}
.mobile-close:hover{background:rgba(255,255,255,.2)}
.mobile-nav-links{display:flex;flex-direction:column;gap:4px;margin-bottom:32px}
.mobile-nav-links a{color:rgba(255,255,255,.85);font-size:1.05rem;font-weight:500;padding:13px 16px;border-radius:10px;transition:var(--trans)}
.mobile-nav-links a:hover{background:rgba(255,255,255,.08);color:#fff;padding-left:22px}
.mobile-sep{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);padding:14px 28px 6px;border-top:1px solid rgba(255,255,255,.08);margin-top:6px}
.mobile-cta{display:flex;flex-direction:column;gap:10px}

/* ─── BREADCRUMB ─── */
.breadcrumb-bar{background:var(--light);border-bottom:1px solid var(--border);padding:12px 0}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--gray);flex-wrap:wrap;font-weight:400}
.breadcrumb a{color:var(--gray);transition:var(--trans)}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb i{font-size:.65rem;color:var(--gray2)}
.breadcrumb span{color:var(--orange);font-weight:600}

/* ─── PAGE HERO (internal pages) ─── */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 100%);padding:72px 0 80px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:380px;height:380px;background:rgba(255,90,31,.06);border-radius:50%}
.page-hero::after{content:'';position:absolute;bottom:-60px;left:10%;width:280px;height:280px;background:rgba(255,255,255,.03);border-radius:50%}
.page-hero-grid{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center;position:relative;z-index:1}
.page-hero-left{color:#fff}
.page-hero-left h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;margin-bottom:18px;line-height:1.1;letter-spacing:-.02em}
.page-hero-left h1 .hl{color:var(--orange)}
.page-hero-left p,.page-hero-sub{color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.75;margin-bottom:28px;font-weight:300}
.page-hero .breadcrumb{color:rgba(255,255,255,.6)}
.page-hero .breadcrumb a{color:rgba(255,255,255,.7)}
.page-hero .breadcrumb a:hover{color:#fff}
.page-hero .breadcrumb i{color:rgba(255,255,255,.4)}
.page-hero .breadcrumb span{color:var(--orange)}
.page-hero-content{color:#fff}
.page-hero-content h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;margin-bottom:18px;line-height:1.1;letter-spacing:-.02em}
.page-hero-content h1 .hl{color:var(--orange)}
.page-hero-content p{color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.75;margin-bottom:28px;max-width:520px;font-weight:300}
.page-hero-checks{display:flex;flex-direction:column;gap:9px;margin-bottom:32px}
.page-hero-check{display:flex;align-items:center;gap:11px;font-size:.93rem;color:rgba(255,255,255,.9);font-weight:400}
.page-hero-check i{color:#4ade80;font-size:.95rem;flex-shrink:0}
.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.hero-img-wrap img{width:100%;height:380px;object-fit:cover;transition:transform .5s ease}
.hero-img-wrap:hover img{transform:scale(1.03)}

/* ─── MAIN HERO (homepage) ─── */
.main-hero{min-height:calc(100vh - 108px);background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,var(--navy3) 100%);position:relative;display:flex;align-items:center;overflow:hidden}
.main-hero-bg{position:absolute;inset:0}
.main-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.12}
.main-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,65,86,.95) 0%,rgba(45,65,86,.75) 100%)}
.main-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;z-index:1;padding:80px 0}
.main-hero-left{color:#fff}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,90,31,.15);border:1px solid rgba(255,90,31,.3);color:#ffb38a;padding:8px 18px;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:22px}
.main-hero-left h1{font-size:clamp(2.2rem,4.8vw,3.6rem);font-weight:800;color:#fff;line-height:1.08;margin-bottom:20px;letter-spacing:-.02em}
.main-hero-left h1 .hl{color:var(--orange)}
.main-hero-left p{color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.78;margin-bottom:30px;max-width:500px;font-weight:300}
.hero-list{display:flex;flex-direction:column;gap:10px;margin-bottom:34px}
.hero-list-item{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.9);font-size:.95rem;font-weight:400}
.hero-list-item .icon{width:26px;height:26px;border-radius:50%;background:rgba(74,222,128,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero-list-item .icon i{color:#4ade80;font-size:.8rem}
.hero-cta-group{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.hero-social-proof{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.65);font-size:.84rem;font-weight:300}
.hero-stars{color:#fbbf24;letter-spacing:2px;font-size:1rem}
.hero-stars-sep{width:1px;height:16px;background:rgba(255,255,255,.2)}

/* ─── QUICK FORM CARD ─── */
.quick-form-card{background:#fff;border-radius:var(--radius-lg);padding:36px 30px;box-shadow:var(--shadow-lg)}
.qfc-header{text-align:center;margin-bottom:24px}
.qfc-header .badge-green{margin-bottom:10px}
.qfc-header h3{font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:6px}
.qfc-header p{color:var(--gray);font-size:.87rem;font-weight:300}
.form-field{margin-bottom:14px}
.form-field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 15px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem;color:var(--text);background:#fff;outline:none;transition:border-color var(--trans),box-shadow var(--trans)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,31,.1)}
.form-field select{cursor:pointer}
.form-field textarea{resize:vertical;min-height:80px}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-privacy{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:.76rem;color:var(--gray2);justify-content:center;font-weight:400}
.form-privacy i{color:var(--green)}

/* ─── STATS BAR ─── */
.stats-bar{background:var(--navy);padding:36px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat-item{text-align:center;color:#fff;padding:10px 20px;position:relative}
.stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);height:44px;width:1px;background:rgba(255,255,255,.15)}
.stat-num{display:block;font-size:2.8rem;font-weight:800;line-height:1;margin-bottom:6px;letter-spacing:-.02em}
.stat-label{font-size:.85rem;opacity:.7;font-weight:300;text-transform:uppercase;letter-spacing:.08em}

/* ─── SERVICE CARDS ─── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;transition:var(--trans);cursor:default;position:relative;box-shadow:var(--shadow)}
.service-card:hover{border-color:transparent;transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.sc-icon{width:60px;height:60px;background:var(--orange-light);border:2px solid rgba(255,90,31,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:1.4rem;margin-bottom:22px;transition:var(--trans)}
.service-card:hover .sc-icon{background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 4px 16px rgba(255,90,31,.3)}
.service-card h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.service-card p{font-size:.88rem;color:var(--gray);line-height:1.7;margin-bottom:18px;font-weight:400}
.sc-link{display:inline-flex;align-items:center;gap:7px;color:var(--orange);font-size:.85rem;font-weight:700;transition:var(--trans);text-transform:uppercase;letter-spacing:.5px}
.sc-link:hover{gap:12px}

/* ─── STEPS ─── */
.steps-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.steps-wrap::before{content:'';position:absolute;top:30px;left:calc(12.5% + 15px);right:calc(12.5% + 15px);height:2px;background:linear-gradient(90deg,var(--orange),var(--navy3));opacity:.15}
.step{text-align:center;padding:8px;transition:var(--trans)}
.step:hover{transform:translateY(-4px)}
.step-circle{width:60px;height:60px;border-radius:50%;background:#fff;border:3px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.3rem;font-weight:800;color:var(--gray2);box-shadow:var(--shadow);transition:var(--trans);position:relative;z-index:1}
.step-circle.active,.step:hover .step-circle{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:var(--shadow-orange)}
.step h4{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.step p{font-size:.84rem;color:var(--gray);line-height:1.65;font-weight:400}

/* ─── DEVIS FORM SECTION ─── */
.devis-wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:56px;align-items:start}
.devis-aside{color:#fff}
.devis-aside .section-title{color:#fff}
.devis-aside .section-sub{color:rgba(255,255,255,.7);margin-bottom:28px}
.aside-features{display:flex;flex-direction:column;gap:18px;margin-bottom:36px}
.aside-feat{display:flex;gap:14px;align-items:flex-start}
.aside-feat-icon{width:42px;height:42px;background:rgba(255,90,31,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;transition:var(--trans)}
.aside-feat:hover .aside-feat-icon{background:rgba(255,90,31,.35)}
.aside-feat-text h4{font-size:.93rem;font-weight:700;color:#fff;margin-bottom:3px}
.aside-feat-text p{font-size:.83rem;color:rgba(255,255,255,.65);font-weight:300}
.devis-phone-block{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;transition:var(--trans)}
.devis-phone-block:hover{background:rgba(255,255,255,.12)}
.dpb-icon{width:48px;height:48px;background:var(--orange);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}
.dpb-text span{display:block;font-size:.78rem;color:rgba(255,255,255,.6);margin-bottom:2px;font-weight:300}
.dpb-text a{font-size:1.35rem;font-weight:800;color:#fff;transition:var(--trans)}
.dpb-text a:hover{color:var(--orange)}

/* ─── FULL DEVIS FORM ─── */
.full-devis-form{background:#fff;border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow-lg)}
.fdf-title{font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:4px}
.fdf-sub{font-size:.85rem;color:var(--gray);margin-bottom:26px;font-weight:300}
.form-section-head{font-size:.72rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:10px;margin:22px 0 14px}
.form-section-head::after{content:'';flex:1;height:1px;background:var(--border)}
.radio-grid,.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choice-item{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--trans);font-size:.84rem;font-weight:500}
.choice-item:has(input:checked){border-color:var(--orange);background:var(--orange-light)}
.choice-item:hover{border-color:var(--orange)}
.choice-item input{accent-color:var(--orange);width:15px;height:15px;flex-shrink:0}
.choice-item span{color:var(--text)!important}
.form-success-msg{display:none;text-align:center;padding:40px 20px}
.form-success-msg i{font-size:3rem;color:var(--green);margin-bottom:14px}
.form-success-msg h3{font-size:1.25rem;font-weight:800;color:var(--navy);margin-bottom:8px}
.form-success-msg p{color:var(--gray);font-size:.92rem;font-weight:400}

/* ─── GALLERY ─── */
.gallery-masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:10px}
.gal-item{overflow:hidden;border-radius:var(--radius);position:relative;cursor:zoom-in}
.gal-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gal-item:nth-child(6){grid-column:span 2}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gal-item:hover img{transform:scale(1.07)}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,65,86,.5) 0%,transparent 60%);opacity:0;transition:var(--trans);display:flex;align-items:flex-end;padding:14px}
.gal-item:hover .gal-overlay{opacity:1}
.gal-overlay span{color:#fff;font-size:.8rem;font-weight:500}

/* ─── WHY US ─── */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.why-img-wrap{position:relative}
.why-img-main{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.why-img-main img{width:100%;max-height:520px;object-fit:cover;transition:transform .5s ease}
.why-img-main:hover img{transform:scale(1.03)}
.why-float-card{position:absolute;bottom:-24px;left:-28px;background:#fff;border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px;z-index:2}
.why-float-num{font-size:2rem;font-weight:800;color:var(--orange);line-height:1}
.why-float-text p{font-size:.78rem;color:var(--gray);line-height:1.4;font-weight:400}
.why-points{display:flex;flex-direction:column;gap:18px;margin-bottom:32px}
.why-pt{display:flex;gap:14px;align-items:flex-start;transition:var(--trans)}
.why-pt:hover{transform:translateX(4px)}
.why-pt-icon{width:44px;height:44px;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;font-size:1rem;transition:var(--trans)}
.why-pt:hover .why-pt-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.why-pt h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.why-pt p{font-size:.85rem;color:var(--gray);line-height:1.65;font-weight:400}

/* ─── TESTIMONIALS ─── */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-card{background:#fff;border:none;border-radius:var(--radius);padding:32px 28px;transition:var(--trans);position:relative;box-shadow:var(--shadow)}
.testi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.testi-quote{color:var(--orange);font-size:2.5rem;line-height:1;margin-bottom:12px;opacity:.25;font-family:Georgia,serif}
.testi-stars{color:#fbbf24;margin-bottom:12px;letter-spacing:2px}
.testi-text{font-size:.9rem;color:var(--gray);line-height:1.75;margin-bottom:22px;font-style:italic;font-weight:400}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-av{width:44px;height:44px;border-radius:50%;background:var(--orange-light);border:2px solid rgba(255,90,31,.15);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:var(--orange);flex-shrink:0}
.testi-name{font-weight:700;font-size:.88rem;color:var(--navy)}
.testi-loc{font-size:.78rem;color:var(--gray);font-weight:400}

/* ─── CONTENT LAYOUT (service pages) ─── */
.content-layout{display:grid;grid-template-columns:1fr 340px;gap:52px;align-items:start}
.content-main{}
.content-sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:100px}
.sidebar-form-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:28px 24px;box-shadow:var(--shadow)}
.sfk-header{margin-bottom:20px}
.sfk-header h3{font-size:1.05rem;font-weight:800;color:var(--navy);margin:8px 0 4px}
.sfk-header p{font-size:.82rem;color:var(--gray);font-weight:300}
.sidebar-contact-card{background:var(--light);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;transition:var(--trans)}
.sidebar-contact-card:hover{box-shadow:var(--shadow)}
.scc-icon{width:46px;height:46px;background:var(--orange);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.scc-label{font-size:.75rem;color:var(--gray);margin-bottom:2px;font-weight:400}
.scc-phone{font-size:1.15rem;font-weight:800;color:var(--navy);display:block}
.scc-hours{font-size:.75rem;color:var(--gray);margin-top:2px;font-weight:300}
.sidebar-links{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}
.sl-title{font-size:.72rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.sidebar-links a{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:500;color:var(--navy);padding:8px 0;border-bottom:1px solid var(--border);transition:var(--trans)}
.sidebar-links a:last-child{border-bottom:none}
.sidebar-links a:hover{color:var(--orange);padding-left:6px}
.sidebar-links a i{color:var(--orange);width:16px;text-align:center}

/* ─── PAGE HERO SIMPLE ─── */
.page-hero-simple{background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 100%);padding:56px 0 48px;color:#fff}
.page-hero-simple h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:#fff;margin:10px 0 12px;letter-spacing:-.02em}
.page-hero-simple p{font-size:1.05rem;color:rgba(255,255,255,.75);max-width:600px;font-weight:300}

/* ─── WHY STRIP ─── */
.why-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.why-strip-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px 24px;text-align:center;transition:var(--trans);box-shadow:var(--shadow)}
.why-strip-item:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.wsi-icon{width:58px;height:58px;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--orange);font-size:1.3rem;transition:var(--trans)}
.why-strip-item:hover .wsi-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.why-strip-item h4{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.why-strip-item p{font-size:.85rem;color:var(--gray);line-height:1.65;font-weight:400}

/* ─── BUY CATEGORIES ─── */
.buy-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.buy-cat{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px 24px;text-align:center;transition:var(--trans);box-shadow:var(--shadow)}
.buy-cat:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.buy-cat-icon{width:58px;height:58px;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--orange);font-size:1.3rem;transition:var(--trans)}
.buy-cat:hover .buy-cat-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.buy-cat h4{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.buy-cat p{font-size:.85rem;color:var(--gray);line-height:1.65;font-weight:400}

/* ─── CERTIFICATIONS ─── */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.cert-item{background:#fff;border-radius:var(--radius);padding:28px 22px;text-align:center;border:1px solid var(--border);transition:var(--trans);box-shadow:var(--shadow)}
.cert-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.cert-icon{width:56px;height:56px;background:var(--light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--orange);font-size:1.3rem;border:2px solid var(--border);transition:var(--trans)}
.cert-item:hover .cert-icon{border-color:var(--orange);background:var(--orange-light)}
.cert-item h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.cert-item p{font-size:.84rem;color:var(--gray);line-height:1.65;font-weight:400}

/* ─── GALLERY FILTERS ─── */
.gallery-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:32px 0 28px}
.gf-btn{padding:9px 22px;border:2px solid var(--border);border-radius:50px;background:#fff;font-size:.85rem;font-weight:600;color:var(--navy);cursor:pointer;transition:var(--trans);text-transform:uppercase;letter-spacing:.5px}
.gf-btn:hover,.gf-btn.active{background:var(--orange);border-color:var(--orange);color:#fff;transform:scale(1.03)}
.gallery-full{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px}

/* ─── CONTENT ARTICLE ─── */
.content-article h2{font-size:1.5rem;font-weight:800;color:var(--navy);margin:36px 0 14px;letter-spacing:-.01em}
.content-article h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin:26px 0 10px}
.content-article p{color:var(--gray);font-size:.95rem;line-height:1.85;margin-bottom:16px;font-weight:400}
.content-article ul,.content-article ol{margin:16px 0 20px 0;display:flex;flex-direction:column;gap:9px}
.content-article li{display:flex;align-items:flex-start;gap:10px;font-size:.93rem;color:var(--gray);line-height:1.65;font-weight:400}
.content-article li::before{content:'\f058';font-family:'Font Awesome 6 Free';font-weight:900;color:var(--orange);flex-shrink:0;margin-top:2px}
.content-article ol li{counter-increment:none}
.content-article ol li::before{content:none}
.content-article ol{list-style:decimal;padding-left:20px}
.content-article ol li{display:list-item}
.content-article strong{color:var(--text);font-weight:700}
.content-article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem;border-radius:var(--radius);overflow:hidden}
.content-article th{background:var(--navy);color:#fff;padding:12px 16px;text-align:left;font-weight:600}
.content-article td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--gray)}
.content-article tr:nth-child(even) td{background:var(--light)}
.content-article .highlight-box{background:var(--light);border-left:4px solid var(--orange);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:18px 22px;margin:22px 0}
.content-article .highlight-box p{margin-bottom:0;color:var(--text)}

/* ─── FAQ ─── */
.faq-list{display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto}
.faq-item{background:#fff;border:none;border-bottom:1px solid var(--border);border-radius:0;overflow:hidden;transition:background var(--trans)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-item.open{background:var(--light)}
.faq-trigger{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--navy);gap:12px;transition:color var(--trans);user-select:none}
.faq-trigger:hover{color:var(--orange)}
.faq-trigger .faq-icon{width:28px;height:28px;border-radius:50%;background:var(--orange-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--trans)}
.faq-trigger .faq-icon i{color:var(--orange);font-size:.8rem;transition:transform var(--trans)}
.faq-item.open .faq-icon{background:var(--orange)}
.faq-item.open .faq-icon i{color:#fff;transform:rotate(45deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .38s ease,padding .22s}
.faq-item.open .faq-body{max-height:500px;padding-bottom:2px}
.faq-body-inner{padding:0 24px 20px;font-size:.9rem;color:var(--gray);line-height:1.75;font-weight:400}

/* ─── ZONES ─── */
.zones-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}
.zone-tag{background:#fff;border:1px solid var(--border);border-radius:50px;padding:9px 20px;font-size:.85rem;font-weight:500;color:var(--navy);transition:var(--trans);cursor:default;box-shadow:var(--shadow)}
.zone-tag:hover{background:var(--orange);color:#fff;border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow-orange)}
.zone-tag-link{cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.zone-tag-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ─── CTA STRIP ─── */
.cta-strip{background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 100%);padding:80px 0;text-align:center;overflow:hidden;position:relative}
.cta-strip::before{content:'';position:absolute;top:-50%;left:-10%;width:320px;height:320px;background:rgba(255,255,255,.07);border-radius:50%}
.cta-strip::after{content:'';position:absolute;bottom:-40%;right:-5%;width:240px;height:240px;background:rgba(255,255,255,.05);border-radius:50%}
.cta-strip-inner{position:relative;z-index:1}
.cta-strip h2{font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:-.02em}
.cta-strip p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:32px;max-width:540px;margin-left:auto;margin-right:auto;font-weight:300}
.cta-strip-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* ─── PRICE TABLE ─── */
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.price-card{border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:var(--trans);background:#fff;box-shadow:var(--shadow)}
.price-card:hover,.price-card.popular{border-color:var(--orange);transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.price-card.popular{position:relative}
.price-card.popular::before{content:'Plus populaire';position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:.72rem;font-weight:700;padding:5px 18px;border-radius:50px;text-transform:uppercase;letter-spacing:.5px}
.price-type{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:8px}
.price-val{font-size:2.6rem;font-weight:800;color:var(--navy);line-height:1;margin-bottom:4px}
.price-val span{font-size:1rem;font-weight:400;color:var(--gray)}
.price-desc{font-size:.88rem;color:var(--gray);margin-bottom:20px;font-weight:400}
.price-features{text-align:left;display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.price-features li{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--gray);font-weight:400}
.price-features li i{color:var(--green);flex-shrink:0}

/* ─── RELATED SERVICES ─── */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--trans);background:#fff;box-shadow:var(--shadow)}
.related-card:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.related-img{height:160px;overflow:hidden}
.related-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.related-card:hover .related-img img{transform:scale(1.05)}
.related-body{padding:20px}
.related-body h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.related-body p{font-size:.83rem;color:var(--gray);margin-bottom:12px;line-height:1.6;font-weight:400}
.related-link{font-size:.83rem;font-weight:700;color:var(--orange);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px;transition:var(--trans)}
.related-link:hover{gap:10px}

/* ─── CONTACT PAGE ─── */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.contact-info-block{display:flex;flex-direction:column;gap:20px}
.contact-info-item{display:flex;gap:16px;align-items:flex-start;transition:var(--trans)}
.contact-info-item:hover{transform:translateX(4px)}
.cii-icon{width:48px;height:48px;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;font-size:1.1rem;transition:var(--trans)}
.contact-info-item:hover .cii-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.cii-text h4{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:3px}
.cii-text p,.cii-text a{font-size:.9rem;color:var(--gray);font-weight:400}
.cii-text a:hover{color:var(--orange)}
.map-placeholder{border-radius:var(--radius);overflow:hidden;height:240px;background:var(--light);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.9rem;border:1px solid var(--border);margin-top:24px}
.map-placeholder i{margin-right:8px;color:var(--orange)}

/* ─── ABOUT PAGE ─── */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{text-align:center;transition:var(--trans)}
.team-card:hover{transform:translateY(-4px)}
.team-avatar{width:100%;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow)}
.team-avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.team-card:hover .team-avatar img{transform:scale(1.05)}
.team-name{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:3px}
.team-role{font-size:.82rem;color:var(--gray);font-weight:400}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.value-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px 24px;text-align:center;transition:var(--trans);box-shadow:var(--shadow)}
.value-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.value-icon{width:60px;height:60px;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--orange);font-size:1.4rem;transition:var(--trans)}
.value-card:hover .value-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.value-card h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.value-card p{font-size:.87rem;color:var(--gray);line-height:1.7;font-weight:400}

/* ─── URGENT BAR ─── */
.urgent-bar{background:var(--navy2);padding:9px 0;font-size:.82rem;color:rgba(255,255,255,.85)}
.urgent-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ub-left{display:flex;align-items:center;gap:7px;font-weight:400}
.ub-left i{color:var(--orange)}
.ub-right{display:flex;gap:12px}
.ub-phone,.ub-wa{display:flex;align-items:center;gap:6px;font-weight:700;color:#fff;padding:4px 12px;border-radius:6px;transition:var(--trans)}
.ub-phone{background:rgba(255,90,31,.25)}
.ub-phone:hover{background:var(--orange)}
.ub-wa{background:rgba(37,211,102,.25)}
.ub-wa:hover{background:#25d366}

/* ─── LOCATION HERO ─── */
.loc-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 60%,var(--navy2) 100%);padding:60px 0 72px;overflow:hidden;position:relative}
.loc-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,90,31,.1) 0%,transparent 70%)}
.loc-hero-grid{display:grid;grid-template-columns:1fr 460px;gap:52px;align-items:start}
.loc-hero-left{color:#fff}
.loc-hero-left h1{font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:800;color:#fff;margin:12px 0 16px;line-height:1.15;letter-spacing:-.02em}
.loc-hero-left h1 .hl{color:var(--orange)}
.loc-hero-left .page-hero-sub{font-size:1.02rem;color:rgba(255,255,255,.78);line-height:1.7;margin-bottom:24px;font-weight:300}
.loc-trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.lts-item{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);padding:6px 12px;border-radius:50px;transition:var(--trans)}
.lts-item:hover{background:rgba(255,255,255,.15)}
.lts-item i{color:var(--green)}
.loc-phone-big a{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:18px 22px;transition:var(--trans);text-decoration:none;margin-bottom:10px}
.loc-phone-big a:hover{background:rgba(255,90,31,.2);border-color:var(--orange)}
.lpb-icon{width:50px;height:50px;background:var(--orange);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;flex-shrink:0}
.lpb-text{display:flex;flex-direction:column}
.lpb-text span{font-size:.77rem;color:rgba(255,255,255,.6);font-weight:300}
.lpb-text strong{font-size:1.5rem;font-weight:800;color:#fff;line-height:1.1}
.lpb-hours{font-size:.75rem;color:rgba(255,255,255,.5)!important;font-weight:300}
.lpb-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:700;font-size:.88rem;padding:10px 20px;border-radius:50px;transition:var(--trans);text-transform:uppercase;letter-spacing:.5px}
.lpb-wa:hover{background:#1db954;transform:scale(1.03)}
.hero-social-proof{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:.85rem;color:rgba(255,255,255,.65);font-weight:300}
.hero-stars{color:#fbbf24;letter-spacing:2px;font-size:1rem}
.hero-stars-sep{width:1px;height:16px;background:rgba(255,255,255,.2)}

/* ─── LOCATION HERO FORM ─── */
.loc-hero-form{background:#fff;border-radius:var(--radius-lg);padding:32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.lhf-badge{display:inline-flex;align-items:center;gap:6px;background:var(--orange-light);color:var(--orange);font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:50px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.1em}
.loc-hero-form h3{font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:4px}
.loc-hero-form h3 span{color:var(--orange)}
.loc-hero-form p{font-size:.83rem;color:var(--gray);margin-bottom:18px;font-weight:300}

/* ─── LOC INLINE CTA ─── */
.loc-cta-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--light);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin:24px 0;flex-wrap:wrap;transition:var(--trans)}
.loc-cta-inline:hover{box-shadow:var(--shadow)}
.lci-text{display:flex;flex-direction:column;gap:3px}
.lci-text strong{font-size:.95rem;color:var(--navy)}
.lci-text span{font-size:.82rem;color:var(--gray);font-weight:400}

/* ─── LOC SERVICES GRID ─── */
.loc-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 28px}
.loc-srv{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--trans);text-decoration:none}
.loc-srv:hover{border-color:var(--orange);background:var(--orange-light);transform:translateX(4px)}
.loc-srv-icon{width:40px;height:40px;background:var(--orange-light);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;font-size:1rem;transition:var(--trans)}
.loc-srv:hover .loc-srv-icon{background:var(--orange);color:#fff}
.loc-srv div{flex:1}
.loc-srv div strong{display:block;font-size:.88rem;font-weight:700;color:var(--navy)}
.loc-srv div span{font-size:.78rem;color:var(--gray);font-weight:400}
.loc-srv > i.fa-chevron-right{color:var(--gray2);font-size:.75rem;transition:var(--trans)}
.loc-srv:hover > i.fa-chevron-right{color:var(--orange)}
.loc-srv-cta{background:var(--orange);border-color:var(--orange)}
.loc-srv-cta .loc-srv-icon{background:rgba(255,255,255,.25);color:#fff}
.loc-srv-cta div strong,.loc-srv-cta div span{color:#fff}
.loc-srv-cta > i.fa-chevron-right{color:rgba(255,255,255,.7)}
.loc-srv-cta:hover{background:var(--orange2);border-color:var(--orange2)}

/* ─── LOC ORANGE CTA INLINE ─── */
.loc-orange-cta{background:var(--orange);border-radius:var(--radius);padding:28px 28px;margin:32px 0;transition:var(--trans)}
.loc-orange-cta:hover{box-shadow:var(--shadow-orange)}
.loc-oc-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.loc-oc-text{display:flex;flex-direction:column;gap:4px}
.loc-oc-text strong{font-size:1.05rem;font-weight:800;color:#fff}
.loc-oc-text span{font-size:.85rem;color:rgba(255,255,255,.8);font-weight:300}
.loc-oc-btns{display:flex;gap:10px;flex-wrap:wrap}

/* ─── SIDEBAR WA CARD ─── */
.sidebar-wa-card{display:flex;align-items:center;gap:14px;background:#25d366;border-radius:var(--radius);padding:18px 20px;text-decoration:none;transition:var(--trans)}
.sidebar-wa-card:hover{background:#1db954;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.3)}
.sidebar-wa-card > i.fab{font-size:1.6rem;color:#fff;flex-shrink:0}
.sidebar-wa-card div strong{display:block;font-size:.9rem;font-weight:700;color:#fff}
.sidebar-wa-card div span{font-size:.78rem;color:rgba(255,255,255,.8);font-weight:300}
.sidebar-wa-card > i.fa-arrow-right{color:rgba(255,255,255,.7);margin-left:auto;flex-shrink:0}

/* ─── NEARBY GRID ─── */
.nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.nearby-card{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:var(--trans);background:#fff;box-shadow:var(--shadow)}
.nearby-card:hover{border-color:var(--orange);background:var(--orange-light);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.nearby-icon{width:36px;height:36px;background:var(--orange-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;font-size:.9rem;transition:var(--trans)}
.nearby-card:hover .nearby-icon{background:var(--orange);color:#fff}
.nearby-name{flex:1;font-size:.86rem;font-weight:600;color:var(--navy);line-height:1.3}
.nearby-arrow{color:var(--gray2);font-size:.75rem;transition:var(--trans);flex-shrink:0}
.nearby-card:hover .nearby-arrow{color:var(--orange)}

/* ─── FULL FORM CARD (inc/full-form.php) ─── */
.full-form-card{background:#fff;border-radius:var(--radius-lg);padding:38px 34px;box-shadow:var(--shadow-lg)}
.ffc-header{margin-bottom:26px}
.ffc-header h3{font-size:1.2rem;font-weight:800;color:var(--navy);margin:10px 0 4px}
.ffc-header p{font-size:.85rem;color:var(--gray);font-weight:300}
.form-section-label{font-size:.72rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:10px;margin:20px 0 12px}
.form-section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.form-field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.form-field input,.form-field select,.form-field textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;font-size:.9rem;color:var(--text);background:#fff;transition:border-color var(--trans),box-shadow var(--trans);outline:none;width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,31,.08)}
.form-field textarea{resize:vertical;min-height:80px}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.radio-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.radio-opt{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.84rem;font-weight:500;transition:var(--trans);color:var(--text)}
.radio-opt span{color:var(--text)!important;font-size:.84rem;font-weight:500}
.radio-opt:has(input:checked){border-color:var(--orange);background:var(--orange-light)}
.radio-opt:hover{border-color:var(--orange)}
.radio-opt input{accent-color:var(--orange);width:14px;height:14px;flex-shrink:0}
.check-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.check-opt{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.84rem;font-weight:500;transition:var(--trans);color:var(--text)}
.check-opt span{color:var(--text)!important;font-size:.84rem;font-weight:500}
.check-opt:has(input:checked){border-color:var(--orange);background:var(--orange-light)}
.check-opt:hover{border-color:var(--orange)}
.check-opt input{accent-color:var(--orange);width:14px;height:14px;flex-shrink:0}
.form-privacy{text-align:center;font-size:.77rem;color:var(--gray2);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:400}

/* ─── FOOTER ─── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.7);position:relative}
.site-footer::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,transparent 40%);pointer-events:none}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.4fr;gap:32px;padding:72px 0 48px;position:relative}
.footer-brand h3{color:#fff;font-size:1.1rem;font-weight:800;margin-bottom:12px}
.footer-brand p{font-size:.85rem;line-height:1.75;margin-bottom:20px;font-weight:300}
.footer-socials{display:flex;gap:10px}
.social-icon{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.85rem;transition:var(--trans)}
.social-icon:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}
.footer-col h4{color:#fff;font-weight:700;font-size:.85rem;margin-bottom:18px;text-transform:uppercase;letter-spacing:.1em}
.footer-col ul{display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{font-size:.84rem;transition:var(--trans);display:flex;align-items:center;gap:6px;font-weight:300}
.footer-col ul li a:hover{color:#fff;transform:translateX(5px)}
.footer-contact li{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;font-size:.84rem;font-weight:300}
.footer-contact li i{color:var(--orange);flex-shrink:0;margin-top:3px}
.footer-contact li a{color:rgba(255,255,255,.7);transition:var(--trans);font-weight:300}
.footer-contact li a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;flex-wrap:wrap;gap:8px;position:relative;font-weight:300}
.footer-bottom-links{display:flex;gap:16px}
.footer-bottom-links a{transition:var(--trans);font-weight:400}
.footer-bottom-links a:hover{color:#fff;transform:translateX(3px)}

/* ─── FLOATING ─── */
.float-stack{position:fixed;bottom:26px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:1000}
.float-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 6px 24px rgba(0,0,0,.22);transition:var(--trans)}
.float-btn:hover{transform:scale(1.12)}
.float-wa{background:#25d366;color:#fff;animation:pulse-wa 2.8s infinite}
.float-phone{background:var(--orange);color:#fff;animation:pulse-or 2.8s 1.4s infinite}
@keyframes pulse-wa{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.35)}50%{box-shadow:0 8px 36px rgba(37,211,102,.55)}}
@keyframes pulse-or{0%,100%{box-shadow:0 6px 24px rgba(255,90,31,.35)}50%{box-shadow:0 8px 36px rgba(255,90,31,.55)}}

/* ─── SCROLL REVEAL ─── */
.sr{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.sr.in{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.2s}.sr-d3{transition-delay:.3s}.sr-d4{transition-delay:.4s}
.sr-left{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s ease}
.sr-left.in{opacity:1;transform:none}
.sr-right{opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease}
.sr-right.in{opacity:1;transform:none}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .loc-hero-grid{grid-template-columns:1fr;gap:36px}
  .nearby-grid{grid-template-columns:repeat(2,1fr)}
  .loc-services-grid{grid-template-columns:1fr}
  .content-layout{grid-template-columns:1fr;gap:40px}
  .content-sidebar{position:static}
  .why-strip-grid,.cert-grid{grid-template-columns:repeat(2,1fr)}
  .buy-categories{grid-template-columns:repeat(2,1fr)}
  .main-hero-grid,.page-hero-grid{grid-template-columns:1fr;gap:40px}
  .page-hero-grid .hero-img-wrap{display:none}
  .main-hero-grid{padding:60px 0}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .steps-wrap{grid-template-columns:repeat(2,1fr)}
  .steps-wrap::before{display:none}
  .devis-wrap{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr;gap:44px}
  .why-float-card{left:12px;bottom:12px}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .gallery-masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:160px}
  .gal-item:nth-child(1){grid-column:span 1;grid-row:span 1}
  .gal-item:nth-child(6){grid-column:span 1}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px}
  .contact-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .topbar-left{display:none}
  .main-nav,.header-partner{display:none!important}
  .hamburger{display:flex}
  .section{padding:60px 0}
  .section-sm{padding:40px 0}
  .services-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2)::after{display:none}
  .testimonials-grid{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:140px}
  .price-cards{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .zones-cloud{gap:7px}
  .values-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .related-grid{grid-template-columns:1fr}
  .logo-icon{width:40px;height:40px;border-radius:10px}
  .logo-house{width:20px;height:17px}
  .logo-roof{border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:9px solid #fff}
  .logo-door{width:17px;height:10px}
  .logo-door::before{width:5px;height:7px}
  .logo-brand{font-size:1.05rem}
  .logo-tagline{font-size:.62rem}
  .logo-sparkle{display:none}
  .urgent-bar-inner{flex-direction:column;gap:8px;text-align:center}
  .nearby-grid{grid-template-columns:1fr 1fr}
  .loc-cta-inline{flex-direction:column;align-items:flex-start}
  .loc-oc-content{flex-direction:column;align-items:flex-start}
  .form-2col{grid-template-columns:1fr}
  .radio-grid,.check-grid,.check-group{grid-template-columns:1fr}
  .full-devis-form,.full-form-card{padding:24px 18px}
  .situations-grid{grid-template-columns:1fr 1fr}
  .compare-block{grid-template-columns:1fr;padding:32px 24px}
  .price-factors-grid{grid-template-columns:1fr}
  .why-strip-grid,.buy-categories,.cert-grid{grid-template-columns:1fr}
  .gallery-full{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .cta-strip-btns{flex-direction:column;align-items:center}
  .hero-cta-group{flex-direction:column}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .situations-grid{grid-template-columns:1fr}
}

/* ── Situations grid ── */
.situations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.sit-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:var(--trans);box-shadow:var(--shadow)}
.sit-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.sit-icon{width:52px;height:52px;border-radius:50%;background:var(--orange-light);border:2px solid rgba(255,90,31,.12);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--orange);margin-bottom:16px;transition:var(--trans)}
.sit-card:hover .sit-icon{background:var(--orange);color:#fff;border-color:var(--orange)}
.sit-card h4{color:var(--navy);font-size:1.05rem;font-weight:700;margin-bottom:10px}
.sit-card p{color:var(--gray);font-size:.9rem;line-height:1.7;margin-bottom:16px;font-weight:400}
.sit-card a{color:var(--orange);font-weight:700;font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px;transition:var(--trans)}
.sit-card a:hover{gap:10px;color:var(--navy)}
/* ── Compare block ── */
.compare-block{background:var(--navy);border-radius:var(--radius);padding:48px 40px;margin:0 auto;max-width:900px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.compare-block-text .badge{margin-bottom:16px}
.compare-block-text h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}
.compare-block-text p{color:rgba(255,255,255,.75);font-size:.97rem;line-height:1.7;margin-bottom:0;font-weight:300}
.compare-block-items{display:flex;flex-direction:column;gap:20px}
.cbi{display:flex;gap:16px;align-items:flex-start;transition:var(--trans)}
.cbi:hover{transform:translateX(4px)}
.cbi-num{width:44px;height:44px;background:var(--orange);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff;flex-shrink:0}
.cbi-text h4{color:#fff;font-size:.97rem;font-weight:700;margin-bottom:4px}
.cbi-text p{color:rgba(255,255,255,.65);font-size:.88rem;line-height:1.55;margin:0;font-weight:300}
/* ── Price factors ── */
.price-factors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.pf-item{background:#fff;border-radius:var(--radius-sm);padding:18px;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--border);transition:var(--trans)}
.pf-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.pf-icon{width:40px;height:40px;background:var(--orange-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:1rem;flex-shrink:0;transition:var(--trans)}
.pf-item:hover .pf-icon{background:var(--orange);color:#fff}
.pf-text h4{color:var(--navy);font-size:.93rem;font-weight:700;margin-bottom:4px}
.pf-text p{color:var(--gray);font-size:.85rem;line-height:1.55;margin:0;font-weight:400}
/* ── Price note & advantages ── */
.price-note{background:var(--light);border-left:4px solid var(--orange);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:18px 20px;margin-top:16px;font-size:.9rem}
.price-note p{color:var(--gray);margin-bottom:12px;line-height:1.7;font-weight:400}
.price-advantages{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.price-advantages li{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:600;font-size:.88rem}
.price-advantages li i{color:var(--green);font-size:.85rem;flex-shrink:0}

/* ── Photo upload zone ── */
.photo-upload-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:22px 16px;text-align:center;cursor:pointer;transition:border-color .3s,background .3s;position:relative;background:var(--light);margin-top:4px}
.photo-upload-zone:hover,.photo-upload-zone.dragover{border-color:var(--orange);background:rgba(255,90,31,.04)}
.photo-upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.puz-icon{font-size:1.8rem;color:var(--gray2);margin-bottom:6px}
.puz-text strong{color:var(--navy);display:block;font-size:.9rem;margin-bottom:3px}
.puz-text span{color:var(--gray);font-size:.8rem;font-weight:400}
.photo-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:0}
.photo-preview{width:70px;height:70px;border-radius:var(--radius-sm);overflow:hidden;position:relative;border:2px solid var(--border);flex-shrink:0}
.photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.photo-preview-del{position:absolute;top:2px;right:2px;background:rgba(229,62,62,.85);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:var(--trans)}
.photo-preview-del:hover{background:#c53030}
.photo-count-note{font-size:.78rem;color:var(--gray);margin-top:6px;font-weight:400}
/* ── Multi-step forms ─────────────────────────────────────── */
/* ffc = full-card (large forms)   sfk = sidebar/compact forms */
.ffc-steps-bar,.sfk-steps-bar{display:flex;align-items:center;justify-content:center;gap:0;position:relative}
.ffc-steps-bar{margin-bottom:32px;padding:18px 24px;background:var(--light);border-radius:var(--radius);border:1px solid var(--border)}
.sfk-steps-bar{margin-bottom:16px}
.ffc-step-item,.sfk-step-item{display:flex;align-items:center;font-weight:600;color:var(--gray2);transition:all .3s}
.ffc-step-item{gap:10px;font-size:.85rem;padding:0 6px}
.sfk-step-item{gap:6px;font-size:.78rem}
.ffc-step-num{width:42px;height:42px;font-size:1rem}
.sfk-step-num{width:28px;height:28px;font-size:.82rem}
.ffc-step-num,.sfk-step-num{border-radius:50%;background:#fff;color:var(--gray);display:flex;align-items:center;justify-content:center;font-weight:800;transition:all .3s;flex-shrink:0;border:2.5px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ffc-step-item.active .ffc-step-num,.sfk-step-item.active .sfk-step-num{background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 4px 16px rgba(255,90,31,.35);transform:scale(1.1)}
.ffc-step-item.active,.sfk-step-item.active{color:var(--orange);font-weight:700}
.ffc-step-item.done .ffc-step-num,.sfk-step-item.done .sfk-step-num{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px 12px rgba(22,163,74,.3)}
.ffc-step-item.done,.sfk-step-item.done{color:var(--green)}
.ffc-step-line{width:56px;height:3px;margin:0 4px}
.sfk-step-line{width:22px;height:2px;margin:0 3px}
.ffc-step-line,.sfk-step-line{background:var(--border);border-radius:2px;transition:background .3s;flex-shrink:0}
.ffc-step-line.done,.sfk-step-line.done{background:var(--green)}
.ffc-step-label{display:none;font-size:.82rem;font-weight:600;color:var(--gray)!important}
.ffc-step-item.active .ffc-step-label{color:var(--orange)!important}
.ffc-step-item.done .ffc-step-label{color:var(--green)!important}
.sfk-step-label{display:none}
@media(min-width:480px){.ffc-step-label{display:inline}}
.ffc-step,.sfk-step{display:none}
.ffc-step.active,.sfk-step.active{display:block;animation:stepFade .3s ease-out}
@keyframes stepFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ffc-step-heading{font-size:1.05rem;font-weight:800;color:var(--navy);margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid var(--orange)}
.sfk-step-heading{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--orange)}
.ffc-nav,.sfk-nav{display:flex;align-items:center;gap:8px;margin-top:16px}
.ffc-btn-back,.sfk-btn-back{background:transparent;color:var(--gray);border:2px solid var(--border);border-radius:50px;font-weight:700;cursor:pointer;transition:var(--trans);font-family:inherit}
.ffc-btn-back{padding:11px 22px;font-size:.9rem}
.sfk-btn-back{padding:9px 16px;font-size:.82rem}
.ffc-btn-back:hover,.sfk-btn-back:hover{border-color:var(--navy);color:var(--navy);transform:scale(1.03)}
.ffc-err,.sfk-err{color:#e53e3e;font-size:.78rem;margin-top:4px;display:block;font-weight:500}

/* ============================================================
   MONVIDEMAISON-STYLE ADDITIONS
   ============================================================ */

/* ─── SECTION VARIANTS ─── */
.section-gray{background:var(--light)}
.section-dark{background:var(--navy);color:#fff}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark p,.section-dark span,.section-dark a{color:#fff}
.section-dark .section-subtitle{color:rgba(255,255,255,.7)}

/* ─── Override section-dark for white-bg cards inside dark sections ─── */
.section-dark .quick-form-card,
.section-dark .full-form-card,
.section-dark .loc-hero-form,
.section-dark .sidebar-form-card{color:var(--text)}
.section-dark .quick-form-card h3,
.section-dark .full-form-card h3,
.section-dark .loc-hero-form h3,
.section-dark .sidebar-form-card h3{color:var(--navy)}
.section-dark .quick-form-card p,
.section-dark .full-form-card p,
.section-dark .loc-hero-form p,
.section-dark .sidebar-form-card p{color:var(--gray)}
.section-dark .quick-form-card span,
.section-dark .full-form-card span,
.section-dark .loc-hero-form span,
.section-dark .sidebar-form-card span{color:inherit}
.section-dark .quick-form-card a,
.section-dark .full-form-card a,
.section-dark .loc-hero-form a,
.section-dark .sidebar-form-card a{color:inherit}
.section-dark .quick-form-card label,
.section-dark .full-form-card label,
.section-dark .loc-hero-form label,
.section-dark .sidebar-form-card label{color:var(--navy)}
.section-dark .quick-form-card .form-privacy,
.section-dark .full-form-card .form-privacy,
.section-dark .loc-hero-form .form-privacy,
.section-dark .sidebar-form-card .form-privacy{color:var(--gray2)}
.section-dark .quick-form-card .badge-green,
.section-dark .full-form-card .badge-green{color:var(--green)}
.section-dark .qfc-header p,
.section-dark .ffc-header p,
.section-dark .loc-hero-form p{color:var(--gray)}
/* Reset ALL form element colors inside white cards within dark sections */
.section-dark .quick-form-card input,
.section-dark .quick-form-card select,
.section-dark .quick-form-card textarea,
.section-dark .full-form-card input,
.section-dark .full-form-card select,
.section-dark .full-form-card textarea,
.section-dark .loc-hero-form input,
.section-dark .loc-hero-form select,
.section-dark .loc-hero-form textarea,
.section-dark .sidebar-form-card input,
.section-dark .sidebar-form-card select,
.section-dark .sidebar-form-card textarea{color:var(--text);background:#fff}
.section-dark .quick-form-card .btn-orange,
.section-dark .full-form-card .btn-orange,
.section-dark .loc-hero-form .btn-orange,
.section-dark .sidebar-form-card .btn-orange{color:#fff}
/* Step bar inside dark sections */
.section-dark .ffc-step-heading,
.section-dark .sfk-step-heading{color:var(--navy)}
.section-dark .ffc-step-label{color:var(--gray)}
.section-dark .ffc-step-item.active .ffc-step-label{color:var(--orange)}
.section-dark .ffc-step-item.done .ffc-step-label{color:var(--green)}
.section-dark .ffc-err,
.section-dark .sfk-err{color:#e53e3e}
/* Step bar numbers and labels inside dark sections */
.section-dark .ffc-step-num{color:var(--gray)!important}
.section-dark .ffc-step-item.active .ffc-step-num{color:#fff!important}
.section-dark .ffc-step-item.done .ffc-step-num{color:#fff!important}
.section-dark .ffc-step-item{color:var(--gray2)!important}
.section-dark .ffc-step-item.active{color:var(--orange)!important}
.section-dark .ffc-step-item.done{color:var(--green)!important}
/* Photo upload zone inside dark sections */
.section-dark .puz-text strong{color:var(--navy)!important}
.section-dark .puz-text span{color:var(--gray)!important}
.section-dark .photo-count-note{color:var(--gray)!important}
/* Form privacy inside dark sections */
.section-dark .form-privacy i{color:var(--green)!important}
/* Success states inside white cards */
.section-dark .full-form-card #fullSuccess strong,
.section-dark .quick-form-card #quickSuccess strong{color:var(--navy)!important}
.section-dark .full-form-card #fullSuccess p,
.section-dark .quick-form-card #quickSuccess p{color:var(--gray)!important}
.section-dark .full-form-card #fullSuccess i,
.section-dark .quick-form-card #quickSuccess i{color:var(--green)!important}

/* ─── WAVE SHAPES (disabled — clean section transitions) ─── */
.section-wave{position:relative}
.section-wave-top{position:relative}
.section-wave-bottom{position:relative}
.hero-wave{display:none}

/* ─── SECTION SUBTITLE (monvidemaison style) ─── */
.section-subtitle{display:block;font-size:clamp(.85rem,2vw,1rem);font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--orange);margin-bottom:10px}

/* ─── ICON CIRCLES ─── */
.icon-circle{width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,90,31,.15);background:var(--orange-light);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--orange);transition:all .3s ease;margin-bottom:16px;flex-shrink:0}
.icon-circle-sm{width:48px;height:48px;font-size:1rem;margin-bottom:12px}
.card-hover:hover .icon-circle{background:var(--orange);color:#fff;border-color:var(--orange);transform:scale(1.08);box-shadow:var(--shadow-orange)}

/* ─── CARD HOVER EFFECT ─── */
.card-hover{transition:transform .3s ease,box-shadow .3s ease}
.card-hover:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}

/* ─── COMPARE GRID (Why Compare section) ─── */
.compare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.compare-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:28px 20px;text-align:center;transition:all .3s ease}
.compare-item:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.compare-num{width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:var(--shadow-orange)}
.compare-item h4{color:#fff;font-size:1rem;margin-bottom:8px;font-weight:700}
.compare-item p{color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.55;font-weight:300}

/* ─── INCLUDED GRID ─── */
.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.included-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 20px;text-align:center;transition:all .3s ease}
.included-card:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.included-card h4{font-size:.95rem;margin-bottom:6px;font-weight:700;color:var(--navy)}
.included-card p{font-size:.85rem;color:var(--gray);line-height:1.5;font-weight:400}

/* ─── STEPS HORIZONTAL (How it works) ─── */
.steps-horizontal{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative}
.step-h{text-align:center;padding:0 20px;position:relative}
.step-h-icon{width:80px;height:80px;border-radius:50%;background:#fff;border:3px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:1.6rem;color:var(--orange);position:relative;z-index:2;transition:all .3s ease;box-shadow:var(--shadow)}
.step-h:hover .step-h-icon{border-color:var(--orange);background:var(--orange);color:#fff;transform:scale(1.1);box-shadow:var(--shadow-orange)}
.step-h-num{position:absolute;top:-8px;right:-4px;width:28px;height:28px;border-radius:50%;background:var(--orange);color:#fff;font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(255,90,31,.35);z-index:3;border:3px solid var(--light)}
.step-h-connector{position:absolute;top:40px;left:calc(50% + 40px);width:calc(100% - 80px);height:3px;background:var(--border);z-index:1}
.step-h:last-child .step-h-connector{display:none}
.step-h h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.step-h p{font-size:.88rem;color:var(--gray);line-height:1.6;font-weight:400}

/* ─── TIMELINE (legacy — service pages) ─── */
.timeline{position:relative;padding-left:40px;margin-top:36px}
.timeline::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--orange),var(--orange2));border-radius:2px}
.timeline-item{position:relative;padding-bottom:36px;padding-left:28px}
.timeline-item:last-child{padding-bottom:0}
.timeline-marker{position:absolute;left:-40px;top:0;width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;box-shadow:0 4px 16px rgba(255,90,31,.3);z-index:1}
.timeline-content h4{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.timeline-content p{font-size:.92rem;color:var(--gray);line-height:1.6;font-weight:400}

/* ─── FAQ CLEAN STYLE ─── */
.faq-clean .faq-item{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}
.faq-clean .faq-item:last-child{border-bottom:none}
.faq-clean .faq-trigger{padding:20px 0}
.faq-clean .faq-item.active .faq-trigger{color:var(--orange)}
.faq-clean .faq-icon{transition:transform .3s ease}
.faq-clean .faq-item.active .faq-icon{transform:rotate(180deg)}
.faq-clean .faq-body-inner{padding:0 0 20px 0}

/* ─── FOOTER OVERLAY ─── */
.footer-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(45,65,86,.97) 0%,rgba(26,45,61,.99) 100%);z-index:0}
.site-footer{position:relative}
.footer-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:12px}

/* ─── TOPBAR SEPARATOR ─── */
.topbar-sep{opacity:.3;font-size:.7rem;user-select:none}

/* ─── HEADER CTA ─── */
.header-cta{text-transform:uppercase;letter-spacing:.5px;font-weight:700}

/* ─── ZONE TAG CTA ─── */
.zone-tag-cta{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important;font-weight:700}
.zone-tag-cta:hover{background:var(--orange2)!important;transform:scale(1.05)}

/* ─── HERO DARK OVERLAY (uses base .main-hero styles) ─── */

/* ─── TESTIMONIAL HEADER STYLE ─── */
.testi-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.testi-header .testi-av{flex-shrink:0}
.testi-meta{display:flex;flex-direction:column;gap:2px}
.testi-meta .testi-name{font-size:.95rem}
.testi-meta .testi-loc{font-size:.8rem}
.testi-quote-icon{margin-left:auto;font-size:2rem;color:var(--orange-light);font-family:Georgia,serif;line-height:1}

/* ─── RESPONSIVE: new classes ─── */
@media(max-width:1024px){
  .compare-grid{grid-template-columns:repeat(2,1fr)}
  .included-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .compare-grid{grid-template-columns:1fr}
  .included-grid{grid-template-columns:1fr}
  .steps-horizontal{grid-template-columns:repeat(2,1fr);gap:40px 0}
  .step-h-connector{display:none}
  .step-h-icon{width:68px;height:68px;font-size:1.3rem}
  .timeline{padding-left:32px}
  .timeline-marker{width:34px;height:34px;font-size:.88rem;left:-32px}
  .timeline::before{left:15px}
  .icon-circle{width:52px;height:52px;font-size:1.1rem}
  .hero-wave{display:none}
  .header-cta{display:none}
  .topbar-sep{display:none}
}
@media(max-width:480px){
  .compare-grid{gap:14px}
  .compare-item{padding:20px 14px}
  .steps-horizontal{grid-template-columns:1fr}
  .step-h{padding:0 10px}
  .step-h-icon{width:60px;height:60px;font-size:1.2rem}
  .step-h-num{width:24px;height:24px;font-size:.7rem;top:-6px;right:-2px}
  .timeline{padding-left:28px}
  .timeline-marker{width:30px;height:30px;font-size:.8rem;left:-28px}
  .icon-circle{width:44px;height:44px;font-size:1rem}
  .icon-circle-sm{width:38px;height:38px;font-size:.9rem}
}

/* ============================================================
   PARTNER PAGES
   ============================================================ */

/* ── Partner services list ── */
.partner-services-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.partner-services-list li{display:flex;align-items:flex-start;gap:12px;font-size:.97rem;line-height:1.6;color:var(--text)}
.partner-services-list li i{color:var(--green);font-size:1rem;margin-top:4px;flex-shrink:0}

/* ── Steps grid ── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}
.step-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:var(--trans);box-shadow:var(--shadow);position:relative}
.step-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:var(--orange)}
.step-num{width:56px;height:56px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.4rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.step-card h4{color:var(--navy);font-size:1.1rem;font-weight:700;margin-bottom:10px}
.step-card p{color:var(--gray);font-size:.9rem;line-height:1.7;font-weight:400}

/* ── Partner plan cards ── */
.partner-plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.partner-plan-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:var(--trans)}
.partner-plan-card:hover,.partner-plan-card.popular{border-color:var(--orange);transform:translateY(-6px);background:rgba(255,255,255,.1)}
.partner-plan-card.popular{position:relative}
.partner-plan-card.popular::before{content:'Meest gekozen';position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:.72rem;font-weight:700;padding:5px 18px;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.plan-name{font-size:1.1rem;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.plan-price{margin-bottom:8px}
.plan-amount{font-size:2.8rem;font-weight:900;color:#fff}
.plan-period{font-size:1rem;color:rgba(255,255,255,.5);font-weight:400}
.plan-lead-price{font-size:.95rem;color:var(--orange);font-weight:700;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}
.plan-features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;text-align:left}
.plan-features li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.85);font-size:.9rem;font-weight:400}
.plan-features li i{color:var(--green);font-size:.85rem;flex-shrink:0}
.plan-highlight{display:inline-flex;align-items:center;gap:6px;background:rgba(74,222,128,.12);color:#4ade80;font-size:.78rem;font-weight:700;padding:6px 14px;border-radius:50px;margin-bottom:20px;letter-spacing:.02em}
.plan-highlight i{font-size:.75rem}
.plan-tip{display:flex;align-items:flex-start;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:20px 24px;margin-top:32px;max-width:720px;margin-left:auto;margin-right:auto}
.plan-tip i{color:var(--orange);font-size:1.3rem;flex-shrink:0;margin-top:2px}
.plan-tip p{color:rgba(255,255,255,.8);font-size:.9rem;line-height:1.6;margin:0;font-weight:400}

/* ── Plan comparison block ── */
.plan-compare{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:36px 32px;margin-top:48px}
.plan-compare h3{color:#fff;font-size:1.2rem;font-weight:800;margin-bottom:24px;display:flex;align-items:center;gap:12px;text-align:center;justify-content:center}
.plan-compare h3 i{color:var(--orange);font-size:1.1rem}
.plan-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.plan-compare-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:rgba(255,255,255,.04);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06);transition:var(--trans)}
.plan-compare-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.pci-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem}
.pci-icon.good{background:rgba(74,222,128,.15);color:#4ade80}
.plan-compare-item strong{display:block;color:#fff;font-size:.92rem;font-weight:700;margin-bottom:4px}
.plan-compare-item span{display:block;color:rgba(255,255,255,.6);font-size:.83rem;line-height:1.55;font-weight:300}

/* ── Billing grid ── */
.billing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.billing-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:var(--trans);box-shadow:var(--shadow)}
.billing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--orange)}
.billing-icon{width:60px;height:60px;border-radius:50%;background:var(--orange-light);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--orange);margin:0 auto 20px;transition:var(--trans)}
.billing-card:hover .billing-icon{background:var(--orange);color:#fff}
.billing-card h4{color:var(--navy);font-size:1.05rem;font-weight:700;margin-bottom:10px}
.billing-card p{color:var(--gray);font-size:.9rem;line-height:1.7;font-weight:400}

/* ── Partner form layout ── */
.partner-form-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.partner-form-main{min-width:0}
.partner-form-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px}

/* ── Partner form sections ── */
.pf-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;margin-bottom:24px;box-shadow:var(--shadow)}
.pf-section-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.pf-section-num{width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pf-section-header h3{color:var(--navy);font-size:1.15rem;font-weight:700;margin-bottom:2px}
.pf-section-header p{color:var(--gray);font-size:.85rem;margin:0;font-weight:400}
.pf-submit{margin-top:8px}

/* ── Form grid ── */
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ── Checkbox grid ── */
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.check-label{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--trans);font-size:.9rem;color:var(--text);font-weight:400}
.check-label:hover{border-color:var(--orange);background:var(--orange-light)}
.check-label input[type=checkbox]{accent-color:var(--orange);width:18px;height:18px;flex-shrink:0}

/* ── Radio cards ── */
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.radio-card{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--trans)}
.radio-card:hover{border-color:var(--orange);background:var(--orange-light)}
.radio-card.selected{border-color:var(--orange);background:var(--orange-light)}
.radio-card input[type=radio]{accent-color:var(--orange);width:18px;height:18px;flex-shrink:0;margin-top:2px}
.rc-content{display:flex;flex-direction:column;gap:2px}
.rc-content strong{color:var(--navy);font-size:1rem}
.rc-content span{color:var(--orange);font-size:.88rem;font-weight:700}
.rc-content small{color:var(--gray);font-size:.8rem;font-weight:400}

/* ── Sidebar benefits ── */
.sidebar-benefits{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow)}
.sidebar-benefits h4{color:var(--navy);font-size:1rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.sidebar-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.sidebar-benefits li{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.88rem;font-weight:500}
.sidebar-benefits li i{color:var(--green);font-size:.85rem;flex-shrink:0}

/* ── Sidebar quote ── */
.sidebar-quote{background:var(--navy);border-radius:var(--radius);padding:24px 20px;color:#fff}
.sq-quote{font-size:.92rem;font-style:italic;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:16px;font-weight:300}
.sq-author{font-size:.82rem;color:rgba(255,255,255,.6);font-weight:400}
.sq-author strong{color:#fff;font-weight:600}

/* ── Success card ── */
.success-card{text-align:center;padding:60px 40px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.success-card h3{color:var(--navy);font-size:1.5rem;font-weight:800;margin-bottom:12px}
.success-card p{color:var(--gray);font-size:1rem;line-height:1.7;max-width:480px;margin:0 auto;font-weight:400}

/* ── Partner responsive ── */
@media(max-width:1024px){
  .partner-plans-grid{grid-template-columns:repeat(2,1fr)}
  .partner-form-layout{grid-template-columns:1fr;gap:32px}
  .partner-form-sidebar{position:static;flex-direction:row;flex-wrap:wrap}
  .partner-form-sidebar>*{flex:1;min-width:260px}
}
@media(max-width:768px){
  .partner-plans-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .billing-grid{grid-template-columns:1fr}
  .form-grid-2{grid-template-columns:1fr}
  .checkbox-grid{grid-template-columns:1fr}
  .radio-cards{grid-template-columns:1fr}
  .partner-form-sidebar{flex-direction:column}
  .plan-compare-grid{grid-template-columns:1fr}
  .plan-compare{padding:24px 18px}
}

/* ============================================================
   FIX MOBILE HORIZONTAL OVERFLOW (white space on right)
   - Block any horizontal scroll
   - Disable translateX scroll-reveal animations on mobile
     (they cause 30px overflow on the right)
   - Constrain "Herkent u uw situatie?" section
   ============================================================ */
html{overflow-x:clip;overflow-x:hidden;max-width:100vw;width:100%}
body{overflow-x:clip;overflow-x:hidden;max-width:100vw;width:100%;position:relative}

@media (max-width:991px){
  /* Disable horizontal-translation reveals on mobile — they overflow */
  .sr-right,
  .sr-left{transform:none !important;opacity:1 !important}

  /* Sections never exceed viewport */
  body > section,
  body > div,
  body > header,
  body > footer,
  body > main,
  .section,
  .section-gray,
  .container,
  .container-sm{max-width:100vw !important;overflow-x:hidden}

  .container,
  .container-sm{padding-left:18px !important;padding-right:18px !important}

  /* More breathing room in the mobile header */
  .site-header .container{padding-left:22px !important;padding-right:22px !important}
  .header-inner{padding:18px 6px !important;gap:14px !important}
  .topbar .container{padding-left:22px !important;padding-right:22px !important}
  .topbar-inner{padding:6px 0 !important}

  /* Hero section: add proper left/right padding so content is not glued to edges */
  .main-hero .container{padding-left:24px !important;padding-right:24px !important}
  .main-hero-grid{padding:48px 0 !important;gap:32px !important}
  .main-hero-left,
  .main-hero-left h1,
  .main-hero-left p,
  .hero-eyebrow,
  .hero-list,
  .hero-cta-group,
  .hero-social-proof{max-width:100% !important;padding-right:8px}
  .quick-form-card{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;width:100% !important;box-sizing:border-box;padding:24px 20px !important}

  /* "Herkent u uw situatie?" section */
  .situations-grid{grid-template-columns:1fr !important;gap:16px !important;margin-top:24px !important}
  .sit-card{padding:22px 18px !important;max-width:100% !important;width:100% !important;box-sizing:border-box}
  .sit-card h4{font-size:1rem !important;word-wrap:break-word;overflow-wrap:break-word}
  .sit-card p{font-size:.88rem !important;word-wrap:break-word;overflow-wrap:break-word}

  .section-header{max-width:100% !important;padding:0 6px}
  .section-title{font-size:clamp(1.45rem,5.5vw,1.9rem) !important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}
  .section-sub{font-size:.92rem !important;max-width:100% !important;padding:0 6px;word-wrap:break-word;overflow-wrap:break-word}

  /* Long words break everywhere on mobile */
  h1,h2,h3,h4,h5,h6,p,a,span,li,label,td,th{
    word-wrap:break-word;
    overflow-wrap:break-word;
    word-break:break-word;
  }
}

/* ─────────────────────────────────────────────
   PARTNER THEME — applied via <body class="partner-theme">
   Distinct teal/emerald palette to differentiate
   the B2B "partner" sections from the main orange B2C site.
   ───────────────────────────────────────────── */
body.partner-theme{
  --orange:#0d9488;
  --orange2:#0f766e;
  --orange-light:rgba(13,148,136,.10);
}
body.partner-theme .hero-eyebrow,
body.partner-theme .badge:not(.badge-white):not(.badge-green){
  background:var(--orange-light);
  color:var(--orange);
}
body.partner-theme .hl{color:var(--orange)}
body.partner-theme .partner-plan-card.popular{
  border-color:var(--orange);
  box-shadow:0 12px 28px rgba(13,148,136,.18);
}
body.partner-theme .partner-plan-card.popular::before{
  background:var(--orange);
}
body.partner-theme .pci-icon.good{
  background:var(--orange-light);
  color:var(--orange);
}
body.partner-theme .partner-theme-ribbon{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:var(--orange-light);
  color:var(--orange);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:14px;
}

/* === MOBILE LEAD OPTIMIZATION === */
@media (max-width: 768px) {
  .mobile-hide { display: none !important; }
  /* FAQ: garder max 3 questions */
  .faq-list > *:nth-child(n+4) { display: none !important; }
  /* Réduit padding sections pour accélérer le scroll vers le form */
  section.section { padding-top: 40px !important; padding-bottom: 40px !important; }
  .container, .container-sm { padding-left: 18px !important; padding-right: 18px !important; }

  /* Pas d'overflow horizontal */
  html, body { overflow-x: hidden; max-width: 100%; }

  /* Phone card hero: le numéro débordait sur mobile */
  .loc-phone-big a { padding: 14px 16px !important; gap: 12px !important; flex-wrap: wrap }
  .lpb-icon { width: 42px !important; height: 42px !important; font-size: 1.1rem !important }
  .lpb-text strong { font-size: 1.2rem !important; word-break: break-all }
  .lpb-text span { font-size: .72rem !important }
  .lpb-wa { width: 100%; justify-content: center; box-sizing: border-box }

  /* Sidebar cards: éviter tout débordement */
  .content-sidebar,
  .sidebar-form-card,
  .sidebar-contact-card,
  .sidebar-wa-card,
  .sidebar-links,
  .loc-hero-form { max-width: 100% !important; width: 100% !important; box-sizing: border-box; overflow: hidden }
  .sidebar-contact-card { padding: 16px !important; gap: 12px !important }
  .scc-phone { font-size: 1rem !important; word-break: break-all }
  .sidebar-wa-card { padding: 14px 16px !important; gap: 10px !important }
  .sidebar-wa-card div strong { font-size: .85rem !important }
  .sidebar-wa-card div span { font-size: .72rem !important }

  /* Form card hero location */
  .loc-hero-form { padding: 24px 18px !important }
  .loc-hero-form h3 { font-size: 1.05rem !important; word-wrap: break-word }

  /* Inputs: empêche les largeurs fixes */
  input, select, textarea { max-width: 100%; box-sizing: border-box }

  /* Hero social proof trop large */
  .hero-social-proof { flex-wrap: wrap; font-size: .78rem !important }
}
