/* Theme Name: SOAB Modern Theme URI: https://soabmusic.eu/ Description: Updatefestes SOAB-Child-Theme auf Basis von Blocksy. Author: SOAB Template: blocksy Version: 1.2.1 Text Domain: soab-modern */ @import url("https://fonts.googleapis.com/css2?family=Anton&family=DM+Sans:wght@400;500;600;700&display=swap"); :root { --soab-red: #ff3b30; --soab-red-dark: #d91f18; --soab-ink: #0b0b0c; --soab-paper: #f1eee6; --soab-paper-bright: #faf7f0; --soab-line: rgba(11, 11, 12, 0.18); --soab-heading-muted: #4c4a47; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } [id] { scroll-margin-top: 100px; } body { margin: 0; color: var(--soab-ink); background: var(--soab-paper); font-family: "DM Sans", Arial, sans-serif; } main { background: var(--soab-paper); } body.admin-bar .soab-header { top: 32px; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } button, input, textarea { font: inherit; } ::selection { background: var(--soab-red); color: #fff; } .soab-header { position: sticky; top: 0; z-index: 999; min-height: 82px; display: grid; grid-template-columns: 180px 1fr 180px; align-items: center; padding: 12px 4vw; background: rgba(11, 11, 12, 0.94); color: white; border-bottom: 1px solid rgba(255, 255, 255, 0.12); backdrop-filter: blur(16px); } .soab-brand img { width: 86px; max-height: 58px; object-fit: contain; } .soab-nav { display: flex; justify-content: center; gap: clamp(18px, 3vw, 48px); } .soab-nav a, .soab-social { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; } .soab-nav a:hover, .soab-social:hover { color: var(--soab-red); } .soab-social { text-align: right; } .soab-menu-toggle { display: none; } .soab-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; } .soab-section { padding-block: 110px; } .soab-eyebrow { margin: 0 0 16px; color: var(--soab-red); font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; } .soab-title, .soab-h2, .soab-h3, .soab-manifesto blockquote { font-family: "Anton", Impact, sans-serif; font-weight: 400; line-height: 0.93; letter-spacing: 0.01em; text-transform: uppercase; } .soab-h2 { margin: 0; font-size: clamp(56px, 8vw, 110px); } .soab-hero { min-height: calc(100svh - 82px); position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.72fr); align-items: center; gap: 6vw; overflow: hidden; padding: 7vw max(5vw, calc((100vw - 1180px) / 2)); background: radial-gradient(circle at 75% 45%, rgba(255, 59, 48, 0.34), transparent 29%), linear-gradient(105deg, #080808 0 58%, #181011 100%); color: white; } .soab-hero::before { content: ""; position: absolute; inset: 0; opacity: 0.23; pointer-events: none; background: repeating-radial-gradient(circle at 10% 20%, transparent 0 2px, rgba(255,255,255,.08) 3px 4px), repeating-linear-gradient(115deg, transparent 0 13px, rgba(255,255,255,.025) 14px 15px); background-size: 7px 7px, 31px 31px; } .soab-hero-copy, .soab-hero-art { position: relative; z-index: 1; } .soab-hero-copy { min-width: 0; } .soab-title { margin: 0; font-size: clamp(58px, 6vw, 82px); } .soab-title span { color: var(--soab-red); white-space: nowrap; } .soab-hero-lead { max-width: 620px; margin: 28px 0 0; color: #d8d4cd; font-size: clamp(17px, 1.45vw, 22px); line-height: 1.55; } .soab-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; } .soab-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 0 24px; border: 1px solid transparent; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; transition: 0.2s ease; } .soab-button:hover { transform: translateY(-2px); color: white; } .soab-button-primary { background: var(--soab-red); color: white; } .soab-button-primary:hover { background: #ff554c; } .soab-button-ghost { border-color: rgba(255,255,255,.4); color: white; } .soab-button-ghost:hover { border-color: white; } .soab-button-dark { background: var(--soab-ink); color: white; } .soab-hero-art { justify-self: end; width: min(440px, 34vw); margin-right: 1vw; transform: rotate(2.5deg); } .soab-hero-art > img { position: relative; z-index: 2; width: 100%; box-shadow: 0 28px 80px rgba(0,0,0,.55); } .soab-album-shadow { position: absolute; inset: 8% -10% -7% 12%; background: var(--soab-red); transform: rotate(-6deg); } .soab-chart { position: absolute; right: -36px; bottom: -34px; z-index: 3; width: 132px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; background: white; color: var(--soab-ink); border-radius: 50%; transform: rotate(-8deg); box-shadow: 0 10px 30px rgba(0,0,0,.35); } .soab-chart strong { font-family: "Anton"; font-size: 45px; line-height: 1; color: var(--soab-red); } .soab-chart span { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; } .soab-ticker { overflow: hidden; background: var(--soab-red); color: white; } .soab-ticker div { width: max-content; display: flex; gap: 32px; align-items: center; padding: 16px 0; animation: soab-crawl 26s linear infinite; } .soab-ticker span { font-family: "Anton"; font-size: 24px; letter-spacing: .04em; } .soab-ticker i { font-style: normal; } @keyframes soab-crawl { from { transform: translateX(0); } to { transform: translateX(-25%); } } .soab-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 54px; } .soab-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px 28px; } .soab-text-link { padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; } #news .soab-h2 { color: var(--soab-heading-muted); } .soab-news-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; } .soab-news-card { background: var(--soab-paper-bright); border: 1px solid var(--soab-line); } .soab-news-image { position: relative; aspect-ratio: 1.45; overflow: hidden; background: #ddd; } .soab-news-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; } .soab-news-card:hover img { transform: scale(1.025); } .soab-news-image time { position: absolute; left: 16px; bottom: 16px; padding: 8px 11px; background: var(--soab-ink); color: white; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; } .soab-news-copy { position: relative; padding: 30px; } .soab-news-copy .soab-h3 { max-width: 85%; margin: 0; font-size: clamp(34px, 4vw, 61px); } .soab-news-copy .soab-h3 { color: var(--soab-heading-muted); } .soab-news-copy > p:last-child { max-width: 600px; margin: 18px 0 0; color: #5e5b56; line-height: 1.6; } .soab-card-index { position: absolute; right: 24px; top: 22px; margin: 0; color: var(--soab-red); font-family: "Anton"; font-size: 20px; } .soab-shows { background: var(--soab-ink); color: white; } .soab-heading-note { max-width: 280px; margin: 0; color: #9c9993; font-size: 14px; line-height: 1.5; text-align: right; } .soab-shows-panel { min-height: 240px; padding: 10px 0; border-block: 1px solid rgba(255,255,255,.2); } .soab-shows-panel .bit-widget { font-family: "DM Sans", Arial, sans-serif !important; } .soab-shows-panel > a { display: flex; justify-content: center; padding: 50px; color: var(--soab-red); text-decoration: underline; } .soab-split { display: grid; grid-template-columns: .9fr 1fr; gap: 9vw; align-items: center; } #music .soab-h2 { color: var(--soab-heading-muted); } .soab-big-copy { max-width: 520px; font-size: clamp(20px, 2vw, 28px); line-height: 1.45; } .soab-platform-list { margin-top: 42px; border-top: 1px solid var(--soab-line); } .soab-platform-list a { display: grid; grid-template-columns: 48px 1fr auto; padding: 18px 0; border-bottom: 1px solid var(--soab-line); font-size: 18px; font-weight: 600; } .soab-platform-list span { color: var(--soab-red); font-size: 11px; } .soab-platform-list a:hover { color: var(--soab-red); } .soab-album-display { position: relative; padding: 0 42px 42px 0; } .soab-album-display::after { content: ""; position: absolute; inset: 42px 0 0 42px; z-index: -1; background: var(--soab-red); } .soab-album-display img { width: 100%; } .soab-round-link { position: absolute; right: 0; bottom: 0; width: 110px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; border-radius: 50%; background: var(--soab-ink); color: white; font-family: "Anton"; font-size: 21px; transform: rotate(8deg); } .soab-video { background: var(--soab-red-dark); color: white; } .soab-video .soab-eyebrow { color: var(--soab-ink); } .soab-video-frame { aspect-ratio: 16 / 9; box-shadow: 0 30px 80px rgba(0,0,0,.28); } .soab-video-frame iframe { width: 100%; height: 100%; border: 0; } #merch { color: var(--soab-ink); } #merch .soab-h2, .soab-product-copy h3 { color: var(--soab-heading-muted); } .soab-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } #merch > .soab-section-heading .soab-eyebrow { color: rgba(11, 11, 12, .62); } #merch > .soab-section-heading .soab-text-link { color: var(--soab-ink); } .soab-product-card { overflow: hidden; background: var(--soab-paper-bright); color: var(--soab-ink); border: 1px solid var(--soab-line); } .soab-product-image { aspect-ratio: 1; overflow: hidden; background: #e4e0d7; } .soab-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; } .soab-product-card:hover .soab-product-image img { transform: scale(1.035); } .soab-product-copy { padding: 24px; } .soab-product-copy h3 { margin: 0; font-family: "Anton"; font-size: clamp(27px, 3vw, 42px); font-weight: 400; line-height: 1; text-transform: uppercase; } .soab-product-copy p { margin: 15px 0; color: var(--soab-red); font-size: 18px; font-weight: 700; } .soab-product-copy span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; } .soab-section-cta { display: flex; justify-content: center; margin-top: 38px; } .soab-manifesto { text-align: center; } .soab-manifesto blockquote { max-width: 980px; margin: 20px auto; font-size: clamp(56px, 8vw, 116px); line-height: 1.08; } .soab-manifesto > p:not(.soab-eyebrow) { max-width: 650px; margin: 30px auto; color: #5a5752; font-size: 18px; line-height: 1.6; } .soab-contact { background: var(--soab-ink); color: white; } .soab-contact-grid { display: grid; grid-template-columns: .82fr 1fr; gap: 9vw; align-items: start; } .soab-contact .soab-big-copy { color: #b9b5ae; } .soab-contact-form { padding: 34px; background: #171718; border: 1px solid rgba(255,255,255,.15); } .soab-contact-form .wpforms-container { margin: 0; } .soab-contact-form .wpforms-field { padding: 0 0 18px; } .soab-contact-form .wpforms-field-label { color: white !important; font-size: 12px !important; letter-spacing: .08em; text-transform: uppercase; } .soab-contact-form .wpforms-field-sublabel, .soab-contact-form .wpforms-field-description, .soab-contact-form .wpforms-field-label-inline, .soab-contact-form .wpforms-field-checkbox label, .soab-contact-form .wpforms-field-gdpr-checkbox label { color: #b9b5ae !important; } .soab-contact-form input[type="text"], .soab-contact-form input[type="email"], .soab-contact-form textarea { width: 100% !important; max-width: none !important; border: 1px solid #454546 !important; border-radius: 0 !important; background: #0d0d0e !important; color: white !important; } .soab-contact-form button[type="submit"] { min-height: 54px !important; padding: 0 24px !important; border: 0 !important; border-radius: 0 !important; background: var(--soab-red) !important; color: white !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; } .soab-content { width: min(1100px, calc(100% - 40px)); min-height: 60vh; margin: 0 auto; padding: 80px 0 120px; } .soab-content h1, .soab-content h2, .woocommerce-products-header__title { font-family: "Anton", Impact, sans-serif; text-transform: uppercase; } .soab-content h1 { font-size: clamp(58px, 9vw, 120px); } .soab-article { max-width: 820px; margin: 0 auto; } .soab-article-content { font-size: 18px; line-height: 1.75; } .soab-post-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; } .woocommerce ul.products li.product, .woocommerce div.product { padding: 22px; background: var(--soab-paper-bright); border: 1px solid var(--soab-line); } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: "Anton"; font-size: 28px; text-transform: uppercase; } .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 0; background: var(--soab-red); color: white; } .soab-staging-note { margin: 0 0 28px; padding: 14px 18px; background: #fff3cd; border: 1px solid #e8cf79; color: #5d4a00; font-weight: 600; } .soab-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 90px max(5vw, calc((100vw - 1180px) / 2)) 40px; background: #050505; color: white; } .soab-footer-logo img { width: 170px; } .soab-footer-logo p { color: #77746f; } .soab-footer-links { display: flex; justify-content: flex-end; gap: 100px; } .soab-footer-links div { display: grid; align-content: start; gap: 10px; } .soab-footer-links p { margin: 0 0 10px; color: var(--soab-red); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; } .soab-footer-links a { color: #bdb9b1; font-size: 14px; } .soab-copyright { grid-column: 1 / -1; margin-top: 60px; padding-top: 25px; border-top: 1px solid #282828; color: #666; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; } @media (max-width: 900px) { body.admin-bar .soab-header { top: 46px; } .soab-header { grid-template-columns: 90px 1fr; min-height: 72px; padding: 10px 20px 12px; } .soab-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 24px; overflow-x: auto; padding: 8px 0 2px; scrollbar-width: none; } .soab-nav::-webkit-scrollbar { display: none; } .soab-nav a { flex: 0 0 auto; } .soab-social { display: none; } .soab-brand img { width: 67px; } .soab-hero { min-height: auto; grid-template-columns: 1fr; padding: 80px 24px 100px; } .soab-title { font-size: clamp(64px, 18vw, 110px); } .soab-hero-art { justify-self: center; width: min(76vw, 470px); margin: 30px 0 0; } .soab-section { padding-block: 76px; } .soab-news-grid, .soab-split, .soab-post-list, .soab-contact-grid { grid-template-columns: 1fr; } .soab-product-grid { grid-template-columns: repeat(2, 1fr); } .soab-section-heading { align-items: start; flex-direction: column; } .soab-heading-note { text-align: left; } .soab-album-display { margin-top: 30px; } .soab-footer { grid-template-columns: 1fr; } .soab-footer-links { justify-content: start; } } @media (max-width: 560px) { .soab-shell { width: min(100% - 30px, 1180px); } .soab-nav a { font-size: 10px; } .soab-hero { padding-inline: 17px; } .soab-title { font-size: 20vw; } .soab-hero-lead { font-size: 16px; } .soab-chart { width: 92px; right: -10px; bottom: -25px; } .soab-chart strong { font-size: 32px; } .soab-section-heading .soab-h2 { font-size: 15vw; } .soab-news-copy { padding: 22px; } .soab-news-copy .soab-h3 { max-width: 100%; font-size: 11vw; } .soab-card-index { display: none; } .soab-button-row { flex-direction: column; } .soab-button { width: 100%; } .soab-footer-links { gap: 60px; } .soab-product-grid { grid-template-columns: 1fr; } .soab-contact-form { padding: 22px; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .soab-ticker div { animation: none; } *, *::before, *::after { transition-duration: .01ms !important; } } /* Bessere Lesbarkeit der Show-Chronik */
body.page-id-83 .samma-tabelle-global th,
body.page-id-83 .samma-tabelle-global th * { color: #111111 !important; opacity: 1 !important; background-color: #d8d3c8 !important; }
body.page-id-83 .samma-tabelle-global td,
body.page-id-83 .samma-tabelle-global td *,
body.page-id-83 .samma-tabelle-global td a { color: #181817 !important; opacity: 1 !important; background-color: #f1eee6 !important; }
body.page-id-83 .samma-tabelle-global tbody tr:nth-child(even) td,
body.page-id-83 .samma-tabelle-global tbody tr:nth-child(even) td * { background-color: #e7e2d8 !important; }


/* Dunklere Überschrift auf einzelnen Blogbeiträgen */
body.single-post .soab-content .soab-article > h1 { color: var(--soab-heading-muted) !important; }


/* Shop archive layout and category navigation */
body.woocommerce-shop .soab-content,
body.tax-product_cat .soab-content {
  width: min(1440px, calc(100% - 64px));
  padding: 72px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}

body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
  color: #4c4a47;
  font-weight: 600;
  margin-bottom: 32px;
}

body.woocommerce-shop .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering {
  margin-bottom: 32px;
}

body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select {
  color: #343230;
  border-color: rgba(11, 11, 12, .28);
  background-color: var(--soab-paper-bright);
}

.soab-shop-categories {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 38px;
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--soab-line);
}

.soab-shop-categories a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(11, 11, 12, .3);
  color: #343230;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.soab-shop-categories a:hover {
  color: #0b0b0c;
  background: #e3ded4;
  border-color: #0b0b0c;
}

.soab-shop-categories a.is-active {
  color: #fff;
  background: var(--soab-ink);
  border-color: var(--soab-ink);
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
  color: var(--soab-heading-muted) !important;
  transition: color .2s ease;
}

body.woocommerce-shop ul.products li.product a:hover .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product a:hover .woocommerce-loop-product__title {
  color: #22211f !important;
}

body.woocommerce-shop ul.products,
body.tax-product_cat ul.products {
  clear: both;
  margin-top: 26px;
}

@media (max-width: 760px) {
  body.woocommerce-shop .soab-content,
  body.tax-product_cat .soab-content {
    width: min(100% - 28px, 1440px);
    padding: 48px 18px 80px;
  }

  .soab-shop-categories {
    gap: 8px;
    margin-bottom: 28px;
  }

  .soab-shop-categories a {
    flex: 1 1 auto;
    justify-content: center;
  }
}


/* Shop archive body class used by this installation */
body.post-type-archive-product .soab-content {
  width: min(1440px, calc(100% - 64px));
  padding: 72px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}

body.post-type-archive-product .woocommerce-result-count {
  color: #4c4a47;
  font-weight: 600;
  margin-bottom: 32px;
}

body.post-type-archive-product .woocommerce-ordering {
  margin-bottom: 32px;
}

body.post-type-archive-product .woocommerce-ordering select {
  min-width: 260px;
  color: #343230;
  border-color: rgba(11, 11, 12, .28);
  background-color: var(--soab-paper-bright);
}

body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
  color: var(--soab-heading-muted) !important;
  transition: color .2s ease;
}

body.post-type-archive-product ul.products li.product a:hover .woocommerce-loop-product__title {
  color: #22211f !important;
}

body.post-type-archive-product ul.products {
  clear: both;
  margin-top: 26px;
}

@media (max-width: 760px) {
  body.post-type-archive-product .soab-content {
    width: min(100% - 28px, 1440px);	
    padding: 48px 18px 80px;
  }

  body.post-type-archive-product .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-ordering {
    float: none;
    width: 100%;
  }

  body.post-type-archive-product .woocommerce-ordering select {
    width: 100%;
    min-width: 0;
    min-height: 48px;
  }
}


/* Reliable shop archive scope */
body.soab-shop-archive .soab-content {
  width: min(1440px, calc(100% - 64px));
  padding: 72px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}
body.soab-shop-archive .woocommerce-result-count { color: #4c4a47; font-weight: 600; margin-bottom: 32px; }
body.soab-shop-archive .woocommerce-ordering { margin-bottom: 32px; }
body.soab-shop-archive .woocommerce-ordering select { min-width: 260px; color: #343230; border-color: rgba(11,11,12,.28); background: var(--soab-paper-bright); }
body.soab-shop-archive ul.products { clear: both; margin-top: 26px; }
body.soab-shop-archive ul.products li.product .woocommerce-loop-product__title { color: var(--soab-heading-muted) !important; transition: color .2s ease; }
body.soab-shop-archive ul.products li.product a:hover .woocommerce-loop-product__title { color: #22211f !important; }
@media (max-width: 760px) {
  body.soab-shop-archive .soab-content { width: min(100% - 28px, 1440px); padding: 48px 18px 80px; }
  body.soab-shop-archive .woocommerce-result-count, body.soab-shop-archive .woocommerce-ordering { float: none; width: 100%; }
  body.soab-shop-archive .woocommerce-ordering select { width: 100%; min-width: 0; min-height: 48px; }
}


/* Final shop controls */
body.soab-shop-archive .soab-shop-categories {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 38px;
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--soab-line);
}
body.soab-shop-archive .soab-shop-categories a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(11,11,12,.3);
  color: #343230;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.soab-shop-archive .soab-shop-categories a:hover { color: #0b0b0c; background: #e3ded4; border-color: #0b0b0c; }
body.soab-shop-archive .soab-shop-categories a.is-active { color: #fff; background: var(--soab-ink); border-color: var(--soab-ink); }
body.soab-shop-archive .woocommerce-result-count { display: block !important; color: #4c4a47 !important; opacity: 1 !important; }
body.soab-shop-archive .woocommerce-ordering select { display: block !important; width: min(100%, 380px) !important; min-width: 260px !important; color: #343230 !important; opacity: 1 !important; }
@media (max-width: 760px) {
  body.soab-shop-archive .soab-shop-categories { gap: 8px; margin-bottom: 28px; }
  body.soab-shop-archive .soab-shop-categories a { flex: 1 1 140px; }
  body.soab-shop-archive .woocommerce-ordering select { width: 100% !important; min-width: 0 !important; }
}


/* Impressum: klare Hierarchie und gute Lesbarkeit */
body.page-id-35 .soab-content {
  width: min(1100px, calc(100% - 64px));
  padding: 86px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}
body.page-id-35 .soab-content > h1 {
  margin: 0 0 64px;
  color: var(--soab-heading-muted) !important;
  line-height: .95;
}
body.page-id-35 .soab-impressum {
  max-width: 820px;
}
body.page-id-35 .soab-impressum h2 {
  margin: 48px 0 16px;
  color: #343230 !important;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
}
body.page-id-35 .soab-impressum h2:first-child {
  margin-top: 0;
}
body.page-id-35 .soab-impressum p {
  margin: 0 0 18px;
  color: #242321;
  font-size: 18px;
  line-height: 1.75;
}
body.page-id-35 .soab-impressum a {
  color: #9f1d18;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.page-id-35 .soab-impressum a:hover {
  color: #65120f;
}
@media (max-width: 760px) {
  body.page-id-35 .soab-content {
    width: min(100% - 28px, 1100px);
    padding: 52px 20px 80px;
  }
  body.page-id-35 .soab-content > h1 { margin-bottom: 44px; }
  body.page-id-35 .soab-impressum h2 { margin-top: 38px; font-size: clamp(27px, 8vw, 38px); }
  body.page-id-35 .soab-impressum p { font-size: 16px; }
}


body.page-id-35 .soab-content h1 {
  color: var(--soab-heading-muted) !important;
  margin-bottom: 64px;
  line-height: .95;
}


/* Datenschutzerklärung im Stil des Impressums */
body.page-id-3 .soab-content {
  width: min(1100px, calc(100% - 64px));
  padding: 86px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}
body.page-id-3 .soab-content h1 {
  margin: 0 0 48px;
  color: var(--soab-heading-muted) !important;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1;
}
body.page-id-3 .soab-privacy {
  max-width: 820px;
}
body.page-id-3 .soab-privacy h2 {
  margin: 48px 0 16px;
  color: #343230 !important;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.1;
}
body.page-id-3 .soab-privacy p,
body.page-id-3 .soab-privacy li {
  color: #242321;
  font-size: 18px;
  line-height: 1.75;
}
body.page-id-3 .soab-privacy p {
  margin: 0 0 18px;
}
body.page-id-3 .soab-privacy ul {
  margin: 0 0 22px;
  padding-left: 26px;
}
body.page-id-3 .soab-privacy li {
  margin-bottom: 10px;
}
body.page-id-3 .soab-privacy a {
  color: #9f1d18;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.page-id-3 .soab-privacy a:hover { color: #65120f; }
@media (max-width: 760px) {
  body.page-id-3 .soab-content { width: min(100% - 28px, 1100px); padding: 52px 20px 80px; }
  body.page-id-3 .soab-content h1 { margin-bottom: 38px; font-size: clamp(38px, 12vw, 58px); }
  body.page-id-3 .soab-privacy h2 { margin-top: 38px; font-size: clamp(26px, 8vw, 36px); }
  body.page-id-3 .soab-privacy p, body.page-id-3 .soab-privacy li { font-size: 16px; }
}


/* News-Archiv: bessere Lesbarkeit und großzügigere Seitenränder */
body.blog .soab-content {
  width: min(1280px, calc(100% - 48px));
  padding: 72px clamp(24px, 4vw, 56px) 120px;
  background: var(--soab-paper);
}

body.blog .soab-content > h1 {
  margin: 0 0 56px;
  color: var(--soab-heading-muted) !important;
  font-size: clamp(52px, 7vw, 92px);
  line-height: .96;
}

body.blog .soab-post-list {
  gap: 28px;
}

/* Einzelbeiträge: kompaktere Überschrift und ruhigerer Lesebereich */
body.single-post .soab-content {
  width: min(1100px, calc(100% - 48px));
  padding: 72px clamp(24px, 4vw, 56px) 120px;
  background: var(--soab-paper);
}

body.single-post .soab-article h1 {
  margin: 0 0 30px;
  color: var(--soab-heading-muted) !important;
  font-size: clamp(44px, 5.25vw, 76px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  body.blog .soab-content,
  body.single-post .soab-content {
    width: min(100% - 30px, 1280px);
    padding: 54px 18px 90px;
  }

  body.blog .soab-content > h1 {
    margin-bottom: 38px;
    font-size: clamp(46px, 16vw, 68px);
  }

  body.single-post .soab-article h1 {
    font-size: clamp(40px, 13vw, 58px);
  }
}

/* AGB und Widerrufsbelehrung im Stil der übrigen Rechtstexte */
body.page-id-37 .soab-content,
body.page-id-38 .soab-content {
  width: min(1100px, calc(100% - 64px));
  padding: 86px clamp(28px, 4vw, 64px) 120px;
  background: var(--soab-paper);
}
body.page-id-37 .soab-content > .soab-article > h1,
body.page-id-38 .soab-content > .soab-article > h1 {
  margin: 0 0 48px;
  color: var(--soab-heading-muted) !important;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1;
}
body.page-id-37 .soab-article,
body.page-id-38 .soab-article { max-width: 820px; }
body.page-id-37 .soab-article-content,
body.page-id-38 .soab-article-content {
  color: #242321;
  font-size: 18px;
  line-height: 1.75;
}
/* Verhindert doppelte H1, falls der Seiteninhalt selbst noch eine H1 enthält. */
body.page-id-37 .soab-article-content > h1:first-child,
body.page-id-38 .soab-article-content > h1:first-child { display: none; }
/* Leichtere, besser lesbare Zwischenüberschriften auf allen Rechtstext-Seiten */
body.page-id-3 .soab-privacy h2,
body.page-id-35 .soab-impressum h2,
body.page-id-37 .soab-article-content h2,
body.page-id-37 .soab-article-content h3,
body.page-id-37 .soab-article-content h4,
body.page-id-38 .soab-article-content h2,
body.page-id-38 .soab-article-content h3,
body.page-id-38 .soab-article-content h4 {
  margin: 44px 0 15px;
  color: #343230 !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 600 !important;
  line-height: 1.25;
  letter-spacing: -0.015em;
  text-transform: none !important;
}
body.page-id-37 .soab-article-content p,
body.page-id-37 .soab-article-content li,
body.page-id-38 .soab-article-content p,
body.page-id-38 .soab-article-content li {
  color: #242321;
  font-size: 18px;
  line-height: 1.75;
}
body.page-id-37 .soab-article-content p,
body.page-id-38 .soab-article-content p { margin: 0 0 18px; }
body.page-id-37 .soab-article-content a,
body.page-id-38 .soab-article-content a {
  color: #9f1d18;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  body.page-id-37 .soab-content,
  body.page-id-38 .soab-content {
    width: min(100% - 28px, 1100px);
    padding: 52px 20px 80px;
  }
  body.page-id-37 .soab-content > .soab-article > h1,
  body.page-id-38 .soab-content > .soab-article > h1 {
    margin-bottom: 38px;
    font-size: clamp(38px, 12vw, 58px);
  }
  body.page-id-3 .soab-privacy h2,
  body.page-id-35 .soab-impressum h2,
  body.page-id-37 .soab-article-content h2,
  body.page-id-37 .soab-article-content h3,
  body.page-id-37 .soab-article-content h4,
  body.page-id-38 .soab-article-content h2,
  body.page-id-38 .soab-article-content h3,
  body.page-id-38 .soab-article-content h4 {
    margin-top: 34px;
    font-size: clamp(23px, 7vw, 31px);
  }
  body.page-id-37 .soab-article-content,
  body.page-id-38 .soab-article-content,
  body.page-id-37 .soab-article-content p,
  body.page-id-37 .soab-article-content li,
  body.page-id-38 .soab-article-content p,
  body.page-id-38 .soab-article-content li { font-size: 16px; }
}

/* Warenkorb: lesbare Überschriften und Tabellenbeschriftungen */
body.woocommerce-cart .soab-content h1 {
  color: var(--soab-heading-muted) !important;
}
body.woocommerce-cart .cart_totals > h2 {
  color: #343230 !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600 !important;
  line-height: 1.25;
  text-transform: none !important;
  margin-bottom: 24px;
}
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td::before {
  color: #242321 !important;
  font-family: "DM Sans", Arial, sans-serif;
  font-weight: 600;
}
body.woocommerce-cart .shop_table .amount,
body.woocommerce-cart .quantity input,
body.woocommerce-cart .quantity .ct-increase,
body.woocommerce-cart .quantity .ct-decrease {
  color: #343230 !important;
}

/* Warenkorb: stabile Summenzeilen und geordnete Aktionen */
body.woocommerce-cart .cart_totals .cart-subtotal th,
body.woocommerce-cart .cart_totals .order-total th {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  width: auto;
  padding-right: 12px;
}
body.woocommerce-cart .woocommerce-cart-form td.actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
  float: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button { margin: 0; }
body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
  float: none;
  align-self: flex-end;
  margin: 0;
}
@media (max-width: 600px) {
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon button,
  body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
    width: 100%;
  }
}

/* Tabellenzelle beibehalten, Gutschein und Aktualisierung klar trennen. */
body.woocommerce-cart .woocommerce-cart-form td.actions {
  display: table-cell;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
  width: 100%;
  align-items: center;
}
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input {
  width: auto !important;
}
body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
  display: block;
  clear: both;
  margin: 18px 0 0 auto;
}
@media (max-width: 600px) {
  body.woocommerce-cart .woocommerce-cart-form td.actions { display: block; }
}

/* Mobile Aktionen ohne gedehntes Gutscheinfeld. */
@media (max-width: 600px) {
  body.woocommerce-cart .woocommerce-cart-form td.actions { display: table-cell; }
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
    flex-direction: column;
    align-items: stretch;
  }
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon input {
    flex: 0 0 auto;
    width: 100% !important;
    height: 44px;
    min-height: 44px;
  }
}

/* Kasse: kontrastreiche Überschriften und Tabellenköpfe. */
body.woocommerce-checkout .soab-content h1 {
  color: var(--soab-heading-muted) !important;
}
body.woocommerce-checkout .soab-content h2,
body.woocommerce-checkout .soab-content h3,
body.woocommerce-checkout .soab-content h3 label,
body.woocommerce-checkout .soab-content h3 span {
  color: #343230 !important;
}
body.woocommerce-checkout .soab-content h2,
body.woocommerce-checkout .soab-content h3 {
  font-family: "DM Sans", Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.25;
  text-transform: none !important;
}
body.woocommerce-checkout .shop_table th {
  color: #242321 !important;
  font-weight: 600;
}

/* WooCommerce: Produkttitel auf der Detailseite. */
body.single-product h1.product_title {
  color: var(--soab-heading-muted) !important;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.12;
}

/* Produktgalerie: Markenrot bei Maus- und Tastaturfokus. */
body:is(.woocommerce-shop, .tax-product_cat, .post-type-archive-product, .soab-shop-archive) ul.products li.product .woocommerce-loop-product__title > a:is(:hover, :focus-visible),
body:is(.woocommerce-shop, .tax-product_cat, .post-type-archive-product, .soab-shop-archive) ul.products li.product a:is(:hover, :focus-visible) .woocommerce-loop-product__title {
  color: var(--soab-red) !important;
}

/* WooCommerce: aktive Beschreibung und gewählte Galerie-Seite. */
body.single-product .woocommerce-tabs .description_tab {
  --theme-link-active-color: var(--soab-red-dark);
  --tab-background: var(--soab-red);
}

body:is(.woocommerce-shop, .tax-product_cat, .soab-shop-archive) .ct-pagination .page-numbers.current {
  --theme-link-hover-color: var(--soab-red-dark);
}

/* Startseite: helle Überschriften und Akzente in SOAB-Farben. */
body.home :is(.soab-hero .soab-title, #shows .soab-h2, #video .soab-h2, #kontakt .soab-h2) {
  color: #d8d4cd;
}

body.home #merch .soab-product-card > a:is(:hover, :focus-visible) .soab-product-copy > span {
  color: var(--soab-red-dark);
}

body.home .soab-manifesto blockquote {
  border-inline-start-color: var(--soab-ink);
}

/* Startseite: Textlinks in News, Shows und Video. */
body.home :is(#news, #shows, #video) .soab-text-link:is(:hover, :focus-visible) {
  color: var(--soab-red);
}
