/* =============================================================================================
   geocaching-tipps.de – Site-Styles (lädt nach astra-theme-css)
   Farbwelt: Waldgrün + Bernstein auf warmem Weiß. Präfix aller eigenen Klassen: gt-
   Hinweis: Astra setzt teils sehr spezifische Regeln (.entry-content h2, .ast-separate-container …).
   Wo nötig, wird die Spezifität gezielt erhöht (z.B. .entry-content .gt-…) statt pauschal !important.
   ============================================================================================= */

@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 500 800;
    font-display: swap;
    src: url(../fonts/outfit-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 {
    --gt-forest: #1f4d3a;
    --gt-forest-2: #2e6b4f;
    --gt-forest-d: #143326;
    --gt-moss: #e8efe9;
    --gt-amber: #e39b2d;
    --gt-amber-d: #b8730f;
    --gt-amber-l: #fdf3e1;
    --gt-ink: #1c2a24;
    --gt-text: #36443d;
    --gt-muted: #67756d;
    --gt-bg: #fbfaf6;
    --gt-sand: #f3efe4;
    --gt-line: #e3ded0;
    --gt-white: #fff;
    --gt-radius: 14px;
    --gt-radius-s: 9px;
    --gt-shadow: 0 1px 2px rgba(28, 42, 36, .06), 0 6px 20px rgba(28, 42, 36, .07);
    --gt-shadow-h: 0 2px 4px rgba(28, 42, 36, .08), 0 14px 34px rgba(28, 42, 36, .12);
    --gt-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --gt-head: "Outfit", "Inter", system-ui, sans-serif;
    --gt-wide: 1200px;
}

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: var(--gt-font);
}
body {
    background: var(--gt-bg);
    color: var(--gt-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 {
    font-family: var(--gt-head);
    color: var(--gt-ink);
    letter-spacing: -.01em;
    line-height: 1.2;
}
a { color: var(--gt-forest); text-underline-offset: .18em; }
a:hover, a:focus { color: var(--gt-forest-2); }
:focus-visible { outline: 3px solid var(--gt-amber); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--gt-amber-l); color: var(--gt-ink); }
img { height: auto; }

.gt-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.22em; }
.gt-icon--s { width: 1.05em; height: 1.05em; }
.gt-icon--l { width: 30px; height: 30px; }
.gt-icon--xl { width: 54px; height: 54px; stroke-width: 1.4; }

/* ---------- Header ---------- */
#masthead {
    position: sticky;
    top: 0;
    z-index: 99;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: saturate(1.4) blur(8px);
    border-bottom: 1px solid var(--gt-line);
}
.admin-bar #masthead { top: 32px; }
#masthead .ast-primary-header-bar,
#masthead .main-header-bar { background: transparent; border: 0; }
#masthead .site-primary-header-wrap { min-height: 74px; }

.gt-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--gt-ink); }
.gt-brand:hover { color: var(--gt-ink); }
.gt-brand__mark { width: 42px; height: 42px; flex: none; }
.gt-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.gt-brand__name { font-family: var(--gt-head); font-weight: 750; font-size: 1.32rem; letter-spacing: -.02em; }
.gt-brand__name span { color: var(--gt-amber-d); }
.gt-brand__claim { font-size: .74rem; color: var(--gt-muted); letter-spacing: .02em; margin-top: 3px; }
.ast-site-identity { padding: 0; }

.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
    font-family: var(--gt-head);
    font-weight: 600;
    font-size: 1rem;
    color: var(--gt-ink);
    padding: 0 .85em;
}
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-ancestor > .menu-link,
.ast-builder-menu-1 .menu-item.current-post-parent > .menu-link {
    color: var(--gt-forest);
}
@media (min-width: 922px) {
    .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link { position: relative; }
    .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link::after {
        content: ""; position: absolute; left: .85em; right: .85em; bottom: 18px; height: 2px;
        background: var(--gt-amber); transform: scaleX(0); transition: transform .2s ease; transform-origin: left;
    }
    .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link:hover::after,
    .ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link::after,
    .ast-builder-menu-1 .main-header-menu > .current-post-parent > .menu-link::after { transform: scaleX(1); }
}
/* Mobile Navigation (Astra Dropdown) */
.ast-mobile-header-content, .ast-header-break-point .main-header-bar-navigation { background: var(--gt-white); }
.ast-mobile-header-content .menu-link, #ast-mobile-header .main-header-menu .menu-link {
    font-family: var(--gt-head); font-weight: 600; color: var(--gt-ink); border-color: var(--gt-line) !important; padding: .85em 20px;
}
.ast-mobile-menu-trigger-minimal { color: var(--gt-forest) !important; }
.ast-header-break-point .gt-brand__claim { display: none; }
@media (max-width: 921px) {
    .gt-brand__mark { width: 38px; height: 38px; }
    .gt-brand__name { font-size: 1.18rem; }
    #masthead .site-primary-header-wrap { min-height: 64px; }
}

/* ---------- Inhaltsbereich ---------- */
.ast-separate-container, .ast-plain-container, .site-content { background: var(--gt-bg); }
.ast-separate-container .ast-article-single, .ast-separate-container .ast-article-post,
.ast-separate-container .comments-area, .ast-separate-container .ast-archive-description {
    background: transparent;
}
.site-content > .ast-container { max-width: var(--gt-wide); }
body.single-post .site-content #primary,
body.page:not(.home) .site-content #primary { margin-top: 26px; margin-bottom: 64px; }
body.single-post .entry-content, body.single-post .entry-header,
body.page:not(.home) .entry-content, body.page:not(.home) .entry-header,
body.single-post .gt-breadcrumbs, body.page:not(.home) .gt-breadcrumbs,
body.single-post .gt-editorial {
    max-width: 780px; margin-left: auto; margin-right: auto;
}
body.single-post .gt-related { max-width: var(--gt-wide); margin: 56px auto 0; }

.entry-header { margin-bottom: 1.6em; }
.entry-title, .single .entry-title, .page .entry-title {
    font-size: clamp(2rem, 1.4rem + 2.2vw, 2.85rem);
    font-weight: 750;
    line-height: 1.12;
    margin-bottom: .45em;
}
.entry-content > * { margin-bottom: 1.25em; }
.entry-content h2, .single .entry-content h2 {
    font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9rem); font-weight: 700; margin: 2.1em 0 .6em;
}
.entry-content h3 { font-size: 1.32rem; font-weight: 650; margin: 1.7em 0 .5em; }
.entry-content h4 { font-size: 1.1rem; font-weight: 650; margin: 1.4em 0 .4em; }
.entry-content ul, .entry-content ol { margin-left: 1.25em; }
.entry-content li { margin-bottom: .4em; }
.entry-content li::marker { color: var(--gt-forest-2); }
.entry-content strong { color: var(--gt-ink); }
.entry-content a:not(.gt-btn):not(.gt-alink) { text-decoration: underline; text-decoration-color: rgba(31, 77, 58, .35); text-decoration-thickness: 1.5px; }
.entry-content a:not(.gt-btn):hover { text-decoration-color: var(--gt-amber); }
.entry-content blockquote { border-left: 4px solid var(--gt-amber); background: var(--gt-sand); padding: 1em 1.3em; border-radius: 0 var(--gt-radius-s) var(--gt-radius-s) 0; font-style: normal; }

/* Bilder & Bildunterschriften */
.entry-content .wp-block-image { margin: 2em 0; }
.entry-content .wp-block-image img { border-radius: var(--gt-radius); box-shadow: var(--gt-shadow); width: 100%; }
.entry-content .wp-element-caption, .entry-content figcaption {
    font-size: .78rem; color: var(--gt-muted); text-align: left; margin-top: .55em; line-height: 1.5;
}
.entry-content figcaption a { color: var(--gt-muted); }
body.single-post .post-thumb-img-content, body.single-post .ast-single-post-featured-section { max-width: 980px; margin: 0 auto 2em; }
body.single-post .post-thumb-img-content img { border-radius: var(--gt-radius); aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }

/* Tabellen */
.entry-content .wp-block-table { overflow-x: auto; margin: 1.8em 0; }
.entry-content table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: .94rem; background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius-s); overflow: hidden; }
.entry-content table th, .entry-content table td { border: 0; border-bottom: 1px solid var(--gt-line); padding: .7em .9em; text-align: left; vertical-align: top; }
.entry-content table thead th { background: var(--gt-forest); color: #fff; font-family: var(--gt-head); font-weight: 600; }
.entry-content table tbody tr:nth-child(even) td { background: #faf8f2; }
.entry-content table tbody tr:last-child td, .entry-content table tbody tr:last-child th { border-bottom: 0; }

/* Astra unterstreicht Links in .ast-single-post .entry-content (Spezifität 0,2,1) – eigene Komponenten ausnehmen */
.ast-single-post .entry-content a.gt-btn, .ast-single-post .entry-content a.gt-topic,
.ast-single-post .entry-content .gt-card a, .ast-single-post .entry-content .gt-toc a,
.ast-single-post .entry-content a.gt-contact__item, .ast-single-post .entry-content .gt-sitemap h2 a { text-decoration: none; }
.ast-single-post .entry-content .gt-toc a:hover { text-decoration: underline; }

/* ---------- Breadcrumbs, Kicker, Meta ---------- */
.gt-breadcrumbs { font-size: .85rem; color: var(--gt-muted); margin-bottom: 1.2em; }
.gt-breadcrumbs a { color: var(--gt-muted); text-decoration: none; }
.gt-breadcrumbs a:hover { color: var(--gt-forest); text-decoration: underline; }
.gt-breadcrumbs .breadcrumb_last { color: var(--gt-ink); }

.gt-kicker {
    display: inline-block; font-family: var(--gt-head); font-weight: 650; font-size: .8rem; letter-spacing: .09em;
    text-transform: uppercase; color: var(--gt-amber-d); text-decoration: none; margin-bottom: .55em;
}
a.gt-kicker:hover { color: var(--gt-forest); }
.gt-kicker--light { color: var(--gt-amber); }

.gt-meta { display: flex; flex-wrap: wrap; gap: .5em 1.4em; font-size: .88rem; color: var(--gt-muted); }
.gt-meta span { display: inline-flex; align-items: center; gap: .4em; }
.gt-meta .gt-icon { color: var(--gt-forest-2); }

/* ---------- Werbehinweis, Inhaltsverzeichnis, Hinweisboxen ---------- */
.entry-content .gt-disclosure {
    display: flex; gap: .6em; align-items: flex-start; font-size: .84rem; line-height: 1.55; color: var(--gt-muted);
    background: var(--gt-sand); border-radius: var(--gt-radius-s); padding: .75em 1em; margin-bottom: 1.8em;
}
.gt-disclosure .gt-icon { color: var(--gt-amber-d); margin-top: .15em; }
.gt-disclosure a { color: var(--gt-muted); }

.entry-content .gt-toc { background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius); padding: 1.1em 1.4em; margin: 2em 0 2.4em; box-shadow: var(--gt-shadow); }
.gt-toc summary { cursor: pointer; font-family: var(--gt-head); font-weight: 700; color: var(--gt-ink); font-size: 1.1rem; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.gt-toc summary::-webkit-details-marker { display: none; }
.gt-toc summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--gt-forest); border-bottom: 2px solid var(--gt-forest); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
.gt-toc details[open] summary::after { transform: rotate(-135deg); }
.entry-content .gt-toc ol { margin: .8em 0 0 1.2em; columns: 2 260px; column-gap: 2em; font-size: .95rem; }
.entry-content .gt-toc li { margin-bottom: .35em; break-inside: avoid; }
.entry-content .gt-toc a { text-decoration: none; color: var(--gt-text); }
.entry-content .gt-toc a:hover { color: var(--gt-forest); text-decoration: underline; }

.entry-content .gt-note { border-radius: var(--gt-radius); padding: 1.1em 1.3em 1.1em 1.3em; margin: 1.8em 0; border: 1px solid; }
.entry-content .gt-note p:last-child, .entry-content .gt-note ul:last-child { margin-bottom: 0; }
.entry-content .gt-note p { margin-bottom: .6em; }
.gt-note__title { display: flex; align-items: center; gap: .45em; font-family: var(--gt-head); font-weight: 700; color: var(--gt-ink); font-size: 1.05rem; margin-bottom: .35em; }
.gt-note--tip { background: var(--gt-moss); border-color: #cfdfd3; }
.gt-note--tip .gt-note__title::before { content: ""; width: 1.1em; height: 1.1em; background: var(--gt-forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 7v.5M12 11v6'/%3E%3C/svg%3E") center/80% no-repeat; border-radius: 50%; }
.gt-note--warn { background: #fdf1ec; border-color: #f2d3c4; }
.gt-note--warn .gt-note__title::before { content: "!"; display: inline-grid; place-items: center; width: 1.15em; height: 1.15em; border-radius: 50%; background: #c2552d; color: #fff; font-size: .8em; }
.gt-note--key { background: var(--gt-amber-l); border-color: #f1d9ad; }
.gt-note--key .gt-note__title::before { content: ""; width: 1.1em; height: 1.1em; background: var(--gt-amber-d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/78% no-repeat; border-radius: 50%; }

/* ---------- FAQ ---------- */
.gt-faq { display: grid; gap: .7em; margin: 1.5em 0 2em; }
.gt-faq details { background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius-s); transition: box-shadow .2s; }
.gt-faq details[open] { box-shadow: var(--gt-shadow); }
.gt-faq summary { cursor: pointer; list-style: none; padding: 1em 3.2em 1em 1.2em; font-family: var(--gt-head); font-weight: 650; font-size: 1.06rem; color: var(--gt-ink); position: relative; line-height: 1.4; }
.gt-faq summary::-webkit-details-marker { display: none; }
.gt-faq summary::after { content: "+"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--gt-moss); color: var(--gt-forest); display: grid; place-items: center; font-size: 1.1rem; font-weight: 500; transition: transform .2s; }
.gt-faq details[open] summary::after { content: "–"; background: var(--gt-forest); color: #fff; }
.gt-faq__answer { padding: 0 1.2em 1em; }
.entry-content .gt-faq__answer p { margin-bottom: .7em; }
.gt-faq__answer p:last-child { margin-bottom: 0; }

/* ---------- Buttons ---------- */
.gt-btn, .entry-content .gt-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5em;
    font-family: var(--gt-head); font-weight: 650; font-size: 1rem; line-height: 1.2;
    padding: .8em 1.35em; border-radius: 999px; text-decoration: none;
    background: var(--gt-forest); color: #fff; border: 2px solid var(--gt-forest);
    transition: background .18s, color .18s, transform .18s, box-shadow .18s;
}
.gt-btn:hover, .gt-btn:focus, .entry-content .gt-btn:hover { background: var(--gt-forest-d); border-color: var(--gt-forest-d); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(20, 51, 38, .22); }
.entry-content .gt-btn, .gt-btn:hover, .gt-btn:focus { text-decoration: none; }
.gt-btn.gt-btn--accent, .entry-content .gt-btn.gt-btn--accent { background: var(--gt-amber); border-color: var(--gt-amber); color: var(--gt-ink); }
.gt-btn.gt-btn--accent:hover, .gt-btn.gt-btn--accent:focus, .entry-content .gt-btn.gt-btn--accent:hover { background: #f0ad44; border-color: #f0ad44; color: var(--gt-ink); }
.gt-btn.gt-btn--ghost, .entry-content .gt-btn.gt-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.gt-btn.gt-btn--ghost:hover, .gt-btn.gt-btn--ghost:focus, .entry-content .gt-btn.gt-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--gt-forest); }
.gt-btn.gt-btn--ghost-dark, .entry-content .gt-btn.gt-btn--ghost-dark { background: transparent; border-color: var(--gt-forest); color: var(--gt-forest); }
.gt-btn.gt-btn--ghost-dark:hover, .gt-btn.gt-btn--ghost-dark:focus, .entry-content .gt-btn.gt-btn--ghost-dark:hover { background: var(--gt-forest); color: #fff; }
.gt-btn--l { font-size: 1.08rem; padding: .95em 1.6em; }
.gt-btn--s, .entry-content .gt-btn--s { font-size: .88rem; padding: .55em 1em; }
.gt-btn.gt-btn--amazon, .entry-content .gt-btn.gt-btn--amazon { background: var(--gt-amber); border-color: var(--gt-amber); color: var(--gt-ink); }
.gt-btn.gt-btn--amazon:hover, .gt-btn.gt-btn--amazon:focus, .entry-content .gt-btn.gt-btn--amazon:hover { background: #f0ad44; border-color: #f0ad44; color: var(--gt-ink); }
.gt-btn sup, .gt-alink sup { font-size: .7em; top: -.35em; }
.entry-content .gt-alink { font-weight: 600; color: var(--gt-forest); text-decoration: underline; text-decoration-color: var(--gt-amber); text-decoration-thickness: 2px; }

/* ---------- Produktboxen ---------- */
.entry-content .gt-product {
    display: grid; grid-template-columns: 150px 1fr; background: var(--gt-white); border: 1px solid var(--gt-line);
    border-radius: var(--gt-radius); box-shadow: var(--gt-shadow); margin: 2em 0; overflow: hidden; scroll-margin-top: 100px;
}
.gt-product__visual { position: relative; display: grid; place-items: center; background: linear-gradient(160deg, var(--gt-moss), #d6e5da); color: var(--gt-forest); }
.gt-product__rank { position: absolute; top: 12px; left: 12px; width: 32px; height: 32px; border-radius: 50%; background: var(--gt-forest); color: #fff; display: grid; place-items: center; font-family: var(--gt-head); font-weight: 700; font-size: .95rem; }
.gt-product__body { padding: 1.3em 1.5em 1.4em; }
.gt-badge { display: inline-block; background: var(--gt-amber-l); color: var(--gt-amber-d); font-family: var(--gt-head); font-weight: 650; font-size: .78rem; letter-spacing: .03em; text-transform: uppercase; border-radius: 999px; padding: .3em .85em; margin-bottom: .6em; }
.entry-content .gt-product__name { font-family: var(--gt-head); font-weight: 700; font-size: 1.22rem; color: var(--gt-ink); line-height: 1.3; margin: 0 0 .4em; }
.entry-content .gt-product__text { font-size: .97rem; margin-bottom: .9em; }
.gt-product__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: .4em 1.5em; margin-bottom: 1em; }
.entry-content .gt-product__pros, .entry-content .gt-product__cons { list-style: none; margin: 0; padding: 0; font-size: .92rem; }
.entry-content .gt-product__pros li, .entry-content .gt-product__cons li { display: flex; gap: .5em; align-items: flex-start; margin-bottom: .35em; line-height: 1.45; }
.gt-product__pros .gt-icon { color: var(--gt-forest-2); margin-top: .18em; stroke-width: 2.4; }
.gt-product__cons .gt-icon { color: #b4553a; margin-top: .18em; stroke-width: 2.4; }
.gt-product__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8em 1.2em; border-top: 1px dashed var(--gt-line); padding-top: 1em; }
.entry-content .gt-product__for { margin: 0; font-size: .9rem; flex: 1 1 260px; }
@media (max-width: 700px) {
    .entry-content .gt-product { grid-template-columns: 1fr; }
    .gt-product__visual { min-height: 96px; }
    .gt-product__visual .gt-icon--xl { width: 44px; height: 44px; }
    .gt-product__proscons { grid-template-columns: 1fr; }
    .gt-product__body { padding: 1.1em 1.1em 1.2em; }
    .gt-product__foot .gt-btn { width: 100%; }
}

/* Schnellübersicht */
.entry-content .gt-picks { background: linear-gradient(135deg, var(--gt-forest), var(--gt-forest-2)); border-radius: var(--gt-radius); padding: 1.3em 1.4em 1.4em; margin: 2em 0 2.4em; color: #fff; }
.entry-content .gt-picks__title { display: flex; align-items: center; gap: .5em; font-family: var(--gt-head); font-weight: 700; font-size: 1.12rem; color: #fff; margin: 0 0 1em; }
.gt-picks__title .gt-icon { color: var(--gt-amber); fill: var(--gt-amber); }
.gt-picks__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .8em; }
.gt-pick { background: var(--gt-white); color: var(--gt-text); border-radius: var(--gt-radius-s); padding: 1em; display: flex; flex-direction: column; gap: .5em; }
.gt-pick__label { font-family: var(--gt-head); font-weight: 650; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gt-amber-d); }
.gt-pick__icon { color: var(--gt-forest); }
.entry-content .gt-pick__name { font-family: var(--gt-head); font-weight: 650; font-size: .98rem; color: var(--gt-ink); line-height: 1.3; margin: 0; flex: 1; }
.gt-pick__actions { display: flex; align-items: center; justify-content: space-between; gap: .5em; flex-wrap: wrap; }
.entry-content .gt-pick__more { font-size: .85rem; color: var(--gt-forest); }

/* Vergleichstabelle */
.entry-content .gt-compare { overflow-x: auto; margin: 2em 0; border-radius: var(--gt-radius-s); }
.entry-content .gt-compare table { min-width: 560px; }
.entry-content .gt-compare tbody th { background: var(--gt-sand); font-weight: 600; color: var(--gt-ink); white-space: nowrap; }
.entry-content .gt-compare caption { caption-side: top; text-align: left; font-family: var(--gt-head); font-weight: 650; color: var(--gt-ink); padding-bottom: .5em; }
.entry-content .gt-compare__cta td { background: var(--gt-white) !important; }

/* ---------- Redaktionsbox & ähnliche Artikel ---------- */
.gt-editorial { display: flex; gap: 1.1em; align-items: flex-start; background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius); padding: 1.3em 1.4em; margin-top: 2.5em; font-size: .94rem; }
.gt-editorial__mark svg { width: 48px; height: 48px; }
.gt-editorial__title { font-family: var(--gt-head); font-weight: 700; color: var(--gt-ink); font-size: 1.05rem; margin-bottom: .25em; }
.gt-editorial p { margin-bottom: .3em; }
.gt-related__title { font-size: 1.6rem; margin-bottom: 1em; }

/* ---------- Karten ---------- */
.gt-cards { display: grid; gap: 1.5em; }
.gt-cards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .gt-cards--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .gt-cards--3 { grid-template-columns: 1fr; } }
.gt-card { background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--gt-shadow); transition: transform .2s, box-shadow .2s; position: relative; }
.gt-card:hover { transform: translateY(-3px); box-shadow: var(--gt-shadow-h); }
.gt-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--gt-moss); }
.gt-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gt-card:hover .gt-card__media img { transform: scale(1.04); }
.gt-card__ph { display: grid; place-items: center; height: 100%; color: var(--gt-forest-2); }
.gt-card__body { padding: 1.1em 1.25em 1.25em; display: flex; flex-direction: column; flex: 1; }
.gt-card__cat { font-family: var(--gt-head); font-size: .74rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--gt-amber-d); margin-bottom: .35em; }
.gt-card__title, .entry-content .gt-card__title { font-size: 1.16rem; font-weight: 700; line-height: 1.3; margin: 0 0 .45em; }
.gt-card__title a { color: var(--gt-ink); text-decoration: none !important; }
.gt-card__title a::after { content: ""; position: absolute; inset: 0; }
.gt-card__title a:hover { color: var(--gt-forest); }
.gt-card__excerpt, .entry-content .gt-card__excerpt { font-size: .93rem; line-height: 1.55; color: var(--gt-muted); margin: 0 0 .9em; flex: 1; }
.gt-card__meta { font-size: .8rem; color: var(--gt-muted); display: inline-flex; align-items: center; gap: .35em; margin-top: auto; }

/* ---------- Kategorie-Archiv ---------- */
.archive.category .site-content #primary { margin: 26px 0 70px; }
.gt-archive-head { max-width: 780px; margin-bottom: 2.2em; }
.gt-archive-head h1 { font-size: clamp(2.1rem, 1.5rem + 2vw, 3rem); font-weight: 750; margin-bottom: .35em; }
.gt-archive-head__desc { font-size: 1.08rem; color: var(--gt-text); }
.gt-archive-head__desc p:last-child { margin-bottom: 0; }

/* ---------- Startseite ---------- */
.home .site-content > .ast-container { max-width: none; padding: 0; }
.home .entry-content > * { margin-bottom: 0; }
.home #primary { margin: 0; }
.home .entry-header { display: none; }

.gt-hero { position: relative; min-height: min(78vh, 720px); display: flex; align-items: center; color: #fff; overflow: hidden; background: var(--gt-forest-d); }
.gt-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.gt-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(14, 33, 25, .92) 0%, rgba(14, 33, 25, .78) 42%, rgba(14, 33, 25, .25) 100%); }
.gt-hero .gt-hero__inner { position: relative; z-index: 2; width: 100%; max-width: var(--gt-wide); margin: 0 auto; padding: 90px 24px 100px; }
.gt-hero__inner > * { max-width: 640px; }
.gt-hero__kicker { display: inline-flex; align-items: center; gap: .45em; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); padding: .4em .95em; border-radius: 999px; font-size: .86rem; font-weight: 600; margin-bottom: 1.3em; }
.gt-hero__kicker .gt-icon { color: var(--gt-amber); }
.entry-content .gt-hero h1 { color: #fff; font-size: clamp(2.3rem, 1.4rem + 3.3vw, 3.75rem); font-weight: 800; line-height: 1.06; margin: 0 0 .45em; letter-spacing: -.025em; }
.entry-content .gt-hero__lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.22rem); color: rgba(255, 255, 255, .9); margin-bottom: 1.8em; }
.gt-hero__actions { display: flex; flex-wrap: wrap; gap: .8em; margin-bottom: 2em; }
.entry-content .gt-hero__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em 1.4em; font-size: .92rem; color: rgba(255, 255, 255, .88); }
.entry-content .gt-hero__chips li { display: inline-flex; align-items: center; gap: .45em; margin: 0; }
.gt-hero__chips .gt-icon { color: var(--gt-amber); }

.entry-content .gt-section { max-width: var(--gt-wide); margin: 0 auto; padding: 84px 24px; }
.entry-content .gt-section--tint, .entry-content .gt-section--trust { max-width: none; background: var(--gt-sand); }
.gt-section--tint > *, .gt-section--trust > * { max-width: var(--gt-wide); margin-left: auto; margin-right: auto; }
.entry-content .gt-section--trust { background: var(--gt-moss); }
.gt-section__head { max-width: 680px; margin-bottom: 2.4em; }
.entry-content .gt-section__head h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.45rem); font-weight: 750; margin: 0 0 .35em; }
.entry-content .gt-section__head p { font-size: 1.08rem; color: var(--gt-muted); margin: 0; }
.gt-center { text-align: center; margin-top: 2.2em !important; }

.gt-topics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2em; }
@media (max-width: 1000px) { .gt-topics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .gt-topics { grid-template-columns: 1fr; } }
.entry-content .gt-topic { display: flex; flex-direction: column; gap: .45em; background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius); padding: 1.5em; text-decoration: none; color: var(--gt-text); box-shadow: var(--gt-shadow); transition: transform .2s, box-shadow .2s, border-color .2s; }
.entry-content .gt-topic:hover { transform: translateY(-3px); box-shadow: var(--gt-shadow-h); border-color: #cfdfd3; color: var(--gt-text); }
.gt-topic__icon { width: 56px; height: 56px; border-radius: 14px; background: var(--gt-moss); color: var(--gt-forest); display: grid; place-items: center; margin-bottom: .4em; transition: background .2s, color .2s; }
.gt-topic:hover .gt-topic__icon { background: var(--gt-forest); color: #fff; }
.gt-topic__name { font-family: var(--gt-head); font-weight: 700; font-size: 1.22rem; color: var(--gt-ink); }
.gt-topic__text { font-size: .95rem; line-height: 1.55; color: var(--gt-muted); flex: 1; }
.gt-topic__count { display: inline-flex; align-items: center; gap: .4em; font-family: var(--gt-head); font-weight: 650; font-size: .9rem; color: var(--gt-forest); margin-top: .5em; }

.gt-split { display: grid; grid-template-columns: 5fr 7fr; gap: 3.5em; align-items: start; }
@media (max-width: 900px) { .gt-split { grid-template-columns: 1fr; gap: 1.5em; } }
.entry-content .gt-steps { list-style: none; margin: 0; padding: 0; counter-reset: gtstep; display: grid; gap: .9em; }
.entry-content .gt-steps li { counter-increment: gtstep; position: relative; background: var(--gt-white); border-radius: var(--gt-radius); padding: 1.1em 1.3em 1.1em 4.4em; margin: 0; box-shadow: var(--gt-shadow); display: flex; flex-direction: column; gap: .15em; }
.gt-steps li::before { content: counter(gtstep); position: absolute; left: 1.15em; top: 1.05em; width: 2.2em; height: 2.2em; border-radius: 50%; background: var(--gt-amber); color: var(--gt-ink); font-family: var(--gt-head); font-weight: 750; display: grid; place-items: center; }
.gt-steps strong { font-family: var(--gt-head); font-size: 1.08rem; }
.gt-steps span { font-size: .95rem; color: var(--gt-muted); line-height: 1.55; }

.gt-feature { display: grid; grid-template-columns: 1fr 1fr; background: var(--gt-forest); border-radius: 22px; overflow: hidden; color: #fff; box-shadow: var(--gt-shadow-h); }
@media (max-width: 900px) { .gt-feature { grid-template-columns: 1fr; } }
.gt-feature__media img { width: 100%; height: 100%; object-fit: cover; min-height: 280px; display: block; }
.gt-feature__body { padding: clamp(1.8em, 4vw, 3.2em); align-self: center; }
.entry-content .gt-feature h2 { color: #fff; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem); font-weight: 750; margin: 0 0 .5em; }
.entry-content .gt-feature p { color: rgba(255, 255, 255, .88); margin-bottom: 1.2em; }
.gt-feature__actions { display: flex; flex-wrap: wrap; gap: .8em; margin-bottom: 0 !important; }

.gt-terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1em; margin: 0; }
@media (max-width: 900px) { .gt-terms { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gt-terms { grid-template-columns: 1fr; } }
.gt-terms div { background: var(--gt-white); border-radius: var(--gt-radius); padding: 1.2em 1.3em; border-left: 4px solid var(--gt-amber); }
.gt-terms dt { font-family: var(--gt-head); font-weight: 750; font-size: 1.15rem; color: var(--gt-forest); margin-bottom: .2em; }
.gt-terms dd { margin: 0; font-size: .95rem; line-height: 1.55; }

.gt-faq--home { max-width: 860px; }

.gt-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2em; }
@media (max-width: 900px) { .gt-trust { grid-template-columns: 1fr; } }
.gt-trust .gt-icon { color: var(--gt-forest); margin-bottom: .6em; }
.entry-content .gt-trust h3 { font-size: 1.2rem; margin: 0 0 .35em; }
.entry-content .gt-trust p { font-size: .97rem; margin: 0; }

/* ---------- Sitemap & Bildnachweis ---------- */
.gt-sitemap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2.5em; }
@media (max-width: 700px) { .gt-sitemap { grid-template-columns: 1fr; } }
.entry-content .gt-sitemap h2 { font-size: 1.3rem; margin-top: 1.2em; }
.entry-content .gt-sitemap h2 a { text-decoration: none; }
.entry-content .gt-credits { list-style: none; margin: 1.5em 0; padding: 0; display: grid; gap: 1em; }
.entry-content .gt-credits li { display: flex; gap: 1em; align-items: center; background: var(--gt-white); border: 1px solid var(--gt-line); border-radius: var(--gt-radius-s); padding: .7em; font-size: .88rem; line-height: 1.5; margin: 0; }
.gt-credits img { width: 84px; height: 64px; object-fit: cover; border-radius: 6px; flex: none; }

/* ---------- Kontakt ---------- */
.gt-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1em; margin: 1.8em 0 2.2em; }
.entry-content .gt-contact__item { display: flex; flex-direction: column; gap: .2em; background: var(--gt-white); border: 1px solid var(--gt-line); border-left: 4px solid var(--gt-amber); border-radius: var(--gt-radius-s); padding: 1.1em 1.3em; text-decoration: none; color: var(--gt-ink); box-shadow: var(--gt-shadow); }
.entry-content .gt-contact__item:hover { border-left-color: var(--gt-forest); }
.gt-contact__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gt-muted); font-weight: 600; }
.gt-contact__value { font-family: var(--gt-head); font-weight: 650; font-size: 1.15rem; color: var(--gt-forest); }

/* ---------- Footer ---------- */
.gt-footer { background: var(--gt-forest-d); color: rgba(255, 255, 255, .78); font-size: .94rem; }
.gt-footer__inner { max-width: var(--gt-wide); margin: 0 auto; padding: 64px 24px 40px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5em; }
@media (max-width: 921px) { .gt-footer__inner { grid-template-columns: 1fr 1fr; } .gt-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .gt-footer__inner { grid-template-columns: 1fr; } }
.gt-brand--light, .gt-brand--light:hover { color: #fff; }
.gt-brand--light .gt-brand__name span { color: var(--gt-amber); }
.gt-footer__brand p { margin-top: 1em; max-width: 380px; line-height: 1.6; }
.gt-footer__contact { font-style: normal; display: flex; flex-direction: column; gap: .45em; margin-top: 1.2em; font-size: .9rem; }
.gt-footer__contact a, .gt-footer__contact span { display: inline-flex; align-items: center; gap: .5em; }
.gt-footer__contact .gt-icon { color: var(--gt-amber); }
.gt-footer__head { font-family: var(--gt-head); font-weight: 700; color: #fff; font-size: 1.02rem; margin-bottom: .9em; }
.gt-footer ul { list-style: none; margin: 0; padding: 0; }
.gt-footer li { margin-bottom: .55em; }
.gt-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.gt-footer a:hover, .gt-footer a:focus { color: var(--gt-amber); }
.gt-footer .gt-linkbtn { background: none; border: 0; padding: 0; font: inherit; color: rgba(255, 255, 255, .78); cursor: pointer; }
.gt-footer .gt-linkbtn:hover, .gt-footer .gt-linkbtn:focus { color: var(--gt-amber); background: none; }
.gt-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); max-width: var(--gt-wide); margin: 0 auto; padding: 22px 24px 30px; font-size: .8rem; color: rgba(255, 255, 255, .6); }
.gt-footer__bottom p { margin: 0 0 .3em; }

/* ---------- Cookie-Banner (Complianz) an das Seitendesign anpassen ---------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner { font-family: var(--gt-font); box-shadow: 0 18px 50px rgba(20, 51, 38, .22); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-family: var(--gt-head); font-weight: 700; font-size: 1.1rem; color: var(--gt-ink); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: .9rem; line-height: 1.55; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { font-family: var(--gt-head); font-weight: 650; font-size: .88rem; height: auto; min-height: 44px; padding: .6em .5em; white-space: nowrap; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { outline: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible { outline: 3px solid var(--gt-amber); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a { color: var(--gt-forest); }
#cmplz-manage-consent .cmplz-manage-consent { font-family: var(--gt-head); background: var(--gt-forest); color: #fff; }

/* ---------- Sonstiges ---------- */
.gt-missing { background: #fdecea; border: 1px dashed #c0392b; padding: .5em 1em; color: #c0392b; }
.screen-reader-text:focus { background: #fff; color: var(--gt-ink); }
.error404 .site-content #primary { margin: 60px auto; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Astra (Seiten im Page-Builder-Layout) setzt für Kinder von .entry-content[data-ast-blocks-layout] max-width:none –
   Breiten der Startseiten-Sektionen deshalb mit derselben Selektorkette festlegen */
.ast-page-builder-template .entry-content[data-ast-blocks-layout] .gt-hero > .gt-hero__inner { max-width: var(--gt-wide); }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] .gt-hero__inner > * { max-width: 640px; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section { max-width: var(--gt-wide); margin-left: auto; margin-right: auto; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--tint,
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--trust { max-width: none; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--tint > *,
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--trust > * { max-width: calc(var(--gt-wide) - 48px); margin-left: auto; margin-right: auto; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] .gt-section__head { max-width: 680px; margin-left: 0; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] .gt-faq--home { max-width: 860px; }
@media (max-width: 600px) {
    .gt-picks__grid { grid-template-columns: 1fr 1fr; gap: .6em; }
    .gt-pick { padding: .8em; }
    .entry-content .gt-pick__name { font-size: .9rem; }
    .gt-pick__actions { flex-direction: column; align-items: stretch; }
    .gt-pick__actions .gt-btn { width: 100%; }
    .entry-content .gt-picks { padding: 1.1em 1em 1.2em; }
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible { outline: 2px solid var(--gt-line); outline-offset: 2px; border-radius: 6px; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--tint > .gt-section__head,
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--trust > .gt-section__head { max-width: calc(var(--gt-wide) - 48px); margin-left: auto; margin-right: auto; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--tint > .gt-section__head > *,
.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .gt-section--trust > .gt-section__head > * { max-width: 680px; }
.ast-page-builder-template .entry-content[data-ast-blocks-layout] .gt-faq--home { margin-left: 0; }
#ast-scroll-top { background: var(--gt-forest); color: #fff; border-radius: 50%; width: 44px; height: 44px; display: grid; place-items: center; box-shadow: var(--gt-shadow-h); }
#ast-scroll-top:hover { background: var(--gt-amber); color: var(--gt-ink); }
