/* kbvk Theme — global cross-cutting bits (loaded on every page) */

/* WP nav menu structure inside <nav class="links"><ul class="menu"> */
nav.links ul.menu{display:flex;gap:.3rem;list-style:none;margin:0;padding:0;align-items:center}
nav.links ul.menu li{list-style:none}
nav.links ul.menu a{font-family:var(--font-d);font-weight:500;font-size:1rem;padding:.5em .85em;border-radius:999px;transition:background .15s,color .15s;display:inline-block}
nav.links ul.menu a:hover{background:#fff;color:var(--coral)}
nav.links ul.menu li.current-menu-item>a,
nav.links ul.menu li.current_page_item>a,
nav.links ul.menu a.active{color:var(--coral);background:#fff;box-shadow:inset 0 0 0 2px rgba(255,46,99,.25)}

/* custom logo (Customizer › Site Identity) falls back to bundled logo */
.brand .custom-logo{height:50px;width:auto;display:block;mix-blend-mode:multiply}
.foot-brand .custom-logo{height:48px;width:auto;display:block;filter:invert(1);mix-blend-mode:screen}

/* footer nav menu as plain list */
.foot-col ul.menu{list-style:none;margin:0;padding:0}
.foot-col ul.menu a{display:block;font-size:.94rem;color:#c9b6cc;padding:.22rem 0}
.foot-col ul.menu a:hover{color:var(--yellow)}

/* mobile nav drawer */
.mnav{display:none}
.mnav.open{display:block;position:fixed;inset:0;z-index:60;background:rgba(46,26,71,.45)}
.mnav .panel-m{position:absolute;top:0;right:0;width:min(80vw,320px);height:100%;background:#fff;box-shadow:0 26px 60px rgba(46,26,71,.30);padding:1.4rem;display:flex;flex-direction:column;gap:.2rem;overflow:auto}
.mnav .panel-m a{font-family:var(--font-d);font-weight:600;font-size:1.1rem;padding:.7em .6em;border-radius:12px;color:#2E1A47;display:block}
.mnav .panel-m li{list-style:none}
.mnav .panel-m a:hover{background:#FFF6FA;color:#FF2E63}
.mnav .panel-m .x{align-self:flex-end;font-size:1.7rem;line-height:1;border:0;background:none;cursor:pointer;color:#2E1A47;margin-bottom:.4rem}
.mnav .panel-m .btn{margin-top:.6rem;justify-content:center}

/* WP core alignment helpers for page content inside .prose / editor */
.aligncenter{margin-inline:auto;display:block}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* generic page / post content (page.php, single.php, search, index) */
.entry-content{max-width:760px}
.entry-content > *{margin-bottom:1.05rem}
.entry-content h2{font-size:1.7rem;margin:2rem 0 .6rem}
.entry-content h3{font-size:1.35rem;margin:1.6rem 0 .5rem}
.entry-content p,.entry-content li{color:#5d4470;font-size:1.06rem;line-height:1.7}
.entry-content ul,.entry-content ol{padding-left:1.3rem}
.entry-content a{color:#FF2E63;text-decoration:underline;text-underline-offset:3px}
.entry-content img{border-radius:18px;box-shadow:0 14px 34px rgba(46,26,71,.12)}
.entry-content blockquote{border-left:4px solid #FFC400;padding-left:1.1rem;margin:1.4rem 0;color:#2E1A47;font-family:var(--font-d)}
.post-list{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:760px){.post-list{grid-template-columns:1fr}}
.backlink{display:inline-flex;align-items:center;gap:.4em;margin-top:2rem;font-family:var(--font-d);font-weight:600;color:#FF2E63}
.pagination{display:flex;gap:.5rem;justify-content:center;margin-top:2.4rem;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-d);font-weight:600;padding:.5em .9em;border-radius:999px;border:2px solid rgba(46,26,71,.14);color:#2E1A47}
.pagination .page-numbers.current{background:#2E1A47;color:#fff;border-color:#2E1A47}
.pagination a.page-numbers:hover{border-color:#FF2E63;color:#FF2E63}

/* Footer: Schulferien-Hinweis */
.foot-ferien{margin-top:.7rem;font-size:.82rem;color:#a892ac;line-height:1.45;max-width:30ch}

/* ===========================================================
   Dezente Scroll-Animationen (sanftes Einblenden)
   Gate „.kbvk-anim" wird im <head> gesetzt (siehe functions.php),
   damit Elemente schon beim ersten Paint verborgen sind.
   =========================================================== */
@media (prefers-reduced-motion: no-preference){
  .kbvk-anim :is(
    .hero-copy,.hero-art,.phero .wrap>*,.sec-head,.ev,.akt-card,.panel,
    .pillar,.benefit,.fact,.member,.book,.qa,.era,.tl,.dstep,.dibibe,
    .kbvk-price,.price-card,.cta-band,.quote,.story>*,.intro>*,.ccard,
    .imp,.formcard,.map,.map-lg,.all-events,.news form
  ){
    opacity:0;
    transform:translateY(16px);
    transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);
  }
  .kbvk-anim :is(
    .hero-copy,.hero-art,.phero .wrap>*,.sec-head,.ev,.akt-card,.panel,
    .pillar,.benefit,.fact,.member,.book,.qa,.era,.tl,.dstep,.dibibe,
    .kbvk-price,.price-card,.cta-band,.quote,.story>*,.intro>*,.ccard,
    .imp,.formcard,.map,.map-lg,.all-events,.news form
  ).is-visible{
    opacity:1 !important;
    transform:none !important;
  }
}


/* ---- feine Deko-Symbole (ersetzen die farbigen Punkte/Blobs) ---- */
.deco{position:absolute;z-index:0;pointer-events:none;color:var(--plum);opacity:.11;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.deco.tint-teal{color:var(--teal-deep);opacity:.15}
.deco.tint-coral{color:var(--coral);opacity:.12}
.phero.plum .deco{color:#fff;opacity:.13}
.phero.plum .deco.tint-teal{color:var(--teal);opacity:.18}
.phero.plum .deco.tint-coral{color:#FF8FAE;opacity:.16}
.deco-host{position:relative;overflow:hidden}
@media(max-width:760px){.deco{display:none}}
