/*
Theme Name: Sauna Midwolda
Theme URI: https://collabrains.de
Author: CollaBrains
Author URI: https://collabrains.de
Description: Het volledige thema voor Sauna Beauty Farm Midwolda: senior-first ontwerp, drie tekstgroottes, contraststand, Nederlandstalig met ruimte voor Duits, en een boekingswizard die met de boekings-API praat (of eerlijk zegt dat online boeken niet kan). De vormgeving zelf staat in assets/css/site.css; hieronder staan alleen de aanvullingen die WordPress nodig heeft.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sauna-midwolda
Tags: custom-colors, custom-menu, custom-logo, editor-style, featured-images, translation-ready, accessibility-ready
*/

/* ─────────────────────────────────────────────────────────────
   Aanvullingen op site.css: alleen wat WordPress zelf toevoegt
   (uitlijningen, zoekformulier, overzichten, beheerbalk) en wat
   in hetzelfde idioom is opgebouwd. Geen externe bronnen.
   ───────────────────────────────────────────────────────────── */

/* Uitlijningen en blokken uit de editor */
.entry-content > *,
.wp-block-group > *{max-width:100%}
.alignwide{max-width:var(--wrap);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.aligncenter{margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.4rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.4rem}
.wp-caption{max-width:100%}
.wp-caption-text,
figcaption{font-size:.86rem;color:var(--muted);margin-top:.5rem;line-height:1.5}
.wp-block-image{margin:0 0 1.4rem}
.wp-block-image img{border-radius:var(--radius);height:auto}
.wp-block-quote{border-left:2px solid var(--champagne);padding-left:1.2rem;margin:1.6rem 0;font-family:var(--serif);font-size:1.15rem}
.wp-block-table{width:100%;border-collapse:collapse}
.wp-block-table th,
.wp-block-table td{border-bottom:1px solid var(--line);padding:.7rem .4rem;text-align:left}
.wp-block-separator{border:0;border-top:1px solid var(--line);margin:2.4rem 0}

/* Toegankelijkheid: de klasse die WordPress zelf gebruikt */
.screen-reader-text{
  border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;
  padding:0;position:absolute !important;width:1px;word-wrap:normal !important;
}
.screen-reader-text:focus{
  background:var(--off);clip-path:none;color:var(--forest);display:block;font-size:1rem;
  height:auto;left:1rem;line-height:normal;padding:1rem 1.4rem;top:1rem;width:auto;z-index:100000;
  box-shadow:var(--shadow);
}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Beheerbalk: niet onder de vaste kop laten verdwijnen */
body.admin-bar .site-head{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-head{top:46px}}

/* Overzichten (archief, zoeken, blog) */
.lijst{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem;max-width:var(--wrap-narrow)}
.lijst__item{border-bottom:1px solid var(--line);padding-bottom:1.2rem}
.lijst__item:last-child{border-bottom:0}
.lijst__item h2{margin-bottom:.35rem}

.kaarten{list-style:none;margin:1.6rem 0 0;padding:0}
.kaart{
  background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);
}
.kaart__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.kaart__media img{width:100%;height:100%;object-fit:cover}
.kaart__body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.35rem}
.kaart__body h2,
.kaart__body h3{font-size:1.22rem;line-height:1.25;margin:0}
.kaart__body h2 a,
.kaart__body h3 a{text-decoration:none}
.kaart__body h2 a:hover,
.kaart__body h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.kaart__prijs{margin:auto 0 0;padding-top:.6rem;font-weight:600;color:var(--forest)}

/* Prijslijst uit [sauna_prijzen] */
.prijslijst{list-style:none;margin:1.2rem 0;padding:0;max-width:var(--wrap-narrow)}
.prijslijst__rij{
  display:flex;gap:1rem;align-items:baseline;justify-content:space-between;
  padding:.85rem 0;border-bottom:1px solid var(--line);
}
.prijslijst__rij:last-child{border-bottom:0}
.prijslijst__naam{font-weight:500}
.prijslijst__prijs{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Openingstijden */
.openingstijden{width:100%;border-collapse:collapse;max-width:520px}
.openingstijden th,
.openingstijden td{padding:.6rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.openingstijden th{width:45%;color:var(--muted)}
.openingstijden .is-vandaag th,
.openingstijden .is-vandaag td{font-weight:700;color:var(--forest)}

/* Paginering */
.pager{margin-top:2rem}
.pager .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pager a,
.pager span.page-numbers{
  display:inline-flex;min-height:48px;min-width:48px;align-items:center;justify-content:center;
  padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;
}
.pager span.current{border-color:var(--forest);font-weight:600}
.pager a:hover{border-color:var(--forest)}

/* Zoekformulier */
.zoek{margin-top:2.4rem;max-width:560px}
.zoek__form{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
.zoek__veld{
  flex:1 1 220px;min-height:48px;padding:.7rem .9rem;font:inherit;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--charcoal);
}
.zoek__veld:focus-visible{border-color:var(--forest)}

/* Bewerklinks voor ingelogde beheerders */
.edit-link a,
.post-edit-link{font-size:.86rem;color:var(--muted);text-underline-offset:3px}

/* Formulieren in de inhoud (reacties, plugins) blijven binnen de maat */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select{max-width:100%}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* Taalknop in de kop */
.head-link--taal{
  letter-spacing:.08em;font-size:.82rem;text-transform:uppercase;
  border:1px solid var(--line);border-radius:var(--radius);
  padding:.45rem .6rem;min-height:0;text-decoration:none;line-height:1;
}
.head-link--taal:hover{border-color:var(--forest)}
@media (max-width:900px){.head-link--taal{display:none}}

/* Het mobiele menu staat buiten beeld maar mag geen tikken opvangen: zonder
   deze regel ligt het onzichtbaar over de menuknop heen. */
@media (max-width:1199px){
  .nav:not(.is-open){visibility:hidden;pointer-events:none}
  .nav.is-open{visibility:visible;pointer-events:auto}
}
