/*
Theme Name: Orgelkring Druivenstreek
Description: Rustige vormgeving voor Orgelkring Druivenstreek, op native WordPress-blokken.
Version: 0.1.14
Template: twentytwentyfive
Requires at least: 6.7
Requires PHP: 8.3
Text Domain: orgelkring-druivenstreek
License: GNU General Public License v2 or later
*/
.ok-site-header { padding-block: 2rem; border-bottom: 1px solid var(--wp--preset--color--line); gap:2rem; }
.ok-wordmark { max-width:190px; }
.ok-wordmark a { color:inherit; text-decoration:none; }
.ok-main-nav a { padding-block:0.55rem; }
.ok-main-nav .wp-block-navigation__submenu-container { background:var(--wp--preset--color--paper); min-width:300px; }
.ok-main-nav .wp-block-navigation__submenu-container a { font-size:1rem; padding:0.55rem 1rem; }
.ok-main-nav .wp-block-navigation__responsive-container.is-menu-open { padding:1.5rem; }
.ok-home { padding-top:3rem; }
.ok-home .wp-block-columns { gap:3rem; }
.ok-home .wp-block-column { min-width:0; }
.ok-hero { align-items:center; margin-bottom:3.5rem; }
.ok-hero h1 { font-size:clamp(2.7rem,4.4vw,3.7rem); }
.ok-hero>.wp-block-column:first-child { flex-basis:43%; }
.ok-hero>.wp-block-column:last-child { flex-basis:57%; }
.ok-hero img { width:100%; aspect-ratio:1.38; object-fit:cover; }
.ok-home figcaption { font-size:0.8rem; color:var(--wp--preset--color--muted); }
.ok-home p:not(.ok-kicker):not(.ok-textlink) { color:var(--wp--preset--color--muted); }
.ok-kicker { font-size:0.75rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--wp--preset--color--accent); }
.ok-small { font-size:0.875rem; }
.ok-textlink { font-size:1rem; }
.ok-textlink a { text-decoration:none; }
.ok-textlink a:hover { text-decoration:underline; text-underline-offset:0.25em; }
.ok-intro { padding-bottom:3rem; border-bottom:1px solid var(--wp--preset--color--line); }
.ok-organs { padding-block:1.5rem 3rem; }
.ok-organ-cards img { width:100%; aspect-ratio:1.6; object-fit:cover; }
.ok-organ-cards h3 { font-size:1.65rem; margin-top:1rem; margin-bottom:0.25rem; }
.ok-organ-cards p { margin-top:0.5rem; }
.ok-concert { background:var(--wp--preset--color--soft); align-items:center; gap:0!important; }
.ok-concert figure { margin:0; }
.ok-concert img { width:100%; aspect-ratio:1.35; object-fit:cover; }
.ok-concert-copy { padding:2rem; }
.ok-members-news { padding-block:3.5rem; }
.ok-members-news>.wp-block-column:last-child { border-left:1px solid var(--wp--preset--color--line); padding-left:2rem; }
.ok-members-news .wp-block-post-template li { padding-block:1rem; border-top:1px solid var(--wp--preset--color--line); }
.ok-members-news .wp-block-post-title { font-size:1.4rem; line-height:1.3; margin-top:0.4rem; }
.ok-site-footer { border-top:1px solid var(--wp--preset--color--line); padding-block:2rem; }
.ok-site-footer .wp-block-site-title { font-size:1.4rem; }
.ok-page-content { padding-block:3rem 4rem; min-height:45vh; }
.wp-block-post-content img { max-width:100%; height:auto; }
.wp-block-post-content table { max-width:100%; }
@media(max-width:781px) {
 .ok-site-header { padding-block:1.5rem; }
 .ok-home { padding-top:2rem; }
 .ok-home .wp-block-columns { gap:1.5rem; }
 .ok-hero h1 { font-size:2.7rem; }
 .ok-members-news>.wp-block-column:last-child { border-left:0; padding-left:0; margin-top:1.5rem; }
 .ok-organ-cards>.wp-block-column { margin-bottom:1.5rem; }
 .ok-concert-copy { padding:1.5rem; }
 .ok-main-nav .wp-block-navigation__submenu-container { min-width:0; }
}

/* Constrain full site parts and let homepage sections use the wide canvas. */
.ok-site-header, .ok-site-footer { box-sizing:border-box; max-width:1180px; width:calc(100% - 40px); margin-inline:auto; }
.ok-home { box-sizing:border-box; width:calc(100% - 40px); max-width:1180px; margin-inline:auto; }
.ok-home > * { max-width:none!important; }
.ok-home .ok-hero > .wp-block-column { flex-grow:0; }

/* Approved hover: deeper burgundy, with consistently legible light text. */
.wp-block-button .wp-block-button__link {
 transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.wp-block-button .wp-block-button__link:is(:hover, :focus-visible) {
 background-color:#542b28;
 color:var(--wp--preset--color--paper);
 border-color:#542b28;
 text-decoration:none;
}
.wp-block-button .wp-block-button__link:focus-visible {
 outline:2px solid #542b28;
 outline-offset:4px;
}
@media (prefers-reduced-motion:reduce) {
 .wp-block-button .wp-block-button__link { transition:none; }
}

/* Explicit bold weight remains visible with light body text, including in the editor. */
.wp-block-post-content strong, .wp-block-post-content b,
.editor-styles-wrapper strong, .editor-styles-wrapper b { font-weight:700; }

/* Desktop navigation: align organ text with its parent and keep long names readable. */
@media (min-width:600px) {
 .wp-block-navigation.ok-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
  gap:clamp(24px,2.25vw,32px);
 }
 .wp-block-navigation.ok-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
  box-sizing:border-box;
  left:-17px;
  right:auto;
  width:380px;
  min-width:380px;
  background:var(--wp--preset--color--paper);
 }
}

/* Current page and section: a stable underline without changing text width. */
.wp-block-navigation.ok-main-nav li:not(.ok-nav-cta):is(.ok-current-menu-item,.ok-current-menu-ancestor) > .wp-block-navigation-item__content,
.wp-block-navigation.ok-main-nav li:not(.ok-nav-cta):is(.ok-current-menu-item,.ok-current-menu-ancestor) > .ok-mobile-submenu-toggle {
 color:var(--wp--preset--color--accent);
 text-decoration-line:underline;
 text-decoration-thickness:2px;
 text-underline-offset:7px;
 text-decoration-skip-ink:auto;
}
