/* ===== Contact & Route (met headerfoto, FAQ en GF styling) ===== */
:root{
  --ink:#0f172a; --muted:#6b7280; --beige:rgba(181,150,120,.16); --accent:#F4B41A;
  --b:1px solid rgba(0,0,0,.08); --br:16px;
}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.muted{color:var(--muted)}

/* HERO */
.ct-hero{
  position:relative;
  padding: clamp(64px, 12vw, 160px) 0  clamp(32px,6vw,70px);
  color:#fff;
  background: #222;
  background-image: var(--hero);
  background-size: cover; background-position: center;
}
.ct-hero--overlay::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.35));
}
.ct-hero .container{ position:relative; z-index:1; }
.ct-title{ margin:0 0 10px; font-size: clamp(28px,5vw,48px); line-height:1.1; }
.ct-intro{ max-width: 72ch; font-size: 1.05rem; opacity: .95; }

/* GRID */
.ct-grid{ padding: 24px 0; }
.grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:16px; align-items:start; }
@media(max-width:900px){ .grid{ grid-template-columns: 1fr; } }

.ct-card{ background:#fff; border:var(--b); border-radius:var(--br); padding:14px;    height: 100%;box-sizing:border-box; }
.ct-card h2{ margin:0 0 8px; }

/* Contact blok */
.ct-lines{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ct-lines li{ display:flex; gap:10px; align-items:flex-start; }
.ct-lines a{ color:inherit; text-decoration:none; font-weight:800; }

/* Social links */
.ct-socials{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px }
.ct-socials a{ display:inline-flex; gap:8px; align-items:center; background:var(--beige); border:var(--b); border-radius:999px; padding:6px 10px; text-decoration:none; color:inherit }
.ct-socials a:hover{ background: #d8c4b4; color:#151515; border-color:transparent }

/* Hours table */
.ct-table{ width:100%; border-collapse:collapse }
.ct-table th,.ct-table td{ padding:8px 0; border-bottom:var(--b) }
.ct-table tr.is-today th,.ct-table tr.is-today td{ font-weight:800 }
.tag{ display:inline-block; background:rgba(0,0,0,.06); padding:2px 8px; border-radius:999px; font-size:12px }

/* Map */
.map-embed{ border-radius:12px; overflow:hidden; border:var(--b); height: 100%;}
.map-embed iframe{ width:100%; height:100%; border:0 }

/* Form wrapper */
.form-wrap{ background:#fafafa; border:var(--b); border-radius:12px; padding:14px }

/* ===== Gravity Forms theming (werkt met jouw HTML) ===== */
.gform_wrapper.gravity-theme .gform_heading .gform_title{
  font-size: 22px; margin: 0 0 8px; font-weight: 800;
}
.gform_wrapper.gravity-theme .gform_fields{
  display:grid; grid-template-columns: repeat(12, 1fr); gap: 12px 14px;
}
.gform_wrapper.gravity-theme .gfield{ margin: 0; }
.gform_wrapper.gravity-theme .gfield--width-full{ grid-column: 1 / -1; }
.gform_wrapper.gravity-theme .gfield--width-half{ grid-column: span 6; }
.gform_wrapper.gravity-theme .gfield--width-third{ grid-column: span 4; }
@media (max-width: 820px){
  .gform_wrapper.gravity-theme .gfield--width-half,
  .gform_wrapper.gravity-theme .gfield--width-third{ grid-column: 1 / -1; }
}

/* Inputs */
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme .gform-datepicker,
.gform_wrapper.gravity-theme textarea{
  width:100%; background:#fff; border:1.5px solid #e5e7eb; border-radius:12px;
  padding:12px 14px; font:inherit; transition:border .2s, box-shadow .2s;box-sizing: border-box;
}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme textarea:focus{
  outline:none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(244,180,26,.18);
}
/* Date/time complex */
.gform_wrapper.gravity-theme .ginput_complex.gform-grid-row{
  display:grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items:center;
}
.gform_wrapper.gravity-theme .hour_minute_colon{ opacity:.5; }

/* Labels & required */
.gform_wrapper.gravity-theme .gfield_label{ font-weight:700; margin-bottom:6px; }
.gform_required .gfield_required_text{ font-weight:400; font-size:.85em; opacity:.85; }

/* Checkbox privacy */
.gform_wrapper.gravity-theme .ginput_container_checkbox .gfield-choice-input{
  width:18px;height:18px; border-radius:4px; border:1.5px solid #e5e7eb;
}
.gform_wrapper.gravity-theme .ginput_container_checkbox label a{ text-decoration: underline; }

/* Footer / submit */
.gform_wrapper.gravity-theme .gform_footer{
  margin-top: 6px; padding-top: 6px; display:flex; gap:10px; align-items:center;
}
.gform_wrapper.gravity-theme .gform_button.button{
  background: var(--accent); color:#151515; font-weight:900; border:0; border-radius:999px; height:46px; padding:0 18px; cursor:pointer;
}
.gform_wrapper.gravity-theme .gform_button.button:hover{ filter: brightness(0.95); }

/* FAQ */
.ct-faq{ padding: 8px 0 28px; }
.ct-faq h2{ font-size: clamp(22px,4.5vw,34px); margin:0 0 8px; }
.faq-list{ display:grid; gap:8px; }
.faq-item{ background:#fff; border:var(--b); border-radius:12px; padding:10px; }
.faq-item summary{ cursor:pointer; font-weight:800; }
.faq-a{ margin-top:8px; color: var(--ink); }

/* Sticky CTA (mobiel) */
.ct-sticky{ position:fixed; left:50%; transform:translateX(-50%); bottom:14px; background:var(--accent); color:#151515; font-weight:900;
  padding:12px 18px; border-radius:999px; text-decoration:none; box-shadow:0 8px 28px rgba(0,0,0,.25); z-index:50 }
@media(min-width:820px){ .ct-sticky{ display:none } }
