/*
Theme Name: 3Pro Bedrijfsdiensten
Theme URI: https://3pro-bedrijfsdiensten.nl
Author: 3Pro Bedrijfsdiensten
Description: Professioneel maatwerk thema voor 3Pro Bedrijfsdiensten - interieurreiniging voor woningen, kantoren en gebouwen.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: driepro
*/

/* ─────────────────────────────────────
   TOKENS
───────────────────────────────────── */
:root{
  --cream:      #FDF6ED;
  --cream-2:    #FBEEDC;
  --white:      #FFFFFF;
  --navy:       #17213B;
  --navy-2:     #232F52;
  --orange:     #F4611F;
  --orange-2:   #FF7A3D;
  --orange-soft:#FFE7D6;
  --gray:       #6B7280;
  --gray-light: #9CA3AF;
  --line:       rgba(23,33,59,0.10);
  --radius:     26px;
  --radius-sm:  16px;
  --shadow:     0 20px 45px -20px rgba(23,33,59,0.25);
  --shadow-sm:  0 8px 20px -10px rgba(23,33,59,0.18);
  --maxw:       1220px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background: var(--cream);
  color: var(--navy);
  font-family: 'Poppins', 'Segoe UI', Arial, sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:'Poppins','Segoe UI',Arial,sans-serif; font-weight:700; line-height:1.2; margin:0 0 .5em; color:var(--navy); }
p{ margin:0 0 1em; color:var(--gray); }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--orange-soft); color:var(--orange);
  font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:7px 16px; border-radius:999px; margin-bottom:18px;
}
.eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--orange); }

/* ─────────────────────────────────────
   BUTTONS
───────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:15px 30px; border-radius:999px;
  font-weight:700; font-size:15px; border:2px solid transparent;
  cursor:pointer; transition:.22s ease; white-space:nowrap;
}
.btn svg{ width:17px; height:17px; flex-shrink:0; }
.btn-orange{ background:var(--orange); color:#fff; box-shadow:0 10px 24px -8px rgba(244,97,31,.55); }
.btn-orange:hover{ background:var(--orange-2); transform:translateY(-2px); }
.btn-outline{ background:transparent; border-color:var(--navy); color:var(--navy); }
.btn-outline:hover{ background:var(--navy); color:#fff; }
.btn-ghost{ background:var(--white); color:var(--navy); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--orange); color:var(--orange); }
.btn-full{ width:100%; justify-content:center; }
.btn-lg{ padding:17px 34px; font-size:16px; }

/* ─────────────────────────────────────
   HEADER / FLOATING PILL NAV
───────────────────────────────────── */
.top-strip{
  background:var(--navy); color:rgba(255,255,255,.75);
  font-size:13px; padding:9px 0;
}
.top-strip .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.top-strip a{ color:rgba(255,255,255,.85); }
.top-strip .strip-item{ display:inline-flex; align-items:center; gap:6px; margin-right:18px; }
.top-strip svg{ width:14px; height:14px; }

.site-header{ position:sticky; top:0; z-index:200; padding:16px 0; background:linear-gradient(var(--cream),var(--cream) 70%,transparent); }
.nav-pill{
  max-width:var(--maxw); margin:0 auto; padding:0 28px;
}
.nav-pill-inner{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow-sm);
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px 10px 22px;
  gap:16px;
}
.site-logo{ display:flex; align-items:center; gap:10px; }
.site-logo img{ height:44px; width:auto; }
.site-logo .logo-text{ font-weight:800; font-size:18px; color:var(--navy); letter-spacing:-.01em; }
.site-logo .logo-text span{ color:var(--orange); }

.main-nav ul{ display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.main-nav a{
  display:inline-block; padding:10px 16px; border-radius:999px;
  font-weight:600; font-size:14.5px; color:var(--navy); transition:.2s;
}
.main-nav a:hover, .main-nav .current-menu-item a{ background:var(--orange-soft); color:var(--orange); }

.header-cta{ display:flex; align-items:center; gap:10px; }
.header-cta .btn{ padding:11px 22px; font-size:14px; }
.header-cta .phone-btn{
  display:flex; align-items:center; gap:8px;
  width:42px; height:42px; border-radius:50%;
  background:var(--navy); color:#fff; justify-content:center;
}
.header-cta .phone-btn svg{ width:18px; height:18px; }

.burger{ display:none; width:42px; height:42px; border-radius:50%; background:var(--cream-2); border:none; align-items:center; justify-content:center; cursor:pointer; }
.burger svg{ width:20px; height:20px; }
.mobile-nav{ display:none; }
.mobile-nav.open{
  display:block; position:fixed; inset:0; z-index:300; background:var(--navy);
  padding:100px 32px 32px;
}
.mobile-nav a{ display:block; color:#fff; font-size:24px; font-weight:700; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.mobile-nav .close-mobile{ position:absolute; top:28px; right:28px; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12); border:none; display:flex; align-items:center; justify-content:center; }
.mobile-nav .close-mobile svg{ width:20px; height:20px; stroke:#fff; }
.mobile-nav .btn{ margin-top:20px; }

/* ─────────────────────────────────────
   HERO
───────────────────────────────────── */
.hero{ position:relative; padding:56px 0 90px; overflow:hidden; }
.hero .blob{ position:absolute; border-radius:50%; filter:blur(2px); z-index:0; }
.hero .blob-1{ width:420px; height:420px; background:var(--orange-soft); top:-160px; right:-120px; }
.hero .blob-2{ width:260px; height:260px; background:var(--cream-2); border:1px solid var(--line); bottom:-100px; left:-80px; }
.hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero h1{ font-size:52px; letter-spacing:-.02em; }
.hero h1 em{ font-style:normal; color:var(--orange); position:relative; }
.hero-lead{ font-size:18px; max-width:480px; }
.hero-actions{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:32px; margin-top:44px; }
.hero-stats .stat b{ display:block; font-size:26px; color:var(--navy); }
.hero-stats .stat span{ font-size:13px; color:var(--gray); }

.hero-visual{ position:relative; }
.hero-card-img{
  border-radius: var(--radius-sm);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg,var(--orange-soft),var(--cream-2));
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-card-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.hero-card-img svg{
  width:64px;
  height:64px;
  stroke:var(--orange);
}
.hero-float{
  position:absolute; background:var(--navy); color:#fff; border-radius:20px;
  padding:16px 20px; box-shadow:var(--shadow); z-index:3;
  display:flex; align-items:center; gap:12px;
}
.hero-float-1{ top:-24px; left:-30px; }
.hero-float-2{ bottom:-22px; right:-24px; background:var(--orange); }
.hero-float .icon-circle{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.hero-float .icon-circle svg{ width:18px; height:18px; }
.hero-float b{ display:block; font-size:14px; }
.hero-float span{ font-size:11px; opacity:.75; }

/* ─────────────────────────────────────
   TRUST STRIP
───────────────────────────────────── */
.trust-strip{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; }
.trust-strip .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.trust-item{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--navy); }
.trust-item svg{ width:20px; height:20px; stroke:var(--orange); flex-shrink:0; }

/* ─────────────────────────────────────
   SECTION HEADINGS
───────────────────────────────────── */
.section{ padding:90px 0; }
.section-alt{ background:var(--cream-2); clip-path:polygon(0 40px,100% 0,100% calc(100% - 40px),0 100%); }
.section-head{ max-width:640px; margin:0 auto 52px; text-align:center; }
.section-head h2{ font-size:36px; letter-spacing:-.01em; }
.section-head p{ font-size:16.5px; }
.section-head.left{ margin:0 0 52px; text-align:left; }

/* ─────────────────────────────────────
   SERVICE CARDS
───────────────────────────────────── */
.service-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.service-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px; transition:.25s ease; position:relative;
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.service-icon{
  width:56px; height:56px; border-radius:18px; background:var(--orange-soft);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.service-icon svg{ width:26px; height:26px; stroke:var(--orange); }
.service-card h3{ font-size:19px; margin-bottom:8px; }
.service-card p{ font-size:14.5px; margin-bottom:0; }
.service-card .link{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:13.5px; font-weight:700; color:var(--orange); }
.service-card .link svg{ width:14px; height:14px; }

/* ─────────────────────────────────────
   WHY US / VALUES
───────────────────────────────────── */
.value-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.value-item{ text-align:center; padding:10px; }
.value-icon{ width:64px; height:64px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.value-icon svg{ width:28px; height:28px; stroke:#fff; }
.value-item h4{ font-size:16px; margin-bottom:6px; }
.value-item p{ font-size:13.5px; }

/* ─────────────────────────────────────
   ABOUT / SPLIT
───────────────────────────────────── */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.split-img{ position:relative; }
.split-img .img-box{ border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1; background:linear-gradient(135deg,var(--orange-soft),var(--cream-2)); display:flex; align-items:center; justify-content:center; }
.split-img .img-box svg{ width:80px; height:80px; stroke:var(--orange); }
.split-img .badge{ position:absolute; bottom:-22px; left:-22px; background:var(--orange); color:#fff; border-radius:20px; padding:18px 22px; box-shadow:var(--shadow); }
.split-img .badge b{ display:block; font-size:24px; }
.split-img .badge span{ font-size:12px; opacity:.9; }
.check-list{ list-style:none; margin:24px 0; padding:0; display:grid; gap:12px; }
.check-list li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; color:var(--navy); font-weight:500; }
.check-list svg{ width:20px; height:20px; stroke:var(--orange); flex-shrink:0; margin-top:1px; }

/* ─────────────────────────────────────
   PROCESS / STEPS
───────────────────────────────────── */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.step{ background:var(--white); border-radius:var(--radius); padding:28px; border:1px solid var(--line); position:relative; }
.step-num{ width:40px; height:40px; border-radius:50%; background:var(--orange); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.step h4{ font-size:16px; margin-bottom:6px; }
.step p{ font-size:13.5px; margin-bottom:0; }

/* ─────────────────────────────────────
   STATS BAND
───────────────────────────────────── */
.stats-band{ background:var(--navy); border-radius:var(--radius); padding:48px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; color:#fff; }
.stats-band .stat b{ font-size:34px; display:block; color:var(--orange-2); }
.stats-band .stat span{ font-size:13px; color:rgba(255,255,255,.7); }

/* ─────────────────────────────────────
   CTA BANNER
───────────────────────────────────── */
.cta-banner{
  background:linear-gradient(120deg,var(--orange),var(--orange-2));
  border-radius:var(--radius); padding:56px; text-align:center; color:#fff; position:relative; overflow:hidden;
}
.cta-banner h2{ color:#fff; font-size:32px; }
.cta-banner p{ color:rgba(255,255,255,.9); max-width:520px; margin:0 auto 26px; }
.cta-banner .btn-outline{ border-color:#fff; color:#fff; }
.cta-banner .btn-outline:hover{ background:#fff; color:var(--orange); }
.cta-banner .btn-ghost{ box-shadow:none; }

/* ─────────────────────────────────────
   PAGE HEADER (inner pages)
───────────────────────────────────── */
.page-hdr{ padding:70px 0 60px; position:relative; overflow:hidden; }
.page-hdr .wrap{ position:relative; z-index:1; }
.page-hdr h1{ font-size:42px; }
.page-hdr .crumb{ font-size:13.5px; color:var(--gray); margin-bottom:14px; }
.page-hdr .crumb a{ color:var(--orange); font-weight:600; }
.page-hdr .blob{ position:absolute; width:340px; height:340px; border-radius:50%; background:var(--orange-soft); top:-140px; right:-100px; z-index:0; }

/* ─────────────────────────────────────
   DIENSTEN FULL LIST
───────────────────────────────────── */
.service-full{
  display:grid; grid-template-columns:64px 1fr; gap:22px;
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; margin-bottom:20px;
}
.service-full .service-icon{ margin:0; }
.service-full h3{ font-size:19px; margin-bottom:6px; }
.service-full p{ font-size:14.5px; margin-bottom:0; }

/* ─────────────────────────────────────
   FORMS
───────────────────────────────────── */
.form-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:40px; box-shadow:var(--shadow-sm); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-group{ display:flex; flex-direction:column; gap:7px; }
.form-group.full{ grid-column:1/-1; }
.form-group label{ font-size:13.5px; font-weight:700; color:var(--navy); }
.form-group input, .form-group select, .form-group textarea{
  border:1.5px solid var(--line); border-radius:14px; padding:13px 16px;
  font-family:inherit; font-size:14.5px; color:var(--navy); background:var(--cream);
  transition:.2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{ outline:none; border-color:var(--orange); background:#fff; }
.form-group textarea{ resize:vertical; min-height:120px; }
.form-note{ font-size:12.5px; color:var(--gray-light); margin-top:14px; }
.form-success{ background:var(--orange-soft); color:var(--orange); border-radius:14px; padding:16px 20px; font-weight:600; font-size:14.5px; margin-bottom:18px; }

/* Contact info cards */
.contact-info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:50px; }
.info-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px; text-align:center; }
.info-card .service-icon{ margin:0 auto 16px; }
.info-card h4{ font-size:15px; margin-bottom:6px; }
.info-card p, .info-card a{ font-size:14px; margin-bottom:0; }
.map-box{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); }
.map-box iframe{ width:100%; height:340px; border:0; display:block; }

/* ─────────────────────────────────────
   FOOTER
───────────────────────────────────── */
.site-footer{ background:var(--navy); color:rgba(255,255,255,.72); padding:70px 0 0; margin-top:40px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-logo{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-logo img{ height:38px; }
.footer-logo .logo-text{ font-weight:800; font-size:17px; color:#fff; }
.footer-logo .logo-text span{ color:var(--orange-2); }
.footer-col h5{ color:#fff; font-size:14px; margin-bottom:18px; text-transform:uppercase; letter-spacing:.05em; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.footer-col a{ font-size:14px; transition:.2s; }
.footer-col a:hover{ color:var(--orange-2); }
.footer-col .foot-contact{ display:flex; align-items:flex-start; gap:9px; font-size:14px; margin-bottom:12px; }
.footer-col .foot-contact svg{ width:16px; height:16px; stroke:var(--orange-2); flex-shrink:0; margin-top:2px; }
.footer-bottom{ padding:22px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:12.5px; }
.footer-bottom .legal{ display:flex; gap:18px; flex-wrap:wrap; }

/* ─────────────────────────────────────
   RESPONSIVE
───────────────────────────────────── */
@media (max-width:1024px){
  .hero-grid{ grid-template-columns:1fr; }
  .service-grid{ grid-template-columns:repeat(2,1fr); }
  .value-row{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .stats-band{ grid-template-columns:repeat(2,1fr); }
  .split{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .contact-info-grid{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .main-nav, .header-cta .btn-outline{ display:none; }
  .burger{ display:flex; }
  .hero h1{ font-size:38px; }
  .form-row{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .service-grid, .value-row, .steps, .stats-band, .footer-grid{ grid-template-columns:1fr; }
  .hero-stats{ flex-wrap:wrap; gap:20px; }
  .cta-banner{ padding:36px 22px; }
  .cta-banner h2{ font-size:26px; }
  .section{ padding:60px 0; }
  .page-hdr h1{ font-size:30px; }
  .stats-band{ padding:30px; }
  .site-logo .logo-text{ font-size:15px; }
  .site-logo img{ height:36px; }
}
@media (max-width: 768px) {
  .main-nav,
  .desktop-offerte {
    display: none;
  }

  .burger {
    display: flex;
  }

  .nav-pill {
    margin: 12px 16px;
  }

  .nav-pill-inner {
    padding: 12px 14px;
  }

  .site-logo img {
    max-width: 160px;
    height: auto;
  }

  .logo-text {
    font-size: 17px;
    line-height: 1.1;
  }

  .mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff8f1;
    padding: 28px 22px;
    transform: translateX(100%);
    transition: transform 0.25s ease;
    overflow-y: auto;
  }

  .mobile-nav.open {
    transform: translateX(0);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  .close-mobile {
    margin-left: auto;
    display: flex;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #17213d;
    color: #fff;
  }

  .mobile-menu ul {
    list-style: none;
    padding: 32px 0 24px;
    margin: 0;
  }

  .mobile-menu li {
    margin: 0;
  }

  .mobile-menu a {
    display: block;
    padding: 16px 4px;
    border-bottom: 1px solid rgba(23, 33, 61, 0.12);
    color: #071536;
    font-size: 22px;
    font-weight: 800;
    text-decoration: none;
  }

  .btn-full {
    width: 100%;
    justify-content: center;
    min-height: 52px;
  }

  .top-strip .wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

@media (min-width: 769px) {
  .burger {
    display: none;
  }
}
/* iPhone / mobile cleanup */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
  }

  .wrap,
  .container {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Top dark bar */
  .top-strip {
    width: 100%;
    padding: 9px 0;
  }

  .top-strip .wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }

  .strip-item {
    display: block;
    margin: 0 0 4px 0;
    font-size: 12px;
    line-height: 1.35;
  }

  /* Header pill */
  .site-header {
    padding: 14px 0 8px;
  }

  .nav-pill {
    width: calc(100% - 32px);
    margin: 0 auto;
    border-radius: 999px;
  }

  .nav-pill-inner {
    min-height: 62px;
    padding: 8px 10px 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .site-logo {
    min-width: 0;
    flex: 1;
  }

  .site-logo img {
    max-width: 118px;
    height: auto;
  }

  .logo-text {
    display: block;
    font-size: 15px;
    line-height: 1.15;
    white-space: normal;
  }

  .main-nav {
    display: none !important;
  }

  .header-cta {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
  }

  /* Hide big orange header button on phone */
  .header-cta .btn-orange,
  .desktop-offerte {
    display: none !important;
  }

  .phone-btn {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 999px;
  }

  .burger {
    display: flex !important;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border: 0;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #fff3e9;
    color: #071536;
  }

  /* Hero */
  .hero,
  .hero-section,
  .front-hero {
    position: relative;
    padding: 42px 0 48px;
    overflow: hidden;
  }

  .hero .wrap,
  .hero-section .wrap,
  .front-hero .wrap {
    display: block;
  }

  .hero-content,
  .hero-text {
    position: relative;
    z-index: 2;
    max-width: 100%;
  }

  .eyebrow,
  .hero-eyebrow,
  .kicker {
    display: inline-flex;
    max-width: 100%;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.04em;
    white-space: normal;
  }

  h1,
  .hero h1,
  .hero-title {
    max-width: 100%;
    margin-top: 18px;
    font-size: 31px;
    line-height: 1.13;
    letter-spacing: 0;
  }

  .hero p,
  .hero-text p,
  .hero-content p {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.65;
  }

  /* Move/fade the orange background shape so it stops covering text */
  .hero::before,
  .hero::after,
  .hero-shape,
  .blob,
  .shape {
    opacity: 0.45;
    transform: scale(0.75);
    right: -90px !important;
    top: 70px !important;
    z-index: 0 !important;
    pointer-events: none;
  }

  .hero-image,
  .hero-visual {
    margin-top: 28px;
    position: relative;
    z-index: 1;
  }

  /* Buttons */
  .hero-buttons,
  .button-group,
  .btn-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    margin-top: 24px;
  }

  .btn,
  .button,
  .wp-block-button__link {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    text-align: center;
  }

  /* Stats */
  .stats,
  .hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 34px;
  }

  .stat,
  .stat-item {
    min-width: 0;
  }

  .stat strong,
  .stat-number {
    font-size: 22px;
  }

  .stat span,
  .stat-label {
    font-size: 12px;
    line-height: 1.4;
  }

  /* Cards / sections */
  .grid,
  .cards,
  .services-grid,
  .footer-grid,
  .footer-content {
    grid-template-columns: 1fr !important;
  }

  section {
    padding-left: 0;
    padding-right: 0;
  }

  img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 430px) {
  h1,
  .hero h1,
  .hero-title {
    font-size: 29px;
  }

  .nav-pill {
    width: calc(100% - 24px);
  }

  .nav-pill-inner {
    padding-left: 14px;
  }

  .phone-btn,
  .burger {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
}
@media (max-width: 768px) {
  .header-cta .btn-orange {
    display: inline-flex !important;
    width: auto !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    gap: 6px !important;
    white-space: nowrap !important;
  }

  .header-cta .btn-orange svg {
    width: 13px !important;
    height: 13px !important;
  }

  .phone-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }

  .phone-btn svg {
    width: 16px !important;
    height: 16px !important;
  }

  .nav-pill-inner {
    gap: 6px !important;
  }

  .site-logo {
    max-width: 118px !important;
  }

  .logo-text {
    font-size: 14px !important;
  }
}
@media (max-width: 430px) {
  .header-cta .btn-orange {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 9px !important;
    font-size: 11px !important;
  }

  .header-cta .btn-orange svg {
    width: 11px !important;
    height: 11px !important;
  }
}