/* ================================================
   SHIRU UTSUWA KARATE – Custom CSS v8
   Child-Theme – ersetzt SiteOrigin CSS Plugin
   ================================================ */

/* ================================================
   FONTS – global verfügbar (auch auf Passwortseiten)
   ================================================ */
@font-face { font-family: 'Noto Serif JP'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/NotoSerifJP-Light.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Noto Serif JP'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/NotoSerifJP-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Noto Serif JP'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/NotoSerifJP-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/DMSans-Light.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/DMSans-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('https://shiru-utsuwa-karate.de/wp-content/uploads/2026/05/DMSans-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }


/* ================================================
   ADMIN-BAR – für alle Custom-Seiten ausblenden
   ================================================ */
body.page-id-258 #wpadminbar,
body.page-id-276 #wpadminbar,
body.page-id-300 #wpadminbar,
body.page-id-302 #wpadminbar,
body.page-id-326 #wpadminbar,
body.page-id-348 #wpadminbar,
body.page-id-414 #wpadminbar,
body.page-id-437 #wpadminbar,
body.page-id-470 #wpadminbar,
body.page-id-551 #wpadminbar,
body.page-id-553 #wpadminbar,
body.single #wpadminbar { display: none !important; }

body.page-id-258 html, body.page-id-258,
body.page-id-276 html, body.page-id-276,
body.page-id-300 html, body.page-id-300,
body.page-id-302 html, body.page-id-302,
body.page-id-326 html, body.page-id-326,
body.page-id-348 html, body.page-id-348,
body.page-id-414 html, body.page-id-414,
body.page-id-437 html, body.page-id-437,
body.page-id-470 html, body.page-id-470,
body.page-id-551 html, body.page-id-551,
body.page-id-553 html, body.page-id-553 { margin-top: 0 !important; }

/* Startseite (ID 258) */
body.page-id-258 { background: #0d0d0d !important; }
body.page-id-258 .site-content,
body.page-id-258 #content,
body.page-id-258 .entry-content,
body.page-id-258 .ast-container,
body.page-id-258 #primary,
body.page-id-258 .site-main,
body.page-id-258 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-258 #masthead,
body.admin-bar.page-id-258 #masthead,
body.page-id-258 .ast-sticky-shrunk,
body.page-id-258 .ast-header-sticked,
body.page-id-258 .ast-primary-sticky-header,
body.page-id-258 #masthead.ast-sticky-active { display: none !important; }
body.page-id-258 .entry-title,
body.page-id-258 .ast-mobile-popup-drawer,
body.page-id-258 .ast-mobile-menu-trigger { display: none !important; }
body.page-id-258 a { text-decoration: none !important; }
body.page-id-258 .su-fade-in:not(#su-about-seal) { opacity: 1 !important; transform: none !important; }

/* Über mich (ID 276) */
body.page-id-276 { background: #0d0d0d !important; }
body.page-id-276 .site-content,
body.page-id-276 #content,
body.page-id-276 .entry-content,
body.page-id-276 .ast-container,
body.page-id-276 #primary,
body.page-id-276 .site-main,
body.page-id-276 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-276 #masthead,
body.page-id-276 .ast-sticky-shrunk,
body.page-id-276 .ast-header-sticked { display: none !important; }
body.page-id-276 .entry-title,
body.page-id-276 .site-footer,
body.page-id-276 #colophon { display: none !important; }
body.page-id-276 a { text-decoration: none !important; }
body.page-id-276 .uem-intro-img { opacity: 0 !important; transform: translateX(30px) !important; transition: opacity 0.8s ease, transform 0.8s ease !important; }
body.page-id-276 .uem-intro-img.fly-in { opacity: 1 !important; transform: translateX(0) !important; }
body.page-id-276 .uem-cta-btn { background: transparent !important; border: 1px solid rgba(240,24,48,0.7) !important; color: #F01830 !important; border-radius: 2px !important; }
body.page-id-276 .uem-cta-btn:hover { background: #F01830 !important; color: #fff !important; }

/* Impressum (ID 300) */
body.page-id-300 { background: #0d0d0d !important; }
body.page-id-300 .site-content, body.page-id-300 #content, body.page-id-300 .entry-content, body.page-id-300 .ast-container, body.page-id-300 #primary, body.page-id-300 .site-main, body.page-id-300 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-300 #masthead, body.page-id-300 .ast-sticky-shrunk, body.page-id-300 .ast-header-sticked { display: none !important; }
body.page-id-300 .entry-title, body.page-id-300 .site-footer, body.page-id-300 #colophon { display: none !important; }
body.page-id-300 a { text-decoration: none !important; }

/* Datenschutz (ID 302) */
body.page-id-302 { background: #0d0d0d !important; }
body.page-id-302 .site-content, body.page-id-302 #content, body.page-id-302 .entry-content, body.page-id-302 .ast-container, body.page-id-302 #primary, body.page-id-302 .site-main, body.page-id-302 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-302 #masthead, body.page-id-302 .ast-sticky-shrunk, body.page-id-302 .ast-header-sticked { display: none !important; }
body.page-id-302 .entry-title, body.page-id-302 .site-footer, body.page-id-302 #colophon { display: none !important; }
body.page-id-302 a { text-decoration: none !important; }

/* Kontakt (ID 326) */
body.page-id-326 { background: #0d0d0d !important; }
body.page-id-326 .site-content, body.page-id-326 #content, body.page-id-326 .entry-content, body.page-id-326 .ast-container, body.page-id-326 #primary, body.page-id-326 .site-main, body.page-id-326 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-326 #masthead, body.page-id-326 .ast-sticky-shrunk, body.page-id-326 .ast-header-sticked { display: none !important; }
body.page-id-326 .entry-title, body.page-id-326 .site-footer, body.page-id-326 #colophon { display: none !important; }
body.page-id-326 a { text-decoration: none !important; }

/* Training & Einstieg (ID 348) */
body.page-id-348 { background: #0d0d0d !important; }
body.page-id-348 .site-content, body.page-id-348 #content, body.page-id-348 .entry-content, body.page-id-348 .ast-container, body.page-id-348 #primary, body.page-id-348 .site-main, body.page-id-348 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-348 #masthead, body.page-id-348 .ast-sticky-shrunk, body.page-id-348 .ast-header-sticked { display: none !important; }
body.page-id-348 .entry-title, body.page-id-348 .site-footer, body.page-id-348 #colophon { display: none !important; }
body.page-id-348 a { text-decoration: none !important; }

/* Blog (ID 414) */
body.page-id-414 { background: #0d0d0d !important; }
body.page-id-414 .site-content, body.page-id-414 #content, body.page-id-414 .entry-content, body.page-id-414 .ast-container, body.page-id-414 #primary, body.page-id-414 .site-main, body.page-id-414 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-414 #masthead, body.page-id-414 .ast-sticky-shrunk, body.page-id-414 .ast-header-sticked { display: none !important; }
body.page-id-414 .entry-title, body.page-id-414 .site-footer, body.page-id-414 #colophon, body.page-id-414 .site-below-footer-wrap { display: none !important; }
body.page-id-414 a { text-decoration: none !important; }

/* FAQ (ID 437) */
body.page-id-437 { background: #0d0d0d !important; }
body.page-id-437 .site-content, body.page-id-437 #content, body.page-id-437 .entry-content, body.page-id-437 .ast-container, body.page-id-437 #primary, body.page-id-437 .site-main, body.page-id-437 article { background: #0d0d0d !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-437 #masthead, body.page-id-437 .ast-sticky-shrunk, body.page-id-437 .ast-header-sticked { display: none !important; }
body.page-id-437 .entry-title, body.page-id-437 .site-footer, body.page-id-437 #colophon { display: none !important; }
body.page-id-437 a { text-decoration: none !important; }

/* Kontaktformular WPForms */
body.page-id-326 .wpforms-container, body.page-id-326 .wpforms-form, body.page-id-326 .wpforms-field-container { background: transparent !important; }
body.page-id-326 .kon-form-wrap { border: 1px solid rgba(240,24,48,0.4) !important; }
body.page-id-326 .wpforms-form .wpforms-field-label, body.page-id-326 .wpforms-form legend.wpforms-field-label { color: rgba(255,255,255,0.7) !important; font-size: 12px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; background: transparent !important; }
body.page-id-326 .wpforms-form input[type="text"], body.page-id-326 .wpforms-form input[type="email"], body.page-id-326 .wpforms-form input[type="tel"], body.page-id-326 .wpforms-form textarea, body.page-id-326 .wpforms-form select { background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 2px !important; color: #fff !important; box-shadow: none !important; }
body.page-id-326 .wpforms-form input::placeholder, body.page-id-326 .wpforms-form textarea::placeholder { color: rgba(255,255,255,0.2) !important; }
body.page-id-326 .wpforms-form button[type="submit"], body.page-id-326 .wpforms-form .wpforms-submit { background: transparent !important; color: #F01830 !important; border: 1px solid rgba(240,24,48,0.7) !important; border-radius: 2px !important; font-size: 12px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; box-shadow: none !important; padding: 12px 28px !important; transition: background 0.2s, color 0.2s !important; }
body.page-id-326 .wpforms-form button[type="submit"]:hover { background: #F01830 !important; color: #fff !important; }
body.page-id-326 .wpforms-field-sublabel { color: rgba(255,255,255,0.3) !important; background: transparent !important; }
body.page-id-326 .wpforms-form .wpforms-field-description { color: rgba(255,255,255,0.3) !important; }
body.page-id-326 .choices__inner { background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 2px !important; color: #fff !important; }
body.page-id-326 .choices__list--dropdown { background: #1a1a1a !important; border: 1px solid rgba(240,24,48,0.3) !important; border-radius: 2px !important; }
body.page-id-326 .choices__list--dropdown .choices__item { color: rgba(255,255,255,0.7) !important; background: #1a1a1a !important; }
body.page-id-326 .choices__list--dropdown .choices__item--highlighted, body.page-id-326 .choices__list--dropdown .choices__item:hover { background: #F01830 !important; color: #fff !important; }
body.page-id-326 .choices__item--selectable { color: rgba(255,255,255,0.7) !important; }
body.page-id-326 .choices__list--single .choices__item { color: rgba(255,255,255,0.7) !important; }
body.page-id-326 .choices[data-type*="select-one"] .choices__button { filter: invert(1) !important; }
body.page-id-326 .choices[data-type*="select-one"]::after { border-color: rgba(255,255,255,0.4) transparent transparent !important; }

/* Mobile Navigation */
.su-burger, .uem-burger, .imp-burger, .ds-burger, .kon-burger, .te-burger { display: none; flex-direction: column; cursor: pointer; padding: 8px; background: none; border: none; }
.su-burger span, .uem-burger span, .imp-burger span, .ds-burger span, .kon-burger span, .te-burger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.7); transition: all 0.3s; }
.su-mobile-nav, .uem-mobile-nav, .imp-mobile-nav, .ds-mobile-nav, .kon-mobile-nav, .te-mobile-nav { display: none; flex-direction: column; background: #0d0d0d; border-bottom: 1px solid rgba(240,24,48,0.2); padding: 16px 24px; }
.su-mobile-nav a, .uem-mobile-nav a, .imp-mobile-nav a, .ds-mobile-nav a, .kon-mobile-nav a, .te-mobile-nav a { font-size: 16px; color: rgba(255,255,255,0.85); text-decoration: none !important; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.su-mobile-nav a:last-child, .uem-mobile-nav a:last-child, .imp-mobile-nav a:last-child, .ds-mobile-nav a:last-child, .kon-mobile-nav a:last-child, .te-mobile-nav a:last-child { border-bottom: none; }
.su-mobile-nav.open, .uem-mobile-nav.open, .imp-mobile-nav.open, .ds-mobile-nav.open, .kon-mobile-nav.open, .te-mobile-nav.open { display: flex; }
@media (max-width: 768px) {
  .su-burger, .uem-burger, .imp-burger, .ds-burger, .kon-burger, .te-burger { display: flex !important; }
  .su-header-cta, .uem-header-cta, .imp-header-cta, .ds-header-cta, .kon-header-cta, .te-header-cta { display: none !important; }
  .su-header-nav, .uem-header-nav, .imp-header-nav, .ds-header-nav, .kon-header-nav, .te-header-nav { display: none !important; }
}

/* Header-Nav zentrieren */
.su-header, .uem-header, .te-header, .kon-header, .imp-header, .ds-header, .blog-header { position: relative; }
.su-header-nav, .uem-header-nav, .te-header-nav, .kon-header-nav, .imp-header-nav, .ds-header-nav, .blog-header-nav { position: absolute; left: 50%; transform: translateX(-50%); }

/* Einzelartikel */
body.single { background: #0d0d0d !important; }
body.single .ast-narrow-container, body.single .ast-separate-container, body.single #page, body.single .hfeed { --wp-custom-ast-content-width-size: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; background: #0d0d0d !important; }
body.single #content, body.single .site-content, body.single #primary, body.single .site-main, body.single .ast-container { background: #0d0d0d !important; max-width: 100% !important; padding: 0 !important; }
body.single .ast-article-single { max-width: 740px; margin: 0 auto; padding: 60px 40px 80px; background: #0d0d0d !important; position: relative; z-index: 1; }
body.single .ast-separate-container::before { content: ''; position: fixed; top: 64px; left: 50%; transform: translateX(-50%); width: 700px; height: 400px; border-radius: 50%; background: radial-gradient(ellipse, rgba(160,15,15,0.13) 0%, transparent 70%); pointer-events: none; z-index: 0; }
body.single .entry-title { font-family: 'Noto Serif JP', serif !important; font-size: 36px !important; font-weight: 700 !important; color: #fff !important; line-height: 1.2 !important; margin-bottom: 12px !important; }
body.single .entry-meta, body.single .entry-meta * { color: #F01830 !important; font-size: 12px !important; }
body.single .entry-content, body.single .entry-content p { color: rgba(255,255,255,0.88) !important; font-size: 18px !important; line-height: 1.85 !important; }
body.single .entry-content a { color: #F01830 !important; }
body.single .entry-content h2, body.single .entry-content h3 { font-family: 'Noto Serif JP', serif !important; color: #fff !important; }
body.single .site-footer, body.single #colophon, body.single .site-below-footer-wrap { display: none !important; }
body.single .post-navigation { border-top: 1px solid rgba(255,255,255,0.06) !important; padding-top: 2em !important; padding-left: 40px !important; padding-right: 40px !important; background: transparent !important; max-width: 740px; margin: 0 auto; }
body.single .post-navigation a { color: rgba(255,255,255,0.65) !important; }
body.single .post-navigation a:hover { color: #F01830 !important; }
body.single .entry-content::after { content: ''; display: table; clear: both; }

/* Einzelartikel – Bild mit rotem Balken und Vignette */
body.single .entry-content img {
  float: right !important;
  margin: 0 0 24px 40px !important;
  max-width: 280px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 2px !important;
  filter: brightness(0.9) contrast(1.05) !important;
  border-left: 3px solid #F01830 !important;
  -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%) !important;
  mask-image: linear-gradient(to bottom, black 55%, transparent 100%) !important;
}

@media (max-width: 768px) {
  body.single .ast-article-single { padding: 40px 24px 60px; }
  body.single .entry-content img {
    float: none !important;
    margin: 0 0 24px 0 !important;
    max-width: 100% !important;
    box-shadow: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

/* Einzelartikel Custom Header */
body.single #masthead { display: none !important; }
#su-single-header { width: 100%; background: #0d0d0d; position: sticky; top: 0; z-index: 9000; border-bottom: 1px solid rgba(240,24,48,0.2); box-sizing: border-box; }
#su-single-header .su-header-bar { height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 0 40px; box-sizing: border-box; max-width: 100%; position: relative; }
#su-single-header .su-header-left { display: flex; align-items: center; gap: 14px; }
#su-single-header .su-kanji { font-family: 'Noto Serif JP', serif; font-size: 26px; font-weight: 700; color: #fff; text-decoration: none; letter-spacing: 0.06em; line-height: 1; transition: opacity 0.2s; }
#su-single-header .su-kanji:hover { opacity: 0.75; }
#su-single-header .su-divider { width: 1px; height: 20px; background: rgba(255,255,255,0.15); }
#su-single-header .su-site-name { font-family: 'DM Sans', sans-serif !important; font-size: 13px; color: rgba(255,255,255,0.70); text-decoration: none; letter-spacing: 0.08em; font-weight: 300; transition: color 0.2s; }
#su-single-header .su-site-name:hover { color: rgba(255,255,255,0.9); }
#su-single-header .su-desktop-nav { display: flex; gap: 28px; align-items: center; list-style: none; padding: 0; margin: 0; position: absolute; left: 50%; transform: translateX(-50%); }
#su-single-header .su-desktop-nav a { font-family: 'DM Sans', sans-serif !important; font-size: 12px; color: rgba(255,255,255,0.65); text-decoration: none; letter-spacing: 0.06em; transition: color 0.2s; }
#su-single-header .su-desktop-nav a:hover { color: #fff; }
#su-single-header .su-cta { font-family: 'DM Sans', sans-serif !important; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; border: 1px solid rgba(240,24,48,0.7); padding: 7px 16px; border-radius: 2px; color: #F01830; text-decoration: none; font-weight: 500; flex-shrink: 0; transition: background 0.2s, color 0.2s; }
#su-single-header .su-cta:hover { background: #F01830; color: #fff; }
#su-single-header .su-burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
#su-single-header .su-burger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,0.7); transition: background 0.2s; }
#su-single-header .su-burger:hover span { background: #fff; }
#su-single-mobile-nav { display: none; flex-direction: column; background: #0d0d0d; border-bottom: 1px solid rgba(240,24,48,0.2); padding: 8px 24px 16px; position: sticky; top: 64px; z-index: 8999; }
#su-single-mobile-nav a { font-family: 'DM Sans', sans-serif !important; font-size: 16px; color: rgba(255,255,255,0.85); text-decoration: none; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.06); display: block; transition: color 0.2s; }
#su-single-mobile-nav a:last-child { border-bottom: none; }
#su-single-mobile-nav a:hover { color: #fff; }
@media (max-width: 768px) {
  #su-single-header .su-desktop-nav, #su-single-header .su-cta { display: none !important; }
  #su-single-header .su-burger { display: flex !important; }
  #su-single-header .su-header-bar { padding: 0 20px; }
}

/* Dojo (ID 470) */
body.page-id-470 { background: #080808 !important; }
body.page-id-470 .site-content, body.page-id-470 #content, body.page-id-470 .entry-content, body.page-id-470 .ast-container, body.page-id-470 #primary, body.page-id-470 .site-main, body.page-id-470 article { background: #080808 !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-470 #masthead, body.page-id-470 .ast-sticky-shrunk, body.page-id-470 .ast-header-sticked { display: none !important; }
body.page-id-470 .entry-title, body.page-id-470 .site-footer, body.page-id-470 #colophon { display: none !important; }
body.page-id-470 a { text-decoration: none !important; }
body.page-id-470 .dojo-header-badge { color: #c9a84c !important; border-color: rgba(201,168,76,0.4) !important; }
body.page-id-470 .dojo-kyu-btn.active { border-color: #c9a84c !important; color: #c9a84c !important; background: rgba(201,168,76,0.06) !important; }
body.page-id-470 .dojo-kyu-btn:hover { border-color: rgba(201,168,76,0.4) !important; color: rgba(201,168,76,0.8) !important; }
body.page-id-470 .dojo-kata-tag.highlight { border-color: rgba(201,168,76,0.5) !important; color: #c9a84c !important; background: rgba(201,168,76,0.06) !important; }
body.page-id-470 .dojo-kumite-value { color: #c9a84c !important; }
body.page-id-470 .dojo-section-label { color: #c9a84c !important; }
body.page-id-470 .dojo-section-label::after { background: rgba(201,168,76,0.15) !important; }
body.page-id-470 .dojo-panel-kyu { color: rgba(201,168,76,0.2) !important; }
body.page-id-470 .dojo-tech-list li::before { color: rgba(201,168,76,0.4) !important; }
body.page-id-470 .dojo-tech-list li { color: rgba(255,255,255,0.80) !important; font-size: 15px !important; }
body.page-id-470 .dojo-eyebrow { color: #c9a84c !important; }
body.page-id-470 .dojo-hero-glow { background: radial-gradient(ellipse, rgba(201,168,76,0.07) 0%, transparent 70%) !important; }
body.page-id-470 .dojo-header { border-bottom-color: rgba(201,168,76,0.15) !important; }
body.page-id-470 .dojo-kumite-bar { border-color: rgba(201,168,76,0.15) !important; }
body.page-id-470 .dojo-kumite-desc { color: rgba(255,255,255,0.70) !important; }
body.page-id-470 .dojo-panel-wait { color: rgba(255,255,255,0.55) !important; }

/* Passwortschutz Dojo
   WordPress rendert das Formular so:
   <form class="post-password-form">
     <p>Beschreibungstext</p>
     <p><label>Passwort: <input type="password"> </label> <input type="submit"></p>
   </form>
   Das Label enthält SOWOHL den Text als auch das Input.
*/
.post-password-form {
  max-width: 500px;
  margin: 120px auto;
  padding: 48px 40px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 4px;
  text-align: center;
  font-family: 'DM Sans', sans-serif !important;
}
.post-password-form p {
  font-family: 'DM Sans', sans-serif !important;
  color: rgba(255,255,255,0.85) !important;
}
.post-password-form p:first-of-type {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 32px !important;
  line-height: 1.6 !important;
}
.post-password-form label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  display: block !important;
  margin-bottom: 10px !important;
}
.post-password-form input[type="password"] {
  font-family: 'DM Sans', sans-serif !important;
  width: 100% !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  border-radius: 2px !important;
  color: #fff !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  margin-bottom: 16px !important;
  box-shadow: none !important;
}
.post-password-form input[type="password"]:focus {
  border-color: #c9a84c !important;
  outline: none !important;
}
.post-password-form input[type="submit"] {
  font-family: 'DM Sans', sans-serif !important;
  background: transparent !important;
  border: 1px solid rgba(201,168,76,0.6) !important;
  color: #c9a84c !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
}
.post-password-form input[type="submit"]:hover {
  background: #c9a84c !important;
  color: #080808 !important;
}

/* 404 */
body.error404 { background: #0d0d0d !important; }
body.error404 .site-content, body.error404 #content, body.error404 .ast-container, body.error404 #primary, body.error404 .site-main { background: #0d0d0d !important; max-width: 100% !important; }
body.error404 #masthead, body.error404 .ast-sticky-shrunk, body.error404 .ast-header-sticked { display: none !important; }
body.error404 .site-footer, body.error404 #colophon, body.error404 .site-below-footer-wrap { display: none !important; }
body.error404 .ast-404-layout-1 { background: #0d0d0d !important; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 40px; text-align: center; position: relative; }
body.error404 h1.page-title { font-family: 'Noto Serif JP', serif !important; font-size: clamp(32px, 5vw, 56px) !important; font-weight: 300 !important; color: #fff !important; line-height: 1.2 !important; margin-bottom: 32px !important; }
body.error404 .page-sub-title { display: none !important; }
body.error404 .search-form { display: none !important; }
body.error404 .ast-404-layout-1::before { content: '404'; font-family: 'Noto Serif JP', serif; font-size: 180px; font-weight: 700; color: rgba(240,24,48,0.06); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; line-height: 1; z-index: 0; }

/* Vorbereitung (ID 551) */
body.page-id-551 { background: #080808 !important; }
body.page-id-551 .site-content, body.page-id-551 #content, body.page-id-551 .entry-content, body.page-id-551 .ast-container, body.page-id-551 #primary, body.page-id-551 .site-main, body.page-id-551 article { background: #080808 !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-551 #masthead, body.page-id-551 .ast-sticky-shrunk, body.page-id-551 .ast-header-sticked { display: none !important; }
body.page-id-551 .entry-title, body.page-id-551 .site-footer, body.page-id-551 #colophon { display: none !important; }
body.page-id-551 a { text-decoration: none !important; }

/* Glossar (ID 553) */
body.page-id-553 { background: #080808 !important; }
body.page-id-553 .site-content, body.page-id-553 #content, body.page-id-553 .entry-content, body.page-id-553 .ast-container, body.page-id-553 #primary, body.page-id-553 .site-main, body.page-id-553 article { background: #080808 !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
body.page-id-553 #masthead, body.page-id-553 .ast-sticky-shrunk, body.page-id-553 .ast-header-sticked { display: none !important; }
body.page-id-553 .entry-title, body.page-id-553 .site-footer, body.page-id-553 #colophon { display: none !important; }
body.page-id-553 a { text-decoration: none !important; }

/* Dojo Unterseiten — Gold-Akzente */
body.page-id-551 .dojo-header-badge, body.page-id-553 .dojo-header-badge { color: #c9a84c !important; border-color: rgba(201,168,76,0.4) !important; }
body.page-id-551 .dojo-sub-nav a.active, body.page-id-553 .dojo-sub-nav a.active { color: #c9a84c !important; border-bottom-color: #c9a84c !important; }
body.page-id-551 .dojo-eyebrow, body.page-id-553 .dojo-eyebrow { color: #c9a84c !important; }

/* Dojo Unterseiten — Hero-Abstand angleichen */
body.page-id-551 .dojo-hero, body.page-id-553 .dojo-hero { padding-top: 53px !important; }

/* Dojo Unterseiten — hellere Texte */
body.page-id-551 .dojo-text, body.page-id-551 .dojo-list li { color: rgba(255,255,255,0.85) !important; font-size: 16px !important; }
body.page-id-553 .dojo-glossar-def { color: rgba(255,255,255,0.82) !important; font-size: 15px !important; }
body.page-id-553 .dojo-glossar-reading { color: rgba(255,255,255,0.50) !important; }
body.page-id-551 .dojo-hero-intro, body.page-id-553 .dojo-hero-intro { color: rgba(255,255,255,0.70) !important; }