@charset "UTF-8";
:root{--navy:#08233f;--deep:#061a30;--gold:#d5ad55;--cream:#f7f0e4;--soft:#fffaf0;--text:#10243a;--muted:#606875;--line:rgba(181,138,50,.35);--shadow:0 24px 70px rgba(8,35,63,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 5vw;background:rgba(247,240,228,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand-logo{width:250px;max-height:86px;object-fit:contain}.nav{display:flex;align-items:center;gap:26px;font-size:16px;color:var(--navy)}.nav a{padding:8px 0;border-bottom:2px solid transparent}.nav a:hover{border-color:var(--gold)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:6px;border:1px solid var(--gold);font-weight:700}.nav-cta,.btn-primary{background:var(--navy);color:white;box-shadow:inset 0 0 0 2px rgba(213,173,85,.18)}.btn-secondary{background:rgba(255,255,255,.35);color:var(--navy)}.nav-toggle{display:none;border:1px solid var(--gold);background:var(--navy);color:white;border-radius:6px;padding:10px 14px;font-size:24px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);min-height:650px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 22% 35%,rgba(255,255,255,.78),rgba(255,255,255,0) 36%),linear-gradient(90deg,#fffaf0 0%,var(--cream) 48%,#e5cfa5 100%)}.hero-copy{padding:70px 6vw 60px;display:flex;flex-direction:column;justify-content:center}.mini-logo{width:110px;height:110px;object-fit:contain;margin:0 auto 18px}.hero h1{margin:0;color:var(--navy);font-size:clamp(44px,5vw,76px);line-height:1.08;letter-spacing:-.03em}.hero p{max-width:680px;margin:28px 0 0;font-size:24px}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.hero-image{overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}
.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 5vw;background:var(--soft);border-bottom:1px solid var(--line)}.benefit-item{display:flex;align-items:center;gap:18px;padding:12px 24px;border-right:1px solid var(--line)}.benefit-item:last-child{border-right:0}.icon-circle,.large-icon,.reason-icon{display:grid;place-items:center;color:#b88a32}.icon-circle{width:66px;height:66px;border-radius:50%;border:1px solid var(--line);font-size:32px;background:rgba(255,255,255,.34)}h3{margin:0 0 4px;color:var(--navy);line-height:1.2}p{margin:0}.benefit-item p,.card p,.step p{color:var(--muted);font-size:16px;line-height:1.45}
.section{padding:28px 5vw 24px}.compact{padding-top:10px}.section-title{display:flex;align-items:center;justify-content:center;gap:18px;margin:10px auto 24px;text-align:center;color:var(--navy)}.section-title span{width:min(180px,18vw);height:1px;background:var(--gold)}.section-title h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.15}.cards{display:grid;gap:24px}.service-grid{grid-template-columns:repeat(4,1fr)}.reason-grid{grid-template-columns:repeat(3,1fr)}.card{background:rgba(255,255,255,.43);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(8,35,63,.06)}.service-card{min-height:240px;padding:30px 22px;text-align:center}.large-icon{width:86px;height:86px;margin:0 auto 18px;border-radius:50%;border:1px solid var(--line);font-size:40px}.reason-card{display:flex;gap:18px;align-items:center;padding:24px}.reason-icon{width:72px;height:72px;font-size:34px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1180px;margin:0 auto}.step{display:flex;gap:18px;align-items:flex-start}.step-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#b88a32;color:white;font-weight:700}
.testimonial{margin:30px 5vw 54px;padding:24px 36px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.42);text-align:center}.testimonial blockquote{margin:0;color:var(--navy);font-size:clamp(22px,3vw,32px);font-style:italic}.testimonial cite{display:block;margin-top:8px;font-size:18px}
.contact-section{padding:0 5vw 58px}.contact-panel{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;padding:42px;border-radius:24px;background:var(--navy);color:white;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:14px}.contact-panel h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.1}.contact-panel p{color:rgba(255,255,255,.82)}.contact-list{display:grid;gap:12px;margin-top:24px}.contact-list div{display:grid;grid-template-columns:120px 1fr;gap:12px;border-top:1px solid rgba(213,173,85,.28);padding-top:12px}.contact-list strong{color:var(--gold)}
.footer{background:var(--deep);color:white;padding:42px 5vw 18px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;align-items:start;border:1px solid rgba(213,173,85,.55);border-radius:20px;padding:28px}.footer-logo{width:230px;max-height:120px;object-fit:contain;background:rgba(247,240,228,.08);border-radius:8px}.footer strong{color:var(--gold)}.footer p{color:rgba(255,255,255,.82)}.footer-bottom{text-align:center;margin-top:22px;font-size:14px;color:rgba(255,255,255,.62)}
@media(max-width:1100px){.hero,.contact-panel{grid-template-columns:1fr}.benefit-strip,.service-grid{grid-template-columns:repeat(2,1fr)}.reason-grid,.steps,.footer-inner{grid-template-columns:1fr}.benefit-item:nth-child(2){border-right:0}}
@media(max-width:820px){body{font-size:17px}.topbar{align-items:flex-start}.brand-logo{width:188px}.nav-toggle{display:block}.nav{display:none;position:absolute;left:5vw;right:5vw;top:92px;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.is-open{display:flex}.hero-copy{padding-top:44px}.benefit-strip,.service-grid{grid-template-columns:1fr}.benefit-item{border-right:0;border-bottom:1px solid var(--line);padding-left:0;padding-right:0}.benefit-item:last-child{border-bottom:0}.hero-actions{flex-direction:column;align-items:stretch}.contact-panel{padding:24px}.contact-list div{grid-template-columns:1fr}}

.brand-logo{
    width:auto;
    max-width:230px;
    max-height:92px;
    object-fit:contain;
    display:block;
}
.site-footer .footer-logo{
    width:auto;
    max-width:380px;
    max-height:160px;
    object-fit:contain;
    display:block;
    background:transparent;
    border-radius:0;
}
.site-footer .footer-brand p:first-of-type{
    display:none;
}
@media(max-width:820px){
    .brand-logo{
        width:auto;
        max-width:178px;
        max-height:76px;
    }
    .site-footer .footer-logo{
        max-width:270px;
        max-height:125px;
    }
}

/* --- WHATSAPP INSTELLINGEN --- */
.whatsapp-float {
    position: fixed !important;
    width: 60px !important;
    height: 60px !important;
    bottom: 24px !important;
    left: 24px !important;
    background-color: #25d366 !important;
    color: #fff !important;
    border-radius: 50% !important;
    text-align: center !important;
    font-size: 34px !important;
    box-shadow: 0 8px 24px rgba(8,35,63,0.3) !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
@media(min-width: 821px) {
    .whatsapp-float { display: none !important; } /* Alleen op mobiel tonen */
}
.btn-whatsapp-hero {
    background-color: #25d366 !important;
    color: white !important;
    border: 1px solid #1ebd59 !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.25) !important;
}
.btn-whatsapp-hero:hover {
    background-color: #128c7e !important;
    color: white !important;
}

/* --- PREMIUM FORMULIER MET BADGES STYLING --- */
.form-container-wrapper {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding-top: 25px;
}
.contact-form {
    background: #ffffff !important;
    color: #333333 !important;
    border-radius: 16px !important;
    padding: 35px 30px 25px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important;
    font-family: Arial, sans-serif !important;
}
.contact-form h3 {
    font-size: 28px !important;
    color: #111111 !important;
    margin: 0 !important;
    font-weight: 700 !important;
    text-align: center !important;
}
.form-subtitle {
    font-size: 14px !important;
    color: #666666 !important;
    text-align: center !important;
    margin: -6px 0 10px 0 !important;
    line-height: 1.4 !important;
}
.input-group {
    width: 100% !important;
}
.contact-form input, .contact-form textarea {
    width: 100% !important;
    border: 1px solid #cccccc !important;
    border-radius: 6px !important;
    padding: 13px 16px !important;
    background: #fdfdfd !important;
    color: #333333 !important;
    font-size: 15px !important;
    font-family: Arial, sans-serif !important;
    outline: none !important;
    transition: border 0.2s !important;
}
.contact-form input:focus, .contact-form textarea:focus {
    border-color: #555555 !important;
}
.error-msg {
    color: #d93025 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Badges Styling */
.badge-landelijk {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fde87e !important;
    color: #443c05 !important;
    font-weight: bold !important;
    font-size: 13px !important;
    padding: 6px 16px !important;
    border-radius: 20px !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1) !important;
    z-index: 10 !important;
    white-space: nowrap !important;
    font-family: Arial, sans-serif !important;
}
.badge-discount {
    position: absolute;
    top: -15px;
    right: -20px;
    background: #2b85e4 !important;
    color: white !important;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 11px;
    text-align: center;
    line-height: 1.1;
    box-shadow: 0 5px 12px rgba(43,133,228,0.3);
    z-index: 11;
    font-family: Arial, sans-serif !important;
}
.badge-discount span {
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* Upload Foto Sectie */
.upload-section {
    margin-top: 5px !important;
    font-family: Arial, sans-serif !important;
}
.upload-title {
    font-size: 13px !important;
    font-weight: bold !important;
    color: #111111 !important;
    margin-bottom: 8px !important;
}
.upload-slots {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
}
.upload-box {
    border: 1px dashed #aaaaaa !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    padding: 14px 8px !important;
    text-align: center !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    transition: background 0.2s !important;
}
.upload-box:hover {
    background: #f7f7f7 !important;
}
.upload-box i {
    font-size: 18px !important;
    color: #555555 !important;
}
.upload-box span {
    font-size: 12px !important;
    color: #555555 !important;
}
.upload-format {
    font-size: 11px !important;
    color: #777777 !important;
    text-align: center !important;
    margin: 8px 0 0 0 !important;
}

/* Verzendknop */
.btn-submit-form {
    background: #1c1c1c !important;
    color: #ffffff !important;
    border: none !important;
    width: 100% !important;
    padding: 15px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin-top: 5px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    font-family: Arial, sans-serif !important;
}
.btn-submit-form:hover {
    background: #333333 !important;
}

/* Google Rating Footer */
.google-rating-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin-top: 8px !important;
    font-size: 14px !important;
    color: #333333 !important;
    font-family: Arial, sans-serif !important;
}
.rating-num {
    font-weight: bold !important;
}
.stars-row {
    color: #ff9900 !important;
    font-size: 12px !important;
    display: flex !important;
    gap: 2px !important;
}
.review-count {
    color: #666666 !important;
}

@media(max-width: 580px) {
    .badge-discount {
        top: -20px !important;
        right: 5px !important;
        width: 66px !important;
        height: 66px !important;
        font-size: 10px !important;
    }
    .badge-discount span { font-size: 17px !important; }
    .contact-form { padding: 30px 18px 20px 18px !important; }
}