/* =============================================================
   Bamelis huidziekten — match original Drupal theme
   (warm beige body, blue topbar, rounded button nav,
    centered title block, light grey footer)
   ============================================================= */

:root {
    --text:        #2a2a2a;
    --text-soft:   #4a4a4a;
    --muted:       #6b6b6b;
    --link:        #3d4d7a;
    --link-hover:  #243562;
    --rule:        #c8c5bf;
    --bg:          #ecebe8;          /* warm beige page background */
    --bg-soft:     #d8d6d2;          /* slightly darker — footer */
    --btn:         #3d4d7a;          /* dark blue button (active) */
    --btn-hover:   #4f6196;
    --btn-idle:    #8c8d92;          /* muted greyish-blue (inactive) */
    --topbar-1:    #5a6a96;          /* gradient top */
    --topbar-2:    #c2c5d2;          /* gradient bottom */
    --maxw:        880px;
    --maxw-wide:   1040px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: "Trebuchet MS", "Lucida Sans", Verdana, Geneva, Tahoma, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
}

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 1.25rem; }

a {
    color: var(--link);
    text-decoration: underline;
    text-underline-offset: 2px;
}
a:hover { color: var(--link-hover); }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
    font-weight: 700;
    line-height: 1.25;
    color: var(--text);
}
h1 { font-size: 1.4rem;  margin: 0 0 1rem; }
h2 { font-size: 1.15rem; margin: 1.4rem 0 .5rem; }
h3 { font-size: 1rem;    margin: 1rem 0 .4rem; }

p, ul, ol { margin: 0 0 1rem; }
ul, ol { padding-left: 1.4rem; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 1.75rem 0; }
/* alleen in artikelinhoud een beetje lijst-spacing; NIET in de navigatie */
article.page li + li { margin-top: .2rem; }

.muted { color: var(--muted); font-size: .92em; }

.skip {
    position: absolute; left: -9999px; top: auto;
    width: 1px; height: 1px; overflow: hidden;
}
.skip:focus {
    position: static; width: auto; height: auto;
    padding: .5rem .75rem; background: #000; color: #fff;
    display: inline-block;
}
.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

/* ---------- Decorative blue topbar ---------- */

.topbar {
    height: 14px;
    background: linear-gradient(to bottom, var(--topbar-1), var(--topbar-2));
    border-bottom: 1px solid rgba(0,0,0,.06);
}

/* ---------- Header (nav + centered title) ---------- */

.site-header {
    padding: 1.4rem 1.25rem 1.6rem;
    text-align: center;
}

.main-nav { display: inline-flex; align-items: center; }

.nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.nav-btn {
    display: inline-block;
    padding: .55rem 1.6rem;
    color: #fff;
    background: var(--btn-idle);
    border-radius: 18px;
    text-decoration: none;
    font-weight: 500;
    font-size: .98rem;
    letter-spacing: .01em;
    transition: background .15s ease;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}
.nav-btn:hover { background: var(--btn-hover); color: #fff; }
.nav-btn.is-active {
    background: var(--btn);
    color: #fff;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.18);
}

/* Centered title block under the nav */
.site-title {
    margin: 1.6rem 0 0;
}
.site-title__name {
    font-weight: 700;
    font-size: 1.15rem;
    margin: 0;
    color: var(--text);
}
.site-title__tag {
    font-weight: 700;
    font-size: 1.05rem;
    margin: 1rem 0 0;
    color: var(--text);
}

/* Mobile menu toggle */
.nav-toggle {
    display: none;
    background: none;
    border: 1px solid var(--rule);
    border-radius: 4px;
    padding: 8px 10px;
    cursor: pointer;
    width: 42px; height: 38px;
    position: relative;
}
.nav-toggle__lines,
.nav-toggle__lines::before,
.nav-toggle__lines::after {
    content: "";
    display: block;
    position: absolute;
    left: 9px; right: 9px;
    height: 2px; background: var(--text);
    transition: transform .15s ease, opacity .15s ease;
}
.nav-toggle__lines        { top: 17px; }
.nav-toggle__lines::before{ top: -7px; }
.nav-toggle__lines::after { top:  7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines::before { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__lines::after  { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Main content ---------- */

.site-main {
    padding: 1rem 0 4rem;
    text-align: center;       /* original layout centers content */
}

article.page {
    margin: 0 auto;
}
article.page > :first-child { margin-top: 0; }

article.page p,
article.page ul,
article.page ol,
article.page blockquote {
    max-width: 65ch;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
/* short single paragraphs read better centered, like the original */
article.page p:only-child { text-align: center; }

article.page img {
    margin: 1.25rem auto;
    border-radius: 2px;
}
article.page iframe {
    display: block;
    margin: 1.25rem auto;
    max-width: 100%;
    border: 0;
}
article.page blockquote {
    padding: .25rem 1rem;
    border-left: 3px solid var(--rule);
    color: var(--text-soft);
}
article.page table {
    border-collapse: collapse;
    margin: 1rem auto;
}
article.page th,
article.page td {
    border: 1px solid var(--rule);
    padding: .4rem .6rem;
    text-align: left;
}

/* ---------- Footer ---------- */

.site-footer {
    background: var(--bg-soft);
    color: var(--text-soft);
    font-size: .9rem;
    padding: 1.25rem 1rem 2rem;
    text-align: center;
    border-top: 1px solid rgba(0,0,0,.04);
}
.site-footer p { margin: .15rem 0; }
.site-footer a { color: var(--text-soft); text-decoration: none; }
.site-footer a:hover { color: var(--link); }

/* ---------- Mobile ---------- */

@media (max-width: 640px) {
    body { font-size: 15px; }
    .nav-toggle { display: inline-block; }
    .main-nav { display: block; }
    .nav-list {
        display: none;
        flex-direction: column;
        gap: .35rem;
        padding: .5rem 1rem 0;
    }
    .nav-list.is-open { display: flex; }
    .nav-btn { width: 100%; text-align: center; }
}

/* =============================================================
   Admin (login, dashboard, editor)
   ============================================================= */

.admin-shell {
    max-width: var(--maxw-wide);
    margin: 2rem auto;
    padding: 0 1.25rem;
    text-align: left;
}
.admin-shell__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rule);
    margin-bottom: 1.5rem;
}
.admin-shell h1 { margin: 0; font-size: 1.4rem; }
.admin-shell__nav a { margin-right: 1.25rem; }
.admin-shell__nav a:last-child { margin-right: 0; }

.btn {
    display: inline-block;
    padding: .55rem 1rem;
    background: var(--btn);
    color: #fff !important;
    border: 1px solid var(--btn);
    text-decoration: none;
    cursor: pointer;
    border-radius: 4px;
    font: inherit;
    font-weight: 500;
    line-height: 1.2;
}
.btn:hover {
    background: var(--btn-hover);
    border-color: var(--btn-hover);
    color: #fff !important;
}
.btn-secondary {
    background: #fff;
    color: var(--text) !important;
    border-color: var(--rule);
}
.btn-secondary:hover {
    background: #f3f1ee;
    color: var(--text) !important;
}

form .field { margin-bottom: 1.1rem; }
form label  { display: block; font-weight: 600; margin-bottom: .25rem; font-size: .95rem; }
form input[type=text],
form input[type=password],
form input[type=email],
form textarea {
    width: 100%;
    padding: .55rem .65rem;
    border: 1px solid var(--rule);
    border-radius: 4px;
    font: inherit;
    background: #fff;
}
form input:focus,
form textarea:focus {
    outline: 2px solid var(--btn);
    outline-offset: -1px;
    border-color: var(--btn);
}
form .help { font-size: .88rem; color: var(--muted); margin-top: .25rem; }
form .actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.5rem; }

.alert {
    padding: .75rem 1rem;
    border-radius: 4px;
    margin: 0 0 1.25rem;
    border: 1px solid transparent;
}
.alert-error { background: #fde8e8; color: #8a1c1c; border-color: #f5c2c2; }
.alert-ok    { background: #e6f4ea; color: #1a6b34; border-color: #b9dec5; }
.alert-info  { background: #eaf2fb; color: #143b59; border-color: #bcd2ec; }

.page-list { list-style: none; padding: 0; margin: 0; }
.page-list li {
    padding: .9rem 0;
    border-bottom: 1px solid var(--rule);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.page-list .meta { flex: 1 1 auto; min-width: 0; }
.page-list .meta strong { display: block; font-size: 1.05rem; }

/* TinyMCE wrapper safety */
.tox-tinymce { border-radius: 4px !important; }
