/* weingeschenke-ratgeber.de – Site-Design (ergänzt Astra, ändert keine Theme-Dateien)
   Spezifität: Astra setzt Regeln wie ".entry-content h3" – eigene Komponenten deshalb mit ".entry-content .wg-…"
   bzw. gezielt !important bei Farben auf dunklem Grund. */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500 800; font-display: swap; src: url(../fonts/playfair-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500 800; font-display: swap; src: url(../fonts/playfair-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 500 700; font-display: swap; src: url(../fonts/playfair-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC; }

:root {
  --wg-wine: #7a1f3d;
  --wg-wine-dark: #4f1027;
  --wg-wine-deep: #2e0a18;
  --wg-ink: #2a1d22;
  --wg-text: #3b3034;
  --wg-muted: #6f6166;
  --wg-cream: #fbf8f4;
  --wg-sand: #f3ebe1;
  --wg-line: #e5d9cc;
  --wg-gold: #b5884a;
  --wg-gold-light: #e8d2ad;
  --wg-green: #2f6b45;
  --wg-red: #a63a32;
  --wg-radius: 14px;
  --wg-shadow: 0 1px 2px rgba(46, 10, 24, .06), 0 8px 24px rgba(46, 10, 24, .07);
  --wg-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --wg-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Grundtypografie ---------------------------------------------------------------------------------- */
body, button, input, select, textarea { font-family: var(--wg-sans); }
body { background: var(--wg-cream); color: var(--wg-text); font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .entry-title, .site-title { font-family: var(--wg-serif); color: var(--wg-ink); letter-spacing: -.01em; }
.entry-content h2 { font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2rem); line-height: 1.25; margin: 2.4em 0 .7em; scroll-margin-top: 90px; }
.entry-content h3 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.4rem); line-height: 1.3; margin: 1.8em 0 .5em; }
.entry-content h4 { font-family: var(--wg-sans); font-size: 1.05rem; font-weight: 700; }
a { color: var(--wg-wine); }
a:hover, a:focus { color: var(--wg-wine-dark); }
.entry-content a:not(.wg-btn):not(.wg-chip):not(.wg-card__link) { text-decoration: underline; text-decoration-color: rgba(122, 31, 61, .35); text-underline-offset: 3px; }
.entry-content a:not(.wg-btn):hover { text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--wg-gold); outline-offset: 2px; }
::selection { background: var(--wg-gold-light); color: var(--wg-ink); }
.entry-content ul, .entry-content ol { margin-left: 1.3em; }
.entry-content li { margin-bottom: .35em; }
.entry-content li::marker { color: var(--wg-wine); }
.entry-content strong { color: var(--wg-ink); }

/* Header --------------------------------------------------------------------------------------------- */
.site-header .main-header-bar, .ast-primary-header-bar { background: #fff; border-bottom: 1px solid var(--wg-line) !important; }
.site-header { box-shadow: 0 2px 14px rgba(46, 10, 24, .05); }
.site-title { margin: 0; line-height: 1; }
.site-title a { display: inline-flex !important; align-items: center; gap: .55rem; color: var(--wg-ink) !important; text-decoration: none; }
.wg-logo-icon { width: 34px; height: 34px; color: #fff; background: var(--wg-wine); border-radius: 50%; padding: 6px; flex: none; stroke-width: 2.4; }
.wg-logo-text { font-family: var(--wg-serif); font-weight: 700; font-size: 1.45rem; color: var(--wg-ink); letter-spacing: -.01em; }
.wg-logo-text em { font-style: italic; font-weight: 500; color: var(--wg-wine); margin-left: .25em; }
.main-header-menu .menu-link, .ast-builder-menu .menu-link { font-weight: 600; font-size: .95rem; color: var(--wg-ink) !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, .main-header-menu .current-post-ancestor > .menu-link { color: var(--wg-wine) !important; }
.ast-desktop .main-header-menu > .menu-item > .menu-link { position: relative; }
.ast-desktop .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
.ast-desktop .main-header-menu > .menu-item.current-post-ancestor > .menu-link::after { content: ""; position: absolute; left: 1em; right: 1em; bottom: 14px; height: 2px; background: var(--wg-gold); border-radius: 2px; }
.ast-mobile-popup-drawer .menu-link, .ast-header-break-point .main-navigation .menu-link { color: var(--wg-ink) !important; border-color: var(--wg-line) !important; }
.ast-header-break-point .main-header-bar-navigation { background: #fff; }
.menu-toggle, button.menu-toggle { color: var(--wg-wine) !important; background: transparent !important; }

/* Breadcrumb & Meta -------------------------------------------------------------------------------- */
.wg-breadcrumb { font-size: .85rem; color: var(--wg-muted); margin: 0 0 1.2rem; }
.wg-breadcrumb a { color: var(--wg-muted); text-decoration: none; }
.wg-breadcrumb a:hover { color: var(--wg-wine); text-decoration: underline; }
.wg-breadcrumb .breadcrumb_last { color: var(--wg-ink); }
.single .entry-header .ast-single-post-meta, .single .entry-meta { display: none; }
.wg-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .85rem; color: var(--wg-muted); padding: .75rem 0 1rem; border-bottom: 1px solid var(--wg-line); margin-bottom: 1.6rem; }
.wg-meta__item { display: inline-flex; align-items: center; gap: .35rem; }
.wg-meta__item + .wg-meta__item::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--wg-gold); margin-right: .8rem; }
.wg-meta__ad a { color: var(--wg-muted) !important; }

/* Einzelartikel ------------------------------------------------------------------------------------ */
.single-post .site-content > .ast-container, .page:not(.home) .site-content > .ast-container { max-width: 860px; }
.single-post .entry-title, .page:not(.home) .entry-title { font-size: clamp(2rem, 1.4rem + 2.2vw, 2.9rem); line-height: 1.15; font-weight: 700; margin-bottom: .3rem; }
.single-post .post-thumb-img-content img, .single-post .ast-single-post-featured-section img, .single-post .post-thumb img { border-radius: var(--wg-radius); width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.single-post .ast-single-post-featured-section, .single-post .post-thumb { margin-bottom: .6rem; }
.ast-separate-container .ast-article-single, .ast-plain-container .ast-article-single { background: transparent; }
.entry-content > p:first-of-type { font-size: 1.12rem; color: var(--wg-ink); }
.entry-content .wg-meta + p { font-size: 1.12rem; color: var(--wg-ink); }
.entry-content figure.wp-block-image img { border-radius: var(--wg-radius); box-shadow: var(--wg-shadow); }
/* Astra legt um jede figure einen Schatten-Kasten (.ast-article-single figure) – bei Bildunterschriften und Tabellen unschön */
.ast-article-single .entry-content figure { box-shadow: none !important; -webkit-box-shadow: none !important; }
.entry-content .wp-element-caption, .wg-credit { font-size: .78rem; color: var(--wg-muted); text-align: left; margin-top: .4rem; }
.wg-credit a, .entry-content .wp-element-caption a { color: var(--wg-muted) !important; }
.wg-responsible { font-size: .85rem; color: var(--wg-muted); border-top: 1px solid var(--wg-line); padding-top: 1rem; margin-top: 2.5rem; }

/* Inhaltsverzeichnis */
.wg-toc { background: #fff; border: 1px solid var(--wg-line); border-left: 4px solid var(--wg-wine); border-radius: 10px; padding: 1rem 1.3rem; margin: 2rem 0; }
.wg-toc summary { font-family: var(--wg-serif); font-weight: 700; font-size: 1.15rem; color: var(--wg-ink); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.wg-toc summary::-webkit-details-marker { display: none; }
.wg-toc summary::after { content: "–"; color: var(--wg-wine); font-family: var(--wg-sans); }
.wg-toc details:not([open]) summary::after { content: "+"; }
.entry-content .wg-toc ol { margin: .8rem 0 0 1.2rem; columns: 2 260px; column-gap: 2rem; }
.entry-content .wg-toc li { font-size: .95rem; margin-bottom: .3rem; break-inside: avoid; }
.entry-content .wg-toc a { text-decoration: none !important; color: var(--wg-text); }
.entry-content .wg-toc a:hover { color: var(--wg-wine); }

/* Hinweisboxen */
.wg-note { border-radius: 12px; padding: 1.1rem 1.3rem 1.1rem 3.4rem; margin: 1.8rem 0; position: relative; background: #fff; border: 1px solid var(--wg-line); }
.wg-note::before { position: absolute; left: 1.1rem; top: 1.05rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .9rem; color: #fff; }
.wg-note--tip { background: #f6f1e6; border-color: var(--wg-gold-light); }
.wg-note--tip::before { content: "i"; background: var(--wg-gold); font-family: Georgia, serif; font-style: italic; }
.wg-note--warn { background: #fbefec; border-color: #efcdc6; }
.wg-note--warn::before { content: "!"; background: var(--wg-red); }
.wg-note--key { background: var(--wg-wine-deep); border: 0; }
.wg-note--key::before { content: "✓"; background: var(--wg-gold); }
.entry-content .wg-note--key, .entry-content .wg-note--key p, .entry-content .wg-note--key li, .entry-content .wg-note--key strong { color: #f7ede6 !important; }
.entry-content .wg-note--key a { color: var(--wg-gold-light) !important; }
.wg-note__title { display: block; font-family: var(--wg-serif); font-weight: 700; font-size: 1.1rem; margin-bottom: .3rem; color: var(--wg-ink); }
.entry-content .wg-note--key .wg-note__title { color: #fff !important; }
.wg-note p:last-child, .wg-note ul:last-child { margin-bottom: 0; }

/* Tabellen */
.entry-content .wp-block-table { overflow-x: auto; margin: 1.8rem 0; }
.entry-content .wp-block-table table, .wg-compare table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--wg-line); border-radius: 12px; overflow: hidden; font-size: .93rem; }
.entry-content .wp-block-table th, .entry-content .wp-block-table td, .wg-compare th, .wg-compare td { padding: .7rem .9rem; border: 0; border-bottom: 1px solid var(--wg-line); text-align: left; vertical-align: top; }
.entry-content .wp-block-table thead th, .wg-compare thead th { background: var(--wg-wine); color: #fff !important; font-weight: 600; border-bottom: 0; }
.entry-content .wp-block-table tbody tr:nth-child(even) td { background: #fcfaf7; }
.entry-content .wp-block-table tbody tr:last-child td, .wg-compare tbody tr:last-child > * { border-bottom: 0; }
.wg-compare { overflow-x: auto; margin: 1.8rem 0; -webkit-overflow-scrolling: touch; }
.wg-compare table { min-width: 560px; }
.wg-compare tbody th { background: var(--wg-sand); color: var(--wg-ink); font-weight: 600; white-space: nowrap; }
.wg-compare__cta td { background: #fcfaf7; }
.wg-compare .wg-btn { white-space: nowrap; font-size: .8rem; padding: .5rem .85rem; }

/* FAQ */
.wg-faq { margin: 1.5rem 0 2rem; display: grid; gap: .7rem; }
.wg-faq details { background: #fff; border: 1px solid var(--wg-line); border-radius: 12px; padding: 0; transition: box-shadow .2s; }
.wg-faq details[open] { box-shadow: var(--wg-shadow); }
.wg-faq summary { cursor: pointer; list-style: none; padding: 1rem 3rem 1rem 1.2rem; font-weight: 600; color: var(--wg-ink); position: relative; }
.wg-faq summary::-webkit-details-marker { display: none; }
.wg-faq summary::after { content: "+"; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--wg-sand); color: var(--wg-wine); display: grid; place-items: center; font-weight: 700; }
.wg-faq details[open] summary::after { content: "–"; background: var(--wg-wine); color: #fff; }
.wg-faq__answer { padding: 0 1.2rem 1rem; }
.wg-faq__answer p:last-child { margin-bottom: 0; }

/* Buttons ---------------------------------------------------------------------------------------- */
.wg-btn, .entry-content a.wg-btn { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; background: var(--wg-wine); color: #fff !important; font-weight: 600; font-size: .95rem; line-height: 1.2; padding: .8rem 1.3rem; border-radius: 999px; text-decoration: none !important; transition: background .2s, transform .2s, box-shadow .2s; border: 2px solid var(--wg-wine); text-align: center; }
.wg-btn:hover, .wg-btn:focus { background: var(--wg-wine-dark); border-color: var(--wg-wine-dark); color: #fff !important; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(79, 16, 39, .25); }
.wg-btn--small { font-size: .85rem; padding: .55rem 1rem; }
.wg-btn--light, .entry-content a.wg-btn--light { background: #fff; color: var(--wg-wine-dark) !important; border-color: #fff; }
.wg-btn--light:hover, .wg-btn--light:focus, .entry-content a.wg-btn--light:hover { background: var(--wg-gold-light); border-color: var(--wg-gold-light); color: var(--wg-wine-deep) !important; }
.wg-btn--ghost, .entry-content a.wg-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .7); }
.wg-btn--ghost:hover, .wg-btn--ghost:focus, .entry-content a.wg-btn--ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.wg-star { color: var(--wg-muted); font-size: .8em; margin-left: 1px; }

/* Produktbox ------------------------------------------------------------------------------------- */
.wg-product { display: grid; grid-template-columns: 120px 1fr; gap: 1.4rem; background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius); padding: 1.5rem; margin: 1.8rem 0; box-shadow: var(--wg-shadow); scroll-margin-top: 100px; }
.wg-product__media { background: linear-gradient(160deg, var(--wg-sand), #fff); border-radius: 12px; display: grid; place-items: center; aspect-ratio: 1; color: var(--wg-wine); align-self: start; }
.wg-product__media .wg-icon { width: 64px; height: 64px; stroke-width: 1.6; }
.wg-product__badge { display: inline-block; background: var(--wg-gold-light); color: var(--wg-wine-deep); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .65rem; border-radius: 999px; margin-bottom: .5rem; }
.entry-content .wg-product .wg-product__title { font-size: 1.3rem; margin: 0 0 .45rem; color: var(--wg-ink); }
.entry-content .wg-product .wg-product__text { font-size: 1rem; color: var(--wg-text); margin-bottom: .9rem; }
.wg-product__procon { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1.4rem; margin-bottom: .9rem; }
.entry-content .wg-product ul.wg-pros, .entry-content .wg-product ul.wg-cons { list-style: none; margin: 0; padding: 0; }
.entry-content .wg-product .wg-pros li, .entry-content .wg-product .wg-cons li { position: relative; padding-left: 1.6rem; font-size: .92rem; margin-bottom: .35rem; line-height: 1.45; }
.wg-pros li::before, .wg-cons li::before { position: absolute; left: 0; top: .1em; width: 1.15rem; height: 1.15rem; border-radius: 50%; display: grid; place-items: center; font-size: .7rem; font-weight: 700; color: #fff; }
.wg-pros li::before { content: "✓"; background: var(--wg-green); }
.wg-cons li::before { content: "–"; background: var(--wg-red); }
.wg-product__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; border-top: 1px dashed var(--wg-line); padding-top: .9rem; }
.entry-content .wg-product .wg-product__for { margin: 0; font-size: .9rem; color: var(--wg-muted); flex: 1 1 240px; }
.entry-content .wg-product .wg-product__for strong { color: var(--wg-ink); }

/* Empfehlungen auf einen Blick */
.wg-picks { background: var(--wg-wine-deep); border-radius: var(--wg-radius); padding: 1.4rem; margin: 2rem 0; }
.entry-content .wg-picks .wg-picks__title { font-family: var(--wg-serif); color: #fff !important; font-size: 1.3rem; font-weight: 700; margin: 0 0 1rem; }
.wg-picks__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .8rem; }
.wg-pick { background: #fff; border-radius: 12px; padding: 1.1rem 1rem 1rem; display: flex; flex-direction: column; align-items: flex-start; position: relative; }
.wg-pick__label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--wg-gold); margin-bottom: .4rem; }
.wg-pick__icon { color: var(--wg-wine); margin-bottom: .3rem; }
.wg-pick__icon .wg-icon { width: 40px; height: 40px; stroke-width: 1.7; }
.entry-content .wg-pick .wg-pick__name { font-family: var(--wg-serif); font-weight: 700; font-size: 1.08rem; line-height: 1.3; margin: 0 0 .3rem; }
.entry-content .wg-pick .wg-pick__name a { color: var(--wg-ink) !important; text-decoration: none !important; }
.entry-content .wg-pick .wg-pick__name a:hover { color: var(--wg-wine) !important; }
.entry-content .wg-pick .wg-pick__for { font-size: .85rem; color: var(--wg-muted); line-height: 1.45; margin: 0 0 .9rem; flex: 1; }

/* Karten ------------------------------------------------------------------------------------------ */
.wg-cards { display: grid; gap: 1.5rem; }
.wg-cards--3 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.wg-card { background: #fff; border-radius: var(--wg-radius); overflow: hidden; box-shadow: var(--wg-shadow); transition: transform .25s, box-shadow .25s; border: 1px solid var(--wg-line); }
.wg-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(46, 10, 24, .06), 0 16px 32px rgba(46, 10, 24, .12); }
.wg-card__link, .entry-content a.wg-card__link { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; }
.wg-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--wg-sand); }
.wg-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.wg-card:hover .wg-card__img { transform: scale(1.04); }
.wg-card__img--empty { display: grid; place-items: center; color: var(--wg-wine); }
.wg-card__body { padding: 1.1rem 1.25rem 1.3rem; display: flex; flex-direction: column; flex: 1; }
.wg-card__cat { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--wg-gold); margin-bottom: .35rem; }
.wg-card .wg-card__title, .entry-content .wg-card .wg-card__title { font-family: var(--wg-serif); font-size: 1.22rem; line-height: 1.3; margin: 0 0 .5rem; color: var(--wg-ink); }
.wg-card__text, .entry-content .wg-card .wg-card__text { font-size: .92rem; color: var(--wg-muted); line-height: 1.55; margin: 0 0 .8rem; flex: 1; }
.wg-card__more { font-size: .88rem; font-weight: 600; color: var(--wg-wine); }

/* Verwandte Ratgeber */
.wg-related { margin: 3rem 0 0; padding-top: 2rem; border-top: 1px solid var(--wg-line); }
.entry-content .wg-related .wg-related__title { font-family: var(--wg-serif); font-size: 1.5rem; font-weight: 700; color: var(--wg-ink); margin: 0 0 1.2rem; }
.wg-related .wg-cards--3 { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.wg-related .wg-card__title { font-size: 1.05rem !important; }
.wg-related .wg-card__text { display: none; }

/* Startseite --------------------------------------------------------------------------------------- */
.home .site-content > .ast-container { max-width: none; padding: 0; }
.home .entry-content { margin: 0; }
.home .entry-content > .wg-home { margin: 0; }
.home #primary { margin: 0 !important; padding: 0; }
.wg-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.wg-wrap--narrow { max-width: 820px; }
.wg-hero { position: relative; min-height: clamp(460px, 68vh, 640px); display: flex; align-items: center; overflow: hidden; background: var(--wg-wine-deep); isolation: isolate; }
.wg-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.wg-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(36, 6, 18, .92) 0%, rgba(46, 10, 24, .78) 42%, rgba(46, 10, 24, .25) 100%); }
.wg-hero__inner { max-width: 1200px; width: 100%; margin: 0 auto; padding: 4rem 24px; }
.wg-hero__inner > * { max-width: 640px; }
.entry-content .wg-hero .wg-hero__kicker { color: var(--wg-gold-light) !important; font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 .9rem; }
.entry-content .wg-hero .wg-hero__title { color: #fff !important; font-size: clamp(2.3rem, 1.5rem + 3.4vw, 3.9rem); line-height: 1.08; font-weight: 700; margin: 0 0 1.1rem; }
.entry-content .wg-hero .wg-hero__lead { color: rgba(255, 255, 255, .9) !important; font-size: clamp(1.02rem, .95rem + .3vw, 1.18rem); line-height: 1.65; margin: 0 0 1.8rem; }
.wg-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.wg-section { padding: clamp(3rem, 2rem + 4vw, 5rem) 0; }
.wg-section--sand { background: var(--wg-sand); }
.wg-section--wine { background: var(--wg-wine-deep); }
.entry-content .wg-section .wg-section__title { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); text-align: center; margin: 0 0 .6rem; }
.entry-content .wg-section .wg-section__lead { text-align: center; color: var(--wg-muted); max-width: 640px; margin: 0 auto 2rem; }
.entry-content .wg-section > .wg-wrap > .wg-section__title:only-of-type + * { margin-top: 2rem; }
.entry-content .wg-section--wine .wg-section__title, .entry-content .wg-section--wine h3 { color: #fff !important; }
.entry-content .wg-section--wine p { color: rgba(255, 255, 255, .82) !important; }
.wg-section .wg-cards, .wg-section .wg-topics, .wg-section .wg-how { margin-top: 2rem; }

.entry-content ul.wg-finder__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.entry-content .wg-finder__list li { margin: 0; }
.wg-chip, .entry-content a.wg-chip { display: inline-flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--wg-line); border-radius: 999px; padding: .55rem 1.1rem .55rem .7rem; color: var(--wg-ink) !important; font-weight: 600; font-size: .95rem; text-decoration: none !important; transition: all .2s; box-shadow: 0 1px 2px rgba(46, 10, 24, .05); }
.wg-chip:hover, .wg-chip:focus { border-color: var(--wg-wine); color: var(--wg-wine) !important; transform: translateY(-1px); box-shadow: var(--wg-shadow); }
.wg-chip__icon { width: 28px; height: 28px; padding: 4px; border-radius: 50%; background: var(--wg-sand); color: var(--wg-wine); stroke-width: 2.2; }

.wg-topics { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.1rem; }
.wg-topic, .entry-content a.wg-topic { position: relative; display: flex; align-items: flex-end; min-height: 300px; border-radius: var(--wg-radius); overflow: hidden; text-decoration: none !important; background: var(--wg-wine-dark); isolation: isolate; box-shadow: var(--wg-shadow); }
.wg-topic__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s; }
.wg-topic::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(46, 10, 24, .05) 20%, rgba(36, 6, 18, .9) 100%); }
.wg-topic:hover .wg-topic__img { transform: scale(1.05); }
.wg-topic__body { padding: 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .25rem; }
.wg-topic__name { font-family: var(--wg-serif); font-size: 1.45rem; font-weight: 700; color: #fff; }
.wg-topic__desc { font-size: .9rem; color: rgba(255, 255, 255, .85); line-height: 1.45; }
.wg-topic__count { font-size: .8rem; font-weight: 700; color: var(--wg-gold-light); text-transform: uppercase; letter-spacing: .06em; margin-top: .3rem; }

.wg-how { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.4rem; }
.wg-how__item { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--wg-radius); padding: 1.6rem; }
.wg-how__item .wg-icon { width: 46px; height: 46px; color: var(--wg-gold-light); margin-bottom: .6rem; stroke-width: 1.7; }
.entry-content .wg-how__item h3 { font-size: 1.25rem; margin: 0 0 .5rem; }
.entry-content .wg-how__item p { font-size: .95rem; line-height: 1.6; margin: 0; }
.entry-content .wg-how__note { text-align: center; font-size: .88rem; margin: 2rem auto 0; max-width: 680px; }
.entry-content .wg-how__note a { color: var(--wg-gold-light) !important; }
.wg-prose p { font-size: 1.02rem; }
.wg-prose .wg-section__title { margin-bottom: 1.4rem !important; }

/* Kategorie-Archiv ------------------------------------------------------------------------------- */
.archive.category .site-content > .ast-container, .search .site-content > .ast-container { max-width: 1200px; }
.wg-archive-head { position: relative; border-radius: 18px; overflow: hidden; margin: 0 0 2.5rem; min-height: 280px; display: flex; align-items: flex-end; background: var(--wg-wine-deep); isolation: isolate; }
.wg-archive-head__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.wg-archive-head::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(36, 6, 18, .93) 0%, rgba(46, 10, 24, .7) 55%, rgba(46, 10, 24, .3) 100%); }
.wg-archive-head__body { padding: 2.2rem 2.2rem 2rem; max-width: 760px; }
.wg-archive-head__kicker { color: var(--wg-gold-light) !important; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 .4rem; }
.wg-archive-head__title { color: #fff !important; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); margin: 0 0 .7rem; line-height: 1.1; }
.wg-archive-head__desc { color: rgba(255, 255, 255, .88) !important; font-size: 1.02rem; margin: 0; line-height: 1.6; }
.ast-archive-entry-banner, .ast-archive-description { display: none !important; }
.wg-archive-grid { margin-bottom: 3rem; }
.wg-archive-grid .wg-card__title { font-size: 1.22rem !important; }
.ast-pagination, .navigation.pagination { margin: 1rem 0 3rem; }

/* Sitemap, Bildnachweis, Kontakt --------------------------------------------------------------------- */
.wg-sitemap { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem 2rem; }
.entry-content .wg-sitemap h2 { font-size: 1.3rem; margin: 1.2rem 0 .5rem; }
.entry-content .wg-sitemap h2 a { text-decoration: none !important; color: var(--wg-ink); }
.entry-content .wg-sitemap ul { margin-left: 1.1em; font-size: .95rem; }
.entry-content ul.wg-credits { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; gap: 1rem; }
.wg-credits li { display: flex; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--wg-line); border-radius: 12px; padding: .7rem; font-size: .88rem; line-height: 1.5; }
.wg-credits img { width: 96px; height: 64px; object-fit: cover; border-radius: 8px; flex: none; }
.wg-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.wg-contact__item, .entry-content a.wg-contact__item { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius); padding: 1.3rem 1.4rem; text-decoration: none !important; box-shadow: var(--wg-shadow); transition: border-color .2s; }
.wg-contact__item:hover { border-color: var(--wg-wine); }
.wg-contact__label { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--wg-gold); }
.wg-contact__value { font-family: var(--wg-serif); font-size: 1.25rem; color: var(--wg-ink); margin-top: .2rem; word-break: break-word; }

/* Footer --------------------------------------------------------------------------------------------- */
.wg-footer { background: var(--wg-wine-deep); color: rgba(255, 255, 255, .78); font-size: .93rem; margin-top: 0; }
.wg-footer__inner { max-width: 1200px; margin: 0 auto; padding: 3.5rem 24px 2.5rem; display: grid; grid-template-columns: 1.6fr 1fr 1.3fr 1fr; gap: 2.5rem; }
.wg-footer a, .wg-footer .wg-linkbtn { color: rgba(255, 255, 255, .82); text-decoration: none; }
.wg-footer a:hover, .wg-footer a:focus, .wg-footer .wg-linkbtn:hover { color: #fff; text-decoration: underline; }
.wg-footer__logo { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; }
.wg-footer__logo-icon { width: 34px; height: 34px; padding: 6px; background: var(--wg-gold); color: var(--wg-wine-deep); border-radius: 50%; stroke-width: 2.4; }
.wg-footer__logo span { font-family: var(--wg-serif); font-size: 1.35rem; font-weight: 700; color: #fff; }
.wg-footer__logo em { color: var(--wg-gold-light); font-weight: 500; margin-left: .25em; }
.wg-footer p { margin: 0 0 1rem; line-height: 1.65; }
.wg-footer__title { font-family: var(--wg-serif); font-size: 1.1rem; font-weight: 700; color: #fff; margin-bottom: .9rem !important; }
.wg-footer ul { list-style: none; margin: 0; padding: 0; }
.wg-footer li { margin-bottom: .5rem; line-height: 1.4; }
.wg-linkbtn { background: none !important; border: 0; padding: 0; font: inherit; cursor: pointer; color: inherit; }
.wg-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); max-width: 1200px; margin: 0 auto; padding: 1.3rem 24px 1.6rem; font-size: .8rem; color: rgba(255, 255, 255, .6); }
.wg-footer__bottom p { margin: 0 0 .3rem; }

/* Complianz-Cookie-Banner ---------------------------------------------------------------------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner { font-family: var(--wg-sans) !important; box-shadow: 0 12px 40px rgba(46, 10, 24, .22) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-family: var(--wg-serif) !important; font-size: 1.15rem !important; font-weight: 700 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { font-weight: 600 !important; font-size: .9rem !important; min-height: 44px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: .9rem !important; line-height: 1.55 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo { display: none !important; }
#cmplz-cookiebanner-container .cmplz-links a { font-size: .8rem !important; }
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }

/* Scroll-to-top */
#ast-scroll-top { background: var(--wg-wine) !important; border-radius: 50% !important; }

/* Responsive ----------------------------------------------------------------------------------------- */
@media (max-width: 921px) {
  .wg-footer__inner { grid-template-columns: 1fr 1fr; }
  .wg-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .wg-product { grid-template-columns: 1fr; padding: 1.2rem; gap: .9rem; }
  .wg-product__media { aspect-ratio: auto; height: 90px; }
  .wg-product__procon { grid-template-columns: 1fr; }
  .wg-product__foot .wg-btn { width: 100%; }
  .wg-hero { min-height: 0; }
  .wg-hero::before { background: linear-gradient(180deg, rgba(36, 6, 18, .78) 0%, rgba(36, 6, 18, .92) 100%); }
  .wg-hero__inner { padding: 3.2rem 20px; }
  .wg-hero__actions .wg-btn { flex: 1 1 100%; }
  .wg-wrap { padding: 0 18px; }
  .wg-footer__inner { grid-template-columns: 1fr; gap: 1.8rem; }
  .wg-archive-head__body { padding: 1.5rem; }
  .wg-chip, .entry-content a.wg-chip { font-size: .9rem; }
  .entry-content .wg-toc ol { columns: 1; }
  .wg-logo-text { font-size: 1.2rem; }
  .wg-logo-icon { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
