.about-text { max-width: 430px; line-height: 1.75; }
.about-text p:first-child { margin-top: 0; }
.about-text p:last-child { margin-bottom: 0; }

.welcome-section { text-align: center; }
.welcome-section .split-heading { display: block; max-width: 860px; margin: 0 auto; }
.welcome-section .about-text { margin: 32px auto 0; text-align: center; }
.welcome-section .about-text-wide { max-width: 1060px; margin-top: 0; font-size: 1.08rem; line-height: 1.85; text-align: justify; text-justify: inter-word; hyphens: none; }
.welcome-section .club-name-highlight,
.welcome-section .contact-link-highlight { color: var(--monument); font-weight: 700; }
.welcome-section .contact-link-highlight { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.welcome-section .contact-link-highlight:hover { color: var(--ink); }
.welcome-section .values article { display: flex; flex-direction: column; align-items: center; text-align: center; }
.welcome-section .values h3 { margin-bottom: 12px; }
.welcome-section .values p { max-width: 100%; }
.welcome-section .value-logo { width: 30px; height: 30px; object-fit: contain; border-radius: 50%; margin-bottom: 8px; }
.welcome-section .values h3 a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }

/* Typografie: klassiek in de koppen, rustig en helder in de leestekst. */
body { font-family: 'Source Sans 3', Arial, sans-serif; }
h1, h2, h3, .brand-mark, .number, time b { font-family: 'Playfair Display', Georgia, serif; }

.brand-logo { width: 48px; height: 48px; object-fit: contain; border-radius: 50%; }
.brand strong { white-space: nowrap; }
.site-footer .brand-logo { background: #fff; }

.knhs-badge { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 0; color: #fff; font-size: .78rem; font-weight: 600; }
.knhs-badge img { display: block; width: 42px; height: 42px; object-fit: contain; border-radius: 3px; }
.knhs-badge:hover span { text-decoration: underline; text-underline-offset: 4px; }

/* Homepage en navigatie-aanpassingen. */
.hero .intro:empty { display: none; }
.hero .button { display: flex; width: fit-content; margin-top: 34px; }
.primary-menu { gap: 8px; font-size: .96rem; }
.primary-menu > li:not(.menu-cta) > a { display: block; position: relative; z-index: 0; border: 1px solid var(--monument); border-radius: 4px; padding: 9px 12px; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.primary-menu > li:not(.menu-cta) > a:hover { background: var(--monument); color: #fff; border-color: #dce8e0; transform: scale(1.08); z-index: 2; box-shadow: 0 0 0 3px rgba(220,232,224,.78), 0 6px 14px rgba(46,60,55,.25); }
.primary-menu .menu-cta { margin-left: 18px; }

.social-links { display: flex; align-items: center; gap: 10px; }
.social-links span { font-size: .8rem; }
.social-links a { display: inline-flex; padding: 2px; color: #fff; transition: transform .2s ease, color .2s ease; }
.social-links a:hover { color: var(--gold); transform: scale(1.12); }
.social-links svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.email-link { display: inline-flex; align-items: center; gap: 8px; }
.email-link svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; }

.announcement { padding: 7px 7vw; }
.top-links { display: flex; justify-content: center; align-items: center; gap: 18px; }
.top-links a { display: inline-flex; color: #fff; transition: color .2s ease, transform .2s ease; }
.top-links a:hover { color: var(--gold); transform: scale(1.12); }
.top-links svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 760px) {
  .about-text { margin-top: 25px; }
  .primary-menu > li:not(.menu-cta) > a { padding: 10px 13px; }
  .primary-menu .menu-cta { margin-left: 0; }
}
.value-logo { width: 30px !important; height: 30px !important; object-fit: contain !important; display: block; }

/* Activiteitenpagina: een ruim leesvlak voor langere aankondigingen. */
.activity-detail.page-content { max-width: 1100px; }
.activity-detail-content { max-width: 860px; font-size: 1.07rem; line-height: 1.85; text-align: justify; text-justify: inter-word; hyphens: auto; }
.activity-detail-content p { margin: 0 0 1.35em; }
@media (max-width: 760px) {
  .activity-detail-content { font-size: 1rem; line-height: 1.75; }
}

/* Agenda op de homepage. */
.agenda-content { display: flex; flex-direction: column; align-items: flex-start; }
.event-list a { transition: background-color .2s ease, padding-left .2s ease; }
.event-list a:hover { background: rgba(220, 228, 223, .45); padding-left: 12px; }
.event-list .agenda-item { padding: 25px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 12px; }
.event-list .agenda-item:last-child { border-bottom: 1px solid var(--line); }
.event-list h3 { margin-bottom: 4px; }
.event-detail-link { font-size: .78rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.agenda-button { display: inline-flex; align-items: center; gap: 16px; margin-top: 30px; padding: 13px 19px; background: var(--monument); color: #fff; font-size: .85rem; font-weight: 700; }
.agenda-button:hover { background: var(--soft); }
.agenda-empty { margin: 0; line-height: 1.7; }
.event-page-date { margin: 18px 0 32px; color: var(--accent); font-weight: 700; }
/* Online inschrijfformulier */
.membership-signup-form fieldset{margin:0 0 30px;padding:25px 24px 4px;border:1px solid var(--line)}
.membership-signup-form legend{padding:0 8px;color:var(--monument);font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:700}
.membership-signup-form .signup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.membership-signup-form .signup-help{margin:-3px 0 18px;color:#586058;font-size:.94rem;line-height:1.55}
@media(max-width:760px){.membership-signup-form fieldset{padding:22px 18px 3px}.membership-signup-form .signup-grid{grid-template-columns:1fr}}
.signup-secondary-link{margin:28px 0 0;text-align:center;line-height:1.7}.signup-secondary-link a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* Keuzeknoppen op de homepage */
.membership-cta-intro{margin:26px 0 16px!important;font-weight:700}.membership-actions{display:flex;flex-wrap:wrap;gap:12px}.membership-actions .button{justify-content:space-between}.membership-actions .button-outline-light{background:transparent;border:1px solid rgba(255,255,255,.8);color:#fff}.membership-actions .button-outline-light:hover{background:#fff;color:var(--monument)}.membership-contact-link{display:inline-block;margin-top:22px;color:#fff;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}@media(max-width:760px){.membership-actions{display:grid;grid-template-columns:1fr}.membership-actions .button{width:100%}}
/* Actieknoppen in het hoofdmenu */
.primary-menu .menu-action a{display:block;border-radius:4px;padding:9px 12px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.primary-menu .menu-join a{background:var(--monument);border:1px solid var(--monument);color:#fff}.primary-menu .menu-donor a{background:var(--gold);border:1px solid var(--gold);color:var(--monument)}.primary-menu .menu-action a:hover{transform:scale(1.06);box-shadow:0 5px 13px rgba(46,60,55,.22);color:var(--monument)}.primary-menu .menu-join a:hover{background:#fff;color:var(--monument)}.primary-menu .menu-donor a:hover{background:#fff;border-color:var(--gold)}@media(min-width:761px) and (max-width:1180px){.site-header{padding:0 3vw}.primary-menu{gap:5px;font-size:.84rem}.primary-menu > li:not(.menu-cta) > a,.primary-menu .menu-action a{padding:8px 9px}}
/* Accent in de welkomsttitel */
.hero h1 .hero-title-accent{color:var(--accent);font-style:italic}


/* Contactformulier: naamvelden op mobiel onder elkaar voor voldoende ruimte. */
@media (max-width: 960px) {
  #wpforms-form-397 .wpforms-field-name .wpforms-field-row,
  #wpforms-form-397 .wpforms-field-name .wpforms-field-row-block {
    display: block !important;
    float: none !important;
    clear: both;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  #wpforms-form-397 .wpforms-field-name .wpforms-field-row-block:last-child {
    margin-bottom: 0 !important;
  }
}	