/* =========================================================================
   Geschenkideen-Ratgeber – Custom Styles (schlank, ergänzt Bootstrap 5.3)
   Farbwelt: Bayerischer Wald (Tannengrün + warmes Holz)
   ========================================================================= */

:root {
    --gr-green: #2f5d3a;
    --gr-green-dark: #234a2d;
    --gr-wood: #b6743f;
    --gr-cream: #f7f4ee;
}

/* Bootstrap-Primary auf Markengrün umlenken */
.btn-primary {
    --bs-btn-bg: var(--gr-green);
    --bs-btn-border-color: var(--gr-green);
    --bs-btn-hover-bg: var(--gr-green-dark);
    --bs-btn-hover-border-color: var(--gr-green-dark);
    --bs-btn-active-bg: var(--gr-green-dark);
    --bs-btn-active-border-color: var(--gr-green-dark);
}
.btn-outline-primary {
    --bs-btn-color: var(--gr-green);
    --bs-btn-border-color: var(--gr-green);
    --bs-btn-hover-bg: var(--gr-green);
    --bs-btn-hover-border-color: var(--gr-green);
    --bs-btn-active-bg: var(--gr-green);
}
a { color: var(--gr-green-dark); }

body { -webkit-font-smoothing: antialiased; }

/* Barrierefreiheit: gut sichtbarer Fokus + Skip-Link */
:focus-visible { outline: 3px solid var(--gr-wood); outline-offset: 2px; }
.skip-link {
    position: absolute; top: .5rem; left: .5rem; z-index: 1080;
    background: #fff; padding: .5rem .75rem; border-radius: .375rem;
}

.brand-mark { font-size: 1.4rem; }

/* Sticky-Header: bleibt oben sichtbar, dezenter Schatten + sichere z-index */
.site-header.sticky-top { z-index: 1030; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
/* Anker-Sprünge (#themen, #faq, …) nicht unter den Header rutschen lassen */
:target { scroll-margin-top: 84px; }
section[id], [id].theme-block { scroll-margin-top: 84px; }

/* HERO */
.hero { min-height: 62vh; display: flex; align-items: center; overflow: hidden; }
.hero__bg {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: -2;
}
.hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(100deg, rgba(20,40,25,.85) 0%, rgba(20,40,25,.55) 55%, rgba(20,40,25,.25) 100%);
}
.hero__eyebrow { letter-spacing: .08em; font-size: .85rem; color: #d8e6d0; }

/* Anlass-Kacheln */
.occasion-tile { transition: transform .15s ease, box-shadow .15s ease; }
.occasion-tile:hover, .occasion-tile:focus-within { transform: translateY(-3px); }
.occasion-tile__icon { font-size: 2rem; line-height: 1; }

/* Produktkarten */
.product-card { transition: transform .15s ease, box-shadow .15s ease; border: 1px solid #eee; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.1) !important; }
.product-card__imglink { display: block; background: var(--gr-cream); overflow: hidden; }
.product-card__img { width: 100%; height: 100%; object-fit: contain; padding: .5rem; }
.product-card__placeholder { width: 100%; height: 100%; font-size: 3rem; }
.product-card__price { color: var(--gr-green-dark); }
.stretched-link-off { display: inline; }

/* Themenblöcke */
.theme-block { scroll-margin-top: 90px; }
#faq .accordion-button:not(.collapsed) { background: var(--gr-cream); color: var(--gr-green-dark); }

/* Rechtstexte gut lesbar */
.legal-content h2 { margin-top: 1.75rem; font-size: 1.25rem; }
.legal-content p { line-height: 1.7; }

/* Footer-Links Kontrast */
.site-footer a:hover { text-decoration: underline !important; }

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
}
