/*
Theme Name: GeneratePress Saints
Description: GeneratePress child theme for Saints site with custom fonts and styling
Author: GoForth Foundation
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-saints
*/

/*
=== IMPORTANT ===
Add your custom CSS below this line.
The parent theme styles will be automatically loaded via functions.php
*/

/*====================
CUSTOM FONTS
====================*/

/* Montserrat Font Family */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 100;
    src: url('fonts/montserrat/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw0aXpsog.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 200;
    src: url('fonts/montserrat/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw9aXpsog.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/montserrat/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw2aXpsog.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/montserrat/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw3aXpsog.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/montserrat/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aXo.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/montserrat/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/montserrat/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/montserrat/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/montserrat/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/montserrat/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2');
}

/* Poppins Font Family */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/poppins/pxiEyp8kv8JHgFVrJJfecg.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 300;
    src: url('fonts/poppins/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/poppins/pxiEyp8kv8JHgFVrJJbecmNE.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 600;
    src: url('fonts/poppins/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2') format('woff2');
}

/* Lato Font Family */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/lato/S6uyw4BMUTPHjx4wXg.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/lato/S6uyw4BMUTPHjxAwXjeu.woff2') format('woff2');
}

/* Quattrocento Font Family */
@font-face {
    font-family: 'Quattrocento';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/quattrocento/OZpEg_xvsDZQL_LKIF7q4jP3w2j6.woff2') format('woff2');
}

@font-face {
    font-family: 'Quattrocento';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/quattrocento/OZpEg_xvsDZQL_LKIF7q4jP3zWj6T4g.woff2') format('woff2');
}

@font-face {
    font-family: 'Quattrocento';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/quattrocento/OZpbg_xvsDZQL_LKIF7q4jP_eE3vcKnY.woff2') format('woff2');
}

@font-face {
    font-family: 'Quattrocento';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/quattrocento/OZpbg_xvsDZQL_LKIF7q4jP_eE3vfqnYgXc.woff2') format('woff2');
}

/*====================
DEFAULT FONTS - Main Site & Non-Elementor Pages
====================*/

/* Apply to all HTML elements */
body, button, input, select, textarea {
    font-family: 'Lato', -apple-system, system-ui, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', -apple-system, system-ui, sans-serif;
}

/* Override Elementor's global typography CSS variables */
:root {
    --e-global-typography-text-font-family: 'Lato';
    --e-global-typography-primary-font-family: 'Poppins';
    --e-global-typography-secondary-font-family: 'Poppins';
    --e-global-typography-accent-font-family: 'Poppins';
}

/*====================
RESPONSIVE TYPOGRAPHY - Main Site
====================*/

/* Desktop Typography (default) */
body, button, input, select, textarea {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5em;
}

h1 {
    font-size: 65px;
    font-weight: 800;
    line-height: 1.25;
}

h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
}

h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}

h4 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

h5 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}

h6 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

/* Tablet Typography (768px - 1024px) */
@media (max-width: 1024px) {
    body, button, input, select, textarea {
        font-size: 18px;
        font-weight: 400;
        line-height: 1.5em;
    }

    h1 {
        font-size: 45px;
        font-weight: 800;
        line-height: 1.25;
    }

    h2 {
        font-size: 36px;
        font-weight: 700;
        line-height: 1.25;
    }

    h3 {
        font-size: 28px;
        font-weight: 700;
        line-height: 1.3;
    }

    h4 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
    }

    h5 {
        font-size: 20px;
        font-weight: 600;
        line-height: 1.4;
    }

    h6 {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.4;
    }
}

/* Mobile Typography (up to 767px) */
@media (max-width: 767px) {
    body, button, input, select, textarea {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5em;
    }

    h1 {
        font-size: 28px;
        font-weight: 800;
        line-height: 1.25;
    }

    h2 {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.25;
    }

    h3 {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
    }

    h4 {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.3;
    }

    h5 {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.4;
    }

    h6 {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
    }
}

/*====================
Custom 404 Page
====================*/

.error404 input,
.elementor-page-6844 input {
    margin-bottom: 0 !important;
}

/* Mobile styles for 404 search form */
@media (max-width: 768px) {
    .elementor-6844 .elementor-element.elementor-element-b4b8e8d .e-search-submit {
        background-color: var(--e-global-color-accent);
        margin-left: 0;
        margin-top: 20px;
        padding: 12px 24px;
    }

    .elementor-6844 .elementor-widget-search .e-search-form {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
    }

    .elementor-6844 .elementor-widget-search .e-search-input-wrapper {
        width: 80%;
    }
}

/*====================
Privacy Policy Page
====================*/

/* Hide page header - GeneratePress uses .page-header instead of .page-titlebar */
/* .page-id-3 .entry-header,
.page-id-3 .entry-titlebar {
    display: none !important;
} */

/* Default desktop top padding for page ID 3 */
.page-id-3.page-template-default .site-main {
    padding-top: 170px;
}

/* Medium screens (tablets, etc.) */
@media (max-width: 1024px) {
    .page-id-3.page-template-default .site-main {
        padding-top: 178px;
    }
}

/* Small screens (phones) */
@media (max-width: 768px) {
    .page-id-3.page-template-default .site-main {
        padding-top: 138px;
    }
}

/*====================
Accessibility Statement Page
====================*/

/* Hide page header - GeneratePress uses .page-header instead of .page-titlebar */
/* .page-id-2846 .entry-header,
.page-id-2846 .entry-titlebar {
    display: none !important;
} */

/* Default desktop top padding for page ID 2846 */
.page-id-2846.page-template-default .site-main {
    padding-top: 170px;
}

/* Medium screens (tablets, etc.) */
@media (max-width: 1024px) {
    .page-id-2846.page-template-default .site-main {
        padding-top: 178px;
    }
}

/* Small screens (phones) */
@media (max-width: 768px) {
    .page-id-2846.page-template-default .site-main {
        padding-top: 138px;
    }
}

/*====================
Opt-out preferences Page
====================*/

/* Hide page header - GeneratePress uses .page-header instead of .page-titlebar */
/* .page-id-7605 .entry-header,
.page-id-7605 .entry-titlebar {
    display: none !important;
} */

/* Default desktop top padding for page ID 7605 */
.page-id-7605.page-template-default .site-main {
    padding-top: 170px;
}

/* Medium screens (tablets, etc.) */
@media (max-width: 1024px) {
    .page-id-7605.page-template-default .site-main {
        padding-top: 178px;
    }
}

/* Small screens (phones) */
@media (max-width: 768px) {
    .page-id-7605.page-template-default .site-main {
        padding-top: 138px;
    }
}
