/* De Nachtwacht — sectie-stijl uit contact.html */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
  .cinfo h2{ font-size:clamp(26px,3vw,38px); margin-bottom:8px; }
  .cinfo .sub{ color:var(--muted); margin-bottom:30px; }
  .cblock{ margin-bottom:26px; }
  .cblock h4{ font-family:var(--sans); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
  .cblock p, .cblock a{ color:var(--cream); font-size:16px; }
  .cblock a:hover{ color:var(--gold); }
  /* openingstijden */
  .hours{ list-style:none; border-top:1px solid var(--line); margin-top:6px; }
  .hours li{ display:flex; justify-content:space-between; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--line); }
  .hours .day{ font-size:14px; letter-spacing:.06em; color:var(--cream); }
  .hours .t{ font-family:var(--serif); font-weight:700; font-size:17px; color:var(--cream); }
  .hours li.closed .t{ color:var(--muted); font-style:italic; font-weight:500; font-size:15px; }
  .hours li.today{ padding-left:12px; border-left:2px solid var(--gold); }
  .hours li.today .day{ color:var(--gold); font-weight:600; }
  .hours li.today .t{ color:var(--gold); }
  /* form */
  .formcard{ background:var(--ink-2); border:1px solid var(--line); border-radius:6px; padding:40px; }
  .formcard h3{ font-size:24px; margin-bottom:6px; }
  .formcard .note{ color:var(--muted); font-size:14.5px; margin-bottom:26px; }
  .frow{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .field{ margin-bottom:18px; display:flex; flex-direction:column; }
  .field.full{ grid-column:1 / -1; }
  .field label{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:8px; }
  .field input, .field select, .field textarea{
    background:var(--ink); border:1px solid var(--line); border-radius:6px; color:var(--cream);
    font-family:var(--sans); font-size:15px; padding:13px 14px; transition:border-color .25s, box-shadow .25s; }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,169,108,.15); }
  .field select{ appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a89e92' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
  .field select.is-empty{ color:#897d70; }
  .field select option{ color:var(--cream); background:var(--ink-2); }
  .field select option[disabled]{ color:#897d70; }
  .field textarea{ resize:vertical; min-height:110px; }
  .formcard .btn{ width:100%; justify-content:center; margin-top:6px; }
  .thanks{ display:none; text-align:center; padding:20px 0; }
  .thanks.show{ display:block; }
  .thanks .mark{ width:74px; margin:0 auto 16px; opacity:.85; }
  .thanks h3{ color:var(--gold); }
  .thanks p{ color:var(--muted); margin-top:8px; }
  /* map */
  .maprow{ background:var(--ink-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .loc-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:34px; }
  .loc-head h2{ font-size:clamp(26px,3vw,40px); margin-bottom:8px; }
  .loc-head .addr{ color:var(--cream); font-family:var(--serif); font-weight:700; font-size:17px; }
  .loc-head .addr small{ display:block; font-family:var(--sans); font-weight:500; font-size:14px; color:var(--muted); margin-top:4px; }
  .map-frame{ border:none; }
  .map-frame .map{ display:block; width:100%; height:500px; border:0; filter:grayscale(.35) invert(.9) contrast(.86) hue-rotate(180deg) brightness(.95) saturate(.85); transition:filter .4s ease; }
  .map-frame:hover .map{ filter:grayscale(.2) invert(.9) contrast(.88) hue-rotate(180deg) brightness(1) saturate(.95); }
  @media(max-width:900px){
    .contact-grid{ grid-template-columns:1fr; gap:44px; }
    .loc-head{ flex-direction:column; align-items:flex-start; gap:16px; }
    .map-frame .map{ height:340px; }
  }
  @media(max-width:520px){ .frow{ grid-template-columns:1fr; } .formcard{ padding:28px 22px; } }
