/* ============================================
   Herdheld.de – Consolidated Stylesheet
   ============================================ */

/* === Design Tokens === */
:root {
    --color-primary: #E07A5F;
    --color-primary-dark: #C96A52;
    --color-secondary: #81B29A;
    --color-secondary-dark: #6A9B83;
    --color-accent: #F2CC8F;
    --color-bg: #FDF8F3;
    --color-bg-card: #FFFFFF;
    --color-bg-warm: #FAF0E6;
    --color-text: #3D405B;
    --color-text-light: #6B6E8A;
    --color-text-muted: #9A9CB8;
    --color-border: #E8DDD3;
    --color-border-light: #F0E8DE;
    --font-display: 'Georgia', 'Times New Roman', serif;
    --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --radius: 12px;
    --radius-sm: 8px;
    --shadow-sm: 0 1px 3px rgba(61, 64, 91, 0.06);
    --shadow-md: 0 4px 12px rgba(61, 64, 91, 0.08);
    --shadow-lg: 0 8px 30px rgba(61, 64, 91, 0.12);
    --shadow-hover: 0 12px 40px rgba(61, 64, 91, 0.16);
    --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* === Reset & Base === */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.7;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition);
}

a:hover {
    color: var(--color-primary-dark);
}

.internal-link {
    border-bottom: 1px dashed var(--color-primary);
    padding-bottom: 1px;
    transition: all var(--transition);
}

.internal-link:hover {
    border-bottom-style: solid;
    background-color: var(--color-bg-warm);
}

img {
    max-width: 100%;
    height: auto;
}

/* === Header === */
.site-header {
    background: rgba(45, 47, 67, 0.75);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.8rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-logo {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
}

.site-logo .logo-emoji {
    font-size: 1.8rem;
}

.site-logo span {
    color: var(--color-accent);
}

/* Search */
.search-wrapper {
    position: relative;
    width: 300px;
}

.search-wrapper input {
    width: 100%;
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.9rem;
    transition: var(--transition);
}

.search-wrapper input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.search-wrapper input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.18);
    border-color: var(--color-accent);
}

.search-icon {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.9rem;
    opacity: 0.5;
}

/* === Navigation === */
.main-nav {
    display: none;
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.main-nav.active {
    display: block;
}

.nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}

.nav-group {
    position: relative;
}

.nav-group>a {
    display: block;
    padding: 0.7rem 1.2rem;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.88rem;
    font-weight: 600;
    transition: all var(--transition);
    text-decoration: none;
    white-space: nowrap;
}

.nav-group>a:hover {
    color: var(--color-accent);
    background: rgba(255, 255, 255, 0.05);
}

.nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 0 0 var(--radius) var(--radius);
    box-shadow: var(--shadow-lg);
    z-index: 200;
    padding: 0.5rem 0;
    border: 1px solid rgba(255, 255, 255, 0.6);
}

/* hover dropdown only on desktop - see @media min-width:769px below */

.nav-dropdown a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 1.2rem;
    color: var(--color-text);
    font-size: 0.85rem;
    transition: all var(--transition);
    text-decoration: none;
}

.nav-dropdown a:hover {
    background: var(--color-bg-warm);
    color: var(--color-primary);
}

.nav-dropdown .nav-emoji {
    font-size: 1.1rem;
    width: 1.5rem;
    text-align: center;
}

.nav-toggle {
    display: none;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.3rem;
    transition: color var(--transition);
}

.nav-toggle:hover {
    color: var(--color-accent);
}

/* Desktop: always show nav */
@media (min-width: 769px) {
    .main-nav {
        display: block;
    }

    .nav-toggle {
        display: none !important;
    }

    .nav-group:hover .nav-dropdown {
        display: block;
    }
}

/* Mobile: toggle nav */
@media (max-width: 768px) {
    .nav-toggle {
        display: block;
    }

    .main-nav {
        display: none;
    }

    .main-nav.active {
        display: block;
    }

    .nav-inner {
        flex-direction: column;
    }

    .nav-dropdown {
        position: static;
        box-shadow: none;
        border: none;
        border-radius: 0;
        background: rgba(255, 255, 255, 0.06);
        display: none !important;
        padding-left: 1rem;
    }

    .nav-dropdown a {
        color: rgba(255, 255, 255, 0.85);
        background: transparent;
    }

    .nav-dropdown a:hover {
        color: var(--color-accent);
        background: rgba(255, 255, 255, 0.08);
    }

    .nav-group.open .nav-dropdown {
        display: block !important;
    }

    .nav-group>a {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .nav-group>a::after {
        content: '▸';
        font-size: 0.7rem;
        transition: transform var(--transition);
    }

    .nav-group.open>a::after {
        transform: rotate(90deg);
    }
}

/* === Hero === */
.hero {
    background: linear-gradient(135deg, var(--color-primary) 0%, #D4654A 50%, var(--color-secondary) 100%);
    color: #fff;
    text-align: center;
    padding: 4rem 1.5rem 3.5rem;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -40%;
    left: -15%;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
}

.hero h1 {
    font-family: var(--font-display);
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 0.8rem;
    position: relative;
    z-index: 1;
}

.hero p {
    font-size: 1.15rem;
    opacity: 0.92;
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* === Main Content === */
.main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 4rem;
}

.main-content h1 {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: 0.5rem;
}

.main-content h2 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 2.5rem 0 1.2rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--color-border-light);
}

.main-content h3 {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-text);
    margin: 1.8rem 0 0.6rem;
}

/* === Cards === */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.card {
    background: var(--color-bg-card);
    border-radius: var(--radius);
    padding: 1.8rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border-light);
    text-decoration: none;
    color: var(--color-text);
    transition: all var(--transition);
    position: relative;
    overflow: hidden;
}

.card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
    opacity: 0;
    transition: opacity var(--transition);
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
    border-color: var(--color-primary);
}

.card:hover::before {
    opacity: 1;
}

.card .card-emoji {
    font-size: 2.2rem;
    margin-bottom: 0.8rem;
    display: block;
}

.card h3 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 0.5rem;
    line-height: 1.4;
}

.card p {
    font-size: 0.9rem;
    color: var(--color-text-light);
    line-height: 1.5;
    margin: 0;
}

.card .card-count {
    display: inline-block;
    margin-top: 0.8rem;
    padding: 0.2rem 0.7rem;
    background: var(--color-bg-warm);
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-primary);
}

/* === Article Detail === */
article {
    background: var(--color-bg-card);
    border-radius: var(--radius);
    padding: 2.5rem;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border-light);
    margin-bottom: 2rem;
}

article p {
    margin-bottom: 1rem;
}

article ul,
article ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

article li {
    margin-bottom: 0.4rem;
}

article table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

article table th {
    background: var(--color-text);
    color: #fff;
    padding: 0.8rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
}

article table td {
    padding: 0.7rem 1rem;
    border-bottom: 1px solid var(--color-border-light);
    font-size: 0.95rem;
}

article table tr:nth-child(even) {
    background: var(--color-bg-warm);
}

article table tr:hover {
    background: #FFF3E0;
}

/* Pro-Tip Box */
.pro-tip {
    background: linear-gradient(135deg, #E8F5E9, #F1F8E9);
    border-left: 4px solid var(--color-secondary);
    padding: 1rem 1.2rem;
    margin: 1.5rem 0;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: 0.95rem;
}

.pro-tip strong {
    color: var(--color-secondary-dark);
}

/* Warning Box */
.warning-box {
    background: linear-gradient(135deg, #FFF3E0, #FFF8E1);
    border-left: 4px solid var(--color-accent);
    padding: 1rem 1.2rem;
    margin: 1.5rem 0;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: 0.95rem;
}

/* === Share Buttons === */
.btn-share {
    display: inline-block;
    padding: 0.5rem 1.2rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition);
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
}

.btn-whatsapp {
    background: #25D366;
    color: #fff;
}

.btn-whatsapp:hover {
    background: #1DA851;
    color: #fff;
}

.btn-email {
    background: var(--color-text);
    color: #fff;
}

.btn-email:hover {
    background: #2D2F43;
    color: #fff;
}

.btn-copy {
    background: var(--color-primary);
    color: #fff;
}

.btn-copy:hover {
    background: var(--color-primary-dark);
}

/* === Back Button === */
.btn-back {
    display: inline-block;
    padding: 0.7rem 2rem;
    background: transparent;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition);
}

.btn-back:hover {
    background: var(--color-primary);
    color: #fff;
}

/* === FAQ Section === */
.faq-section {
    background: var(--color-bg-warm);
    border-radius: var(--radius);
    padding: 2rem;
    margin: 2rem 0;
}

.faq-section h2 {
    border: none;
    margin-top: 0;
    font-size: 1.3rem;
}

details {
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.8rem;
}

summary {
    font-weight: 600;
    cursor: pointer;
    color: var(--color-primary);
    padding: 0.3rem 0;
    transition: color var(--transition);
}

summary:hover {
    color: var(--color-primary-dark);
}

details p {
    margin-top: 0.5rem;
    color: var(--color-text-light);
}

/* === Breadcrumb === */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.breadcrumb a {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition);
}

.breadcrumb a:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.breadcrumb .separator {
    margin: 0 0.1rem;
}

/* === Footer === */
.site-footer {
    background: var(--color-text);
    color: rgba(255, 255, 255, 0.7);
    padding: 2.5rem 1.5rem;
    margin-top: 3rem;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.2rem;
}

.footer-brand {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: #fff;
}

.footer-links {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.88rem;
    transition: color var(--transition);
}

.footer-links a:hover {
    color: var(--color-accent);
}

/* === Meta Info === */
.footer-disclaimer {
    max-width: 800px;
    margin: 1.2rem auto 0;
    text-align: center;
    font-size: 0.6rem;
    color: var(--color-text-light);
    line-height: 1.6;
}

.meta-date {
    font-size: 0.82rem;
    color: var(--color-text-muted);
    margin-bottom: 1.5rem;
}

/* === Responsive === */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 2rem;
    }

    .hero {
        padding: 3rem 1.2rem 2.5rem;
    }

    .header-inner {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.8rem 0.5rem;
    }

    .logo,
    .site-logo {
        margin-right: auto;
        order: 1;
    }

    .nav-toggle {
        order: 2;
        padding: 0.4rem;
    }

    .header-submit-btn {
        order: 3;
    }

    .search-wrapper {
        width: 100%;
        order: 4;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }

    article {
        padding: 1.5rem;
    }

    .footer-inner {
        flex-direction: column;
        text-align: center;
    }

    .main-content h1 {
        font-size: 1.7rem;
    }
}

/* === Animations === */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card {
    animation: fadeInUp 0.5s ease backwards;
}

.card:nth-child(1) {
    animation-delay: 0.05s;
}

.card:nth-child(2) {
    animation-delay: 0.1s;
}

.card:nth-child(3) {
    animation-delay: 0.15s;
}

.card:nth-child(4) {
    animation-delay: 0.2s;
}

.card:nth-child(5) {
    animation-delay: 0.25s;
}

.card:nth-child(6) {
    animation-delay: 0.3s;
}

/* === Print Styles === */
@media print {

    .site-header,
    .site-footer,
    .btn-share,
    .btn-back,
    .card-grid,
    .search-wrapper,
    .breadcrumb,
    .main-nav,
    hr,
    .no-print,
    .nav-toggle,
    .author-box,
    #rating-widget,
    #kitchen-calculator,
    .timer-trigger,
    .affiliate-notice-top,
    .affiliate-notice-bottom,
    .drink-pairing {
        display: none !important;
    }

    body {
        background: #fff;
        color: #000;
        font-size: 11pt;
        line-height: 1.5;
    }

    @page {
        margin: 2cm 1.5cm;
    }

    .main-content {
        padding: 0;
        margin: 0;
        max-width: 100%;
    }

    article {
        box-shadow: none;
        border: none;
        padding: 0;
        margin: 0;
    }

    a {
        text-decoration: none;
        color: #000;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.75em;
        color: #666;
        word-break: break-all;
    }

    a[href^="#"]::after,
    a[href^="javascript"]::after,
    .footer-links a::after,
    .breadcrumb a::after {
        content: none;
    }

    h1 {
        font-size: 22pt;
        margin-bottom: 0.3cm;
        color: #000;
    }

    h2 {
        font-size: 16pt;
        margin-top: 0.8cm;
        border-bottom: 1.5pt solid #000;
        color: #000;
        page-break-after: avoid;
    }

    h3 {
        font-size: 13pt;
        margin-top: 0.5cm;
        color: #000;
        page-break-after: avoid;
    }

    p,
    li,
    td {
        orphans: 3;
        widows: 3;
    }

    img {
        max-width: 200px !important;
        max-height: 150px !important;
    }

    .pro-tip,
    .warning-box {
        border: 1px solid #ccc;
        background: #fff !important;
        page-break-inside: avoid;
    }

    .recipe-times {
        border: 1px solid #ccc !important;
        background: #f9f9f9 !important;
        page-break-inside: avoid;
    }

    .recipe-meta-details {
        border: 1px solid #ccc !important;
        page-break-inside: avoid;
    }

    table {
        page-break-inside: avoid;
    }

    .faq-section {
        background: #f9f9f9 !important;
        page-break-inside: avoid;
    }

    details {
        page-break-inside: avoid;
    }

    details[open] summary~* {
        display: block;
    }
}

/* === Dark Mode === */
@media (prefers-color-scheme: dark) {
    :root:not(.light-mode) {
        --color-primary: #E8907A;
        --color-primary-dark: #F0A08C;
        --color-secondary: #93C4AC;
        --color-secondary-dark: #A5D6BE;
        --color-accent: #F5DBA8;
        --color-bg: #1A1B2E;
        --color-bg-card: #242640;
        --color-bg-warm: #2A2D48;
        --color-text: #E4E4F0;
        --color-text-light: #A8AAC4;
        --color-text-muted: #7A7C96;
        --color-border: #3A3D58;
        --color-border-light: #32355A;
    }
}

.dark-mode {
    --color-primary: #E8907A;
    --color-primary-dark: #F0A08C;
    --color-secondary: #93C4AC;
    --color-secondary-dark: #A5D6BE;
    --color-accent: #F5DBA8;
    --color-bg: #1A1B2E;
    --color-bg-card: #242640;
    --color-bg-warm: #2A2D48;
    --color-text: #E4E4F0;
    --color-text-light: #A8AAC4;
    --color-text-muted: #7A7C96;
    --color-border: #3A3D58;
    --color-border-light: #32355A;
}

/* Dark mode overrides for elements that use hard-coded colors */
@media (prefers-color-scheme: dark) {
    :root:not(.light-mode) .site-header {
        background: linear-gradient(135deg, #14152A 0%, #1E1F35 100%);
    }

    :root:not(.light-mode) .main-nav,
    .dark-mode .main-nav {
        background: #1E1F35;
    }

    :root:not(.light-mode) article table th,
    .dark-mode article table th {
        background: #2A2D48;
    }

    :root:not(.light-mode) article table tr:hover,
    .dark-mode article table tr:hover {
        background: #32355A;
    }

    :root:not(.light-mode) .site-footer,
    .dark-mode .site-footer {
        background: #14152A;
    }

    :root:not(.light-mode) .pro-tip,
    .dark-mode .pro-tip {
        background: linear-gradient(135deg, #1E3328, #1E2D25);
    }

    :root:not(.light-mode) .warning-box,
    .dark-mode .warning-box {
        background: linear-gradient(135deg, #2D2A1E, #302E20);
    }

    :root:not(.light-mode) .nav-dropdown,
    .dark-mode .nav-dropdown {
        background: #242640;
        border-color: #3A3D58;
    }

    :root:not(.light-mode) .nav-dropdown a,
    .dark-mode .nav-dropdown a {
        color: var(--color-text);
    }

    :root:not(.light-mode) .nav-dropdown a:hover,
    .dark-mode .nav-dropdown a:hover {
        background: #2A2D48;
    }
}

.dark-mode .site-header {
    background: linear-gradient(135deg, #14152A 0%, #1E1F35 100%);
}

/* === Recipe Times Bar === */
.recipe-times {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    background: var(--color-bg-warm);
    padding: 1.5rem;
    border-radius: var(--radius);
    justify-content: space-around;
    box-shadow: inset 0 0 0 1px var(--color-border-light);
}

.recipe-times .time-block {
    text-align: center;
}

.recipe-times .time-block.bordered {
    border-left: 1px solid var(--color-border);
    padding-left: 1rem;
}

.recipe-times .time-icon {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 0.25rem;
}

.recipe-times .time-label {
    font-weight: 600;
    display: block;
    font-size: 0.9rem;
    text-transform: uppercase;
    color: var(--color-text-light);
    letter-spacing: 0.5px;
}

.recipe-times .time-value {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-primary);
}

/* === Author Box (E-A-T) === */
.author-box {
    margin: 3rem 0;
    padding: 1.5rem;
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    display: flex;
    align-items: start;
    gap: 1.5rem;
    box-shadow: var(--shadow-sm);
}

.author-box .author-img {
    flex-shrink: 0;
    min-width: 80px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color-primary);
}

.author-box h3 {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
    color: var(--color-text);
}

.author-box p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--color-text-light);
}

/* === Share Section === */
.share-section {
    text-align: center;
    margin: 2.5rem 0;
    padding: 1.5rem;
    background: var(--color-bg-warm);
    border-radius: var(--radius);
}

.share-section .share-label {
    margin-bottom: 1rem;
    font-weight: 600;
    color: var(--color-text-light);
}

.share-section .share-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-print {
    background: #3D405B;
    color: #fff;
}

.btn-print:hover {
    background: #2D2F43;
    color: #fff;
}

/* === Feature Helpers === */
.feature-helpers {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.feature-helpers a {
    font-size: 0.85rem;
    color: var(--color-text-light);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.03);
    padding: 4px 10px;
    border-radius: 4px;
    text-decoration: none;
}

.feature-helpers a:hover {
    color: var(--color-primary);
    background: rgba(0, 0, 0, 0.06);
}

/* === Recipe Meta Details (Niveau, Preis, Saison) === */
.recipe-meta-details {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    padding: 1rem 1.5rem;
    background: var(--color-bg-warm);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius);
    justify-content: center;
    align-items: center;
    box-shadow: var(--shadow-sm);
}

.recipe-meta-details .meta-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.recipe-meta-details .meta-item:not(:last-child) {
    padding-right: 1.5rem;
    border-right: 1px solid var(--color-border);
}

.recipe-meta-details .meta-icon {
    font-size: 1.4rem;
}

.recipe-meta-details .meta-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--color-text-light);
    display: block;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.recipe-meta-details .meta-value {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-text);
}

/* Dark mode toggle button */
.dark-mode-toggle {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0.3rem 0.5rem;
    border-radius: var(--radius-sm);
    transition: all var(--transition);
    line-height: 1;
}

.dark-mode-toggle:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

/* === Deep Dark Mode Overrides === */
/* 1. When OS is dark (and not forced light) */
@media (prefers-color-scheme: dark) {

    :root:not(.light-mode) .recipe-meta-details,
    :root:not(.light-mode) .author-box,
    :root:not(.light-mode) #rating-widget,
    :root:not(.light-mode) .season-widget,
    :root:not(.light-mode) .daily-hack-box,
    :root:not(.light-mode) #recipe-of-the-day>div,
    :root:not(.light-mode) .seasonal-card {
        background: var(--color-bg-card) !important;
        border-color: var(--color-border) !important;
        color: var(--color-text) !important;
    }

    :root:not(.light-mode) .nutrition-grid {
        background: linear-gradient(135deg, var(--color-bg-warm), var(--color-bg-card)) !important;
        border-color: var(--color-border) !important;
    }

    :root:not(.light-mode) .drink-pairing {
        background: var(--color-bg-card) !important;
        color: var(--color-text) !important;
    }

    :root:not(.light-mode) .drink-pairing h3 {
        color: var(--color-text) !important;
    }

    :root:not(.light-mode) .topic-grid a {
        background: var(--color-bg-card) !important;
        border-color: var(--color-border) !important;
        color: var(--color-text) !important;
    }
}

/* 2. When Dark Mode is toggled manually */
body.dark-mode {
    background: #14152A !important;
    color: var(--color-text) !important;
}

.dark-mode .site-footer {
    background: #14152A !important;
}

.dark-mode .recipe-meta-details,
.dark-mode .author-box,
.dark-mode #rating-widget,
.dark-mode .season-widget,
.dark-mode .daily-hack-box,
.dark-mode #recipe-of-the-day>div,
.dark-mode .seasonal-card {
    background: var(--color-bg-card) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-mode .nutrition-grid {
    background: linear-gradient(135deg, var(--color-bg-warm), var(--color-bg-card)) !important;
    border-color: var(--color-border) !important;
}

.dark-mode .drink-pairing {
    background: var(--color-bg-card) !important;
    color: var(--color-text) !important;
}

.dark-mode .drink-pairing h3 {
    color: var(--color-text) !important;
}

.dark-mode .topic-grid a {
    background: var(--color-bg-card) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-mode .nav-dropdown {
    background: #242640 !important;
    border-color: #3A3D58 !important;
}

.dark-mode .nav-dropdown a {
    color: var(--color-text) !important;
}

.dark-mode .nav-dropdown a:hover {
    background: #2A2D48 !important;
}

/* Dark mode: Pro-Tip & Warning boxes (manual toggle) */
.dark-mode .pro-tip {
    background: linear-gradient(135deg, #1E3328, #1E2D25) !important;
    color: var(--color-text) !important;
}

.dark-mode .pro-tip strong {
    color: var(--color-secondary) !important;
}

.dark-mode .pro-tip a {
    color: var(--color-primary) !important;
}

.dark-mode .warning-box {
    background: linear-gradient(135deg, #2D2A1E, #302E20) !important;
    color: var(--color-text) !important;
}

.dark-mode .warning-box strong {
    color: var(--color-accent) !important;
}

/* OS-level dark mode: also fix text colors in boxes */
@media (prefers-color-scheme: dark) {
    :root:not(.light-mode) .pro-tip {
        color: var(--color-text) !important;
    }

    :root:not(.light-mode) .pro-tip strong {
        color: var(--color-secondary) !important;
    }

    :root:not(.light-mode) .pro-tip a {
        color: var(--color-primary) !important;
    }

    :root:not(.light-mode) .warning-box {
        color: var(--color-text) !important;
    }

    :root:not(.light-mode) .warning-box strong {
        color: var(--color-accent) !important;
    }
}

 / *   = = =   P h a s e   4 :   A u d i t   F i x e s   ( R e f a c t o r e d   I n l i n e   S t y l e s )   = = =   * /     / *   L o g o   * /   . l o g o - i m g    {
       h e i g h t :    4 0 p x ;
       w i d t h :    a u t o ;
       
}

     / *   S E O   I n t r o   &   F o o t e r   I n f o   * /   . f o o t e r - d i s c l a i m e r ,
   . s e o - i n t r o    {
               m a x - w i d t h :    8 0 0 p x ;
               m a r g i n :    1 . 2 r e m   a u t o   0 ;
               t e x t - a l i g n :    c e n t e r ;
               f o n t - s i z e :    0 . 7 8 r e m ;
               c o l o r :    v a r ( - - c o l o r - t e x t - l i g h t ) ;
               l i n e - h e i g h t :    1 . 6 ;
       
}

     / *   B a c k   B u t t o n   * /   . b a c k - b u t t o n - c o n t a i n e r    {
       t e x t - a l i g n :    c e n t e r ;
       m a r g i n :    2 r e m   0 ;
       
}

     / *   S e p a r a t o r   * /   . h r - s e p a r a t o r    {
       m a r g i n :    3 r e m   0 ;
       b o r d e r :    0 ;
       b o r d e r - t o p :    1 p x   s o l i d   v a r ( - - c o l o r - b o r d e r - l i g h t ) ;
       
}

     / *   T o p i c   G r i d   ( R e l a t e d   T o p i c s )   * /   . t o p i c - g r i d    {
               d i s p l a y :    g r i d ;
               g r i d - t e m p l a t e - c o l u m n s :    r e p e a t ( a u t o - f i l l ,    m i n m a x ( 2 0 0 p x ,    1 f r ) ) ;
               g a p :    1 r e m ;
       
}

   . t o p i c - g r i d - i t e m    {
               d i s p l a y :    b l o c k ;
               p a d d i n g :    1 r e m ;
               b a c k g r o u n d :    v a r ( - - c o l o r - b g - c a r d ) ;
               b o r d e r :    1 p x   s o l i d   v a r ( - - c o l o r - b o r d e r ) ;
               b o r d e r - r a d i u s :    v a r ( - - r a d i u s ) ;
               t e x t - d e c o r a t i o n :    n o n e ;
               c o l o r :    v a r ( - - c o l o r - t e x t ) ;
               t e x t - a l i g n :    c e n t e r ;
               t r a n s i t i o n :    a l l   0 . 2 s ;
       
}

   . t o p i c - g r i d - i t e m : h o v e r    {
               b o x - s h a d o w :    v a r ( - - s h a d o w - s m ) ;
               b o r d e r - c o l o r :    v a r ( - - c o l o r - p r i m a r y ) ;
       
}

   . t o p i c - g r i d - e m o j i    {
               f o n t - s i z e :    2 r e m ;
               m a r g i n - b o t t o m :    0 . 5 r e m ;
       
}

   . t o p i c - g r i d - t i t l e    {
               f o n t - w e i g h t :    6 0 0 ;
       
}

     / *   D r i n k   P a i r i n g   * /   . d r i n k - p a i r i n g    {
               b a c k g r o u n d - c o l o r :    v a r ( - - c o l o r - b g - w a r m ) ;
               b o r d e r - l e f t :    4 p x   s o l i d   v a r ( - - c o l o r - p r i m a r y ) ;
               p a d d i n g :    1 . 5 r e m ;
               m a r g i n :    2 r e m   0 ;
               b o r d e r - r a d i u s :    v a r ( - - r a d i u s - s m ) ;
       
}

     / *   A f f i l i a t e   N o t i c e   * /   . a f f i l i a t e - n o t i c e - t o p    {
       f o n t - s i z e :    0 . 8 5 r e m ;
       c o l o r :    v a r ( - - c o l o r - t e x t - m u t e d ) ;
       m a r g i n - b o t t o m :    2 r e m ;
       d i s p l a y :    f l e x ;
       a l i g n - i t e m s :    c e n t e r ;
       g a p :    0 . 4 r e m ;
       
}

   . a f f i l i a t e - n o t i c e - b o t t o m    {
       f o n t - s i z e :    0 . 8 5 r e m ;
       c o l o r :    v a r ( - - c o l o r - t e x t - m u t e d ) ;
       m a r g i n - t o p :    3 r e m ;
       p a d d i n g - t o p :    1 r e m ;
       b o r d e r - t o p :    1 p x   s o l i d   v a r ( - - c o l o r - b o r d e r - l i g h t ) ;
       
}

     / *   T i m e r   T r i g g e r   * /   . t i m e r - t r i g g e r - l i n k    {
               d i s p l a y :    b l o c k ;
       f o n t - s i z e :    0 . 8 r e m ;
       c o l o r :    v a r ( - - c o l o r - p r i m a r y ) ;
       c u r s o r :    p o i n t e r ;
       t e x t - d e c o r a t i o n :    u n d e r l i n e ;
       m a r g i n - t o p :    4 p x ;
       
}

     / *   C e n t r a l i z e d   N u t r i t i o n   G r i d   * /   . n u t r i t i o n - g r i d    {
               d i s p l a y :    g r i d ;
               g r i d - t e m p l a t e - c o l u m n s :    r e p e a t ( a u t o - f i t ,    m i n m a x ( 1 4 0 p x ,    1 f r ) ) ;
               g a p :    1 . 2 r e m ;
               m a r g i n :    2 r e m   0 ;
               p a d d i n g :    1 . 8 r e m ;
               b a c k g r o u n d :    l i n e a r - g r a d i e n t ( 1 3 5 d e g ,    v a r ( - - c o l o r - b g - w a r m )   0 % ,    v a r ( - - c o l o r - b g - c a r d )   1 0 0 % ) ;
               b o r d e r :    1 p x   s o l i d   v a r ( - - c o l o r - b o r d e r - l i g h t ) ;
               b o r d e r - r a d i u s :    v a r ( - - r a d i u s ) ;
               b o x - s h a d o w :    v a r ( - - s h a d o w - s m ) ;
               p o s i t i o n :    r e l a t i v e ;
               o v e r f l o w :    h i d d e n ;
       
}

   . n u t r i t i o n - g r i d : : b e f o r e    {
               c o n t e n t :    ' '  ;
               p o s i t i o n :    a b s o l u t e ;
               t o p :    0 ;
       l e f t :    0 ;
       w i d t h :    4 p x ;
       h e i g h t :    1 0 0 % ;
               b a c k g r o u n d :    l i n e a r - g r a d i e n t ( t o   b o t t o m ,    v a r ( - - c o l o r - p r i m a r y ) ,    v a r ( - - c o l o r - s e c o n d a r y ) ) ;
       
}

   . n u t r i t i o n - i t e m    {
               d i s p l a y :    f l e x ;
               f l e x - d i r e c t i o n :    c o l u m n ;
               a l i g n - i t e m s :    c e n t e r ;
               t e x t - a l i g n :    c e n t e r ;
               p o s i t i o n :    r e l a t i v e ;
               p a d d i n g :    0 . 5 r e m ;
       
}

   . n u t r i t i o n - i t e m : n o t ( : l a s t - c h i l d ) : : a f t e r    {
               c o n t e n t :    ' '  ;
               p o s i t i o n :    a b s o l u t e ;
               r i g h t :    - 0 . 6 r e m ;
               t o p :    1 0 % ;
               h e i g h t :    8 0 % ;
               w i d t h :    1 p x ;
               b a c k g r o u n d :    v a r ( - - c o l o r - b o r d e r - l i g h t ) ;
       
}

   . n u t r i t i o n - e m o j i    {
       f o n t - s i z e :    2 . 2 r e m ;
       m a r g i n - b o t t o m :    0 . 8 r e m ;
       d i s p l a y :    i n l i n e - b l o c k ;
       f i l t e r :    d r o p - s h a d o w ( 0   2 p x   4 p x   r g b a ( 0 ,  0 ,  0 ,  0 . 0 6 ) ) ;
       
}

   . n u t r i t i o n - l a b e l    {
       f o n t - s i z e :    0 . 7 5 r e m ;
       t e x t - t r a n s f o r m :    u p p e r c a s e ;
       l e t t e r - s p a c i n g :    1 p x ;
       f o n t - w e i g h t :    7 0 0 ;
       c o l o r :    v a r ( - - c o l o r - t e x t - l i g h t ) ;
       m a r g i n - b o t t o m :    0 . 3 r e m ;
       
}

   . n u t r i t i o n - v a l u e    {
       f o n t - f a m i l y :    v a r ( - - f o n t - d i s p l a y ) ;
       f o n t - s i z e :    1 . 4 r e m ;
       f o n t - w e i g h t :    8 0 0 ;
       c o l o r :    v a r ( - - c o l o r - t e x t ) ;
       
}

   . n u t r i t i o n - v a l u e . h i g h l i g h t    {
       c o l o r :    v a r ( - - c o l o r - p r i m a r y ) ;
       f o n t - s i z e :    1 . 6 r e m ;
       
}

   @ m e d i a   ( m a x - w i d t h :   6 0 0 p x )    {
               . n u t r i t i o n - g r i d    {
           g r i d - t e m p l a t e - c o l u m n s :    r e p e a t ( 2 ,    1 f r ) ;
           g a p :    1 . 5 r e m ;
           p a d d i n g :    1 . 5 r e m   1 r e m ;
           
    }

               . n u t r i t i o n - i t e m : n o t ( : l a s t - c h i l d ) : : a f t e r    {
           d i s p l a y :    n o n e ;
           
    }

       
}

       