/* ============================================
   HOMEPAGE RESET - Startseite MUSS normal bleiben
   ============================================ */

body.home {
    background: #FFFFFF !important;
    max-width: 100% !important;
}

body.home .site-content,
body.home .site-content .ast-container,
body.home #primary,
body.home article,
body.home .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home .article-container {
    display: none !important;
}

/* Homepage Footer normal lassen */
body.home .site-footer-primary-section,
body.home .ast-footer-overlay {
    display: block !important;
}

body.home #secondary,
body.home .sidebar-main {
    padding-bottom: inherit !important;
}

body.home .site-footer .site-footer-bar-wrap {
    padding-top: inherit !important;
}

/* ============================================
   PRIVACY BANNER - KOMPLETT VOM ARTIKEL-CSS ISOLIEREN
   ============================================ */

#privacy-modal-overlay {
    all: initial !important;
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(255,255,255,0.4) !important;
    z-index: 99998 !important;
}

#privacy-modal {
    all: initial !important;
    display: none !important;
    position: fixed !important;
    right: 30px !important;
    bottom: 40px !important;
    max-width: 380px !important;
    width: 90% !important;
    background: #133766 !important;
    color: #fff !important;
    border-radius: 14px !important;
    padding: 22px 24px 26px 24px !important;
    z-index: 99999 !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
    text-align: center !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

#privacy-modal-overlay[style*="display: block"],
#privacy-modal-overlay[style*="display:block"] {
    display: block !important;
}

#privacy-modal[style*="display: block"],
#privacy-modal[style*="display:block"] {
    display: block !important;
}

#privacy-modal * {
    all: revert !important;
    box-sizing: border-box !important;
}

#privacy-close-x {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 28px !important;
    height: 28px !important;
    border: 0 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    background: #3785A6 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
}

#privacy-title {
    font-size: 1.1rem !important;
    display: block !important;
    margin-bottom: 12px !important;
    font-weight: bold !important;
    color: #fff !important;
    line-height: 1.3 !important;
}

#privacy-modal div,
#privacy-modal p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #fff !important;
    margin-bottom: 10px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

#privacy-modal a {
    color: #fff !important;
    text-decoration: underline !important;
    word-wrap: break-word !important;
}

#privacy-close {
    margin-top: 16px !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    background: #3785A6 !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    width: auto !important;
    display: inline-block !important;
}

#privacy-close:hover {
    background: #2a6a85 !important;
}

@media (max-width: 768px) {
    #privacy-modal {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        bottom: 40px !important;
        max-width: calc(90% - 20px) !important;
        padding: 20px !important;
    }
    
    #privacy-title {
        font-size: 1rem !important;
    }
    
    #privacy-modal div,
    #privacy-modal p {
        font-size: 13px !important;
    }
}

/* ============================================
   ASTRA THEME ANPASSUNGEN
   ============================================ */

.ast-site-header-cart-data .widgettitle {
  text-align: left;
  font-size: 1.2rem;
  padding-left: 1em;
  padding-top: 1em;
}

.site-title,
.site-title a {
  font-family: "Lora", serif !important;
  font-size: 1.5rem;
}

.site-header {
  width: 100% !important;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: #ffffff;
}

.main-header-bar {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: border-box;
}

.ast-blog-single-element.ast-excerpt-single p,
.entry-content p,
.ast-excerpt p,
article .entry-summary p,
.ast-single-post .entry-content p {
  margin-bottom: 1em !important;
  line-height: 1.6 !important;
}

.ast-archive-description p,
.ast-post-excerpt p,
.entry-summary p,
.ast-blog-meta-container .entry-content p {
  margin-bottom: 1em !important;
  line-height: 1.6 !important;
  display: block !important;
}

/* NUR für BLOG/ARCHIVE Seiten, NICHT für Homepage */
body:not(.home).blog .entry-content,
body:not(.home).archive .entry-content,
body:not(.home).blog .entry-summary,
body:not(.home).archive .entry-summary {
  line-height: 1.8 !important;
}

body:not(.home).blog .entry-content p,
body:not(.home).archive .entry-content p,
body:not(.home).blog .entry-summary p,
body:not(.home).archive .entry-summary p {
  margin-bottom: 1.5em !important;
}

/* ============================================
   FOOTER FIXES - NUR FÜR BLOG/ARCHIVE, NICHT HOMEPAGE
   ============================================ */

body:not(.home).blog .site-footer-primary-section,
body:not(.home).archive .site-footer-primary-section,
.single-post .site-footer-primary-section,
.single .site-footer-primary-section,
body:not(.home).blog .ast-footer-overlay,
body:not(.home).archive .ast-footer-overlay,
.single-post .ast-footer-overlay,
.single .ast-footer-overlay {
    display: none !important;
}

body:not(.home).blog .site-footer,
body:not(.home).archive .site-footer,
.single-post .site-footer,
.single .site-footer {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:not(.home).blog #secondary,
body:not(.home).archive #secondary,
.single-post #secondary,
.single #secondary,
body:not(.home).blog .sidebar-main,
body:not(.home).archive .sidebar-main,
.single-post .sidebar-main,
.single .sidebar-main {
    padding-bottom: 280px !important;
}

body:not(.home).blog .site-footer .site-footer-bar-wrap,
body:not(.home).archive .site-footer .site-footer-bar-wrap,
.single-post .site-footer .site-footer-bar-wrap,
.single .site-footer .site-footer-bar-wrap,
body:not(.home).blog .site-footer .site-footer-bar,
body:not(.home).archive .site-footer .site-footer-bar,
.single-post .site-footer .site-footer-bar,
.single .site-footer .site-footer-bar {
    padding-top: 50px !important;
    padding-bottom: 30px !important;
}

body:not(.home).blog .site-footer .site-footer-bar-inner-wrap,
body:not(.home).archive .site-footer .site-footer-bar-inner-wrap,
.single-post .site-footer .site-footer-bar-inner-wrap,
.single .site-footer .site-footer-bar-inner-wrap,
body:not(.home).blog .site-footer .ast-footer-bar-inner-wrap,
body:not(.home).archive .site-footer .ast-footer-bar-inner-wrap,
.single-post .site-footer .ast-footer-bar-inner-wrap,
.single .site-footer .ast-footer-bar-inner-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

body:not(.home).blog .site-footer .ast-footer-bar-element,
body:not(.home).archive .site-footer .ast-footer-bar-element,
.single-post .site-footer .ast-footer-bar-element,
.single .site-footer .ast-footer-bar-element {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

body:not(.home).blog .site-footer a,
body:not(.home).archive .site-footer a,
.single-post .site-footer a,
.single .site-footer a,
body:not(.home).blog .site-footer .ast-footer-copyright,
body:not(.home).archive .site-footer .ast-footer-copyright,
.single-post .site-footer .ast-footer-copyright,
.single .site-footer .ast-footer-copyright,
body:not(.home).blog .site-footer .ast-footer-bar-element,
body:not(.home).archive .site-footer .ast-footer-bar-element,
.single-post .site-footer .ast-footer-bar-element,
.single .site-footer .ast-footer-bar-element {
    font-size: 16px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

body:not(.home).blog .site-footer .ast-footer-social-wrap,
body:not(.home).archive .site-footer .ast-footer-social-wrap,
.single-post .site-footer .ast-footer-social-wrap,
.single .site-footer .ast-footer-social-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -10px !important;
}

body:not(.home).blog .site-footer .ast-footer-social-wrap a,
body:not(.home).archive .site-footer .ast-footer-social-wrap a,
.single-post .site-footer .ast-footer-social-wrap a,
.single .site-footer .ast-footer-social-wrap a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

body:not(.home).blog .site-footer .ast-footer-social-wrap svg,
body:not(.home).archive .site-footer .ast-footer-social-wrap svg,
.single-post .site-footer .ast-footer-social-wrap svg,
.single .site-footer .ast-footer-social-wrap svg {
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================
   ARTIKEL TEMPLATE - NUR FÜR SINGLE POSTS
   ============================================ */

body.single-post,
body.single {
    background: #F7F9FD !important;
}

.single-post .site-content,
.single .site-content,
.single-post .entry-content,
.single .entry-content,
.single-post article,
.single article,
.single-post .ast-container,
.single .ast-container,
.single-post #primary,
.single #primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-post .entry-content > *:first-child,
.single .entry-content > *:first-child,
.single-post .entry-content > figure:first-child,
.single .entry-content > figure:first-child,
.single-post .entry-content > p:first-child,
.single .entry-content > p:first-child,
.single-post .entry-content > div:first-child,
.single .entry-content > div:first-child {
    margin: 0 !important;
    padding: 0 !important;
}

.single-post .entry-content > *:first-child img,
.single .entry-content > *:first-child img,
.single-post .entry-content > figure:first-child img,
.single .entry-content > figure:first-child img {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.single-post .entry-header,
.single .entry-header {
    display: none !important;
}

.single-post .entry-header .cat-links,
.single .entry-header .cat-links {
    display: block !important;
    text-align: center;
    padding: 15px 20px;
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.single-post article::before,
.single article::before {
    content: '';
    display: block;
}

.single-post .cat-links,
.single .cat-links,
.single-post .entry-meta .cat-links,
.single .entry-meta .cat-links {
    display: flex !important;
    justify-content: center;
    gap: 10px;
    padding: 12px 0;
    flex-wrap: wrap;
}

.single-post .cat-links a,
.single .cat-links a,
.single-post .entry-meta .cat-links a,
.single .entry-meta .cat-links a {
    color: var(--accent-color) !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 13px;
    font-family: "Source Sans Pro", sans-serif;
    padding: 4px 12px;
    border-radius: 4px;
    background: rgba(55, 133, 166, 0.1);
    transition: all 0.2s ease;
}

.single-post .cat-links a:hover,
.single .cat-links a:hover {
    color: var(--primary-button) !important;
    background: rgba(55, 133, 166, 0.18);
}

.single-post .entry-meta > *:not(.cat-links),
.single .entry-meta > *:not(.cat-links),
.single-post .ast-blog-meta > *:not(.cat-links),
.single .ast-blog-meta > *:not(.cat-links) {
    display: none !important;
}

.single-post .posted-by,
.single .posted-by,
.single-post .entry-author,
.single .entry-author,
.single-post .author,
.single .author,
.single-post .ast-author,
.single .ast-author,
.single-post .byline,
.single .byline {
    display: none !important;
}

.single-post .comments-link,
.single .comments-link,
.single-post .ast-comment-meta,
.single .ast-comment-meta,
.single-post .ast-comments-link,
.single .ast-comments-link {
    display: none !important;
}

.single-post .posted-on,
.single .posted-on,
.single-post .entry-date,
.single .entry-date,
.single-post .ast-date-meta,
.single .ast-date-meta,
.single-post .published,
.single .published,
.single-post .updated,
.single .updated {
    display: none !important;
}

.single-post .entry-meta::before,
.single .entry-meta::before,
.single-post .ast-blog-meta::before,
.single .ast-blog-meta::before {
    display: none !important;
}

@media (max-width: 768px) {
    .single-post .cat-links a,
    .single .cat-links a {
        font-size: 12px;
        padding: 3px 10px;
    }
}

/* Auf ARCHIVE-Seiten bleiben Titel SICHTBAR */
body:not(.home).blog .entry-title,
body:not(.home).archive .entry-title {
    display: block !important;
}

/* CSS VARIABLEN */
:root {
    --primary-button: #133766;
    --primary-button-hover: #3785A6;
    --accent-color: #3785A6;
    --highlight-box-bg: #e8f5f4;
    --highlight-box-border: #85C5BE;
    --text-color: #3A3A3A;
    --heading-color: #000000;
    --text-light: #666666;
    --border-color: #e5e7eb;
    --link-color: #16427B;
    --background-outer: #F7F9FD;
    --background-content: #FFFFFF;
}

.article-header-image,
.wp-block-image img,
.single-post .entry-content > *:first-child img,
.single .entry-content > *:first-child img {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: 400px !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    display: block !important;
    vertical-align: bottom !important;
    line-height: 0 !important;
}

.single-post .entry-content > figure:first-child,
.single .entry-content > figure:first-child,
.wp-block-image {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.article-container {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 0 !important;
    background: var(--background-content);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    display: block !important;
}

.single-post .entry-content > *:nth-child(2),
.single .entry-content > *:nth-child(2) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-post .entry-content > figure:first-child + *,
.single .entry-content > figure:first-child + *,
.single-post .entry-content > *:first-child + *,
.single .entry-content > *:first-child + * {
    margin-top: 0 !important;
}

.header-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 20px 60px;
    background: var(--background-content);
    max-width: 1200px;
    margin: 0 auto !important;
    box-sizing: border-box;
}

.cta-button,
.print-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 18px;
    background: white !important;
    color: var(--primary-button) !important;
    border: 1px solid var(--primary-button) !important;
    text-decoration: none !important;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Source Sans Pro", sans-serif;
    letter-spacing: 0.2px;
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 1.3;
}

.cta-button:hover,
.print-button:hover {
    background: var(--primary-button) !important;
    color: white !important;
    transform: translateY(-1px);
}

.print-button::before {
    content: "";
    display: none;
}

.article-content {
    padding: 30px 0;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.article-title {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 44px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: var(--heading-color) !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    letter-spacing: 0;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
}

.article-lead {
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 20px !important;
    line-height: 1.65 !important;
    color: var(--text-light) !important;
    margin-bottom: 40px !important;
    padding: 0 !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
}

.article-container h2,
.article-content h2,
.entry-content .article-container h2,
.ast-single-post .article-container h2 {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: var(--heading-color) !important;
    margin-top: 50px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box;
}

.article-container h3,
.article-content h3,
.entry-content .article-container h3,
.ast-single-post .article-container h3 {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: var(--heading-color) !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box;
}

.article-container p,
.article-content p,
.entry-content .article-container p,
.ast-single-post .article-container p,
.ast-single-post .entry-content .article-container p {
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    color: var(--text-color) !important;
    text-align: left !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box;
}

.article-container a,
.article-content a {
    color: var(--link-color);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.article-container a:hover,
.article-content a:hover {
    color: var(--primary-button-hover);
}

.highlight-box {
    background: rgba(55, 133, 166, 0.08);
    border-left: 4px solid var(--accent-color);
    padding: 15px 40px 40px 40px !important;
    margin: 30px auto 50px auto !important;
    max-width: 700px !important;
    width: calc(100% - 40px) !important;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
    align-self: center !important;
}

.highlight-box h2,
.highlight-box h3 {
    margin-top: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.highlight-box p {
    text-align: left !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.box-button {
    display: inline-block;
    margin-top: 20px;
    padding: 14px 30px;
    background: var(--primary-button) !important;
    color: white !important;
    text-decoration: none !important;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 600;
    font-family: "Source Sans Pro", sans-serif;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.box-button:hover {
    background: var(--primary-button-hover) !important;
    transform: translateY(-2px);
}

.article-container ul,
.article-container ol,
.article-content ul,
.article-content ol {
    margin-left: 30px;
    margin-right: 0;
    margin-bottom: 20px;
    padding: 0;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
}

.article-container ul:not(.wp-block-list),
.article-container ol:not(.wp-block-list),
.article-content ul:not(.wp-block-list),
.article-content ol:not(.wp-block-list) {
    margin-left: 30px;
    margin-right: 0;
}

.article-container li,
.article-content li {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 18px;
    line-height: 1.65;
    margin-bottom: 10px;
    padding: 0;
    text-align: left;
}

.article-container ul[style*="list-style: none"],
.article-content ul[style*="list-style: none"] {
    list-style: none !important;
    padding-left: 20px !important;
    margin-left: 20px !important;
}

.article-container ul[style*="list-style: none"] li,
.article-content ul[style*="list-style: none"] li {
    position: relative;
    padding-left: 0;
}

.article-container blockquote,
.article-content blockquote {
    border-left: 4px solid var(--accent-color);
    padding-left: 25px;
    margin: 30px 0;
    font-style: italic;
    color: var(--text-light);
    font-size: 20px;
    line-height: 1.8 !important;
    display: block !important;
    width: 100%;
    box-sizing: border-box;
}

.article-container blockquote p,
.article-content blockquote p {
    line-height: 1.8 !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
}

.newsletter-box {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 20px 40px 50px 40px !important;
    margin: 30px auto 50px auto !important;
    max-width: 700px !important;
    width: calc(100% - 40px) !important;
    text-align: center;
    box-sizing: border-box;
    align-self: center !important;
    order: 1;
}

.newsletter-box h2 {
    margin-top: 0;
    padding: 0 !important;
    font-size: 28px;
    text-align: center !important;
}

.newsletter-box p {
    margin-bottom: 25px;
    padding: 0 !important;
    font-size: 17px;
}

.newsletter-box .cr_ipe_item label,
.newsletter-box label[for*="text"],
.newsletter-box label[for*="email"],
#secondary label,
.sidebar-main label {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: left !important;
    color: var(--text-color) !important;
}

.newsletter-box .cr_ipe_item input[type="email"],
.newsletter-box .cr_ipe_item input[type="text"],
.newsletter-box input[id*="text"],
.newsletter-box input.cr_form-input,
#secondary input[type="email"],
.sidebar-main input[type="email"] {
    display: block !important;
    width: 100% !important;
    padding: 12px 15px !important;
    margin: 0 0 20px 0 !important;
    box-sizing: border-box !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    background: white !important;
}

.newsletter-box .cr_ipe_item,
.newsletter-box .cr_ipe_item.musthave {
    margin-bottom: 20px !important;
    display: block !important;
}

.newsletter-box .editable_content {
    display: block !important;
}

.newsletter-box .submit_container {
    margin-top: 20px !important;
}

.newsletter-box .g-recaptcha,
.sidebar-main .g-recaptcha,
#secondary .g-recaptcha {
    margin: 30px auto !important;
    display: flex !important;
    justify-content: center !important;
    transform: scale(1.2) !important;
    transform-origin: center !important;
    min-height: 90px !important;
}

.sidebar-main .g-recaptcha iframe,
#secondary .g-recaptcha iframe {
    transform: scale(1.2) !important;
}

.wp-block-details {
    margin-top: 40px;
    padding: 40px 0 0 0;
    border-top: 2px solid var(--border-color);
    width: 100%;
}

.wp-block-details summary {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: var(--heading-color) !important;
    cursor: pointer;
    text-align: left !important;
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary::after {
    content: " ▼";
    font-size: 14px;
    display: inline-block;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.wp-block-details[open] summary::after {
    transform: rotate(180deg);
}

.wp-block-details .wp-block-list {
    margin-top: 20px !important;
    margin-left: 20px !important;
    padding: 0 !important;
}

.wp-block-details .wp-block-list li {
    font-size: 16px !important;
    color: var(--text-light) !important;
    margin-bottom: 15px !important;
}

.wp-block-details p {
    font-size: 16px !important;
    color: var(--text-light) !important;
    margin-bottom: 15px !important;
    margin-left: 20px !important;
}

.glossar-block {
    margin-top: 40px;
    padding: 40px 0 0 0;
    border-top: 2px solid var(--border-color);
    width: 100%;
}

.glossar-block summary {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: var(--heading-color) !important;
    cursor: pointer;
    text-align: left !important;
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none;
}

.glossar-block summary::-webkit-details-marker {
    display: none;
}

.glossar-block summary::after {
    content: " ▼";
    font-size: 14px;
    display: inline-block;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.glossar-block[open] summary::after {
    transform: rotate(180deg);
}

.glossar-container {
    padding: 20px 0;
}

.glossar-entry {
    margin: 25px 0;
    padding: 20px;
    background: rgba(55, 133, 166, 0.03);
    border-left: 3px solid var(--accent-color);
    border-radius: 5px;
    scroll-margin-top: 120px;
}

.glossar-term {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--heading-color) !important;
    margin: 0 0 10px 0 !important;
    display: block;
}

.glossar-definition {
    font-size: 16px !important;
    color: var(--text-color) !important;
    line-height: 1.6 !important;
    margin: 0 0 15px 0 !important;
}

.back-to-text {
    font-size: 14px !important;
    color: var(--accent-color) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    transition: color 0.2s ease;
}

.back-to-text::before {
    content: "↑";
    font-size: 16px;
}

.back-to-text:hover {
    color: var(--primary-button-hover) !important;
}

.glossar-link {
    color: var(--accent-color) !important;
    text-decoration: none !important;
    border-bottom: 1px dotted var(--accent-color) !important;
    cursor: help;
    transition: all 0.2s ease;
}

.glossar-link:hover {
    color: var(--primary-button) !important;
    border-bottom-style: solid !important;
    background: rgba(55, 133, 166, 0.05);
}

[id^="text-"] {
    scroll-margin-top: 50vh;
    display: inline-block;
}

.comments-section,
#comments,
.comment-respond,
.ast-comment-list,
.single-post .comments-area,
.single .comments-area {
    margin-top: 30px !important;
    padding: 30px 60px !important;
    border-top: 2px solid var(--border-color);
    background: var(--background-content);
    width: 100%;
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.comments-section h2,
#comments h2,
.comment-respond h2,
.comments-title,
.comment-reply-title,
#comments .comments-title,
.single-post .comments-title,
.single .comments-title {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    padding: 0 !important;
    text-align: left !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--text-color) !important;
}

.comment-list,
.ast-comment-list {
    margin-bottom: 20px !important;
}

.comment-body {
    margin-bottom: 15px !important;
}

.comment-list .comment {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}

.comment-respond {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: none !important;
}

.comment-form input,
.comment-form textarea {
    font-family: "Source Sans Pro", sans-serif !important;
}

.comment-author,
.comment-metadata,
.comment-content {
    font-family: "Source Sans Pro", sans-serif !important;
}

.comment-form-comment textarea,
.comment-form textarea,
#comment {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    font-family: "Source Sans Pro", sans-serif !important;
    resize: vertical !important;
}

.comment-form-author input,
.comment-form-email input,
.comment-form input[type="text"],
.comment-form input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    font-size: 16px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    font-family: "Source Sans Pro", sans-serif !important;
}

.comment-form-url,
.comment-form-website {
    display: none !important;
}

.comment-form label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    line-height: 1.4 !important;
}

.comment-form-author,
.comment-form-email,
.comment-form-comment {
    margin-bottom: 20px !important;
}

.comment-form-cookies-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 20px 0 !important;
}

.comment-form-cookies-consent input[type="checkbox"] {
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 0 !important;
    cursor: pointer !important;
}

.comment-form-cookies-consent label {
    flex: 1 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--text-color) !important;
    cursor: pointer !important;
    display: inline !important;
}

.ast-comment-form-cookies-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 20px 0 !important;
}

.ast-comment-form-cookies-consent input[type="checkbox"] {
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 0 !important;
}

.ast-comment-form-cookies-consent label {
    flex: 1 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.comment-notes,
.comment-form .comment-notes,
.required-field-message {
    font-size: 13px !important;
    color: var(--text-light) !important;
    margin-bottom: 15px !important;
    line-height: 1.5 !important;
}

.required {
    color: #d32f2f !important;
}

.comment-form input[type="submit"],
.comment-form .submit input,
.form-submit input[type="submit"] {
    background: var(--primary-button) !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}

.comment-form input[type="submit"]:hover {
    background: var(--primary-button-hover) !important;
    transform: translateY(-2px) !important;
}

.ast-related-posts-wrapper,
.related-posts,
.ast-single-related-posts-container {
    display: none !important;
}

.comment-form-cookies-consent label::after {
    content: '' !important;
}

.comment-form-cookies-consent label {
    font-size: 0 !important;
}

.comment-form-cookies-consent label::before {
    content: 'Meinen Namen und meine E-Mail-Adresse in diesem Browser für die nächste Kommentierung speichern.' !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--text-color) !important;
    font-family: "Source Sans Pro", sans-serif !important;
}

.ast-comment-form-cookies-consent label {
    font-size: 0 !important;
}

.ast-comment-form-cookies-consent label::before {
    content: 'Meinen Namen und meine E-Mail-Adresse in diesem Browser für die nächste Kommentierung speichern.' !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--text-color) !important;
    font-family: "Source Sans Pro", sans-serif !important;
}

.widget_recent_entries {
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.widget_recent_entries .widgettitle {
    font-family: "Lora", "Merriweather", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--heading-color) !important;
    margin: 0 0 20px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 2px solid var(--border-color) !important;
    text-align: left !important;
    order: -1 !important;
}

.widget_recent_entries ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.widget_recent_entries ul li {
    margin-bottom: 15px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.widget_recent_entries ul li:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.widget_recent_entries a {
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--text-color) !important;
    text-decoration: none !important;
    display: block !important;
    transition: color 0.2s ease !important;
}

.widget_recent_entries a:hover {
    color: var(--accent-color) !important;
}

.widget_recent_entries .post-date,
.widget_recent_entries span {
    display: block !important;
    font-size: 13px !important;
    color: var(--text-light) !important;
    margin-top: 5px !important;
    font-family: "Source Sans Pro", sans-serif !important;
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 768px) {
    .header-cta {
        flex-direction: column;
        gap: 12px;
        padding: 15px 20px;
        justify-content: center !important;
    }
    
    .cta-button,
    .print-button {
        width: 100%;
        justify-content: center;
        padding: 10px 16px;
        font-size: 14px;
    }
    
    .print-button {
        display: none !important;
    }
    
    .article-content {
        max-width: 100%;
        padding: 20px 20px;
    }
    
    .article-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
        margin-bottom: 20px !important;
    }
    
    .article-lead {
        font-size: 17px !important;
        line-height: 1.6 !important;
        margin-bottom: 30px !important;
    }
    
    .article-container h2,
    .article-content h2 {
        font-size: 20px !important;
        margin-top: 35px !important;
        margin-bottom: 18px !important;
    }
    
    .article-container h3,
    .article-content h3 {
        font-size: 18px !important;
        margin-top: 30px !important;
        margin-bottom: 15px !important;
    }
    
    .article-container p,
    .article-content p,
    .article-container li,
    .article-content li {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
    
    .highlight-box,
    .newsletter-box {
        padding: 15px 20px 30px 20px !important;
        margin: 25px 10px 35px 10px !important;
        max-width: calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
    }
    
    .newsletter-box h2 {
        font-size: 24px !important;
    }
    
    .newsletter-box p {
        font-size: 16px !important;
    }
    
    .box-button {
        padding: 12px 25px;
    }
    
    .newsletter-box .g-recaptcha,
    .sidebar-main .g-recaptcha,
    #secondary .g-recaptcha {
        transform: scale(1) !important;
    }
    
    .article-container ul,
    .article-container ol {
        margin-left: 20px;
    }
    
    .article-container blockquote {
        margin: 20px 0;
        padding-left: 20px;
        font-size: 18px !important;
    }
    
    .wp-block-details {
        margin-top: 30px;
        padding: 30px 0 0 0;
    }
    
    .wp-block-details summary {
        font-size: 20px !important;
    }
    
    .glossar-block {
        margin-top: 30px;
        padding: 30px 0 0 0;
    }
    
    .glossar-block summary {
        font-size: 20px !important;
    }
    
    .comments-section,
    #comments,
    .comment-respond,
    .single-post .comments-area,
    .single .comments-area {
        padding: 25px 20px !important;
    }
    
    .comment-form-comment textarea,
    .comment-form textarea,
    #comment {
        font-size: 16px !important;
        min-height: 120px !important;
    }
    
    .comment-form-author,
    .comment-form-email,
    .comment-form-comment {
        margin-bottom: 15px !important;
    }
    
    .comment-form-cookies-consent,
    .ast-comment-form-cookies-consent {
        margin: 15px 0 !important;
        gap: 8px !important;
    }
    
    .comment-form-cookies-consent label,
    .ast-comment-form-cookies-consent label {
        font-size: 13px !important;
    }
    
    .comment-form-cookies-consent label::before,
    .ast-comment-form-cookies-consent label::before {
        font-size: 13px !important;
    }
    
    .comment-form input[type="submit"] {
        width: 100% !important;
        padding: 14px !important;
    }
    
    .article-header-image,
    .wp-block-image img,
    .single-post .entry-content > *:first-child img {
        max-height: 250px !important;
    }
    
    .widget_recent_entries {
        margin-bottom: 20px !important;
        padding: 15px !important;
    }
    
    .widget_recent_entries .widgettitle {
        font-size: 18px !important;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .header-cta,
    .site-header,
    .main-header-bar,
    .ast-mobile-header,
    .newsletter-box,
    .comments-section,
    #comments,
    .comment-respond,
    .ast-comment-list,
    .site-footer,
    .ast-footer-social-wrap,
    #secondary,
    .sidebar-main,
    .ast-related-posts-wrapper,
    .related-posts,
    .cat-links,
    .entry-meta {
        display: none !important;
    }
    
    .wp-block-details {
        display: block !important;
        page-break-inside: avoid;
        margin-top: 40px !important;
        padding-top: 40px !important;
        border-top: 2px solid #000 !important;
    }
    
    .wp-block-details summary {
        display: block !important;
        font-weight: bold !important;
        margin-bottom: 15px !important;
    }
    
    .wp-block-details summary::after {
        display: none !important;
    }
    
    .wp-block-details .wp-block-list {
        display: block !important;
    }
    
    .glossar-block {
        display: block !important;
        page-break-inside: avoid;
        margin-top: 40px !important;
        padding-top: 40px !important;
        border-top: 2px solid #000 !important;
    }
    
    .glossar-block summary {
        display: block !important;
        font-weight: bold !important;
        margin-bottom: 15px !important;
    }
    
    .glossar-block summary::after {
        display: none !important;
    }
    
    .glossar-entry {
        display: block !important;
        page-break-inside: avoid;
    }
    
    .back-to-text {
        display: none !important;
    }
    
    body.single-post,
    body.single {
        background: white !important;
    }
    
    .article-container {
        box-shadow: none !important;
    }
}


/* ============================================
   PODCAST-SEITE "PERFECTLY HUMAN"
   Stand 10.09.2026
   ============================================ */

.ph-page {
    --ph-max: 1000px;
    --ph-lesebreite: 680px;

    /* Schriftgrößen im Kopfbild. Gelten für jede Seite, die nach
       diesem Muster gebaut ist. Zum Ändern nur diese zwei Zeilen. */
    --ph-h1-size: 60px;
    --ph-claim-size: 46px;

    /* Zieht das Kopfbild nach oben, damit es wie auf den übrigen Seiten
       direkt an die Navigation anschließt. 28px ist die gemessene Differenz.
       Bleibt ein Rest: erhöhen. Wird das Bild oben angeschnitten: senken. */
    --ph-hero-hoch: 28px;

    max-width: none;
    margin: 0;
    padding: 0 0 80px 0;
    box-sizing: border-box;
    color: var(--text-color, #3A3A3A);
    background: var(--background-content, #FFFFFF);
}

.ph-page * { box-sizing: border-box; }

/* --------------------------------------------------------
   HELLER STREIFEN ZWISCHEN KOPFZEILE UND BILD

   Drei Maßnahmen, alle nur auf der Podcast-Seite:

   1. Der Seitenhintergrund wird weiß. Ein verbleibender Rest
      fällt dann nicht mehr auf, weil die Kopfzeile ebenfalls
      weiß ist.
   2. Die erzeugten Elemente vor und nach dem Inhaltsbereich
      werden abgeschaltet.
   3. Falls trotzdem noch ein Streifen bleibt: unten bei
      --ph-hero-hoch die gemessene Höhe eintragen, etwa 20px.
      Das Bild rückt dann genau um diesen Betrag nach oben.
   -------------------------------------------------------- */

body:has(.ph-page) {
    background: #FFFFFF !important;
}

body:has(.ph-page) #content::before,
body:has(.ph-page) #content::after,
body:has(.ph-page) .site-content::before,
body:has(.ph-page) .site-content::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
}

/* Kopfbereich direkt unter der Navigation, ohne hellen Streifen.
   Gilt nur auf der Podcast-Seite. */
body:has(.ph-page) #primary,
body:has(.ph-page) #content,
body:has(.ph-page) .site-content,
body:has(.ph-page) .site-content > .ast-container,
body:has(.ph-page) .entry-content,
body:has(.ph-page) .entry-content > *:first-child,
body:has(.ph-page) .site-content article,
body:has(.ph-page) .ast-article-single,
body:has(.ph-page) .ast-article-post,
body:has(.ph-page) .ast-page-builder-template .entry-header,
body:has(.ph-page) .elementor,
body:has(.ph-page) .wp-block-html,
body:has(.ph-page) .ph-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Fußzeile: Symbole und Text auf einer Höhe.
   Nur die vertikale Ausrichtung, kein anderes Layout. */
body:has(.ph-page) .site-footer .ast-builder-grid-row,
body:has(.ph-page) .site-footer .site-footer-bar-inner-wrap,
body:has(.ph-page) .site-footer .ast-footer-bar-inner-wrap {
    align-items: center !important;
}

body:has(.ph-page) .site-footer .ast-footer-bar-element {
    align-self: center !important;
}

/* --- Abschnitte ----------------------------------------
   .ph-section  = weißer Bereich, auf Inhaltsbreite begrenzt
   .ph-band     = hellblauer Bereich über die volle Breite,
                  Inhalt darin über .ph-inner begrenzt */

.ph-section {
    max-width: var(--ph-max);
    margin: 0 auto;
    padding: 76px 24px 0 24px;
}

.ph-band {
    padding: 76px 24px 0 24px;
}

.ph-band + .ph-section,
.ph-section + .ph-band { padding-top: 76px; }

.ph-inner {
    max-width: var(--ph-max);
    margin: 0 auto;
}

/* --- Zweispaltiges Raster ------------------------------ */

.ph-zwei {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 56px;
    align-items: start;
}

.ph-spalte-links { padding-top: 2px; }
.ph-page .ph-spalte-links .ph-h2 { margin-bottom: 0; }

/* --- Typografie ----------------------------------------
   H1 übernimmt Größe und Zeilenhöhe aus den Astra-Einstellungen,
   damit sie zu den übrigen Seiten passt. */

.ph-page h1,
.ph-page h2,
.ph-page h3 {
    margin: 0;
}

.ph-page .ph-h1 {
    margin: 0 0 14px 0;
}

.ph-page .ph-h2 {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 24px 0;
}

.ph-page p {
    font-size: 18px;
    line-height: 1.65;
    margin: 0 0 16px 0;
}

.ph-page p:last-child { margin-bottom: 0; }

.ph-lauftext { max-width: var(--ph-lesebreite); }

.ph-label {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .3px;
    color: var(--text-light, #666666);
    margin: 0 0 8px 0;
}

/* --- Kopfbereich --------------------------------------- */

.ph-hero {
    /* Weicher dunkler Auslauf nach unten, damit die Schrift Halt hat.
       Wird er nicht gebraucht: die linear-gradient-Zeile löschen. */
    background-color: var(--primary-button, #133766);
    background-image:
        linear-gradient(to top, rgba(19, 55, 102, .55) 0%, rgba(19, 55, 102, 0) 55%),
        url("https://niniasimon.com/wp-content/uploads/2026/10/perfectly-human-podcast-header.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 52px 24px;
    color: #FFFFFF;
    text-shadow: 0 1px 4px rgba(10, 30, 58, .55);
    margin-top: calc(-1 * var(--ph-hero-hoch)) !important;
}

/* Bündig mit dem Logo in der Kopfzeile */
.ph-hero-inner {
    width: 100%;
    max-width: calc(var(--ph-max) + 48px);
    padding: 0 24px;
    text-align: left;
}

/* Gemessen an der Überschrift auf "Psychologisches Coaching" */
.ph-page .ph-hero .ph-h1 {
    color: #FFFFFF;
    font-size: var(--ph-h1-size, 60px);
    font-weight: 600;
    line-height: 1.15;
}

.ph-hero-claim {
    /* Wie die Unterzeilen auf den übrigen Seiten: Überschriftenschrift,
       nicht die Fließtextschrift. */
    font-family: "Lora", "Merriweather", Georgia, serif;
    font-size: var(--ph-claim-size, 46px);
    font-weight: 400;
    line-height: 1.4;
    color: #FFFFFF;
    max-width: 940px;
    margin: 0;
}

/* --- Folgen-Boxen --------------------------------------
   Gleicher Farbwert wie .highlight-box weiter oben in dieser Datei. */

.ph-aktuell-box,
.ph-episode {
    background: rgba(55, 133, 166, 0.08);
    border-left: 4px solid var(--accent-color, #3785A6);
    border-radius: 0;
    padding: 32px 36px;
}

.ph-page .ph-aktuell-titel {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 16px 0;
}

.ph-episode-kennung {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--primary-button, #133766);
    margin-bottom: 10px;
}

.ph-episode-meta {
    font-size: 15px;
    color: var(--text-light, #666);
}

.ph-episode-text { max-width: var(--ph-lesebreite); }

.ph-player {
    width: 100%;
    margin: 22px 0 16px 0;
    display: block;
}

/* --- Episodenliste ------------------------------------- */

.ph-episodenliste {
    list-style: none;
    margin: 8px 0 0 0;
    padding: 0;
}

.ph-episode { margin-bottom: 20px; }
.ph-episode:last-child { margin-bottom: 0; }

.ph-episode.ph-versteckt,
.ph-episode.ph-gefiltert { display: none; }

.ph-page .ph-episode-titel {
    font-size: 21px;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 12px 0;
}

.ph-page .ph-episode .ph-episode-text { margin-bottom: 14px; }
.ph-page .ph-episode .ph-episode-meta { margin-bottom: 18px; }

/* --- Season-Auswahl (erst ab Season 2 im Einsatz) ------- */

.ph-seasons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}

.ph-season-btn {
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    padding: 9px 20px;
    border: 1px solid var(--primary-button, #133766);
    border-radius: 6px;
    background: #fff;
    color: var(--primary-button, #133766);
    cursor: pointer;
}

.ph-season-btn.is-aktiv {
    background: var(--primary-button, #133766);
    color: #fff;
}

/* --- Links ---------------------------------------------
   Buttons sind ausgenommen, sonst überschreibt die Linkfarbe
   die weiße Astra-Buttonschrift. */

.ph-page a:not(.ast-button) {
    color: var(--link-color, #16427B);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s ease;
}

.ph-page a:not(.ast-button):hover { color: var(--primary-button-hover, #3785A6); }

.ph-page a:focus-visible,
.ph-page button:focus-visible,
.ph-page audio:focus-visible {
    outline: 2px solid var(--accent-color, #3785A6);
    outline-offset: 3px;
}

.ph-plattformen {
    font-size: 16px;
    color: var(--text-light, #666);
    margin-top: 20px;
}

.ph-plattformen a {
    text-decoration: none;
    border-bottom: 1px solid rgba(55, 133, 166, .4);
    padding-bottom: 1px;
    margin-right: 4px;
}

.ph-plattformen a:hover { border-bottom-color: var(--primary-button-hover, #3785A6); }

.ph-trenner {
    color: #c9ced8;
    margin: 0 6px;
}

/* --- "Anhören": Theme-Buttonstile zurücksetzen --------- */

.ph-page button.ph-anhoeren,
.ph-page a.ph-anhoeren {
    display: inline-block;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .3px;
    padding: 0 0 2px 0 !important;
    margin: 0;
    border: 0 !important;
    border-bottom: 1px solid var(--accent-color, #3785A6) !important;
    border-radius: 0 !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: var(--primary-button, #133766) !important;
    text-decoration: none !important;
    text-transform: none;
    line-height: 1.4;
    cursor: pointer;
    transform: none !important;
}

.ph-page button.ph-anhoeren:hover,
.ph-page a.ph-anhoeren:hover {
    color: var(--primary-button-hover, #3785A6) !important;
    border-bottom-color: var(--primary-button-hover, #3785A6) !important;
    background: none !important;
}

/* --- Buttons -------------------------------------------
   Farbe, Rundung und Größe kommen aus den Astra-Einstellungen. */

.ph-page .ast-button,
.ph-page button.ast-button {
    text-decoration: none;
}

.ph-page .ph-button-wrap {
    margin: 40px 0 0 0 !important;
}

.ph-mehr-wrap {
    text-align: center;
    margin: 12px 0 0 0;
}

/* --- Formular Themenvorschlag --------------------------
   Bewusst ohne eigene Gestaltung: Das Formular übernimmt das
   Aussehen Ihres bestehenden Kontaktformulars. */

.ph-formularblock {
    max-width: 720px;
    padding-top: 100px;
}

.ph-formularblock .ph-h2 { margin-bottom: 20px; }

.ph-formular {
    margin: 36px 0 24px 0;
}

/* WPForms in normalen Blockfluss zwingen. Ohne das überlappen
   Beschriftungen, Unterbeschriftungen und Beschreibungstexte. */

.ph-page .wpforms-container,
.ph-page .wpforms-form { max-width: 100%; }

.ph-page .wpforms-form .wpforms-field {
    display: block !important;
    float: none !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    clear: both !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
}

.ph-page .wpforms-form .wpforms-field::after {
    content: "";
    display: table;
    clear: both;
}

.ph-page .wpforms-form .wpforms-field-label {
    display: block !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4;
}

.ph-page .wpforms-form .wpforms-field-sublabel {
    display: block !important;
    position: static !important;
    margin: 6px 0 0 0 !important;
    line-height: 1.4;
}

.ph-page .wpforms-form .wpforms-field-description {
    display: block !important;
    position: static !important;
    clear: both !important;
    margin: 10px 0 0 0 !important;
    line-height: 1.5;
}

.ph-page .wpforms-form input[type="text"],
.ph-page .wpforms-form input[type="email"],
.ph-page .wpforms-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Textfeld: Zeilenabstand und Overflow explizit setzen,
   damit eingegebener Text sich nicht überlagert. */
.ph-page .wpforms-form textarea {
    line-height: 1.55 !important;
    height: auto !important;
    min-height: 130px !important;
    overflow-y: auto !important;
    resize: vertical !important;
    padding: 10px 12px !important;
}

.ph-page .wpforms-form .wpforms-field-row {
    display: flex !important;
    gap: 16px;
    width: 100% !important;
}

.ph-page .wpforms-form .wpforms-field-row-block {
    flex: 1 1 0;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ph-page .wpforms-form .wpforms-submit-container {
    clear: both !important;
    position: static !important;
    padding: 8px 0 0 0 !important;
    margin: 0 !important;
}

@media (max-width: 600px) {
    .ph-page .wpforms-form .wpforms-field-row {
        flex-direction: column;
        gap: 20px;
    }
}

.ph-page .ph-hinweis {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-light, #666666);
}

/* --- Artikel-Verweise ---------------------------------- */

.ph-artikel {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ph-artikel li { margin-bottom: 28px; }
.ph-artikel li:last-child { margin-bottom: 0; }

.ph-page .ph-artikel h3 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 8px 0;
}

.ph-artikel p { font-size: 17px; }

/* --- Bewegungsreduktion -------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .ph-page * { transition: none !important; }
}

/* --- Tablet -------------------------------------------- */

@media (max-width: 880px) {

    .ph-zwei {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ph-spalte-links { padding-top: 0; }

    .ph-hero { min-height: 380px; padding: 44px 24px; }
    .ph-page .ph-hero .ph-h1 { font-size: 46px; }
    .ph-hero-claim { font-size: 34px; }
}

/* --- Smartphone ---------------------------------------- */

@media (max-width: 600px) {

    .ph-section,
    .ph-band { padding: 52px 20px 0 20px; }

    .ph-band + .ph-section,
    .ph-section + .ph-band { padding-top: 52px; }

    .ph-hero {
        background-image:
            linear-gradient(to top, rgba(19, 55, 102, .6) 0%, rgba(19, 55, 102, 0) 60%),
            url("https://niniasimon.com/wp-content/uploads/2026/10/perfectly-human-podcast-header-mobil.webp");
        min-height: 340px;
        padding: 36px 20px;
    }

    .ph-hero-inner { padding: 0 20px; }

    .ph-page .ph-h2 { font-size: 21px; margin-bottom: 20px; }
    .ph-hero-claim { font-size: 24px; }
    .ph-page .ph-hero .ph-h1 { font-size: 34px; }
    .ph-page .ph-aktuell-titel { font-size: 22px; }
    .ph-page .ph-episode-titel { font-size: 19px; }

    .ph-page p { font-size: 16px; line-height: 1.65; }

    .ph-aktuell-box,
    .ph-episode { padding: 24px 20px; }

    .ph-page .ast-button { width: 100%; text-align: center; }

    .ph-plattformen { line-height: 2.2; }
}


/* ============================================
   EINHEITLICHE GESTALTUNG (ergänzt 22.10.2026)
   ============================================ */

/* Startseite: Name in der Kopfzeile genauso wie auf allen anderen Seiten */
.site-header h1.site-title { font-size: 1.5rem !important; line-height: 1.2 !important; font-weight: 500 !important; letter-spacing: normal !important; margin: 0 !important; }
.site-header .site-title a { line-height: 1.2 !important; font-weight: 500 !important; letter-spacing: normal !important; }
@media (max-width: 921px) { .site-header h1.site-title { font-size: 1.368rem !important; } }

/* Podcast: Unterzeile unter der Überschrift größer */
.ph-page .ph-hero .ph-hero-claim { font-size: 25px; line-height: 1.45; }
@media (max-width: 1024px) { .ph-page .ph-hero .ph-hero-claim { font-size: 23px; } }
@media (max-width: 600px) { .ph-page .ph-hero .ph-hero-claim { font-size: 21px; } }

/* Ein Button-Stil für die ganze Website: Pillenform, Dunkelblau, wie in Astra festgelegt */
.ast-button,
.ns-page a.ns-btn,
.elementor-widget-button .elementor-button,
.wpforms-container .wpforms-form button.wpforms-submit,
button.cr_button,
.comment-form input[type="submit"],
.form-submit input[type="submit"],
.box-button {
    border-radius: 113px !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1px !important;
    line-height: 1.2 !important;
    padding: 15px 40px !important;
    background-color: var(--ast-global-color-1) !important;
    color: #FFFFFF !important;
    border: 0 !important;
    text-decoration: none !important;
}
.ast-button:hover, .ast-button:focus,
.ns-page a.ns-btn:hover, .ns-page a.ns-btn:focus,
.elementor-widget-button .elementor-button:hover,
.wpforms-container .wpforms-form button.wpforms-submit:hover,
button.cr_button:hover,
.comment-form input[type="submit"]:hover,
.form-submit input[type="submit"]:hover,
.box-button:hover {
    background-color: var(--ast-global-color-0) !important;
    color: #FFFFFF !important;
}
/* Kleine Umriss-Buttons in Artikeln (z. B. "Zum Fragebogen") ebenfalls abgerundet */
.cta-button, .print-button { border-radius: 113px !important; }
@media (max-width: 767px) {
    .ast-button, .ns-page a.ns-btn, .elementor-widget-button .elementor-button,
    .wpforms-container .wpforms-form button.wpforms-submit, button.cr_button,
    .comment-form input[type="submit"], .form-submit input[type="submit"], .box-button {
        font-size: 17px !important; padding: 14px 32px !important;
    }
}

/* Kontaktformular und Newsletter-Anmeldung: dieselbe Pillenform (diese Stellen hatten eigene, speziellere Regeln) */
body .ns-page .wpforms-container .wpforms-form button.wpforms-submit,
body .newsletter-box button.cr_button {
    border-radius: 113px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1px !important;
    line-height: 1.2 !important;
    padding: 15px 40px !important;
    background-color: var(--ast-global-color-1) !important;
    color: #FFFFFF !important;
}
body .ns-page .wpforms-container .wpforms-form button.wpforms-submit:hover,
body .newsletter-box button.cr_button:hover { background-color: var(--ast-global-color-0) !important; }
@media (max-width: 767px) {
    body .ns-page .wpforms-container .wpforms-form button.wpforms-submit,
    body .newsletter-box button.cr_button { font-size: 17px !important; padding: 14px 32px !important; }
}


/* Artikelübersicht, Kategorien, Suche: Kastenlayout wie Kontakt und Erstgespräch
   (weiße Ränder, hellblauer Kasten mit runden Ecken direkt unter der Kopfzeile) */
body.blog:not(.home), body.archive, body.search { background-color: #FFFFFF !important; }
body.blog:not(.home) #content > .ast-container,
body.archive #content > .ast-container,
body.search #content > .ast-container {
    background-color: rgb(247, 249, 253);
    border-radius: 12px;
    max-width: 1200px;
    padding: 0 40px !important;
    margin: 0 auto 90px auto !important;
}
@media (max-width: 1240px) {
    body.blog:not(.home) #content > .ast-container,
    body.archive #content > .ast-container,
    body.search #content > .ast-container { margin: 0 40px 90px 40px !important; }
}
@media (max-width: 921px) {
    body.blog:not(.home) #content > .ast-container,
    body.archive #content > .ast-container,
    body.search #content > .ast-container { margin: 0 12px 40px 12px !important; padding: 0 18px !important; border-radius: 10px; }
}

/* Englische Artikelübersicht: gleiche Innenabstände wie die deutsche */
body.blog:not(.home).ast-page-builder-template #primary,
body.blog:not(.home).ast-page-builder-template #secondary { margin-top: 4em; margin-bottom: 4em; }


/* ===== Mobil/Tablet-Feinschliff 26.10. ===== */
/* Podcast: größere Tippfläche für "Anhören", ohne Layoutänderung */
.ph-anhoeren{position:relative;}
.ph-anhoeren::after{content:'';position:absolute;top:-9px;bottom:-9px;left:-6px;right:-6px;}
/* Elementor-Kopfbereich Startseite und Leistungsseite: kein seitliches Überlaufen */
@media (max-width:1024px){
 .elementor-element-ddffa48 > .elementor-widget-wrap,
 .elementor-element-198c4178 > .elementor-widget-wrap{margin-left:0 !important;}
}
/* FAQ-Aufklapper: Pfeil bleibt neben zweizeiligen Fragen */
.ns-page details > summary:has(> .ns-acc-ic){display:flex !important;align-items:flex-start;gap:12px;}
.ns-page summary > .ns-acc-ic{float:none !important;order:2;margin-left:auto;flex-shrink:0;}
.ns-page summary > .ns-acc-ic ~ span{flex:1 1 auto;min-width:0;width:auto !important;}
/* Ablauf-Schritte: Listen mit gleichem Zeilenabstand wie Absätze */
.ns-page .ns-ablauf-schritt ul, .ns-page .ns-ablauf-schritt li,
.ns-page details ul, .ns-page details li{line-height:1.6 !important;}
.ns-page .ns-ablauf-schritt li, .ns-page details li{margin-bottom:10px !important;}
.ns-page .ns-ablauf-schritt li em{line-height:inherit !important;}
/* Ablauf-Schritte auf dem Tablet untereinander statt schmaler Spalten */
@media (min-width:768px) and (max-width:1024px){
 .ns-page .ns-ablauf-schritt .ns-col{width:100% !important;max-width:100% !important;}
 html body .ns-page .ns-ablauf-schritt .ns-col:nth-child(2) > .ns-wrap{padding-left:0 !important;padding-top:0 !important;}
 .ns-page .ns-ablauf-schritt .ns-col:nth-child(1) h3{margin-bottom:14px !important;}
 .ns-page .ns-ablauf-schritt .ns-col:nth-child(2) .ns-wc{max-width:720px;}
}
/* Buchungsablauf: mehrzeilige Punkte kompakt, Abstand zwischen Punkten bleibt */
.ns-page .x55f2d7c-c ul, .ns-page .x55f2d7c-c li{line-height:1.6 !important;}
.ns-page .x55f2d7c-c li{margin-bottom:11px !important;}
/* Kein farbiger Balken über der Kopfzeile beim Hochscrollen (elastisches Nachfedern am Seitenanfang und -ende) */
html, body{overscroll-behavior-y:none;}
/* Listen in aufklappbaren FAQ: normaler Einzug statt 54 px */
.ns-page details ul{margin-left:0 !important;padding-left:1.2em !important;}