/* MC Gorecht - secondary page styles (contact, over-ons, team).
   Builds on site.css tokens (--ink, --cream, --line, --accent, --display). */

/* slim page hero */
.pagehero { background: var(--ink); color: var(--cream-soft); padding: clamp(120px, 14vw, 180px) 0 clamp(48px, 6vw, 72px); }
.pagehero .eyebrow { color: var(--accent-soft); }
.pagehero h1 { font-family: var(--display); font-weight: 400; font-size: clamp(40px, 6vw, 84px); line-height: 1.02; letter-spacing: -0.02em; margin: 16px 0 0; max-width: 16ch; }
.pagehero p { margin: 22px 0 0; max-width: 56ch; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; color: rgba(247,242,238,.82); }

/* contact layout */
.contact-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }

.contact-form h2 { font-family: var(--display); font-weight: 400; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.01em; margin: 0 0 26px; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; margin-bottom: 22px; }
@media (max-width: 560px) { .frow { grid-template-columns: 1fr; } }
.fld { display: flex; flex-direction: column; gap: 7px; margin-bottom: 22px; }
.frow .fld { margin-bottom: 0; }
.fld > span { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); }
.fld input, .fld select, .fld textarea {
  font: inherit; font-size: 15px; color: var(--ink); background: transparent;
  border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; outline: none;
  transition: border-color .2s var(--ease);
}
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color: var(--accent); }
.fld textarea { resize: vertical; min-height: 120px; }
.fld input::placeholder, .fld textarea::placeholder { color: color-mix(in srgb, var(--ink-soft) 70%, transparent); }
.check { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); margin-bottom: 26px; }
.check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); flex: none; }
.form-done { display: none; align-items: center; gap: 10px; margin-top: 22px; font-size: 14.5px; color: var(--ink); }
.form-done .dot { width: 9px; height: 9px; border-radius: 999px; background: #1F8A5B; box-shadow: 0 0 0 4px rgba(31,138,91,.16); flex: none; }

/* contact aside */
.contact-aside { display: flex; flex-direction: column; gap: 34px; }
.cblock h3 { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); margin: 0 0 16px; }
.clist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.clist li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line-soft); font-size: 15px; }
.clist li span { color: var(--ink-soft); }
.clist li a { color: var(--accent); font-weight: 500; }

/* generic editorial intro for over-ons / team */
.lead-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 900px) { .lead-row { grid-template-columns: 1fr; } }
.lead-row .media { border-radius: 6px; overflow: hidden; box-shadow: var(--shadow-md, 0 8px 24px rgba(26,20,16,.12)); }
.lead-row .media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

/* team grid */
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.tmember { background: var(--cream-soft); padding: 0; display: flex; flex-direction: column; transition: background .25s var(--ease); }
.tmember:hover { background: var(--paper); }
.tmember__photo { aspect-ratio: 4 / 5; background: var(--cream); display: grid; place-items: center; overflow: hidden; }
.tmember__photo span { font-family: var(--display); font-size: 40px; color: var(--accent); }
.tmember__photo img { width: 100%; height: 100%; object-fit: cover; }
.tmember__body { padding: 20px 22px 24px; }
.tmember__body h3 { font-family: var(--display); font-weight: 400; font-size: 21px; letter-spacing: -0.01em; margin: 0; }
.tmember__body p { margin: 4px 0 0; font-size: 13.5px; color: var(--ink-soft); }

/* values band reuse on pages */
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
@media (max-width: 760px) { .pillars { grid-template-columns: 1fr; } }
.pillar { background: var(--cream-soft); padding: clamp(28px, 3vw, 40px); }
.pillar .n { font-family: var(--display); font-size: 22px; color: var(--accent); }
.pillar h3 { font-family: var(--display); font-weight: 400; font-size: 22px; letter-spacing: -0.01em; margin: 12px 0 8px; }
.pillar p { font-size: 14.5px; line-height: 1.6; color: var(--ink-soft); margin: 0; }

/* legal / long-form pages (privacy, klachten, cookiebeleid) */
.legal { max-width: 760px; }
.legal h2 { font-family: var(--display); font-weight: 400; font-size: clamp(22px,2.4vw,30px); letter-spacing: -.01em; margin: 40px 0 14px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { font-family: var(--sans); font-weight: 600; font-size: 16px; color: var(--ink); margin: 26px 0 10px; }
.legal p { color: var(--ink-soft); line-height: 1.7; font-size: 16px; margin: 0 0 14px; }
.legal ul { margin: 0 0 16px; padding-left: 22px; }
.legal li { color: var(--ink-soft); line-height: 1.7; font-size: 16px; margin-bottom: 8px; }
.legal a { color: var(--accent); border-bottom: 1px solid var(--accent); }
.legal strong { color: var(--ink); }
.legal__updated { font-size: 13px; color: var(--ink-soft); margin: 0 0 8px; }
.legal__note { margin-top: 38px; padding: 16px 18px; background: var(--cream); border: 1px solid var(--line); border-radius: 8px; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); }

/* ===== content pages: zorg / afspraak / nieuws ===== */
.svc-row { padding: clamp(36px,5vw,64px) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 90px; }
.svc-row:last-of-type { border-bottom: 0; }
.iconpanel { display: grid; place-items: center; aspect-ratio: 4/3; border-radius: 6px; background: var(--cream); border: 1px solid var(--line); }
.iconpanel svg { width: 74px; height: 74px; color: var(--accent); }
.featurelist { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.featurelist li { position: relative; padding-left: 30px; color: var(--ink-soft); line-height: 1.6; }
.featurelist li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 999px; background: var(--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; }
.svc-index { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
@media (max-width:760px){ .svc-index { grid-template-columns: 1fr; } }
.svc-index a { background: var(--cream-soft); padding: 18px 22px; display: flex; align-items: center; gap: 13px; transition: background .2s var(--ease); }
.svc-index a:hover { background: var(--paper); }
.svc-index .n { font-size: 11px; font-weight: 600; letter-spacing: .1em; color: var(--accent); }
.svc-index .t { font-family: var(--display); font-size: 18px; }
.svc-index .arr { margin-left: auto; color: var(--accent); }
/* option cards (afspraak / online regelen) */
.optioncards { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
@media (max-width:720px){ .optioncards { grid-template-columns: 1fr; } }
.optioncard { background: var(--cream-soft); padding: clamp(24px,2.4vw,34px); display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 90px; transition: background .25s var(--ease); }
.optioncard:hover { background: var(--paper); }
.optioncard__ic { width: 30px; height: 30px; color: var(--accent); }
.optioncard h3 { font-family: var(--display); font-weight: 400; font-size: 22px; letter-spacing: -.01em; }
.optioncard p { color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; flex: 1; }
.optioncard .tagline { font-size: 12.5px; color: var(--ink-soft); }
/* steps reuse .pillars from above */
/* FAQ */
.faq { max-width: 820px; border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { list-style: none; cursor: pointer; padding: 20px 0; display: flex; align-items: center; gap: 16px; font-family: var(--display); font-weight: 400; font-size: clamp(17px,1.6vw,20px); color: var(--ink); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; margin-left: auto; color: var(--accent); font-size: 24px; line-height: 1; transition: transform .25s var(--ease); }
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__a { padding: 0 36px 22px 0; color: var(--ink-soft); line-height: 1.65; }
.faq__a p { margin: 0 0 10px; }
/* news filters */
.filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: clamp(28px,3vw,40px); }
.filters button { font-size: 12.5px; font-weight: 500; color: var(--ink-soft); padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; background: none; cursor: pointer; transition: border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease); }
.filters button:hover { border-color: var(--accent); color: var(--accent); }
.filters button.on { background: var(--ink); border-color: var(--ink); color: var(--cream-soft); }
.news__empty { color: var(--ink-soft); margin-top: 24px; }


/* ===== Formulieren (afspraak / herhaalrecept) ===== */
.frm{max-width:680px;}
.frm__sec{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:30px 0 14px;}
.frm__f{margin-bottom:16px;}
.frm__f>label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:6px;}
.frm__f .req{color:var(--accent);}
.frm__f input[type=text],.frm__f input[type=email],.frm__f input[type=tel],.frm__f input[type=date],.frm__f select,.frm__f textarea{width:100%;padding:11px 13px;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:9px;transition:border-color .15s;box-sizing:border-box;}
.frm__f input:focus,.frm__f select:focus,.frm__f textarea:focus{outline:none;border-color:var(--accent);}
.frm__f textarea{min-height:92px;resize:vertical;}
.frm__radio{display:flex;gap:18px;flex-wrap:wrap;}
.frm__radio label{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--ink-soft);font-weight:400;}
.frm__note{background:var(--mcg-magenta-soft,#FBEDF3);border:1px solid var(--mcg-magenta-soft2,#F3D9E4);border-radius:10px;padding:13px 15px;font-size:13.5px;color:var(--ink-soft);margin:24px 0;}
.frm__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.frm__done{background:var(--mcg-success,#1F8A5B);color:#fff;border-radius:12px;padding:18px 20px;font-size:15px;margin-bottom:10px;}
[dir=rtl] .frm__hp{left:auto;right:-9999px;}

/* eConsult */
.ec-taal { margin: 10px 0 26px; color: var(--ink-soft); font-size: 15px; }
.ec-med { border: 1px solid var(--line); border-radius: 14px; padding: 28px clamp(20px,4vw,36px); background: var(--cream-soft); max-width: 640px; }
.ec-med h3 { font-family: var(--display); font-weight: 400; font-size: 24px; margin: 0 0 8px; }
.ec-med p { margin: 0 0 18px; color: var(--ink-soft); }

/* eConsult — professionele module */
.ec-wrap { max-width: 760px; }
.ec-alert { border: 1px solid #e4b8c6; background: #fbeef2; border-radius: 14px; padding: 22px clamp(18px,3vw,28px); margin: 0 0 22px; }
.ec-alert__h { font-weight: 600; color: #a21f47; letter-spacing: .02em; text-transform: uppercase; font-size: 13px; margin-bottom: 8px; }
.ec-alert p { margin: 0 0 8px; }
.ec-rf { margin: 6px 0 12px; padding-left: 20px; }
.ec-rf li { margin: 3px 0; }
.ec-alert__foot { margin-top: 10px; font-size: 14px; }
html[dir="rtl"] .ec-rf { padding-left: 0; padding-right: 20px; }

.frm__hint { font-size: 14px; color: var(--ink-soft); margin: 2px 0 14px; }
.frm__err { background: #fbeef2; border: 1px solid #e4b8c6; color: #a21f47; border-radius: 12px; padding: 14px 18px; margin-bottom: 18px; }
.frm__done span { display: block; margin-top: 4px; color: var(--ink-soft); font-weight: 400; }

/* foto-upload */
.ec-drop { position: relative; border: 1.5px dashed var(--line); border-radius: 14px; background: var(--cream); transition: border-color .2s, background .2s; }
.ec-drop.is-over { border-color: var(--accent); background: var(--cream-soft); }
.ec-drop__input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ec-drop__label { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 26px 18px; color: var(--ink-soft); font-size: 15px; text-align: center; cursor: pointer; }
.ec-drop__label svg { color: var(--accent); flex: none; }
.ec-filemsg { color: #a21f47; font-size: 13.5px; margin: 10px 2px 0; }
.ec-thumbs { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.ec-thumb { position: relative; width: 96px; height: 96px; margin: 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--cream-soft); }
.ec-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ec-thumb__x { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border: none; border-radius: 50%; background: rgba(23,19,21,.78); color: #fff; font-size: 17px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ec-thumb__x:hover { background: #a21f47; }
html[dir="rtl"] .ec-thumb__x { right: auto; left: 4px; }
.btn:disabled { opacity: .6; cursor: default; }

/* eConsult — geschiktheid (uitklap) + alarmnotitie */
.ec-fit { border: 1px solid var(--line); border-radius: 12px; padding: 4px 18px; margin: 0 0 22px; background: var(--cream-soft); }
.ec-fit summary { cursor: pointer; padding: 12px 0; font-weight: 500; color: var(--ink); list-style-position: inside; }
.ec-fit p { margin: 0 0 12px; color: var(--ink-soft); font-size: 14.5px; }
.ec-alarm-note { margin-top: 8px; font-size: 14px; color: #a21f47; background: #fbeef2; border-radius: 10px; padding: 10px 14px; }
html[dir="rtl"] .ec-fit summary { list-style-position: inside; }

/* eConsult — urgentie-waarschuwing (modal) */
.ec-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(23,19,21,.55); }
.ec-modal__box { background: #fff; border-radius: 16px; max-width: 460px; width: 100%; padding: 28px clamp(20px,4vw,32px); box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.ec-modal__box h3 { font-family: var(--display); font-weight: 400; font-size: 25px; margin: 0 0 10px; color: #a21f47; }
.ec-modal__box p { margin: 0 0 12px; color: var(--ink); }
.ec-modal__nums { font-size: 14.5px; color: var(--ink-soft); }
.ec-modal__act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ec-modal__send { display: block; margin: 14px auto 0; background: none; border: none; color: var(--ink-soft); font-size: 13.5px; text-decoration: underline; cursor: pointer; }
html[dir="rtl"] .ec-modal__box { text-align: right; }

/* eConsult — AI-vervolgvragen */
.ec-ai { border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin: 0 0 20px; background: var(--cream-soft); }
.ec-ai__top { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.ec-ai__hint { margin: 0; flex: 1 1 240px; }
.ec-ai__loading { margin-top: 12px; color: var(--ink-soft); font-size: 14px; }
.ec-ai__demo { margin-top: 12px; font-size: 13px; color: var(--ink-soft); font-style: italic; }
.ec-ai__q .frm__f { margin-top: 12px; }

/* Nieuwsbriefblok in de formulieren (afspraak, herhaalrecept, eConsult) */
.frm__nb{background:var(--cream-soft,#faf7f1);border:1px solid var(--line,rgba(26,20,16,.12));border-radius:12px;padding:18px 20px;margin:26px 0 8px;}
.frm__nb-t{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);margin:0 0 6px;}
.frm__nb-p{font-size:14px;color:var(--ink-soft);margin:0 0 10px;}
.frm__nb-l{list-style:none;margin:0 0 14px;padding:0;font-size:14px;color:var(--ink-soft);}
.frm__nb-l li{position:relative;padding-left:22px;margin:4px 0;}
.frm__nb-l li::before{content:"";position:absolute;left:3px;top:.45em;width:9px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);}
.frm__nb-k{display:flex;align-items:flex-start;gap:9px;background:var(--paper,#fff);border:1px solid var(--line,rgba(26,20,16,.12));border-radius:10px;padding:12px 14px;font-size:14.5px;font-weight:500;color:var(--ink);cursor:pointer;}
.frm__nb-k input{margin:3px 0 0;accent-color:var(--accent);width:16px;height:16px;flex:none;}
.frm__nb-v{font-size:12.5px;color:var(--ink-soft);margin:10px 2px 0;line-height:1.5;}
.frm__nb-v a{color:var(--accent);}
[dir=rtl] .frm__nb-l li{padding-left:0;padding-right:22px;}
[dir=rtl] .frm__nb-l li::before{left:auto;right:3px;}

/* Openingstijden en adres (contactpagina) */
.hours{background:var(--paper,#fff);border:1px solid var(--line,rgba(26,20,16,.12));border-radius:12px;padding:6px 18px;}
.hours__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-soft,rgba(26,20,16,.06));font-size:15px;color:var(--ink);}
.hours__row:last-child{border-bottom:0;}
.hours__tijd{color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.hours__row--dicht .hours__tijd{color:var(--ink-soft);}
.hours__row.is-today{font-weight:600;}
.hours__row.is-today .hours__tijd{color:var(--accent);font-weight:600;}
.adres{background:var(--paper,#fff);border:1px solid var(--line,rgba(26,20,16,.12));border-radius:12px;padding:20px 18px;}
.adres__naam{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 6px;}
.adres__regel{font-size:15px;color:var(--ink-soft);line-height:1.6;}
.adres__park{display:flex;align-items:center;gap:10px;margin:14px 0 18px;font-size:14px;color:var(--ink-soft);}
.adres__p{flex:none;width:22px;height:22px;border-radius:6px;background:#1f5fbf;color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;line-height:1;}
.adres__nav{display:inline-flex;align-items:center;gap:9px;width:100%;justify-content:center;}

/* Afspraakformulier: uitleg bij de vragen van de assistent */
.af-ai__uitleg{margin:6px 0 8px;}
.af-ai__noot{margin:0;font-size:13px;}
