@font-face {
    font-family: 'Noto Serif';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('fonts/noto-serif-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: 'Noto Serif Georgian';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('fonts/noto-serif-georgian-georgian.woff2') format('woff2');
    unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
    font-family: 'Noto Serif Georgian';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('fonts/noto-serif-georgian-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: 'Noto Serif Georgian';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('fonts/noto-serif-georgian-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;
}

/* ------------------------------------------------------------------
   Typography — headings in Noto Serif Georgian, body copy a step down
   ------------------------------------------------------------------ */

:root {
    --gs-serif: 'Noto Serif Georgian', 'Noto Serif', Georgia, 'Times New Roman', serif;
    --gs-sans: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.entry-title,
.widget-title,
.elementor-heading-title,
.pxl-item--title,
.pxl-heading .pxl-item--title,
.pxl-text-editor {
    font-family: var(--gs-serif) !important;
    font-weight: 700 !important;
}

/* Bigger type in a line-height that was measured for the old size collides —
   Georgian ascenders/descenders in a 700 serif need the extra room. h5/h6 are
   card titles and single-line labels, so they keep whatever the design gave them. */
h1, h2, h3, h4,
.h1, .h2, .h3, .h4 { line-height: 1.28 !important; }

/* the theme's own scale, one step up across the board */
h1, .h1 { font-size: 62px; }
h2, .h2 { font-size: 56px; }
h3, .h3 { font-size: 56px; }
h4, .h4 { font-size: 33px; }
h5, .h5 { font-size: 26px; }
h6, .h6 { font-size: 21px; }

/* Body copy: a text widget holding a section title has no <p>, real copy does —
   so the <p> is exactly the part that should stay sans and drop a step. */
.pxl-text-editor p,
.elementor-widget-text-editor p,
.entry-content p,
.pxl-item--desc,
.pxl-item--excerpt {
    font-family: var(--gs-sans) !important;
    font-weight: 400 !important;
    /* Elementor sizes the widget wrapper at 0,3,0 and the <p> inherits it,
       so a plain rule here loses — the section titles built as text widgets
       hold raw text with no <p>, which is why this cannot reach them. */
    font-size: 15px !important;
    line-height: 1.75 !important;
}

body { font-size: 15px; }

@media (max-width: 1199px) {
    h1, .h1 { font-size: 50px; }
    h2, .h2 { font-size: 46px; }
    h3, .h3 { font-size: 46px; }
    h4, .h4 { font-size: 29px; }
    h5, .h5 { font-size: 24px; }
    h6, .h6 { font-size: 20px; }
}

@media (max-width: 767px) {
    h1, .h1 { font-size: 37px; }
    h2, .h2 { font-size: 35px; }
    h3, .h3 { font-size: 35px; }
    h4, .h4 { font-size: 26px; }
    h5, .h5 { font-size: 22px; }
    h6, .h6 { font-size: 19px; }

    .pxl-text-editor p,
    .elementor-widget-text-editor p,
    .entry-content p,
    .pxl-item--desc,
    .pxl-item--excerpt { font-size: 14.5px !important; }
}

/* the search overlay keeps its own sans input, but its result titles follow suit */
.gs-ps-card-title {
    font-family: var(--gs-serif);
    font-weight: 700;
}

/* The header menu sat at 400 and read as hairlines against the dark bar.
   600 is where Inter actually has a cut — 700 renders identically because the
   theme never requests it — and it matches the mobile drawer, already at 600. */
#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary li a,
#pxl-header-elementor .pxl-nav-menu .pxl-menu-primary li a .pxl-menu-item-text {
    font-weight: 600 !important;
}
