/*
Theme Name: Koukol Naturheilpraxis
Author: Heidrun Koukol
Description: Responsives WordPress-Block-Theme nach dem bereitgestellten Website-Screenshot. Inhalte werden als normale WordPress-Seiten verwaltet.
Version: 1.3.8
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: koukol-naturheilpraxis
*/
:root{--koukol-bg:#FCFCF8;--koukol-ink:#303d50;--koukol-red:#b20e43;--koukol-link:#a63d20;--koukol-rule:#b9c6d2;--koukol-muted:#72746b}
html{scroll-behavior:smooth}body{background:var(--koukol-bg);color:var(--koukol-ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.55}a{color:var(--koukol-link);text-underline-offset:3px}a:hover{color:var(--koukol-red)}h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;color:var(--koukol-ink);font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,3vw,2.35rem)}h2{font-size:clamp(1.55rem,2.2vw,1.9rem)}h3{font-size:1.35rem}p{margin-block:0 1.15em}.wp-site-blocks{min-height:100vh}.koukol-header{padding:16px 24px 0!important}.koukol-brand{display:flex;align-items:center;justify-content:center;gap:clamp(28px,10vw,180px);min-height:112px;margin:0 auto 22px;max-width:980px}.koukol-brand-symbol{display:block;width:52px;height:100px;background:url('assets/logo-symbol.png') center/contain no-repeat;flex:0 0 auto}.koukol-brand-wordmark{display:block;width:min(300px,55vw);height:100px;background:url('assets/logo-wordmark.png') center/contain no-repeat;flex:0 1 300px}.koukol-nav-wrap{border-bottom:1px solid var(--koukol-rule);margin:0 auto;max-width:1100px;padding:0 0 7px}.koukol-nav-wrap .wp-block-navigation{justify-content:center;gap:0}.koukol-nav-wrap .wp-block-navigation-item{border-right:1px solid var(--koukol-rule);padding:0 16px}.koukol-nav-wrap .wp-block-navigation-item:last-child{border-right:0}.koukol-nav-wrap .wp-block-navigation-item__content{color:#283b50;font-size:16px;font-weight:700;text-transform:uppercase;text-decoration:none;white-space:nowrap}.koukol-nav-wrap .current-menu-item>.wp-block-navigation-item__content,.koukol-nav-wrap .wp-block-navigation-item__content:hover{color:var(--koukol-link)}main.wp-block-group{box-sizing:border-box;width:100%;max-width:1100px!important;margin-inline:auto;padding:64px 32px 72px!important}.wp-block-post-title{margin-top:0;margin-bottom:1.5rem}.wp-block-post-content{max-width:1250px}.wp-block-post-content img{height:auto;max-width:100%;border-radius:0}.wp-block-post-content figure:first-of-type img{border-radius:64px;object-fit:cover}.wp-block-post-content .wp-block-image{margin-block:1.5rem}.koukol-footer{box-sizing:border-box;width:100%;border-top:1px solid var(--koukol-rule);max-width:1100px;margin:0 auto;padding:26px 20px!important;font-size:15px}.koukol-footer a{color:var(--koukol-ink);text-decoration:none}.koukol-footer a:hover{color:var(--koukol-red)}.wp-block-navigation__responsive-container.is-menu-open{background:var(--koukol-bg);padding:30px}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:18px;padding:10px}.wp-block-separator{border-color:var(--koukol-rule)}@media(max-width:900px){.koukol-header{padding-inline:16px!important}.koukol-brand{gap:28px;min-height:92px;margin-bottom:18px}.koukol-brand-symbol{width:38px;height:78px}.koukol-brand-wordmark{width:min(250px,65vw);height:78px}.koukol-nav-wrap .wp-block-navigation{justify-content:flex-start}.koukol-nav-wrap .wp-block-navigation-item{padding:6px 10px}.koukol-nav-wrap .wp-block-navigation-item__content{font-size:13px}main.wp-block-group{padding:42px 20px 52px!important}}@media(max-width:600px){.koukol-brand{gap:20px}.koukol-brand-symbol{width:30px;height:66px}.koukol-brand-wordmark{width:min(220px,68vw);height:66px}body{font-size:17px}.wp-block-post-content figure:first-of-type img{border-radius:30px}.koukol-footer .wp-block-group{gap:12px;align-items:flex-start!important}}

/* Desktop layout: centered like the reference site, with substantial side margins. */
@media (min-width: 1200px) {
  .wp-site-blocks > .koukol-header,
  .wp-site-blocks > header,
  .wp-site-blocks > main,
  .wp-site-blocks > .koukol-footer,
  .wp-site-blocks > footer { max-width: 1100px; margin-left: auto; margin-right: auto; }
  .wp-site-blocks > main { width: 100%; }
}
.koukol-nav-wrap .wp-block-navigation__submenu-container {
  background: var(--koukol-bg);
  border: 1px solid var(--koukol-rule);
  padding: 8px 0;
  box-shadow: 0 6px 16px rgba(40,59,80,.08);
}
.koukol-nav-wrap .wp-block-navigation__submenu-container .wp-block-navigation-item {
  border-right: 0;
  padding: 7px 14px;
}
.koukol-nav-wrap .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  text-transform: none;
  white-space: normal;
  font-size: 14px;
}
@media (max-width: 1199px) {
  .wp-site-blocks > main { max-width: 100% !important; }
}

/* Header navigation and footer share the same centered desktop width. */
@media (min-width: 1200px) {
  .wp-site-blocks > .koukol-header,
  .wp-site-blocks > header,
  .wp-site-blocks > .koukol-nav-wrap,
  .wp-site-blocks > main,
  .wp-site-blocks > .koukol-footer,
  .wp-site-blocks > footer {
    box-sizing: border-box;
    max-width: 1100px !important;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .koukol-nav-wrap .wp-block-navigation__container {
    flex-wrap: nowrap !important;
    justify-content: center;
    gap: 14px;
  }
  .koukol-nav-wrap .wp-block-navigation-item__content {
    white-space: nowrap;
    font-size: 12px;
  }
}
@media (max-width: 1199px) {
  .koukol-nav-wrap .wp-block-navigation__container {
    flex-wrap: wrap;
  }
}

/* Navigation fix v1.3.1: keep all top-level links on one desktop row. */
@media (min-width: 1200px) {
  .koukol-nav-wrap,
  .wp-block-navigation,
  .wp-block-navigation__responsive-container,
  .wp-block-navigation__container {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .koukol-nav-wrap .wp-block-navigation__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
  }
  .koukol-nav-wrap .wp-block-navigation-item,
  .koukol-nav-wrap .wp-block-navigation-item__content {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 11px !important;
  }
  .koukol-nav-wrap .wp-block-navigation__submenu-container {
    white-space: normal !important;
  }
}

/* Praxis branding in the header */
.koukol-brand {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin: 10px auto 28px;
  color:#b31e4b;
}
.koukol-brand-mark {
  margin:0;
  color:#8b897c;
  font-size:64px;
  line-height:.78;
  text-align:center;
}
.koukol-brand-mark small {
  font-size:14px;
  letter-spacing:2px;
  color:#b31e4b;
}
.koukol-brand-name {
  color:#b31e4b;
  font-size:36px;
  line-height:1.12;
}
.koukol-brand-name p {
  margin:0;
}
.koukol-brand-name p:first-child {
  border-bottom:1px solid #b9b8b2;
  padding-bottom:5px;
  margin-bottom:5px;
}
.koukol-header-logo img {
  max-height:110px;
  width:auto;
  object-fit:contain;
}
@media (max-width:600px) {
  .koukol-brand { gap:14px; }
  .koukol-brand-mark { font-size:44px; }
  .koukol-brand-name { font-size:25px; }
}

/* Content spacing for page templates */
.koukol-main-content { margin-top: 0 !important; }
.koukol-main-content > :first-child { margin-block-start: 0; }


/* Responsive navigation: submenu parents are disclosure controls, not helper-page links. */
.koukol-nav-wrap .wp-block-navigation__submenu-container {
  z-index: 1000;
}
.koukol-nav-wrap .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon {
  margin-left: 5px;
}
@media (max-width: 782px) {
  /* Keep the responsive menu closed until the visitor opens it with the menu button. */
  .koukol-nav-wrap .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    position: fixed;
    inset: 0;
    z-index: 100000;
    overflow-y: auto;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: 100%;
    gap: 0 !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-right: 0 !important;
    border-bottom: 1px solid var(--koukol-rule);
    padding: 0 !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    white-space: normal !important;
    font-size: 17px !important;
    padding: 12px 10px !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    display: none;
    position: static !important;
    width: 100%;
    box-shadow: none;
    border: 0;
    padding: 0 0 8px 14px;
    background: transparent;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.open-on-click > .wp-block-navigation__submenu-container,
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container[style*="display: block"] {
    display: block;
  }
  /* Three horizontal strokes for the mobile menu button. */
  .koukol-nav-wrap .wp-block-navigation__responsive-container-open svg {
    display: none !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container-open::before {
    content: "";
    display: block;
    width: 24px;
    height: 18px;
    background: linear-gradient(to bottom,
      currentColor 0 2px,
      transparent 2px 8px,
      currentColor 8px 10px,
      transparent 10px 16px,
      currentColor 16px 18px);
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container-open {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Footer links stack vertically on phones. */
  .koukol-footer .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .koukol-footer .wp-block-group > * {
    margin: 0 !important;
  }
}

/* Footer links: horizontal on desktop, one per line on mobile. */
.koukol-footer-links {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 22px;
}
.koukol-footer-links p { margin: 0 !important; }
.koukol-footer-links p + p {
  border-left: 1px solid var(--koukol-rule);
  padding-left: 22px;
}
@media (max-width: 782px) {
  .koukol-footer .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .koukol-footer .koukol-footer-links {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .koukol-footer-links p + p {
    border-left: 0;
    padding-left: 0;
  }
}


/* v1.3.8: dropdown-only parent items; no helper-page navigation */
@media (min-width: 783px) {
  .koukol-nav-wrap .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
    display: none;
  }
  .koukol-nav-wrap .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
  .koukol-nav-wrap .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
  .koukol-nav-wrap .wp-block-navigation-item.has-child.koukol-submenu-open > .wp-block-navigation__submenu-container {
    display: block !important;
  }
}
@media (max-width: 782px) {
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
    display: none !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    max-height: none !important;
    box-shadow: none;
    border: 0;
    padding: 0 0 8px 14px;
    background: transparent;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.koukol-submenu-open > .wp-block-navigation__submenu-container {
    display: block !important;
  }
  .koukol-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    font-weight: 700;
  }
}
