/* Aanvullende componenten voor alle Dashfix-pagina's */

/* Knoppen */
.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border:2px solid var(--red);border-radius:10px;background:var(--red);color:#fff;font:700 15px/1.2 'DM Sans',Arial,sans-serif;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(230,48,53,.28)}
.btn-dark{background:var(--navy);border-color:var(--navy)}
.btn-dark:hover{background:#000;border-color:#000;box-shadow:0 10px 24px rgba(12,24,37,.3)}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline:hover{background:#fff;border-color:#fff;color:var(--navy);box-shadow:none}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{background:var(--surface);border-color:var(--ink);color:var(--ink);box-shadow:none}
.btn-arrow{transition:transform .2s}.btn:hover .btn-arrow{transform:translateX(4px)}
.df-actions{display:flex;flex-wrap:wrap;gap:14px}

/* Checklijst */
.df-check-list{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.df-check-list li{position:relative;padding:2px 0 2px 34px;color:var(--ink)}
.df-check-list li:before{content:'';position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* Twee kolommen + panel */
.df-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.df-location-panel{padding:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.df-location-panel h3{margin:10px 0}

/* Tabellen */
.df-price-table{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table.df-price-table,.df-price-table table{width:100%;border-collapse:collapse;font-size:15px}
.df-price-table th{padding:14px 18px;background:var(--navy);color:#fff;text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.df-price-table td{padding:14px 18px;border-top:1px solid var(--line);white-space:nowrap}
.df-price-table tbody tr:nth-child(even) td{background:var(--surface)}
.df-price-table tbody tr:hover td{background:#fdeeee}

/* Veelgestelde vragen (details/summary) */
.df-faq{display:grid;gap:12px;margin-top:20px}
.df-faq details,.df-faq-accordion details{border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.df-faq details[open]{border-color:#f0b4b6;box-shadow:0 8px 28px rgba(18,29,40,.07)}
.df-faq summary,.df-faq-accordion summary{position:relative;display:block;padding:18px 54px 18px 22px;list-style:none;cursor:pointer;font:600 17px/1.4 'Space Grotesk',Arial,sans-serif;color:var(--ink)}
.df-faq summary::-webkit-details-marker{display:none}
.df-faq summary:after{content:'';position:absolute;right:22px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg);transition:transform .2s}
.df-faq details[open] summary:after{transform:rotate(-135deg);margin-top:-2px}
.df-faq details p{margin:0;padding:0 22px 20px;color:var(--muted)}

/* Modelkaarten */
.df-model-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.df-model-list a{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
.df-model-list a:hover{transform:translateY(-3px);border-color:#f0b4b6;box-shadow:var(--shadow)}

/* Homepage */
.df-home-hero{position:relative;display:flex;align-items:center;min-height:clamp(560px,82vh,780px);overflow:hidden;background:var(--navy);color:#fff}
.df-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.df-home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,26,.92) 0%,rgba(8,16,26,.68) 50%,rgba(8,16,26,.25) 100%)}
.df-home-hero-inner{position:relative;z-index:2}
.df-home-hero-content{max-width:720px;padding:80px 0}
.df-home-hero-content h1{margin:14px 0 22px;color:#fff;font-size:clamp(38px,5.6vw,68px);line-height:1.05}
.df-home-hero-content p{max-width:620px;margin:0 0 30px;color:rgba(255,255,255,.88);font-size:clamp(17px,2vw,20px)}
.df-hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin:28px 0 0;padding:0;list-style:none;color:rgba(255,255,255,.85);font-size:14px;font-weight:600}
.df-hero-points li:before{content:'✓';margin-right:8px;color:var(--red)}
.df-stats{position:relative;z-index:3;margin-top:-54px}
.df-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.df-stat{padding:28px 24px;text-align:center;border-right:1px solid var(--line)}
.df-stat:last-child{border-right:0}
.df-stat strong{display:block;font:700 36px/1.1 'Space Grotesk',Arial,sans-serif;color:var(--red)}
.df-stat span{color:var(--muted);font-size:14px}
.df-tool{background:var(--navy);color:#fff}
.df-tool h2{color:#fff}
.df-tool .section-heading p{color:rgba(255,255,255,.75)}
.df-tool-frame{padding:14px;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.df-tool-frame iframe{display:block;width:100%;border:0;border-radius:12px}
.df-tool-note{margin:16px 0 0;text-align:center;color:rgba(255,255,255,.7);font-size:14px}
.df-tool-note a{color:#fff;text-decoration:underline}
.df-section-head{max-width:760px;margin:0 auto 44px;text-align:center}
.df-section-head h2{margin:12px 0}
.df-section-head p{color:var(--muted)}
.df-service-card{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}
.df-service-card:hover{transform:translateY(-5px);border-color:#f0b4b6;box-shadow:var(--shadow)}
.df-service-card .ico{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:14px;background:#fdeeee;color:var(--red);font:700 22px 'Space Grotesk',Arial,sans-serif}
.df-service-card h3{margin:0 0 8px}
.df-service-card p{flex:1;margin:0 0 16px;color:var(--muted)}
.df-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.df-pills a{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:14px;transition:border-color .2s,color .2s,background .2s}
.df-pills a:hover{border-color:var(--red);color:var(--red);background:#fdeeee}
.df-review-card{padding:28px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);background:#fff}
.df-review-card .stars{color:#f5a623;letter-spacing:3px;font-size:18px}
.df-review-card blockquote{margin:12px 0 18px;color:var(--muted);font-style:italic}
.df-review-card footer{display:flex;align-items:center;gap:12px;font-size:14px}
.df-review-card footer b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;font-size:14px}
.df-review-card footer small{display:block;color:#8b969e}
.df-cta-band{padding:60px 0;background:linear-gradient(120deg,var(--red-dark),var(--red));color:#fff;text-align:center}
.df-cta-band h2{margin:0 0 10px;color:#fff}
.df-cta-band p{margin:0 auto 26px;max-width:620px;color:rgba(255,255,255,.92)}
.df-cta-band .btn{background:#fff;border-color:#fff;color:var(--red-dark)}
.df-cta-band .btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.df-cta-band .btn-outline{background:transparent;border-color:#fff;color:#fff}

@media(max-width:900px){
  .df-service-content,.df-location-intro{grid-template-columns:minmax(0,1fr)}
  .df-location-hero .container{grid-template-columns:minmax(0,1fr)}
}
.df-service-content>*,.df-location-intro>*,.df-location-hero .container>*,.df-two-col>*,.df-lead-box>*{min-width:0}
@media(max-width:900px){.df-lead-box{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 24px}}
.btn{white-space:normal;text-align:center}
.df-location-stat,.df-location-stat *{overflow-wrap:anywhere}

@media(max-width:900px){
  .df-two-col{grid-template-columns:1fr;gap:30px}
  .df-stats-grid{grid-template-columns:repeat(2,1fr)}
  .df-stat:nth-child(2){border-right:0}
  .df-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .df-home-hero-content{padding:60px 0 80px}
  .df-actions .btn{width:100%}
  .df-price-table td,.df-price-table th{padding:12px 12px;font-size:14px}
  .df-tool-frame{padding:6px;border-radius:14px}
}

/* FontAwesome-vrije icoon-fallbacks */
i.fa{font-style:normal;display:inline-block;line-height:1}
i.fa-star:before,i.fa-star-half-o:before{content:"\2605"}
i.fa-star-half-o{opacity:.6}
i.fa-chevron-down:before{content:"\25BE"}
i.fa-arrow-right:before{content:"\2192"}
i.fa-whatsapp:before{content:"\1F4AC"}
i.fa-map-marker:before{content:"\1F4CD"}
i.fa-envelope:before{content:"\2709"}
i.fa-phone:before{content:"\260E"}
details[open] i.fa-chevron-down{transform:rotate(180deg)}
.df-home-hero picture{position:absolute;inset:0;display:block}
.df-tool-frame iframe{display:block;height:640px}

.df-onsite{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;padding:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 30px rgba(12,24,37,.06)}
.df-onsite h2{margin:10px 0 12px}
.df-onsite-actions{display:flex;flex-direction:column;gap:12px}
.df-onsite-actions .btn{width:100%}
@media(max-width:900px){.df-onsite{grid-template-columns:minmax(0,1fr);padding:26px 22px;gap:24px}}
/* WhatsApp floating button */
.df-whatsapp{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:0;padding:0;background:none;box-shadow:none;border-radius:0;color:var(--navy)}
.df-whatsapp:hover{background:none;color:var(--navy)}
.df-wa-note{display:block;transform:rotate(-4deg);margin-right:36px;padding:10px 16px;background:#f0c85a;color:#0c1825;border-radius:12px;font:700 15px/1.2 'Space Grotesk',sans-serif;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.df-wa-arrow{display:block;margin:-2px 0 -4px 30px}
.df-wa-btn{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#4cc760;box-shadow:0 0 0 10px rgba(76,199,96,.25),0 0 0 20px rgba(76,199,96,.12),0 8px 20px rgba(0,0,0,.2);transition:transform .2s}
.df-whatsapp:hover .df-wa-btn{transform:scale(1.07)}
@media(max-width:680px){.df-whatsapp{right:20px;bottom:20px}.df-wa-note{font-size:13px;padding:8px 12px;margin-right:30px}.df-wa-btn{width:58px;height:58px}.df-wa-btn svg{width:32px;height:32px}}
@media(min-width:681px){.df-menu{gap:0;flex-wrap:nowrap}.df-menu a{padding:12px 9px;font-size:13.5px;white-space:nowrap}.df-menu .df-nav-cta{margin-left:6px;padding:12px 14px}.df-brand{min-width:0}.df-nav{gap:14px}}

.df-wa-arrow{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff)}
@media(min-width:681px){.df-brand{flex-shrink:0;min-width:0}.df-brand-mark{flex-shrink:0}.df-brand-name small{white-space:nowrap}.df-menu{flex-shrink:1}}

@media(min-width:681px){.df-menu a{padding:10px 8px;font-size:13.5px}.df-menu .df-nav-cta{padding:10px 14px;margin-left:4px}.df-nav{gap:10px}}@media(min-width:681px) and (max-width:1250px){.df-menu a{padding:10px 6px;font-size:13px}.df-brand-name small{display:none}}
