/* Praktijk Dorine – the old colours (lavender, the periwinkle band, purple links), readable on every screen */
:root { --band: #95a2ce; --lav: #ece6ff; --lav2: #e3dcfb; --purple: #551a8b; --text: #26222e; --muted: #5d5868; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); font: 17px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    background: linear-gradient(to bottom, #fff 0, #fff 30%, rgba(234, 226, 255, .65) 100%) fixed #fff; }
img { max-width: 100%; height: auto; }
a { color: var(--purple); text-underline-offset: 3px; }
a:hover { color: #7b2fd0; }

/* the header: the logo on the band, as before */
/* white left of the head, the band from the logo to the right edge */
.site-header { display: flex; height: 146px; background: #fff; }
.site-header .logo { flex: none; display: block; margin-left: max(0px, calc((100vw - 1100px) / 2)); }
.site-header::after { content: ""; flex: 1; background: url(/images/dorine_02.gif) repeat-x left top; }
.site-header img { display: block; width: 318px; height: 146px; }

.wrap { max-width: 1100px; margin: 0 auto; padding: 24px 20px 40px; display: grid; grid-template-columns: 220px minmax(0, 1fr) 170px; gap: 32px; align-items: start; }
.wrap:not(:has(.photos-side)) { grid-template-columns: 220px minmax(0, 1fr); }

/* the menu: main items bold, their pages below, on lavender – as before */
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu > ul > li > a { display: block; padding: 5px 4px; font-weight: 700; font-family: Georgia, "Times New Roman", serif; font-size: 1.02rem; text-decoration: none; }
.menu li ul { margin: 2px 0 8px 10px; }
.menu li ul a { display: block; padding: 4px 8px; font-family: Georgia, "Times New Roman", serif; font-size: .95rem; text-decoration: none; }
.menu li ul li:nth-child(odd) a { background: var(--lav2); }
.menu a[aria-current] { color: #fff; background: var(--band) !important; border-radius: 4px; }
.menu a:hover { text-decoration: underline; }
.menu-toggle { display: none; }

/* the text */
.content h1 { color: var(--band); text-shadow: 0 1px 0 #21232c; font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1.2; margin: 0 0 .6em; }
.content h2 { color: var(--purple); font-size: 1.25rem; margin: 1.4em 0 .3em; }
.content h3 { font-size: 1.05rem; margin: 1.2em 0 .3em; }
.content ul, .content ol { padding-left: 1.3em; }
.content li { margin: .2em 0; }
.center { text-align: center; }
.photos { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0; }
.photos figure { margin: 0; width: 150px; }
.photos img { display: block; border: 1px solid var(--purple); }
.photos figcaption { font-size: .88rem; color: var(--muted); line-height: 1.35; margin-top: 4px; }

/* prices and contact */
.prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 10px 0 16px; }
.prices section { background: rgba(255, 255, 255, .75); border: 1px solid var(--lav2); border-radius: 10px; padding: 12px 16px; }
.prices h2 { margin: 0 0 6px; font-size: 1.1rem; }
.prices table { width: 100%; border-collapse: collapse; }
.prices td { padding: 6px 0; border-top: 1px solid var(--lav); vertical-align: top; }
.prices tr:first-child td { border-top: 0; }
.prices td:last-child { text-align: right; font-weight: 700; white-space: nowrap; padding-left: 12px; }
.prices small { color: var(--muted); }
.contact { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 12px 0 18px; }
.contact dt { color: var(--muted); }
.contact dd { margin: 0; }

/* photos beside the text */
.photos-side img { display: block; width: 150px; margin: 0 0 18px; border: 1px solid var(--purple); }

.site-footer { background: var(--band); color: #fff; text-align: center; padding: 14px 16px; font-size: .95rem; }
.site-footer p { margin: 4px 0; }
.site-footer a { color: #fff; }
.site-footer .small { font-size: .85rem; opacity: .9; }

/* tablets: the photos below the text */
@media (max-width: 900px) {
    .wrap, .wrap:not(:has(.photos-side)) { grid-template-columns: 200px minmax(0, 1fr); }
    .photos-side { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px; }
    .photos-side img { margin: 0; }
}
/* phones: the menu behind a button, everything one column */
@media (max-width: 680px) {
    .site-header { height: auto; }
    .site-header::after { background-size: auto 100%; }
    .site-header img { width: 220px; height: auto; }
    .wrap, .wrap:not(:has(.photos-side)) { grid-template-columns: 1fr; gap: 14px; padding-top: 10px; }
    .photos-side { grid-column: 1; }
    .photos-side img { width: calc(50% - 6px); }
    .menu-toggle:not([hidden]) { display: block; width: 100%; padding: 10px 14px; border: 1px solid var(--band); border-radius: 8px; background: #fff; color: var(--purple); font: 700 1rem Georgia, serif; text-align: left; cursor: pointer; }
    .menu-toggle::after { content: " ☰"; float: right; }
    .js-menu #menu-list { display: none; }
    .js-menu .menu.open #menu-list { display: block; margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
