/*
Theme Name: Vakantiewoning Verhuur Custom
Theme URI: https://example.local/
Author: Copilot
Description: Fully customisable WordPress template/theme voor verhuur van vakantiewoningen met instelbare hero transparantie, footer builder, shortcodes op elk niveau, woningen, filters en boekings CTA's.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: vvct
*/
:root{
  --vvct-primary:#0f766e;
  --vvct-secondary:#f59e0b;
  --vvct-bg:#ffffff;
  --vvct-text:#111827;
  --vvct-muted:#6b7280;
  --vvct-border:#e5e7eb;
  --vvct-radius:18px;
  --vvct-shadow:0 12px 32px rgba(15,23,42,.10);
  --vvct-max:1180px;
  --vvct-hero-box-opacity:.92;
  --vvct-hero-box-max:760px;
  --vvct-hero-padding-top:78px;
  --vvct-hero-padding-bottom:78px;
  --vvct-footer-bg:#111827;
  --vvct-footer-text:#ffffff;
}
html,body{margin:0!important;padding:0!important;overflow-x:hidden}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--vvct-bg);color:var(--vvct-text);line-height:1.6}
a{color:var(--vvct-primary);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.vvct-container{width:min(var(--vvct-max),calc(100% - 32px));margin:0 auto}
.vvct-header{background:#fff;border-bottom:1px solid var(--vvct-border);position:sticky;top:0;z-index:50;margin:0!important}
.vvct-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0}
.vvct-brand{font-weight:800;font-size:22px;color:var(--vvct-text);line-height:1}.vvct-brand:hover{text-decoration:none}
.vvct-logo img{max-height:46px;width:auto;display:block}
.vvct-menu ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}.vvct-menu a{color:var(--vvct-text);font-weight:600}
.vvct-button,.vvct-primary-button,.vvct-secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;font-weight:800;border:0;cursor:pointer;text-decoration:none;line-height:1.2}.vvct-button,.vvct-primary-button{background:var(--vvct-primary);color:#fff}.vvct-button:hover,.vvct-primary-button:hover{text-decoration:none;filter:brightness(.95)}.vvct-secondary-button{background:#fff;color:var(--vvct-primary);border:1px solid var(--vvct-primary)}
.vvct-hero{margin:0!important;padding:var(--vvct-hero-padding-top) 0 var(--vvct-hero-padding-bottom);background:linear-gradient(135deg,rgba(15,118,110,.10),rgba(245,158,11,.12)),var(--vvct-hero-image, none);background-size:cover;background-position:center}
.vvct-header + .vvct-hero{margin-top:0!important}
.vvct-hero-inner{max-width:var(--vvct-hero-box-max);background:rgba(255,255,255,var(--vvct-hero-box-opacity));border:1px solid rgba(229,231,235,var(--vvct-hero-box-opacity));border-radius:var(--vvct-radius);box-shadow:var(--vvct-shadow);padding:36px;color:var(--vvct-text)}
.vvct-hero-align-center .vvct-hero-inner{margin-left:auto;margin-right:auto;text-align:center}.vvct-hero-align-right .vvct-hero-inner{margin-left:auto}.vvct-kicker{color:var(--vvct-primary);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.vvct-title{font-size:clamp(34px,5vw,62px);line-height:1.05;margin:10px 0 14px}.vvct-subtitle{font-size:19px;color:#374151;margin:0 0 24px}
.vvct-section{padding:58px 0}.vvct-section-title{font-size:34px;line-height:1.15;margin:0 0 12px}.vvct-section-intro{color:var(--vvct-muted);max-width:760px;margin:0 0 28px}
.vvct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.vvct-card{background:#fff;border:1px solid var(--vvct-border);border-radius:var(--vvct-radius);overflow:hidden;box-shadow:var(--vvct-shadow)}.vvct-card-img{aspect-ratio:4/3;background:#f3f4f6;display:block;width:100%;object-fit:cover}.vvct-card-body{padding:20px}.vvct-card h3{margin:0 0 8px;font-size:22px}.vvct-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;color:#374151;font-weight:600}.vvct-pill{border:1px solid var(--vvct-border);background:#f9fafb;border-radius:999px;padding:5px 10px;font-size:13px}.vvct-price{font-size:20px;font-weight:900;color:var(--vvct-primary);margin:12px 0}
.vvct-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;background:#fff;border:1px solid var(--vvct-border);border-radius:var(--vvct-radius);padding:16px;margin-bottom:26px;box-shadow:var(--vvct-shadow)}.vvct-filter input,.vvct-filter select{width:100%;border:1px solid var(--vvct-border);border-radius:12px;padding:12px;color:var(--vvct-text);background:#fff}
.vvct-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:30px}.vvct-gallery img{border-radius:var(--vvct-radius);width:100%;height:auto}.vvct-booking-box{position:sticky;top:88px;background:#fff;border:1px solid var(--vvct-border);border-radius:var(--vvct-radius);padding:22px;box-shadow:var(--vvct-shadow)}.vvct-booking-box input,.vvct-booking-box textarea{width:100%;padding:12px;border:1px solid var(--vvct-border);border-radius:12px;margin-bottom:10px}
.vvct-footer{background:var(--vvct-footer-bg);color:var(--vvct-footer-text);padding:var(--vvct-footer-padding,34px) 0;margin-top:40px}.vvct-footer a{color:var(--vvct-footer-text)}.vvct-footer-grid{display:grid;grid-template-columns:repeat(var(--vvct-footer-columns,3),minmax(0,1fr));gap:24px}.vvct-footer h3{margin-top:0;color:var(--vvct-footer-text)}.vvct-footer p{margin:.35rem 0}.vvct-footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:24px;padding-top:16px;font-size:14px;opacity:.9}
@media(max-width:900px){.vvct-grid,.vvct-detail,.vvct-footer-grid{grid-template-columns:1fr}.vvct-filter{grid-template-columns:1fr}.vvct-menu ul{flex-wrap:wrap}.vvct-hero{padding:44px 0}.vvct-hero-inner{padding:24px}.vvct-nav{align-items:flex-start;flex-direction:column}}
