/* katharinaohana.de – nur, was Elementor nicht selbst abbildet. Farben/Typo kommen aus dem Kit. */
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- Hero ---------- */
.ko-hero-photo { position: relative; }
.ko-hero-photo::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: 22px; background: var(--e-global-color-accent, #D9B310); }
.ko-hero-photo .elementor-widget-image, .ko-hero-photo img { position: relative; }
.ko-hero-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; border-radius: 22px; }
.ko-name-overlay { display: none !important; }
@media (max-width: 767px) {
  .ko-hero-photo { --width: calc(100% + 32px) !important; width: calc(100% + 32px) !important; max-width: none !important; margin-inline: -16px !important; align-self: center !important; }
  .ko-hero-photo::before { display: none; }
  .ko-hero-photo img { border-radius: 0; aspect-ratio: 4 / 4.4; max-height: 70svh; object-position: 50% 15%; }
  .ko-name-overlay { display: flex !important; position: absolute !important; left: 0; right: 0; bottom: 0; padding: 80px 16px 20px !important; background: linear-gradient(to top, rgba(21,32,43,.96) 10%, rgba(21,32,43,0)); }
  .ko-sr-mobile { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap; }
}
.ko-latest .e-loop-item a { text-decoration: none; }
.ko-latest-card { transition: background .2s; }
.ko-latest-card:hover { background: rgba(255,255,255,.1) !important; }
.ko-latest-card img { aspect-ratio: 16 / 9; object-fit: cover; }

/* ---------- Bücher: Tabs (Loop Grid links) + Panels (Loop Grid rechts) ---------- */
.ko-book-tabs .elementor-loop-container { gap: 6px !important; }
.ko-btab { cursor: pointer; border: 1px solid transparent; transition: background .2s, border-color .2s; }
.ko-btab:hover { background: var(--e-global-color-ko_paper, #F2F5F7); }
.ko-btab img { aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 2px 6px rgba(21,32,43,.18); border-radius: 3px; }
.ko-book-tabs .is-active .ko-btab { background: var(--e-global-color-ko_paper, #F2F5F7); border-color: var(--e-global-color-ko_line, #DCE3E9); }
.ko-book-tabs .is-active .ko-btab .elementor-heading-title { color: var(--e-global-color-ko_bluetext, #22709F) !important; }
.ko-book-tabs .ko-btab:focus-visible { outline: 3px solid var(--e-global-color-accent); outline-offset: 2px; }
.ko-book-panels .e-loop-item:not(:first-child) { display: none; }
.ko-book-panels.ko-ready .e-loop-item { display: none; }
.ko-book-panels.ko-ready .e-loop-item.is-active { display: block; }
.ko-bcover img { aspect-ratio: 2 / 3; object-fit: cover; border-radius: 6px; box-shadow: 0 24px 50px -18px rgba(21,32,43,.45), 0 4px 10px rgba(21,32,43,.12); }
.ko-btext.is-clamped .elementor-widget-container, .ko-btext.is-clamped { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.ko-more { background: none; border: 0; padding: 0; font: 600 15px/1.3 var(--e-global-typography-secondary-font-family, Montserrat), sans-serif; color: var(--e-global-color-ko_bluetext, #22709F); cursor: pointer; text-align: left; }
@media (max-width: 1024px) {
  .ko-book-tabs .elementor-loop-container { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 16px 10px; margin-inline: -16px; }
  .ko-book-tabs .elementor-loop-container::-webkit-scrollbar { display: none; }
  .ko-book-tabs .e-loop-item { flex: 0 0 104px; scroll-snap-align: start; }
  .ko-btab { flex-direction: column !important; text-align: center; }
  .ko-btab .ko-btab-meta { display: none; }
}
@media (max-width: 767px) {
  .ko-bpanel { display: grid !important; grid-template-columns: 112px 1fr; gap: 18px !important; }
  .ko-bpanel > .ko-bbody { display: contents !important; }
  .ko-bhead { grid-column: 2; align-self: center; }
  .ko-bpanel .ko-bfull { grid-column: 1 / -1; }
}

/* ---------- Medien-Tabs ---------- */
.ko-mtabs .e-n-tabs-heading { gap: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; justify-content: flex-start; }
.ko-mtabs .e-n-tabs-heading::-webkit-scrollbar { display: none; }
.ko-mtabs .e-n-tab-title { flex: none !important; border: 1px solid var(--e-global-color-ko_line, #DCE3E9) !important; background: #fff !important; color: var(--e-global-color-secondary, #15202B) !important; border-radius: 999px !important; padding: 12px 20px !important; }
.ko-mtabs .e-n-tab-title[aria-selected="true"] { background: var(--e-global-color-secondary, #15202B) !important; color: #fff !important; border-color: var(--e-global-color-secondary, #15202B) !important; }
.ko-mtabs .e-n-tab-title .e-n-tab-title-text { font: 600 15px/1 Montserrat, sans-serif; }
.ko-mtabs > .e-n-tabs > .e-n-tabs-content > .e-con { padding: 28px 0 0 !important; }

/* Videokarten */
.ko-vthumb a { position: relative; display: block; overflow: hidden; background: var(--e-global-color-secondary); }
.ko-vthumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .5s; }
.ko-vthumb a:hover img { transform: scale(1.04); }
.ko-vthumb a::after { content: ""; position: absolute; top: 50%; left: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(255,255,255,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2315202B' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 56% 50% / 24px no-repeat; box-shadow: 0 8px 24px rgba(0,0,0,.25); transition: transform .2s; }
.ko-vthumb a:hover::after { transform: scale(1.08); }
.ko-chip .elementor-heading-title { display: inline-block; padding: 6px 9px; border-radius: 999px; background: #E6F1F8; white-space: nowrap; }
.ko-logo img { max-height: 34px; width: auto !important; max-width: 110px; object-fit: contain; }
@media (max-width: 767px) {
  .ko-carousel .elementor-loop-container { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; padding: 4px 16px 12px; margin-inline: -16px; scrollbar-width: none; }
  .ko-carousel .elementor-loop-container::-webkit-scrollbar { display: none; }
  .ko-carousel .e-loop-item { flex: 0 0 84%; scroll-snap-align: center; }
}
/* Pressekarten */
.ko-pcard { transition: border-color .2s, transform .2s; }
.ko-pcard:hover { border-color: var(--e-global-color-secondary) !important; transform: translateY(-2px); }
.ko-plogo img { height: 52px !important; width: auto !important; max-width: 150px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .85; }
.ko-pcard:hover .ko-plogo img { filter: none; opacity: 1; }
.ko-pquote .elementor-heading-title::before { content: "„"; color: var(--e-global-color-ko_golddeep, #B8960A); }
.ko-pquote .elementor-heading-title::after { content: "“"; color: var(--e-global-color-ko_golddeep, #B8960A); }
/* Audiokarten */
.ko-acard { transition: border-color .2s; }
.ko-acard:hover { border-color: var(--e-global-color-secondary) !important; }
.ko-aart { position: relative; width: 76px; height: 76px; flex: none; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, #15202B, #2A3846); }
.ko-aart::after { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9B310' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='14' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='14' width='4' height='6' rx='1.5'/%3E%3C/svg%3E") center / 34px no-repeat; }
.ko-aart:has(img)::after { display: none; }
.ko-aart img { width: 100%; height: 100%; object-fit: cover; }
.ko-aplay { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--e-global-color-secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 56% 50% / 18px no-repeat; transition: background-color .2s; }
.ko-acard:hover .ko-aplay { background-color: var(--e-global-color-primary); }
@media (max-width: 480px) { .ko-aart { width: 60px; height: 60px; } .ko-aplay { width: 42px; height: 42px; } }

/* ---------- Forschung / Vita ---------- */
@media (min-width: 1025px) { .ko-sticky { position: sticky !important; top: 96px; align-self: flex-start; } }
.ko-names .elementor-heading-title { display: inline-block; }

/* ---------- Footer-Newsletter ---------- */
.ko-nl .elementor-field-group { margin-bottom: 0; }
.ko-nl .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.65); }
.ko-nl .elementor-field-type-acceptance a { color: rgba(255,255,255,.9); }
.ko-nl input::placeholder { color: rgba(255,255,255,.55); }
.ko-nl .elementor-message { color: var(--e-global-color-accent) !important; }

/* ---------- Bestellseite ---------- */
.ko-order-summary { display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: center; }
.ko-order-summary img { width: 96px; border-radius: 4px; box-shadow: 0 12px 28px -12px rgba(21,32,43,.5); }
.ko-order-summary .ko-eyebrow { font: 600 12px/1.3 Montserrat, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--e-global-color-ko_bluetext, #22709F); }
.ko-order-summary h2 { font: 500 26px/1.15 Newsreader, Georgia, serif; color: var(--e-global-color-secondary); margin: 4px 0 6px; }
.ko-order-summary .ko-price { font: 500 30px/1 Newsreader, Georgia, serif; color: var(--e-global-color-secondary); }
.ko-order-summary .ko-price small { font: 500 14px/1 Montserrat, sans-serif; color: var(--e-global-color-ko_muted, #5B6876); margin-left: 6px; }
.ko-step-no .elementor-heading-title { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--e-global-color-secondary); color: #fff; }

/* ---------- Video-Lightbox ---------- */
.ko-lb { border: 0; padding: 56px 0 0; background: transparent; width: min(1100px, 94vw); max-width: none; overflow: visible; }
.ko-lb::backdrop { background: rgba(21,32,43,.92); }
.ko-lb .ko-lb-frame { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 10px; overflow: hidden; }
.ko-lb iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ko-lb .ko-lb-close { position: absolute; top: 0; right: 0; display: grid; place-items: center; padding: 0; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; color: #15202B; font-size: 22px; line-height: 1; cursor: pointer; }

/* ---------- Bewertung + optionale Buttons ---------- */
.ko-rating { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; color: var(--e-global-color-ko_muted, #5B6876); }
.ko-rating b { color: var(--e-global-color-secondary, #15202B); font-weight: 600; }
.ko-stars { position: relative; display: inline-block; font-size: 18px; letter-spacing: 2px; line-height: 1; color: #D6DCE2; }
.ko-stars::before { content: "★★★★★"; }
.ko-stars span { position: absolute; inset: 0 auto 0 0; width: var(--pct); overflow: hidden; white-space: nowrap; color: var(--e-global-color-ko_golddeep, #B8960A); }
.ko-optional .elementor-button:not([href]), .ko-optional.elementor-widget-button .elementor-button:not([href]) { display: none !important; }
.elementor-widget-heading:has(.elementor-heading-title:empty) { display: none; }
.ko-buchtext p { margin: 0 0 12px; }
.ko-buchtext p:last-child { margin-bottom: 0; }
.ko-menu-mobile-only { display: none !important; }
@media (max-width: 1024px) { .elementor-nav-menu--dropdown .ko-menu-mobile-only { display: block !important; } }
.ko-legal h2 { font: 500 26px/1.2 Newsreader, Georgia, serif; margin: 1.6em 0 .5em; color: var(--e-global-color-secondary, #15202B); }
.ko-legal h2:first-child { margin-top: 0; }
.ko-legal p { margin: 0 0 .7em; }
.ko-legal h3 { font: 600 17px/1.35 Montserrat, sans-serif; margin: 1.3em 0 .4em; color: var(--e-global-color-secondary, #15202B); }
.ko-legal ul { margin: 0 0 .9em; padding-left: 1.2em; }
.ko-legal li { margin: 0 0 .3em; }
.ko-on-ink-muted, .ko-on-ink-muted p { color: rgba(255,255,255,.74) !important; }
.ko-back a { opacity: .8; } .ko-back a:hover { opacity: 1; }
.ko-hero-vita a { text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 5px; }
.ko-hero-vita a:hover { text-decoration-color: var(--e-global-color-accent); }
.ko-questions em { color: var(--e-global-color-ko_bluetext, #22709F); }
@media (max-width: 767px) { .ko-vita-photo img { width: 140px !important; aspect-ratio: 1; object-fit: cover; border-radius: 50% !important; } }
.e-con.e-child { min-width: 0; }
.ko-chipbox { width: auto !important; }
.elementor-kit-5 button.ko-more, button.ko-more { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; color: var(--e-global-color-ko_bluetext, #22709F) !important; font: 600 15px/1.3 Montserrat, sans-serif !important; justify-self: start; align-self: flex-start; }
button.ko-more:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Mobiles Menü als Vollbild (wie Mockup) */
@media (max-width: 1024px) {
  .ko-header .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown { min-height: calc(100svh - 68px); max-height: calc(100svh - 68px); overflow-y: auto; background: #15202B; padding: 8px 0 32px; box-shadow: 0 24px 40px rgba(0,0,0,.25); }
  .ko-header nav.elementor-nav-menu--dropdown a { padding-left: 16px !important; }
}
