/* schokoladen-geschenke.de – Site-Design (ergänzt Astra) */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(../fonts/fraunces-latin.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
}

:root {
  --sg-cocoa: #3a2318;
  --sg-cocoa-2: #5b3624;
  --sg-cocoa-3: #7a4a33;
  --sg-caramel: #c8873a;
  --sg-gold: #e2b36b;
  --sg-berry: #9e2b45;
  --sg-berry-dark: #7f1f36;
  --sg-cream: #fbf6ef;
  --sg-cream-2: #f4eadd;
  --sg-paper: #ffffff;
  --sg-text: #2b1d16;
  --sg-muted: #6f5d52;
  --sg-line: #eadfd3;
  --sg-radius: 14px;
  --sg-shadow: 0 1px 2px rgba(58, 35, 24, .06), 0 8px 24px rgba(58, 35, 24, .08);
  --sg-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sg-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Grundlayout ---------- */
body,
button, input, select, textarea {
  font-family: var(--sg-sans) !important;
}
body {
  background: var(--sg-cream) !important;
  color: var(--sg-text);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.entry-title, .site-title, .ast-archive-title {
  font-family: var(--sg-serif) !important;
  color: var(--sg-cocoa);
  letter-spacing: -.01em;
  font-weight: 600;
}
.entry-content h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.25; margin: 2.2em 0 .6em; }
.entry-content h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); line-height: 1.3; margin: 1.8em 0 .5em; }
.entry-content h4 { font-size: 1.1rem; margin: 1.5em 0 .4em; }
.entry-title, .single .entry-header .entry-title, .page .entry-header .entry-title {
  font-size: clamp(1.9rem, 1.4rem + 2vw, 2.9rem) !important;
  line-height: 1.15;
}
a { color: var(--sg-berry); }
a:hover, a:focus { color: var(--sg-berry-dark); }
.entry-content a { text-underline-offset: 3px; }
::selection { background: var(--sg-gold); color: var(--sg-cocoa); }

/* Astra-Container auf Beitragsseiten: Papierkarte auf Cremegrund */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comments-area,
.ast-plain-container .site-content > .ast-container > #primary article {
  background: var(--sg-paper);
}
.ast-separate-container .ast-article-single { border-radius: var(--sg-radius); box-shadow: var(--sg-shadow); }
.single .entry-content, .page .entry-content { max-width: 760px; margin-inline: auto; }
.single .entry-header, .page .entry-header { max-width: 760px; margin-inline: auto; }
.single .post-thumb-img-content img, .single .ast-single-post-featured-section img {
  border-radius: var(--sg-radius);
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* ---------- Header ---------- */
.ast-above-header-bar {
  background: var(--sg-cocoa) !important;
  border: 0 !important;
  min-height: 0 !important;
}
.ast-above-header-bar .ast-builder-html-element,
.ast-above-header-bar .ast-builder-html-element p {
  color: #e9dccd !important;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  padding: 6px 0;
  text-align: center;
}
.ast-above-header-bar a { color: var(--sg-gold) !important; text-decoration: underline; }
.ast-primary-header-bar {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid var(--sg-line) !important;
}
.site-title, .site-title a {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: var(--sg-cocoa) !important;
  line-height: 1.1 !important;
}
.site-title a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  text-decoration: none;
}
.site-title a::before {
  content: "";
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='6' y='16' width='52' height='42' rx='6' fill='%233a2318'/%3E%3Cpath d='M6 30h52M24 16v42M40 16v42' stroke='%235b3624' stroke-width='3'/%3E%3Cpath d='M32 16c-6-12-20-10-16-2 3 5 16 2 16 2zm0 0c6-12 20-10 16-2-3 5-16 2-16 2z' fill='none' stroke='%23c8873a' stroke-width='3.5' stroke-linejoin='round'/%3E%3Crect x='29' y='12' width='6' height='46' fill='%239e2b45'/%3E%3C/svg%3E") center / contain no-repeat;
}
.site-description, p.site-description {
  font-size: 12.5px !important;
  color: var(--sg-muted) !important;
  margin: 2px 0 0 calc(34px + .55rem) !important;
  letter-spacing: .02em;
}
.main-header-menu .menu-link, .ast-builder-menu .menu-item > .menu-link {
  font-weight: 600;
  font-size: 15px;
  color: var(--sg-cocoa) !important;
}
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
  color: var(--sg-berry) !important;
}
.main-header-menu .sub-menu {
  border-radius: 10px;
  border-top: 3px solid var(--sg-caramel) !important;
  box-shadow: var(--sg-shadow);
  overflow: hidden;
}
.main-header-menu .sub-menu .menu-link { font-weight: 500; font-size: 14.5px; }
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--sg-cream); }
.ast-mobile-popup-drawer .menu-link { color: var(--sg-cocoa) !important; font-weight: 600; }
.ast-mobile-menu-trigger-minimal, .menu-toggle { color: var(--sg-cocoa) !important; }
.ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar { border-bottom: 1px solid var(--sg-line) !important; }

/* Breadcrumbs */
.ast-breadcrumbs-wrapper, .ast-breadcrumbs, .ast-breadcrumbs a, #breadcrumbs {
  font-size: 13.5px;
  color: var(--sg-muted);
}
.ast-breadcrumbs a, #breadcrumbs a { color: var(--sg-cocoa-3); text-decoration: none; }

/* ---------- Buttons ---------- */
.sg-btn, .entry-content .sg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4em;
  background: var(--sg-berry);
  color: #fff !important;
  font-weight: 600;
  font-size: 15.5px;
  line-height: 1.2;
  padding: .85em 1.35em;
  border-radius: 999px;
  text-decoration: none !important;
  border: 2px solid var(--sg-berry);
  transition: background .2s, border-color .2s, transform .2s;
}
.sg-btn:hover, .sg-btn:focus { background: var(--sg-berry-dark); border-color: var(--sg-berry-dark); color: #fff !important; transform: translateY(-1px); }
.sg-btn--ghost, .entry-content .sg-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .75); }
.sg-btn--ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.sg-btn__mark { font-size: .8em; opacity: .85; margin-left: -.2em; }

/* ---------- Startseite / volle Breite ---------- */
.home .site-content > .ast-container, .sg-full .site-content > .ast-container { max-width: 100%; padding: 0; }
.home .entry-content { max-width: none; }
.home .entry-content > *:not(.sg-hero):not(.sg-band) { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.sg-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(420px, 62vh, 620px);
  margin: 0 0 3rem;
  padding: 4rem 20px;
  background: linear-gradient(100deg, rgba(30, 16, 10, .88) 0%, rgba(42, 24, 16, .72) 45%, rgba(42, 24, 16, .2) 100%), var(--sg-hero-img, linear-gradient(135deg, #3a2318, #7a4a33)) center / cover no-repeat;
  color: #fff;
}
.sg-hero__inner { max-width: 1160px !important; width: 100%; margin: 0 auto !important; }
.sg-hero__inner > * { max-width: 640px; }
.sg-hero__kicker {
  display: inline-block;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 700;
  color: var(--sg-gold) !important;
  margin: 0 0 .9rem !important;
}
.entry-content .sg-hero__title, .sg-hero__title {
  color: #fff !important;
  font-size: clamp(2.1rem, 1.4rem + 3vw, 3.6rem) !important;
  line-height: 1.08 !important;
  margin: 0 0 1.1rem !important;
}
.sg-hero__text { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: #f3e8dc !important; margin: 0 0 1.8rem !important; }
.sg-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

.sg-section { padding-block: 3.2rem; }
.sg-band { background: var(--sg-cream-2); padding-block: .5rem; margin-block: 2rem; }
.sg-band > .sg-section { max-width: 1200px !important; margin: 0 auto !important; padding-inline: 20px; box-sizing: border-box; }
.sg-section__head { max-width: 720px; margin: 0 0 2rem; }
.sg-kicker, .entry-content .sg-kicker {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 700;
  color: var(--sg-caramel);
  margin: 0 0 .4rem;
}
.entry-content .sg-section h2, .entry-content .sg-section__head h2 { margin-top: 0 !important; }
.sg-section__head p:last-child { color: var(--sg-muted); margin-bottom: 0; }
.sg-split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: start; }
.sg-points { list-style: none; margin: 0 !important; padding: 0; display: grid; gap: 1rem; }
.sg-points li {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  padding: 1.1rem 1.2rem 1.1rem 3.3rem;
  position: relative;
  margin: 0;
}
.sg-points li::before {
  content: "";
  position: absolute;
  left: 1.1rem;
  top: 1.25rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: var(--sg-caramel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.sg-points strong { display: block; color: var(--sg-cocoa); }

/* Kacheln */
.sg-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.sg-tiles--anlaesse { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.sg-tile, .entry-content a.sg-tile {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  padding: 1.3rem 1.3rem 1.2rem;
  text-decoration: none !important;
  color: var(--sg-text) !important;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.sg-tile:hover { transform: translateY(-3px); box-shadow: var(--sg-shadow); border-color: var(--sg-gold); }
.sg-tile__icon { width: 46px; height: 46px; color: var(--sg-cocoa-2); margin-bottom: .5rem; }
.sg-tile__icon svg { width: 100%; height: 100%; }
.sg-tile__title { font-family: var(--sg-serif); font-weight: 600; font-size: 1.2rem; color: var(--sg-cocoa); line-height: 1.25; }
.sg-tile__sub { font-size: 14.5px; color: var(--sg-muted); }
.sg-tiles--anlaesse .sg-tile { background: linear-gradient(160deg, #fff 0%, #fbf3e8 100%); }
.sg-tiles--anlaesse .sg-tile__icon { color: var(--sg-berry); }

/* Saison-Hinweis */
.sg-season {
  display: flex;
  gap: 2rem;
  align-items: center;
  background: radial-gradient(circle at 15% 20%, #6b412c 0%, var(--sg-cocoa) 60%);
  color: #f3e8dc;
  border-radius: calc(var(--sg-radius) + 6px);
  padding: 2.2rem 2.4rem;
  margin: 1rem 0 2rem;
}
.sg-season__icon { flex: 0 0 110px; width: 110px; height: 110px; color: var(--sg-gold); }
.sg-season__icon svg { width: 100%; height: 100%; }
.sg-season__kicker { color: var(--sg-gold) !important; text-transform: uppercase; letter-spacing: .14em; font-size: 13px; font-weight: 700; margin: 0 0 .3rem !important; }
.sg-season__title { font-family: var(--sg-serif); font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); color: #fff !important; line-height: 1.2; margin: 0 0 .5rem !important; font-weight: 600; }
.sg-season p { color: #eadccd; }
.sg-season .sg-btn { background: var(--sg-gold); border-color: var(--sg-gold); color: var(--sg-cocoa) !important; }
.sg-season .sg-btn:hover { background: #fff; border-color: #fff; }

/* ---------- Beitragskacheln ---------- */
.sg-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.4rem; }
.sg-post {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.sg-post:hover { transform: translateY(-3px); box-shadow: var(--sg-shadow); }
.sg-post__link, .entry-content a.sg-post__link { display: flex; flex-direction: column; height: 100%; color: var(--sg-text) !important; text-decoration: none !important; }
.sg-post__media { aspect-ratio: 3 / 2; background: var(--sg-cream-2); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.sg-post__media img, .entry-content .sg-post__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; transition: transform .4s; }
.sg-post:hover .sg-post__media img { transform: scale(1.04); }
.sg-post__media .sg-card__icon { width: 30%; }
.sg-post__body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.sg-post__cat { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--sg-caramel); }
.entry-content .sg-post__title, .sg-post__title { font-size: 1.2rem !important; line-height: 1.3; margin: 0 !important; color: var(--sg-cocoa); }
.sg-post__excerpt { font-size: 15px; color: var(--sg-muted); margin: 0 !important; line-height: 1.55; }
.sg-post__more { margin-top: auto; padding-top: .4rem; font-weight: 600; font-size: 14.5px; color: var(--sg-berry); }
.sg-post__more::after { content: " →"; }

/* ---------- Beitrag: Meta, Werbehinweis, Inhaltsverzeichnis ---------- */
.sg-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: 14px; color: var(--sg-muted); margin: 0 0 1.2rem; }
.sg-meta span + span::before { content: "·"; margin-right: 1.2rem; color: var(--sg-line); }
.sg-meta a { color: var(--sg-cocoa-3); }
.sg-disclosure, .entry-content .sg-disclosure {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--sg-muted);
  background: var(--sg-cream);
  border-left: 3px solid var(--sg-gold);
  border-radius: 0 8px 8px 0;
  padding: .7rem 1rem;
  margin: 0 0 1.6rem;
}
.sg-toc { margin: 1.6rem 0 2rem; }
.sg-toc details {
  background: var(--sg-cream);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  padding: .9rem 1.2rem;
}
.sg-toc summary { cursor: pointer; font-family: var(--sg-serif); font-weight: 600; font-size: 1.1rem; color: var(--sg-cocoa); }
.sg-toc ol { margin: .7rem 0 .2rem 1.2rem; padding: 0; columns: 2; column-gap: 2rem; }
.sg-toc li { font-size: 15px; margin: 0 0 .3rem; break-inside: avoid; }
.sg-toc a { color: var(--sg-cocoa-2); text-decoration: none; }
.sg-toc a:hover { color: var(--sg-berry); text-decoration: underline; }
.entry-content h2[id] { scroll-margin-top: 90px; }

/* Bilder & Tabellen im Inhalt */
.entry-content .wp-block-image img { border-radius: var(--sg-radius); }
.entry-content figcaption, .wp-element-caption { font-size: 12.5px; color: var(--sg-muted); text-align: left; margin-top: .4rem; }
.entry-content figcaption a { color: var(--sg-muted); }
.entry-content .wp-block-table { overflow-x: auto; margin: 1.6rem 0; }
.entry-content .wp-block-table table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 15px; border: 1px solid var(--sg-line); border-radius: 12px; overflow: hidden; }
.entry-content .wp-block-table th { background: var(--sg-cocoa); color: #fff; font-weight: 600; text-align: left; padding: .7rem .9rem; border: 0; }
.entry-content .wp-block-table td { padding: .65rem .9rem; border: 0; border-top: 1px solid var(--sg-line); vertical-align: top; background: #fff; }
.entry-content .wp-block-table tbody tr:nth-child(even) td { background: #fdf9f4; }
.entry-content ul li::marker { color: var(--sg-caramel); }

/* Affiliate-Textlinks */
.sg-aff { font-weight: 600; }
.sg-aff__mark { font-size: .7em; color: var(--sg-muted); margin-left: 1px; }

/* ---------- Produktkarten ---------- */
.sg-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.2rem; margin: 1.6rem 0 2rem; }
.single .sg-cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.sg-cards--single { grid-template-columns: 1fr !important; }
.sg-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  overflow: hidden;
  transition: box-shadow .2s, border-color .2s;
}
.sg-card:hover { box-shadow: var(--sg-shadow); border-color: #e0cbb4; }
.sg-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  background: var(--sg-berry);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  padding: .3em .75em;
  border-radius: 999px;
}
.sg-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
  background: linear-gradient(145deg, #f8efe3 0%, #efe0cd 100%);
}
.sg-card__media img, .entry-content .sg-card__media img { width: 100%; height: 100%; object-fit: contain !important; background: #fff; margin: 0; border-radius: 0; }
.sg-card__icon { display: block; width: 72px; height: 72px; color: var(--sg-cocoa-3); }
.sg-card__icon svg { width: 100%; height: 100%; }
.sg-card__body { padding: 1rem 1.15rem .4rem; flex: 1; }
.sg-card__brand { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--sg-caramel); margin-bottom: .2rem; }
.entry-content .sg-card__title, .sg-card__title { font-size: 1.12rem !important; line-height: 1.3; margin: 0 0 .5rem !important; color: var(--sg-cocoa); }
.sg-card__desc, .entry-content .sg-card__desc { font-size: 14.8px; line-height: 1.55; margin: 0 0 .6rem; color: var(--sg-text); }
.entry-content ul.sg-card__pros, .sg-card__pros { list-style: none; margin: 0 0 .6rem !important; padding: 0; }
.sg-card__pros li { position: relative; padding-left: 1.4rem; font-size: 14.3px; line-height: 1.45; margin: 0 0 .3rem; }
.sg-card__pros li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #2f7a4c; font-weight: 700; }
.sg-card__for, .entry-content .sg-card__for { font-size: 13.8px; color: var(--sg-muted); margin: 0 0 .4rem; }
.sg-card__for strong { color: var(--sg-cocoa-2); }
.sg-card__cta { padding: .6rem 1.15rem 1.15rem; display: flex; flex-direction: column; gap: .4rem; }
.sg-card__cta .sg-btn { width: 100%; font-size: 15px; padding: .75em 1em; }
.sg-card__hint { font-size: 12px; color: var(--sg-muted); text-align: center; }
.sg-cards--single .sg-card { flex-direction: row; flex-wrap: wrap; }
.sg-cards--single .sg-card__media { flex: 0 0 200px; aspect-ratio: auto; min-height: 180px; }
.sg-cards--single .sg-card__body { flex: 1 1 300px; padding-top: 1.2rem; }
.sg-cards--single .sg-card__cta { flex: 1 1 100%; flex-direction: row; align-items: center; justify-content: flex-end; flex-wrap: wrap; border-top: 1px solid var(--sg-line); padding-top: .9rem; }
.sg-cards--single .sg-card__cta .sg-btn { width: auto; }

/* ---------- Hinweisboxen (ratgeber-publish: > !tipp / !achtung / !fazit) ---------- */
.sg-note, .entry-content .sg-note {
  border-radius: var(--sg-radius);
  padding: 1.1rem 1.3rem 1.1rem 3.4rem;
  margin: 1.8rem 0;
  position: relative;
  background: #f5f0e6;
  border: 1px solid #eadbc2;
}
.sg-note::before {
  content: "";
  position: absolute;
  left: 1.1rem;
  top: 1.15rem;
  width: 1.5rem;
  height: 1.5rem;
  background: center / contain no-repeat;
}
.sg-note p:last-child, .sg-note ul:last-child { margin-bottom: 0 !important; }
.sg-note__title { display: block; font-family: var(--sg-serif); font-weight: 600; font-size: 1.08rem; color: var(--sg-cocoa); margin-bottom: .3rem; }
.sg-note--tip, .entry-content .sg-note--tip { background: #f1f6ef; border-color: #d4e5cf; }
.sg-note--tip::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a4c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.5 1 2.5h6c0-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.sg-note--warn, .entry-content .sg-note--warn { background: #fdf3ea; border-color: #f2d6bd; }
.sg-note--warn::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b35a1f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3 2 20h20L12 3zM12 10v4M12 17h.01'/%3E%3C/svg%3E"); }
.sg-note--key, .entry-content .sg-note--key { background: var(--sg-cocoa); border-color: var(--sg-cocoa); color: #f3e8dc; }
.entry-content .sg-note--key strong { color: #fff; }
.entry-content .sg-note--key .sg-aff__mark { color: #cdb9a4; }
.sg-note--key .sg-note__title { color: var(--sg-gold) !important; }
.entry-content .sg-note--key p, .entry-content .sg-note--key li { color: #f3e8dc; }
.entry-content .sg-note--key a { color: var(--sg-gold); }
.sg-note--key::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2b36b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l3 6.5 7 .9-5.1 4.8 1.3 7L12 17.8 5.8 21.2l1.3-7L2 9.4l7-.9z'/%3E%3C/svg%3E"); }

/* ---------- FAQ ---------- */
.sg-faq { margin: 1.4rem 0 2rem; display: grid; gap: .7rem; width: 100%; box-sizing: border-box; }
.sg-faq details { width: 100%; box-sizing: border-box; }
.sg-faq details { background: var(--sg-paper); border: 1px solid var(--sg-line); border-radius: 12px; overflow: hidden; }
.sg-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 3rem 1rem 1.2rem;
  font-weight: 600;
  color: var(--sg-cocoa);
  position: relative;
  line-height: 1.45;
}
.sg-faq summary::-webkit-details-marker { display: none; }
.sg-faq summary::after {
  content: "+";
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--sg-caramel);
}
.sg-faq details[open] summary::after { content: "–"; }
.sg-faq details[open] summary { border-bottom: 1px solid var(--sg-line); }
.sg-faq__answer { padding: .9rem 1.2rem .3rem; font-size: 16px; }

/* ---------- Redaktionsbox, Credits, verwandte Artikel ---------- */
.sg-credit, .entry-content .sg-credit { font-size: 12.5px; color: var(--sg-muted); margin: 2.4rem 0 0; }
.sg-credit a { color: var(--sg-muted); }
.sg-editor {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  background: var(--sg-cream);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  padding: 1.3rem 1.4rem;
  margin: 1.4rem 0 0;
  font-size: 15px;
}
.sg-editor__icon { flex: 0 0 56px; width: 56px; height: 56px; color: var(--sg-cocoa-3); }
.sg-editor__icon svg { width: 100%; height: 100%; }
.sg-editor p { margin: 0 0 .3rem !important; line-height: 1.55; }
.sg-editor__title, .entry-content .sg-editor__title { font-family: var(--sg-serif); font-weight: 600; font-size: 1.1rem; color: var(--sg-cocoa); }
.sg-related { margin: 3rem 0 0; padding-top: 2rem; border-top: 1px solid var(--sg-line); }
.entry-content .sg-related__title { margin-top: 0 !important; font-size: 1.5rem !important; }
.sg-related .sg-posts { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.sg-related .sg-post__excerpt { display: none; }
.sg-related .sg-post__title { font-size: 1.05rem !important; }
.sg-credits { list-style: none; padding: 0; margin: 1.5rem 0 !important; display: grid; gap: 1rem; }
.sg-credits li { display: flex; gap: 1rem; align-items: center; font-size: 14px; background: #fff; border: 1px solid var(--sg-line); border-radius: 12px; padding: .7rem; margin: 0; }
.sg-credits img { width: 84px; height: 84px; object-fit: cover; border-radius: 8px; flex: 0 0 84px; }

/* ---------- Archive (Kategorien) ---------- */
.ast-archive-description {
  background: var(--sg-cocoa) !important;
  color: #eadccd;
  border-radius: var(--sg-radius);
  padding: 2.4rem 2.2rem !important;
  margin-bottom: 2rem;
}
.ast-archive-description .ast-archive-title { color: #fff !important; font-size: clamp(1.9rem, 1.5rem + 1.5vw, 2.6rem) !important; }
.ast-archive-description p { color: #eadccd; max-width: 760px; font-size: 1.05rem; }
.ast-archive-description a { color: var(--sg-gold); }
.archive .ast-article-post, .blog .ast-article-post {
  border-radius: var(--sg-radius);
}
.archive .ast-separate-container .ast-article-post, .ast-separate-container.archive .ast-article-post { border: 1px solid var(--sg-line); }
.ast-blog-featured-section img { border-radius: 10px; aspect-ratio: 3 / 2; object-fit: cover; }
.archive .entry-title a, .blog .entry-title a { color: var(--sg-cocoa); }
.ast-read-more-container a, .read-more a { color: var(--sg-berry); font-weight: 600; }
.ast-pagination .page-numbers.current { background: var(--sg-berry); border-color: var(--sg-berry); color: #fff; }

/* ---------- Footer ---------- */
.sg-footer { background: var(--sg-cocoa); color: #d9c8b6; padding: 3.5rem 20px 1.5rem; }
.sg-footer__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.4rem; }
.sg-footer .sg-footer__brand { font-family: var(--sg-serif) !important; font-size: 1.45rem !important; font-weight: 600; color: #fff !important; margin: 0 0 .7rem; line-height: 1.2; }
.sg-footer__about p { font-size: 14.5px; line-height: 1.65; color: #cdb9a4; }
.sg-footer__title { font-size: 12.5px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--sg-gold); margin: 0 0 .8rem; }
.sg-footer ul { list-style: none; margin: 0; padding: 0; }
.sg-footer li { margin: 0 0 .45rem; }
.sg-footer a { color: #eadccd; text-decoration: none; font-size: 14.5px; }
.sg-footer a:hover { color: #fff; text-decoration: underline; }
.sg-footer__note { max-width: 1200px; margin: 2.4rem auto 0; padding-top: 1.4rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12.5px; color: #b49f8a; }
.site-footer .site-below-footer-wrap, .site-footer .ast-builder-grid-row-container { background: #2a1911 !important; border: 0 !important; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { color: #a8927d !important; font-size: 13px; }
.site-footer .footer-widget-area a, .site-footer .menu-link { color: #cdb9a4 !important; font-size: 13px; }

/* ---------- Complianz-Cookie-Banner ---------- */
.cmplz-cookiebanner {
  font-family: var(--sg-sans) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 40px rgba(30, 16, 10, .28) !important;
}
.cmplz-cookiebanner .cmplz-title { font-family: var(--sg-serif) !important; font-size: 18px !important; font-weight: 600 !important; color: var(--sg-cocoa) !important; }
.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-message p { font-size: 13.5px !important; line-height: 1.55 !important; color: var(--sg-text) !important; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { border-radius: 999px !important; font-weight: 600 !important; font-size: 14px !important; height: auto !important; min-height: 42px; padding: 10px 16px !important; white-space: normal !important; }
.cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--sg-cocoa-3) !important; font-size: 12.5px !important; }
.cmplz-cookiebanner .cmplz-links ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.cmplz-cookiebanner .cmplz-links ul li { margin: 0 !important; }
.cmplz-cookiebanner .cmplz-links ul li::marker { content: none; }
#cmplz-manage-consent .cmplz-manage-consent { font-family: var(--sg-sans) !important; border-radius: 10px 10px 0 0 !important; background: var(--sg-cocoa) !important; color: #fff !important; }

/* ---------- Responsive ---------- */
@media (max-width: 921px) {
  .sg-footer__inner { grid-template-columns: 1fr 1fr; }
  .sg-footer__about { grid-column: 1 / -1; }
  .sg-split { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 600px) {
  body { font-size: 16.5px; }
  .sg-hero { min-height: 0; padding: 3.2rem 20px; background: linear-gradient(180deg, rgba(30, 16, 10, .78) 0%, rgba(42, 24, 16, .86) 100%), var(--sg-hero-img, linear-gradient(135deg, #3a2318, #7a4a33)) center / cover no-repeat; }
  .sg-hero__actions .sg-btn { width: 100%; }
  .sg-season { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.6rem 1.4rem; }
  .sg-season__icon { flex-basis: auto; width: 64px; height: 64px; }
  .sg-toc ol { columns: 1; }
  .sg-tiles { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .sg-tile { padding: 1rem; }
  .sg-tile__icon { width: 36px; height: 36px; }
  .sg-tile__title { font-size: 1.02rem; }
  .sg-tile__sub { font-size: 13px; }
  .sg-cards--single .sg-card__media { flex-basis: 100%; min-height: 140px; }
  .sg-footer__inner { grid-template-columns: 1fr; gap: 1.6rem; }
  .sg-editor { flex-direction: column; gap: .6rem; }
  .site-title, .site-title a { font-size: 1.15rem !important; }
  .site-title a::before { width: 28px; height: 28px; flex-basis: 28px; }
  .site-description { display: none; }
  .ast-separate-container .ast-article-single { padding: 1.4rem 1.1rem !important; }
}

/* Abschluss Startseite + Complianz-Schließen-Button */
.home .entry-content > :last-child { margin-bottom: 4.5rem !important; }
.cmplz-cookiebanner .cmplz-close { border: 0 !important; background: none !important; box-shadow: none !important; }
