/* =============================================
   SELF-HOSTED FONTS
   Latin + Latin Extended subsets only (site content is Serbian Latin —
   see CLAUDE.md §1). Variable-font files: one file covers the whole
   weight range used, so a single font-weight range per subset is
   enough — no need for a separate @font-face per named weight.
   ============================================= */
@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/nunito-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: 'Nunito';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/nunito-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/playfair-display-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: 400 800;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Pinyon Script';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/pinyon-script-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: 'Pinyon Script';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/pinyon-script-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* =============================================
   CSS CUSTOM PROPERTIES
   ============================================= */
:root {
    /* Color Palette */
    --color-blush:    #F2D4DA;
    --color-rose:     #D4819A;
    --color-burgundy: #5C2D45;
    --color-cream:    #FFF5F5;
    --color-bg:       #FAF6F2;
    --color-cherry:   #B03060;
    --color-gold:     #F5C842;
    --color-white:    #FFFFFF;
    --color-text:     #2C2C2C;
    --color-text-light: #7A7A7A;

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-script:  'Pinyon Script', cursive;
    --font-body:    'Nunito', Arial, sans-serif;

    /* Font Sizes */
    --fs-xs:   0.75rem;
    --fs-sm:   0.875rem;
    --fs-base: 1rem;
    --fs-md:   1.125rem;
    --fs-lg:   1.5rem;
    --fs-xl:   2rem;
    --fs-2xl:  2.5rem;
    --fs-3xl:  3.5rem;

    /* Spacing */
    --sp-xs:  0.5rem;
    --sp-sm:  1rem;
    --sp-md:  2rem;
    --sp-lg:  4rem;
    --sp-xl:  6rem;

    /* Border Radius */
    --radius-sm:   6px;
    --radius-md:   12px;
    --radius-lg:   24px;
    --radius-pill: 999px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(92, 45, 69, 0.08);
    --shadow-md: 0 4px 20px rgba(92, 45, 69, 0.12);
    --shadow-lg: 0 8px 40px rgba(92, 45, 69, 0.16);

    /* Transitions */
    --transition: 0.2s ease;

    /* Max width */
    --max-width: 1200px;
}

/* =============================================
   BASE RESET & BODY
   ============================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Global button focus reset — prevents Astra/browser blue outline on all our buttons */
.sc-btn,
.sc-btn-outline-burg,
.sc-header__search-btn,
.sc-header__burger,
.sc-mobile-nav__close,
.sc-mobile-nav__toggle,
.sc-search-overlay__close,
.sc-dropdown__trigger,
.sc-filter-dropdown__trigger,
.sc-kontakt-form__submit,
.sc-newsletter-btn,
.sc-share__btn {
    -webkit-tap-highlight-color: transparent;
}
.sc-btn:focus,                    .sc-btn:focus-visible,
.sc-btn-outline-burg:focus,       .sc-btn-outline-burg:focus-visible,
.sc-header__search-btn:focus,     .sc-header__search-btn:focus-visible,
.sc-header__burger:focus,         .sc-header__burger:focus-visible,
.sc-mobile-nav__close:focus,      .sc-mobile-nav__close:focus-visible,
.sc-mobile-nav__toggle:focus,     .sc-mobile-nav__toggle:focus-visible,
.sc-search-overlay__close:focus,  .sc-search-overlay__close:focus-visible,
.sc-dropdown__trigger:focus,      .sc-dropdown__trigger:focus-visible,
.sc-filter-dropdown__trigger:focus, .sc-filter-dropdown__trigger:focus-visible,
.sc-kontakt-form__submit:focus,   .sc-kontakt-form__submit:focus-visible,
.sc-newsletter-btn:focus,         .sc-newsletter-btn:focus-visible,
.sc-share__btn:focus,             .sc-share__btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: inherit !important;
    color: inherit !important;
}


body {
    font-family: var(--font-body);
    font-size: var(--fs-base);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* =============================================
   TYPOGRAPHY
   ============================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-burgundy);
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: var(--sp-sm);
}

h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
h5 { font-size: var(--fs-md); }
h6 { font-size: var(--fs-base); }

p {
    margin-bottom: var(--sp-sm);
    color: var(--color-text);
}

a {
    color: var(--color-rose);
    text-decoration: none;
    transition: color var(--transition);
}

a:hover {
    color: var(--color-burgundy);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* =============================================
   LAYOUT UTILITIES
   ============================================= */
.sc-container {
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sp-md);
    padding-right: var(--sp-md);
}

.sc-section {
    padding-top: var(--sp-lg);
    padding-bottom: var(--sp-lg);
}

@media (max-width: 767px) {
    .sc-section { padding-top: 2.5rem; padding-bottom: 2.5rem; }
}

/* =============================================
   RESPONSIVE — MOBILE FIRST
   ============================================= */

/* Tablet */
@media (min-width: 768px) {
    h1 { font-size: calc(var(--fs-3xl) * 0.9); }
}

/* Desktop */
@media (min-width: 1025px) {
    h1 { font-size: var(--fs-3xl); }
}

/* Mobile overrides */
@media (max-width: 767px) {
    h1 { font-size: var(--fs-2xl); }
    h2 { font-size: var(--fs-xl); }
    h3 { font-size: var(--fs-lg); }

    .sc-section {
        padding-top: var(--sp-md);
        padding-bottom: var(--sp-md);
    }

    .sc-container {
        padding-left: var(--sp-sm);
        padding-right: var(--sp-sm);
    }
}

/* Scroll-to-top styles are injected via wp_head (priority 9999) in functions.php
   to guarantee they load after Astra's dynamic inline CSS. */

/* =============================================
   PRINT — site-wide reset
   Recipe-specific print layout lives in single.css. These rules stay global
   so printing any page still drops the site chrome, as it did before the split.
   ============================================= */
@media print {

    #masthead,
    .site-header,
    .sc-header,
    #colophon,
    .site-footer,
    .sc-footer,
    .sc-search-overlay,
    .cky-consent-container,
    #wpadminbar,
    .ast-breadcrumbs-wrapper {
        display: none !important;
    }

    * {
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body {
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 11pt;
        color: #000;
        background: #fff !important;
        margin: 0;
        padding: 0;
    }

    .sc-container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

