/* Standaardopmaak van de extra modules (reviews, vragen, galerij, aanbod, openingstijden, formulieren, zoeken, cookiekeuze).
   Gebruikt de kleuren van het thema. Een thema kan alles overschrijven in zijn eigen stijlbestand. */
.mod-h{font-size:1.35rem;margin:2.2rem 0 1rem}
.mod-h:first-child{margin-top:0}
.mod-chip{display:inline-block;padding:.15em .7em;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:600;vertical-align:middle}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:20px}
.mod-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,22px);padding:24px;box-shadow:var(--shadow);margin:0}
.mod-card h3{margin:0 0 .4em}
.mod-card p{margin:.6em 0 0}
/* veelgestelde vragen */
.mod-acc{display:grid;gap:10px}
.mod-acc__it{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.mod-acc__it summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:1rem 1.3rem;cursor:pointer;font-weight:600;list-style:none}
.mod-acc__it summary::-webkit-details-marker{display:none}
.mod-acc__it summary::after{content:"";flex:none;width:.6rem;height:.6rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .3s var(--ease,ease)}
.mod-acc__it[open] summary::after{transform:rotate(-135deg)}
.mod-acc__a{padding:0 1.3rem 1.2rem;color:var(--muted);line-height:1.6}
/* reviews */
.mod-review{display:grid;gap:12px}
.mod-review blockquote{margin:0;font-size:1.05rem;line-height:1.6}
.mod-review figcaption{font-size:.92rem}
.mod-stars{color:var(--ochre,#ffc83d);letter-spacing:.15em;font-size:1.1rem}
.mod-stars span{color:var(--line)}
/* galerij */
.mod-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:12px}
.mod-gal__it{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:18px;background:var(--surface-2)}
.mod-gal__it img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease,ease)}
.mod-gal__it:hover img{transform:scale(1.05)}
.mod-gal__it span{position:absolute;left:0;right:0;bottom:0;padding:.8rem 1rem;color:#fff;font-size:.9rem;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.6))}
/* aanbod */
.mod-prod{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mod-prod__img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mod-prod__b{padding:22px;display:flex;flex-direction:column;flex:1}
.mod-prod__price{font-weight:700;font-size:1.15rem;color:var(--link)}
.mod-prod__act{margin-top:auto!important;padding-top:1rem;display:flex;flex-wrap:wrap;gap:10px}
.mod-prod__act .btn{min-height:2.6rem;padding:.6em 1.2em;font-size:.92rem}
/* openingstijden */
.mod-open{display:inline-flex;align-items:center;gap:.6em;font-weight:700;margin:.4rem 0 0}
.mod-open span{width:.7rem;height:.7rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 25%,transparent)}
.mod-open--yes{color:#2e9d62}.mod-open--no{color:var(--muted)}
.mod-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:1rem}
.mod-table th,.mod-table td{padding:.85rem 1.2rem;text-align:left;border-bottom:1px solid var(--line)}
.mod-table tr:last-child>*{border-bottom:0}
.mod-table th{font-weight:600;width:48%}
.mod-table th small{margin-left:.5em;color:var(--link);font-weight:600}
.mod-table tr.is-today{background:color-mix(in srgb,var(--teal,#4c9582) 12%,transparent)}
.mod-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:8px 24px;margin-top:1.5rem}
.mod-contact p{margin:0}
/* formulieren */
.mod-check{display:flex;gap:.7em;align-items:flex-start;margin:.4rem 0 1rem;font-size:.95rem}
.mod-check input{margin-top:.25em;width:1.1rem;height:1.1rem;accent-color:var(--forest)}
/* feeds */
.mod-feed__h{font-weight:700;margin-bottom:0!important}
.mod-videos{list-style:none;margin:.4rem 0 1rem;padding:0;display:grid;gap:8px}
.mod-videos a{font-weight:600}
.mod-videos small{display:block;color:var(--muted)}
/* zoeken */
.search-form{display:flex;gap:8px;align-items:center}
.search-form input[type=search]{flex:1;min-width:0;padding:.7em 1.1em;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
.search-form button:not(.btn){display:grid;place-items:center;border:0;background:none;color:var(--ink);cursor:pointer;padding:.4em}
.search-form--big{margin-top:1.2rem}
.search-form--big .btn{white-space:nowrap}
.mod-res{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mod-res a{display:grid;gap:2px;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .3s var(--ease,ease)}
.mod-res a:hover{border-color:var(--teal,#4c9582);transform:translateY(-2px)}
.mod-res span{color:var(--muted);font-size:.92rem}
/* cookiekeuze */
.cc{position:fixed;z-index:900;left:16px;right:16px;bottom:16px;max-width:30rem;padding:20px 22px;border-radius:24px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-l);display:grid;gap:12px;animation:cc-in .5s var(--ease,ease) both}
@media (min-width:640px){.cc{left:auto;right:24px;bottom:24px}}
.cc[hidden]{display:none}
.cc h2{margin:0;font-size:1.1rem}
.cc p{margin:0;font-size:.92rem;line-height:1.5;color:var(--muted)}
.cc a{color:var(--link)}
.cc__act{display:flex;flex-wrap:wrap;gap:8px}
.cc__act .btn{min-height:2.6rem;padding:.55em 1.1em;font-size:.9rem;flex:1 1 auto}
.cc__cats{display:grid;gap:10px}
.cc__cat{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface-2)}
.cc__cat strong{font-size:.95rem}
.cc__cat small{grid-column:1;color:var(--muted);font-size:.82rem;line-height:1.4}
.cc__cat input{grid-row:1/3;grid-column:2;width:1.3rem;height:1.3rem;accent-color:var(--forest)}
@keyframes cc-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cc{animation:none}}

/* Taalkeuze bij meer dan twee talen */
.lang-menu{position:relative}
.lang-menu summary{list-style:none;cursor:pointer}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu ul{position:absolute;right:0;top:calc(100% + .4rem);z-index:60;margin:0;padding:.35rem;list-style:none;min-width:10rem;background:var(--surface,#fff);color:var(--ink,#1b2824);border:1px solid rgba(128,128,128,.25);border-radius:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.lang-menu li a,.lang-menu__cur{display:block;padding:.5rem .8rem;border-radius:.6rem;text-decoration:none;color:inherit}
.lang-menu li a:hover,.lang-menu li a:focus-visible{background:rgba(128,128,128,.14)}
.lang-menu__cur{font-weight:700;opacity:.65}
.lang-menu--nav{display:none}
.lang-menu--nav ul{position:static;box-shadow:none;margin-top:.4rem}
@media(max-width:900px){.lang-menu--hdr{display:none}.lang-menu--nav{display:block;margin:0 0 16px}}

/* Zoeken vanuit de menubalk */
.sbar{position:absolute;left:0;right:0;top:100%;z-index:3;background:color-mix(in srgb,var(--bg) 98%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border-bottom:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(0,0,0,.35);border-radius:0 0 28px 28px;clip-path:inset(0 0 100% 0 round 0 0 28px 28px);opacity:0;transform:translateY(-10px);transition:clip-path .5s var(--ease),opacity .3s,transform .5s var(--ease)}
.sbar.is-open{clip-path:inset(0 0 0 0 round 0 0 28px 28px);opacity:1;transform:none}
.sbar__in{padding-block:18px 22px;max-width:46rem;margin-inline:auto}
.sbar__form{display:flex;align-items:center;gap:.7rem;padding:.35rem .5rem .35rem 1.1rem;border:1.5px solid var(--line);border-radius:999px;background:var(--surface,var(--bg));transition:border-color .25s,box-shadow .3s}
.sbar__form:focus-within{border-color:var(--rust);box-shadow:0 0 0 4px color-mix(in srgb,var(--rust) 18%,transparent)}
.sbar__form>.icon{flex:none;color:var(--rust);width:1.3rem;height:1.3rem}
.sbar__input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:1.2rem;padding:.7rem 0;-webkit-appearance:none;appearance:none}
.sbar__input::-webkit-search-cancel-button{display:none}
.sbar__res{max-height:min(66vh,31rem);overflow:auto;margin-top:0;padding-top:0;transition:margin .3s}
.sbar.has-res .sbar__res{margin-top:14px}
.sbar__msg{margin:0;padding:.6rem .4rem;color:var(--muted,inherit);opacity:.75}
.sbar__h{margin:.9rem .4rem .3rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rust);font-weight:700}
.sbar__item,.sbar__all{display:block;padding:.65rem .9rem;border-radius:16px;text-decoration:none;color:var(--ink);opacity:0;transform:translateY(8px);animation:sbar-in .45s var(--ease) forwards;animation-delay:calc(var(--i,0) * 45ms)}
.sbar__item strong{display:block;font-weight:600}
.sbar__item span{display:block;font-size:.9rem;opacity:.7;margin-top:.1rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sbar__item:hover,.sbar__item.is-active,.sbar__all:hover,.sbar__all.is-active{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.sbar__all{margin-top:.5rem;font-weight:600;color:var(--rust)}
@keyframes sbar-in{to{opacity:1;transform:none}}
.sbar__scrim{position:absolute;left:0;right:0;top:100%;height:100vh;z-index:2;background:rgba(10,16,14,.35);opacity:0;transition:opacity .4s}
.sbar__scrim.is-open{opacity:1}
.search-open .search-toggle{background:color-mix(in srgb,var(--rust) 14%,transparent);color:var(--rust)}
@media(prefers-reduced-motion:reduce){.sbar,.sbar__scrim,.sbar__item,.sbar__all{transition:none;animation:none;opacity:1;transform:none}.sbar:not(.is-open){opacity:0}}
@media(max-width:600px){.sbar__in{padding-inline:var(--gut,16px)}.sbar__input{font-size:1.05rem}}

/* Zoekresultaten met voorvertoning */
.sbar__item.has-img{display:flex;align-items:center;gap:.85rem}
.sbar__tx{display:block;min-width:0;flex:1}
.sbar__img{flex:none;width:56px;height:56px;object-fit:cover;border-radius:12px;background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.14);transition:transform .3s}
.sbar__item:hover .sbar__img,.sbar__item.is-active .sbar__img{transform:scale(1.06)}
.mod-res a.has-img{grid-template-columns:72px 1fr;column-gap:1rem;align-items:center}
.mod-res a.has-img>.mod-res__img{grid-row:1/span 2;width:72px;height:72px;object-fit:cover;border-radius:14px;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.mod-res a.has-img>strong,.mod-res a.has-img>span{grid-column:2}
@media(prefers-reduced-motion:reduce){.sbar__img{transition:none}}

/* Zoeksuggesties */
.sbar__sugt{margin:.2rem .4rem .5rem;font-size:.82rem;color:var(--muted,inherit);opacity:.85}
.sbar__row,.sbar__did{display:grid;grid-template-columns:7.5rem 1fr;gap:.4rem .8rem;align-items:baseline;padding:.4rem .4rem;opacity:0;transform:translateY(8px);animation:sbar-in .4s calc(var(--i,0) * 50ms + 60ms) forwards}
.sbar__did{opacity:1;transform:none;animation:none;margin-bottom:.3rem}
.sbar__rowl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--rust)}
.sbar__chips{display:flex;flex-wrap:wrap;gap:6px}
.sbar__chip{appearance:none;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.92rem;padding:.28em .85em;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.sbar__chip:hover,.sbar__chip:focus-visible{border-color:var(--rust);background:color-mix(in srgb,var(--rust) 9%,var(--surface));transform:translateY(-1px)}
@media(max-width:560px){.sbar__row,.sbar__did{grid-template-columns:1fr;gap:.25rem}}
@media(prefers-reduced-motion:reduce){.sbar__row{animation:none;opacity:1;transform:none}.sbar__chip{transition:none}}

/* Zoekpagina: beelden van de resultaten hangen links en rechts (zoals op de 404-pagina) */
.sr{position:relative;overflow-x:clip}
.sr .wrap{position:relative;z-index:2}
.sr__sides{position:absolute;left:0;right:0;top:0;height:min(100%,1000px);pointer-events:none;z-index:1}
.sr__p{display:none;pointer-events:auto}
.sr__p img{aspect-ratio:var(--r)}
@media (min-width:1100px){
  .sr--pics{min-height:940px}
  .sr__p{display:block;width:clamp(100px,10vw,170px)}
  .sr__p1{left:2%;top:3%;--rot:-6deg;--fd:0s}
  .sr__p2{left:10%;top:27%;--rot:4deg;--fd:-2s;width:clamp(90px,8.5vw,140px)}
  .sr__p3{left:1.5%;top:50%;--rot:-3deg;--fd:-4s;width:clamp(110px,11vw,185px)}
  .sr__p4{left:9%;top:75%;--rot:6deg;--fd:-1s;width:clamp(95px,9vw,150px)}
  .sr__p5{right:9%;top:4%;--rot:5deg;--fd:-3s;width:clamp(95px,9vw,150px)}
  .sr__p6{right:1.5%;top:28%;--rot:-5deg;--fd:-5s;width:clamp(110px,11vw,180px)}
  .sr__p7{right:10%;top:53%;--rot:3deg;--fd:-2.5s;width:clamp(90px,8.5vw,140px)}
  .sr__p8{right:2%;top:76%;--rot:-6.5deg;--fd:-1.5s}
}
@media (min-width:1400px){
  .sr__p{display:block;width:clamp(130px,15vw,270px)}
  .sr__p1{left:1.5%;top:1%;--rot:-6deg;--fd:0s}
  .sr__p2{left:7.5%;top:21%;--rot:4deg;--fd:-2s;width:clamp(115px,12.5vw,225px)}
  .sr__p3{left:1%;top:42%;--rot:-3deg;--fd:-4s;width:clamp(135px,16vw,290px)}
  .sr__p4{left:8%;top:65%;--rot:6deg;--fd:-1s;width:clamp(120px,13vw,235px)}
  .sr__p5{right:7.5%;top:2%;--rot:5deg;--fd:-3s;width:clamp(120px,13vw,235px)}
  .sr__p6{right:1%;top:22%;--rot:-5deg;--fd:-5s;width:clamp(135px,16vw,290px)}
  .sr__p7{right:8%;top:45%;--rot:3deg;--fd:-2.5s;width:clamp(115px,12.5vw,225px)}
  .sr__p8{right:1.5%;top:66%;--rot:-6.5deg;--fd:-1.5s}
}

.search-form input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.sf-field{position:relative;flex:1;min-width:0;display:flex}
.sf-field input[type=search]{flex:1;padding-right:2.8em}
.sf-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--muted);text-decoration:none;transition:background .2s,color .2s}
.sf-clear:hover,.sf-clear:focus-visible{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}
.sf-clear .icon{width:1em;height:1em}
