/* =========================================================================
   KuRS-Care – Ergänzungen für WordPress
   (site.css enthält das eigentliche Design; hier nur, was WordPress zusätzlich braucht)
   ========================================================================= */

/* Admin-Leiste für angemeldete Redakteur/innen */
.admin-bar .site-header{top:calc(env(safe-area-inset-top, 0px) + var(--wp-admin--admin-bar--height, 32px))}
.admin-bar .subnav{top:calc(env(safe-area-inset-top, 0px) + var(--header-h) + var(--wp-admin--admin-bar--height, 32px))}
@media (max-width: 600px){
  .admin-bar .site-header{top:env(safe-area-inset-top, 0px)}
  .admin-bar .subnav{top:calc(env(safe-area-inset-top, 0px) + var(--header-h))}
}
@media (max-width: 960px){
  .admin-bar .nav{inset:calc(env(safe-area-inset-top, 0px) + var(--header-h) + var(--wp-admin--admin-bar--height, 46px)) 0 0 0}
}

/* Logo aus dem Customizer (wird wie das Theme-Logo skaliert) */
.brand .custom-logo{width:auto}

/* Menüs aus dem Backend */
.nav .current-menu-item > a, .nav .current_page_parent > a, .nav .current-menu-ancestor > a{color:var(--plum-700)}
.nav .current_page_parent > a::after, .nav .current-menu-ancestor > a::after{content:""; position:absolute; left:14px; right:14px; bottom:3px; height:2px; border-radius:2px; background:var(--magenta); transform:none}
@media (max-width: 960px){
  .nav .current_page_parent > a::after, .nav .current-menu-ancestor > a::after{display:none}
  .nav .current-menu-item > a, .nav .current_page_parent > a, .nav .current-menu-ancestor > a{color:var(--ic-fg, var(--magenta)); background:color-mix(in srgb, var(--ic-bg, var(--magenta-soft)) 60%, transparent)}
  .nav .current_page_parent > a .nav__ic, .nav .current-menu-ancestor > a .nav__ic{background:var(--ic-fg, var(--plum-700)); color:#fff}
}
.footer-bottom .legal-links{display:flex; flex-wrap:wrap; gap:22px}
.footer-bottom nav{flex-wrap:wrap; align-items:center}
.footer-grid li{list-style:none}

/* Siegel: Fotos oder Grafik (Umschaltung im Customizer) */
.kc-siegel-grafik .sv-foto{display:none}
body:not(.kc-siegel-grafik) .sv-grafik{display:none}

/* Team ohne Foto, Ansprechpartner Kontaktseite */
.team-teaser__portrait .face-mono--xl{position:absolute; inset:0; display:grid; place-items:center; width:auto; height:auto; border-radius:0; border:0; margin:0; font-family:var(--f-display); font-size:96px; font-weight:500; background:linear-gradient(160deg, var(--plum-700), var(--plum-900))!important}
.team-teaser__portrait{position:relative}
.kc-ansprech{display:flex; gap:16px; align-items:center; margin-top:6px}
.kc-ansprech__bild{width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:50% 22%; flex:none}
span.kc-ansprech__bild{display:grid; place-items:center; margin:0; border:0; font-size:20px}

/* Kontaktformular */
.kc-hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden}
.kc-hinweis{padding:14px 18px; border-radius:12px; font-size:15px; margin:0 0 22px}
.kc-hinweis--fehler{background:#FDECEA; color:#8A1C12}
.form .btn.is-busy{opacity:.7; cursor:progress}
#nachricht{scroll-margin-top:calc(var(--header-h) + 24px)}

/* Einfache Seiten, Rechtstexte, Beiträge */
.page-hero--schlicht{padding-bottom:clamp(28px, 4vw, 44px)}
.wrap--narrow{max-width:820px}
.entry-content > *:first-child{margin-top:0}
.entry-content p, .entry-content ul, .entry-content ol, .entry-content figure, .entry-content table, .entry-content blockquote{margin-bottom:1.1em}
.entry-content h2{font-size:clamp(26px, 3vw, 32px); margin:1.6em 0 .5em}
.entry-content h3{font-family:var(--f-body); font-size:19px; font-weight:700; margin:1.5em 0 .4em}
.entry-content a{color:var(--plum-700); text-decoration:underline; text-underline-offset:3px}
.entry-content a:hover{color:var(--magenta)}
.entry-content ul{list-style:disc; padding-left:22px}
.entry-content ol{list-style:decimal; padding-left:22px}
.entry-content li{margin-bottom:.35em}
.entry-content img{max-width:100%; height:auto; border-radius:var(--r-md)}
.entry-content blockquote{border-left:3px solid var(--magenta); padding:4px 0 4px 20px; color:var(--ink-2); font-family:var(--f-display); font-size:21px}
.entry-content table{width:100%; border-collapse:collapse; font-size:15px}
.entry-content th, .entry-content td{padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
.entry-content .wp-block-button__link, .entry-content .wp-element-button{display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:999px; background:var(--plum-700); color:#fff; text-decoration:none; font-weight:650}
.entry-content .wp-block-button__link:hover{background:var(--plum-900); color:#fff}
.entry-content .alignwide{max-width:none}
.entry-content .aligncenter{margin-inline:auto; text-align:center}
.entry-content .alignleft{float:left; margin:0 24px 12px 0}
.entry-content .alignright{float:right; margin:0 0 12px 24px}
.entry-content .wp-block-image figcaption, .entry-content .wp-caption-text{font-size:14px; color:var(--ink-3); margin-top:8px}
.entry-content .wp-block-embed iframe{width:100%; border-radius:var(--r-md)}
.legal p.note{display:block; padding:14px 18px; border-radius:12px; margin-bottom:40px}
.legal mark.todo, .legal .todo{background:#FDF1D8; color:#6A4700; padding:1px 6px; border-radius:4px; font-weight:600}
.kc-seite__bild{margin:0 0 32px; border-radius:var(--r-lg); overflow:hidden}
.kc-editor-section{padding-top:0}
.section + .kc-editor-section{padding-top:clamp(40px, 5vw, 64px)}
.kc-wc-seite{max-width:1120px}
.screen-reader-text{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

/* Beitragsübersicht */
.kc-posts{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px}
.kc-post{display:flex; flex-direction:column; border-radius:var(--r-lg); background:var(--white); border:1px solid var(--line); overflow:hidden; color:inherit; text-decoration:none; transition:transform .25s, box-shadow .25s}
.kc-post:hover{transform:translateY(-3px); box-shadow:var(--shadow-2)}
.kc-post__bild{aspect-ratio:16/10; overflow:hidden; background:var(--paper-2)}
.kc-post__bild img{width:100%; height:100%; object-fit:cover}
.kc-post__body{display:grid; gap:8px; padding:22px 22px 24px}
.kc-post__datum{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3)}
.kc-post__titel{font-family:var(--f-display); font-size:24px; line-height:1.15}
.kc-post__text{color:var(--ink-2); font-size:15.5px}
.kc-pagination{margin-top:40px}
.kc-pagination .nav-links{display:flex; flex-wrap:wrap; gap:8px}
.kc-pagination .page-numbers, .woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span{display:inline-grid; place-items:center; min-width:42px; height:42px; padding:0 12px; border-radius:999px; border:1.5px solid var(--line-strong); color:var(--ink-2); text-decoration:none; font-weight:650}
.kc-pagination .page-numbers.current, .woocommerce-pagination .page-numbers span.current{background:var(--plum-700); border-color:var(--plum-700); color:#fff}
.post-navigation{margin-top:48px; padding-top:24px; border-top:1px solid var(--line)}
.post-navigation .nav-links{display:flex; justify-content:space-between; gap:24px}
.search-form{display:flex; gap:8px; margin-top:16px}
.search-form input[type="search"]{flex:1; min-height:46px; padding:10px 16px; border-radius:999px; border:1.5px solid var(--line-strong); font:inherit}
.search-form .search-submit{min-height:46px; padding:0 20px; border-radius:999px; border:0; background:var(--plum-700); color:#fff; font:650 15px/1 var(--f-body); cursor:pointer}
@media (max-width: 960px){ .kc-posts{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width: 640px){ .kc-posts{grid-template-columns:1fr} }

/* Countdown auf hellem Grund (Weiterbildung, Kasten oben rechts) */
.page-hero__aside .countdown{background:var(--teal-soft); color:var(--teal-ink)}

/* Kommentare */
.kc-kommentare{margin-top:48px; padding-top:32px; border-top:1px solid var(--line)}
.kc-kommentare__liste{list-style:none; padding:0; display:grid; gap:20px}
.kc-kommentare__liste .children{list-style:none; padding-left:24px; margin-top:16px}
.kc-kommentare .comment-body{padding:18px 20px; border-radius:var(--r-md); background:var(--paper)}
.kc-kommentare .comment-author img{border-radius:50%; vertical-align:middle; margin-right:8px}
.kc-kommentare .comment-metadata{font-size:13px; color:var(--ink-3); margin-bottom:8px}
.kc-kommentare textarea, .kc-kommentare input[type="text"], .kc-kommentare input[type="email"], .kc-kommentare input[type="url"]{width:100%; padding:10px 14px; border-radius:10px; border:1.5px solid var(--line-strong); font:inherit}
.kc-kommentare label{display:block; font-weight:600; font-size:14.5px; margin:12px 0 6px}


/* Video auf der Startseite: spielt in der Karte selbst, ohne dass sich die Größe ändert */
.video--player{background:#0d0409}
.video--player::before{display:none}
.video--player iframe, .video--player video{position:absolute; inset:0; width:100%; height:100%; border:0; background:#0d0409; object-fit:contain}
.video--player .video__img{z-index:0; transform:none; filter:blur(2px) brightness(.55)}
.video--player .video-consent{position:absolute; inset:0; z-index:1; display:grid; place-items:center; padding:clamp(22px, 4vw, 40px); background:rgba(36,10,29,.72); text-align:center; color:#fff}
.video--player .video-consent > div{display:grid; justify-items:center; gap:12px; max-width:38ch}
.video--player .video-consent .video-consent__title{font-family:var(--f-display); font-size:clamp(26px, 2.6vw, 32px); line-height:1.15; color:#fff; margin:0}
.video--player .video-consent p{margin:0; font-size:15px; color:var(--on-dark-2)}
.video--player .video-consent a{color:#fff}
.video--player .video-consent .btn-row{margin-top:6px; justify-content:center}
.video-consent__remember{display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--on-dark-2); cursor:pointer}
.video-consent__remember input{width:18px; height:18px; accent-color:var(--magenta)}
.video-consent__yt{font-size:13.5px; color:var(--on-dark-2)!important; text-underline-offset:3px}

/* Video im großen Fenster (eigene Videodatei, 16:9) */
html.kc-modal-open{overflow:hidden}
.video-modal{border:0; margin:0; padding:0; width:100%; height:100%; max-width:none; max-height:none; background:transparent; color:#fff; overflow:hidden}
.video-modal[open]{position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:clamp(16px, 4vw, 56px); background:rgba(20, 6, 16, .9)}
.video-modal::backdrop{background:transparent}
.video-modal__box{position:relative; width:min(1120px, 100%, calc((100vh - 150px) * 16 / 9)); aspect-ratio:16 / 9; border-radius:var(--r-lg); background:#000; box-shadow:0 30px 80px rgba(0, 0, 0, .5)}
.video-modal__box video{position:absolute; inset:0; width:100%; height:100%; display:block; border-radius:inherit; background:#000}
.video-modal__close{
  position:absolute; top:-58px; right:0; width:46px; height:46px; border-radius:50%; border:0; padding:0;
  display:grid; place-items:center; background:#fff; color:var(--plum-900); cursor:pointer; box-shadow:0 8px 24px rgba(0, 0, 0, .3); transition:transform .15s
}
.video-modal__close:hover{transform:scale(1.06)}
.video-modal__close:focus-visible{outline:3px solid var(--magenta-bright, #E3197F); outline-offset:3px}
.video-modal__close svg{width:20px; height:20px}
@media (prefers-reduced-motion: no-preference){ .video-modal[open]{animation:kc-video-auf .22s ease-out} }
@keyframes kc-video-auf{from{opacity:0}}

/* Soziale Medien im Footer: kleine runde Symbole mit direktem Link zum Kanal */
.socials a.social--icon{width:44px; height:44px; padding:0; justify-content:center; border-radius:50%; color:#fff; transition:background .2s, color .2s, border-color .2s, transform .2s}
.socials a.social--icon svg{width:20px; height:20px; opacity:1; fill:currentColor}
.socials a.social--icon:hover, .socials a.social--icon:focus-visible{background:#fff; border-color:#fff; color:var(--plum-900); transform:translateY(-2px)}
.socials a.social--icon:focus-visible{outline:2px solid #fff; outline-offset:3px}
