/* Greens Genesis Block Theme Custom Styles - Enhanced with Color Support */

/* CSS Variables */
:root {
    /* Brand Colors */
    --primary-green: #154734;
    --white: #FFFFFF;
    --black: #000000;
    
    /* Neutral Colors */
    --neutral-1: #595959;
    --neutral-2: #D0D3D4;
    
    /* Accent Colors */
    --accent-1: #FF6700;
    --accent-2: #544541;
    --accent-3: #AB9685;
    
    /* Legacy Variables (maintain backwards compatibility) */
    --custom-primary: var(--primary-green);
    --custom-secondary: var(--neutral-1);
    --custom-accent: var(--accent-1);
    --custom-font-primary: 'Open Sans', sans-serif;
    --custom-font-secondary: Georgia, serif;
}

/* Base Typography - Apply Open Sans */
body {
    font-family: 'Open Sans', sans-serif;
    line-height: 1.6;
    font-weight: 400;
}

/* Headings - Updated to match new requirements */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    color: var(--primary-green);
}

h1 {
    font-family: "Calvous", sans-serif !important; /* Custom font for H1 */
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 5.25rem; /* 150% */
}

h2 {
    font-family: "Calvous", sans-serif !important; /* Custom font for H2 */
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 3.375rem; /* 158.824% */
}

h3 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem; /* 150% */
}

h4 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6875rem; /* 135% */
}

h5 {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--neutral-1);
}

h6 {
    font-size: 1rem;
    font-weight: 500;
    color: var(--neutral-1);
}

/* Paragraphs and text elements - Updated specifications */
p {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5rem; /* 150% */
    letter-spacing: 0.04rem;
}

/* Lists - Updated specifications */
ul, ol {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: 0.04rem;
}

li {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5rem; /* 150% */
    letter-spacing: 0.04rem;
}

/* Blockquotes - Updated specifications */
blockquote {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5rem; /* 150% */
    letter-spacing: 0.04rem;
    border-left: 4px solid var(--primary-green);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    color: var(--accent-2);
    background-color: color-mix(in srgb, var(--primary-green) 5%, transparent);
    padding: 1rem 1rem 1rem 2rem;
    border-radius: 0 4px 4px 0;
}

blockquote cite {
    font-weight: 600;
    font-style: normal;
    color: var(--primary-green);
}

/* Caption - New specifications */
caption,
.caption,
figcaption {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.5rem; /* 150% */
    letter-spacing: 0.04rem;
    color: var(--neutral-1);
}

/* Strong and bold text */
strong, b {
    font-weight: 700;
}

/* Emphasis */
em, i {
    font-style: italic;
}

/* Additional text elements to maintain consistency */
span, div {
    font-family: 'Open Sans', sans-serif;
}


@media (max-width: 768px) {
    h1 {
        font-size: 40px;
        font-style: normal;
        font-weight: 700;
        line-height: 60px; /* 157.5% */
        text-transform: capitalize;
    }

    .header-logo-spacer {
        display: none;
    }

    
}

@media (max-width: 600px) {
    change 
    header .wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex .wp-block-group.is-content-justification-right.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex {
        order: 3;
    }
}

/* WordPress Block Editor Styles - Updated */
.wp-block-heading {
    font-family: 'Open Sans', sans-serif;
}

.wp-block-paragraph {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: 0.04rem;
}

.wp-block-list {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: 0.04rem;
}

.wp-block-quote {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem;
    letter-spacing: 0.04rem;
}

.wp-element-button {
    img {
        margin-right:8px;
    }
}


.has-huge-icon-size {
    margin: 0 24px !important;
    li {
        a {
            svg {
                height: 72px !important;
                width: 72px !important;
            }
        }
       
    }
}


/* Blockquotes */
blockquote {
    font-family: var(--custom-font-primary);
    font-style: italic;
    font-weight: 400;
    border-left: 4px solid var(--primary-green);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    color: var(--accent-2);
    background-color: rgba(21, 71, 52, 0.05);
    padding: 1rem 1rem 1rem 2rem;
    border-radius: 0 4px 4px 0;
}

blockquote cite {
    font-weight: 600;
    font-style: normal;
    color: var(--primary-green);
}

/* Lists */
ul, ol {
    font-family: var(--custom-font-primary);
}

/* Links */
a {
    color: var(--primary-green);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--accent-1);
    text-decoration: underline;
}

/* Footer Customizations */
/* .site-footer {
    background: var(--accent-2);
    color: var(--white);
    padding: 2rem 0;
    text-align: center;
    font-family: var(--custom-font-primary);
}

.site-footer a {
    color: var(--white);
    font-weight: 500;
}

.site-footer a:hover {
    color: var(--accent-1);
} */

/* Widget Styles */
/* .widget {
    font-family: var(--custom-font-primary);
}

.widget-title {
    font-family: var(--custom-font-primary);
    font-weight: 600;
    color: var(--primary-green);
} */

/* Tables */
/* table {
    font-family: var(--custom-font-primary);
    border-collapse: collapse;
    width: 100%;
}

th {
    font-weight: 600;
    background: var(--primary-green);
    color: var(--white);
    padding: 12px;
}

td {
    padding: 12px;
    border-bottom: 1px solid var(--neutral-2);
    color: var(--black);
}

tr:nth-child(even) {
    background-color: rgba(21, 71, 52, 0.05);
} */

/* Responsive Design */
/* @media (max-width: 768px) {
    .site-header {
        padding: 0.5rem 0;
    }
    
    .entry-content {
        font-size: 1rem;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.75rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
} */

/* Genesis Block specific overrides */
.wp-block-genesis-blocks-container {
    margin: 2rem 0;
    font-family: var(--custom-font-primary);
}

/* WordPress Block Editor Styles */
.wp-block-heading {
    font-family: var(--custom-font-primary);
}

.wp-block-paragraph {
    font-family: var(--custom-font-primary);
}

.wp-block-list {
    font-family: var(--custom-font-primary);
}

.wp-block-quote {
    font-family: var(--custom-font-primary);
    font-style: italic;
}

/* Custom animations */
/* @keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
} */

.animate-on-scroll {
    animation: fadeInUp 0.6s ease-out;
}

/* Utility Classes for Different Font Weights */
.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

/* Specific Open Sans Classes */
.text-open-sans {
    font-family: 'Open Sans', sans-serif;
}

.text-open-sans-light {
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
}

.text-open-sans-regular {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

.text-open-sans-medium {
    font-family: 'Open Sans', sans-serif;
    font-weight: 500;
}

.text-open-sans-semibold {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
}

.text-open-sans-bold {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
}

/* Color Utility Classes */
.text-primary-green { color: var(--primary-green); }
.text-white { color: var(--white); }
.text-black { color: var(--black); }
.text-neutral-1 { color: var(--neutral-1); }
.text-neutral-2 { color: var(--neutral-2); }
.text-accent-1 { color: var(--accent-1); }
.text-accent-2 { color: var(--accent-2); }
.text-accent-3 { color: var(--accent-3); }

/* Background Color Utility Classes */
.bg-primary-green { background-color: var(--primary-green); }
.bg-white { background-color: var(--white); }
.bg-black { background-color: var(--black); }
.bg-neutral-1 { background-color: var(--neutral-1); }
.bg-neutral-2 { background-color: var(--neutral-2); }
.bg-accent-1 { background-color: var(--accent-1); }
.bg-accent-2 { background-color: var(--accent-2); }
.bg-accent-3 { background-color: var(--accent-3); }

/* Border Color Utility Classes */
.border-primary-green { border-color: var(--primary-green); }
.border-white { border-color: var(--white); }
.border-black { border-color: var(--black); }
.border-neutral-1 { border-color: var(--neutral-1); }
.border-neutral-2 { border-color: var(--neutral-2); }
.border-accent-1 { border-color: var(--accent-1); }
.border-accent-2 { border-color: var(--accent-2); }
.border-accent-3 { border-color: var(--accent-3); }

/* Gradient Background Utility Classes */
.bg-gradient-primary-accent {
    background: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-1) 100%);
}

.bg-gradient-green-dark {
    background: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-2) 100%);
}

.bg-gradient-neutral {
    background: linear-gradient(135deg, var(--neutral-2) 0%, var(--neutral-1) 100%);
}

/* WordPress Generated Color Classes for Frontend */
.has-primary-green-color { color: #154734; }
.has-primary-green-background-color { background-color: #154734; }
.has-white-custom-color { color: #FFFFFF; }
.has-white-custom-background-color { background-color: #FFFFFF; }
.has-black-custom-color { color: #000000; }
.has-black-custom-background-color { background-color: #000000; }
.has-neutral-1-color { color: #595959; }
.has-neutral-1-background-color { background-color: #595959; }
.has-neutral-2-color { color: #D0D3D4; }
.has-neutral-2-background-color { background-color: #D0D3D4; }
.has-accent-orange-color { color: #FF6700; }
.has-accent-orange-background-color { background-color: #FF6700; }
.has-accent-brown-color { color: #544541; }
.has-accent-brown-background-color { background-color: #544541; }
.has-accent-tan-color { color: #AB9685; }
.has-accent-tan-background-color { background-color: #AB9685; }

/* WordPress Generated Gradient Classes for Frontend */
.has-primary-to-orange-gradient-background {
    background: linear-gradient(135deg, #154734 0%, #FF6700 100%);
}
.has-green-to-brown-gradient-background {
    background: linear-gradient(135deg, #154734 0%, #544541 100%);
}
.has-neutral-fade-gradient-background {
    background: linear-gradient(135deg, #D0D3D4 0%, #595959 100%);
}


/* =============================================================================
   CUSTOM BUTTON STYLES - Auto-applies based on background color
   ============================================================================= */

/* Base button styles - applies to all custom buttons */
.wp-block-button__link.has-custom-primary-green-background-color,
.wp-block-button__link.has-custom-accent-1-background-color,
.wp-block-button__link.has-base-background-color,
.wp-block-button__link.has-custom-ace-red-background-color {
    padding: 10px 30px 10px !important;
    
    border-width: 3px;
    border-style: solid;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 18px !important;
    font-family: 'Open Sans', sans-serif;
    box-sizing: border-box;
    word-break: auto-phrase;
    height: 46px;


}

/* =============================================================================
   PRIMARY BUTTON STYLE (.has-custom-primary-green-background-color)
   ============================================================================= */

/* Primary - Default State */
.wp-block-button__link.has-custom-primary-green-background-color {
    background-color: var(--primary-green) !important;
    color: var(--white) !important;
    border-color: var(--primary-green) !important;
}

/* Primary - Hover State */
.wp-block-button__link.has-custom-primary-green-background-color:hover {
    background-color: color-mix(in srgb, var(--primary-green) 85%, var(--black)) !important; /* Darker green */
    color: var(--white) !important;
    border-color: color-mix(in srgb, var(--primary-green) 85%, var(--black)) !important;
    transform: translateY(-1px);
    background-color: var(--neutral-2) !important;
    color: var(--black) !important;
    border-color: var(--primary-green) !important;
}

/* Primary - Focus State */
.wp-block-button__link.has-custom-primary-green-background-color:focus {
    background-color: var(--white) !important;
    color: var(--primary-green) !important;
    border-color: var(--primary-green) !important;
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-green) 20%, transparent);
}

/* Primary - Disabled State */
.wp-block-button__link.has-custom-primary-green-background-color:disabled,
.wp-block-button__link.has-custom-primary-green-background-color.disabled {
    background-color: var(--neutral-2) !important;
    color: var(--neutral-1) !important;
    border-color: var(--neutral-2) !important;
    cursor: not-allowed;
    transform: none;
}


/* =============================================================================
   PRIMARY BUTTON STYLE (.has-custom-ace-red-background-color)
   ============================================================================= */

/* Primary - Default State */
.wp-block-button__link.has-custom-ace-red-background-color {
    background-color: var(--ace-red) !important;
    color: var(--white) !important;
    border-color: var(--ace-red) !important;
    border-radius: 0px !important;
}

/* Primary - Hover State */
.wp-block-button__link.has-custom-ace-red-background-color:hover {
    background-color: color-mix(in srgb, var(--ace-red) 85%, var(--black)) !important; /* Darker green */
    color: var(--white) !important;
    border-color: color-mix(in srgb, var(--ace-red) 85%, var(--black)) !important;
    transform: translateY(-1px);
    background-color: var(--neutral-2) !important;
    color: var(--black) !important;
    border-color: var(--ace-red) !important;
}

/* Primary - Focus State */
.wp-block-button__link.has-custom-ace-red-background-color:focus {
    background-color: var(--white) !important;
    color: var(--ace-red) !important;
    border-color: var(--ace-red) !important;
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ace-red) 20%, transparent);
}

/* Primary - Disabled State */
.wp-block-button__link.has-custom-ace-red-background-color:disabled,
.wp-block-button__link.has-custom-ace-red-background-color.disabled {
    background-color: var(--neutral-2) !important;
    color: var(--neutral-1) !important;
    border-color: var(--neutral-2) !important;
    cursor: not-allowed;
    transform: none;
}



/* =============================================================================
   SECONDARY BUTTON STYLE (.has-custom-accent-1-background-color)
   ============================================================================= */

/* Secondary - Default State */
.wp-block-button__link.has-custom-accent-1-background-color {
    background-color: var(--accent-1) !important;
    color: var(--black) !important;
    border-color: var(--accent-1) !important;
}

/* Secondary - Hover State */
.wp-block-button__link.has-custom-accent-1-background-color:hover {
    background-color: var(--black) !important;
    color: var(--accent-1) !important;
    border-color: var(--black) !important;
    transform: translateY(-1px);
}

/* Secondary - Focus State */
.wp-block-button__link.has-custom-accent-1-background-color:focus {
    background-color: var(--white) !important;
    color: var(--black) !important;
    border-color: var(--accent-1) !important;
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-1) 20%, transparent);
}

/* Secondary - Disabled State */
.wp-block-button__link.has-custom-accent-1-background-color:disabled,
.wp-block-button__link.has-custom-accent-1-background-color.disabled {
    background-color: var(--neutral-2) !important;
    color: var(--neutral-1) !important;
    border-color: var(--neutral-2) !important;
    cursor: not-allowed;
    transform: none;
}

/* =============================================================================
   REVERSE BUTTON STYLE (.has-base-background-color)
   ============================================================================= */

/* Reverse - Default State */
.wp-block-button__link.has-base-background-color {
    background-color: var(--white) !important;
    color: var(--primary-green) !important;
    border-color: var(--primary-green) !important;
}

/* Reverse - Hover State */
.wp-block-button__link.has-base-background-color:hover {
    background-color: var(--neutral-2) !important;
    color: var(--black) !important;
    border-color: var(--primary-green) !important;
    transform: translateY(-1px);
}

/* Reverse - Focus State */
.wp-block-button__link.has-base-background-color:focus {
    background-color: var(--white) !important;
    color: var(--primary-green) !important;
    border-color: var(--primary-green) !important;
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-green) 20%, transparent);
}

/* Reverse - Disabled State */
.wp-block-button__link.has-base-background-color:disabled,
.wp-block-button__link.has-base-background-color.disabled {
    background-color: var(--neutral-2) !important;
    color: var(--neutral-1) !important;
    border-color: var(--neutral-2) !important;
    cursor: not-allowed;
    transform: none;
}

/* =============================================================================
   ADDITIONAL ENHANCEMENTS
   ============================================================================= */

/* Remove default WordPress button styles that might interfere */
.wp-block-button__link.has-custom-primary-green-background-color,
.wp-block-button__link.has-custom-accent-1-background-color,
.wp-block-button__link.has-base-background-color {
    border-radius: 0 !important; /* Override any theme border radius */
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px;
}

/* Ensure button container doesn't add unwanted styles */
.wp-block-button.is-style-fill .wp-block-button__link.has-custom-primary-green-background-color,
.wp-block-button.is-style-fill .wp-block-button__link.has-custom-accent-1-background-color,
.wp-block-button.is-style-fill .wp-block-button__link.has-base-background-color,
.wp-block-button.is-style-outline .wp-block-button__link.has-custom-primary-green-background-color,
.wp-block-button.is-style-outline .wp-block-button__link.has-custom-accent-1-background-color,
.wp-block-button.is-style-outline .wp-block-button__link.has-base-background-color {
    padding: 10px;
}

/* Active state for all buttons */
.wp-block-button__link.has-custom-primary-green-background-color:active,
.wp-block-button__link.has-custom-accent-1-background-color:active,
.wp-block-button__link.has-base-background-color:active {
    transform: translateY(1px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wp-block-button__link.has-custom-primary-green-background-color,
    .wp-block-button__link.has-custom-accent-1-background-color,
    .wp-block-button__link.has-base-background-color {
        padding: 8px;
        /* font-size: 12px !important; */
    }
}

/* =============================================================================
   WORDPRESS EDITOR CLASS OVERRIDES - Add this to your custom-styles.css
   Forces custom typography over WordPress editor-generated classes
   ============================================================================= */

/* Override WordPress Font Size Classes with Custom Typography */

/* H1 Overrides */
h1.has-small-font-size,
h1.has-medium-font-size,
h1.has-large-font-size,
h1.has-x-large-font-size,
h1.has-xx-large-font-size,
h1[class*="has-"][class*="-font-size"] {
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    line-height: 5.25rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* H2 Overrides */
h2.has-small-font-size,
h2.has-medium-font-size,
h2.has-large-font-size,
h2.has-x-large-font-size,
h2.has-xx-large-font-size,
h2[class*="has-"][class*="-font-size"] {
    font-size: 2.125rem !important;
    font-weight: 500 !important;
    line-height: 3.375rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* H3 Overrides */
h3.has-small-font-size,
h3.has-medium-font-size,
h3.has-large-font-size,
h3.has-x-large-font-size,
h3.has-xx-large-font-size,
h3[class*="has-"][class*="-font-size"] {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 2.25rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* H4 Overrides */
h4.has-small-font-size,
h4.has-medium-font-size,
h4.has-large-font-size,
h4.has-x-large-font-size,
h4.has-xx-large-font-size,
h4[class*="has-"][class*="-font-size"] {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.6875rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* H5 & H6 Overrides */
h5.has-small-font-size,
h5.has-medium-font-size,
h5.has-large-font-size,
h5.has-x-large-font-size,
h5.has-xx-large-font-size,
h5[class*="has-"][class*="-font-size"],
h6.has-small-font-size,
h6.has-medium-font-size,
h6.has-large-font-size,
h6.has-x-large-font-size,
h6.has-xx-large-font-size,
h6[class*="has-"][class*="-font-size"] {
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    line-height: 1.6875rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* Paragraph Overrides */
p.has-small-font-size,
p.has-medium-font-size,
p.has-large-font-size,
p.has-x-large-font-size,
p.has-xx-large-font-size,
p[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* List Overrides */
ul.has-small-font-size,
ul.has-medium-font-size,
ul.has-large-font-size,
ul.has-x-large-font-size,
ul.has-xx-large-font-size,
ul[class*="has-"][class*="-font-size"],
ol.has-small-font-size,
ol.has-medium-font-size,
ol.has-large-font-size,
ol.has-x-large-font-size,
ol.has-xx-large-font-size,
ol[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* List Item Overrides */
li.has-small-font-size,
li.has-medium-font-size,
li.has-large-font-size,
li.has-x-large-font-size,
li.has-xx-large-font-size,
li[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* Blockquote Overrides */
blockquote.has-small-font-size,
blockquote.has-medium-font-size,
blockquote.has-large-font-size,
blockquote.has-x-large-font-size,
blockquote.has-xx-large-font-size,
blockquote[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

/* WordPress Block-specific Overrides */
.wp-block-heading.has-small-font-size,
.wp-block-heading.has-medium-font-size,
.wp-block-heading.has-large-font-size,
.wp-block-heading.has-x-large-font-size,
.wp-block-heading.has-xx-large-font-size,
.wp-block-heading[class*="has-"][class*="-font-size"] {
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

.wp-block-paragraph.has-small-font-size,
.wp-block-paragraph.has-medium-font-size,
.wp-block-paragraph.has-large-font-size,
.wp-block-paragraph.has-x-large-font-size,
.wp-block-paragraph.has-xx-large-font-size,
.wp-block-paragraph[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

.wp-block-list.has-small-font-size,
.wp-block-list.has-medium-font-size,
.wp-block-list.has-large-font-size,
.wp-block-list.has-x-large-font-size,
.wp-block-list.has-xx-large-font-size,
.wp-block-list[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

.wp-block-quote.has-small-font-size,
.wp-block-quote.has-medium-font-size,
.wp-block-quote.has-large-font-size,
.wp-block-quote.has-x-large-font-size,
.wp-block-quote.has-xx-large-font-size,
.wp-block-quote[class*="has-"][class*="-font-size"] {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.5rem !important;
    letter-spacing: 0.04rem !important;
    font-family: 'Open Sans', sans-serif !important;
    font-style: normal !important;
}

.wp-block-image.aligncenter{
    display: block;
}

.nf-form-cont .nf-element,
.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="url"],
.nf-form-cont input[type="tel"],
.nf-form-cont input[type="number"],
.nf-form-cont input[type="password"],
.nf-form-cont input[type="search"],
.nf-form-cont input[type="date"],
.nf-form-cont input[type="time"],
.nf-form-cont input[type="file"],
.nf-form-cont select,
.nf-form-cont textarea {
    width: 100%;
    display: block;
    padding: 0.75rem 0.875rem;
    font-size: 1rem;
    line-height: 1.4;
    color: black;
    background: #ffffff;
    border: 3px solid var(--neutral-1);
    border-radius: 6px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 0.04rem;
}

.nf-form-cont input[type="button"],
.nf-form-cont input[type="submit"],
.nf-form-cont .nf-next,
.nf-form-cont .nf-previous {
  background-color: var(--primary-green);
  border-radius: 0px;
  font-size: 18px !important;
    font-family: 'Open Sans', sans-serif;
    color: #FFFFFF;
    line-height: 1.2 !important;
    letter-spacing: 0.5px;
    border-color: var(--primary-green) !important;
    font-weight: 600 !important;
    border-width: 3px;
    border-style: solid;
    transition: all 0.3s ease;
    text-decoration: none;
    word-break: auto-phrase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nf-form-cont input[type="button"]:hover,
.nf-form-cont input[type="submit"]:hover,
.nf-form-cont .nf-next:hover,
.nf-form-cont .nf-previous:hover {
    background-color: color-mix(in srgb, var(--primary-green) 85%, var(--black)) !important;
    color: var(--white) !important;
    border-color: color-mix(in srgb, var(--primary-green) 85%, var(--black)) !important;
    transform: translateY(-1px);
    background-color: var(--neutral-2) !important;
    color: var(--black) !important;
    border-color: var(--primary-green) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-green) 20%, transparent);
}

.nf-form-fields-required {
    font-style: italic;
    padding-bottom: 24px;
}

/* Responsive Overrides for Mobile */
@media (max-width: 768px) {
    h1.has-small-font-size,
    h1.has-medium-font-size,
    h1.has-large-font-size,
    h1.has-x-large-font-size,
    h1.has-xx-large-font-size,
    h1[class*="has-"][class*="-font-size"] {
        font-size: 2.5rem !important;
        line-height: 3.75rem !important;
    }
    
    h2.has-small-font-size,
    h2.has-medium-font-size,
    h2.has-large-font-size,
    h2.has-x-large-font-size,
    h2.has-xx-large-font-size,
    h2[class*="has-"][class*="-font-size"] {
        font-size: 1.75rem !important;
        line-height: 2.625rem !important;
    }
    
    h3.has-small-font-size,
    h3.has-medium-font-size,
    h3.has-large-font-size,
    h3.has-x-large-font-size,
    h3.has-xx-large-font-size,
    h3[class*="has-"][class*="-font-size"] {
        font-size: 1.25rem !important;
        line-height: 1.875rem !important;
    }
    
    h4.has-small-font-size,
    h4.has-medium-font-size,
    h4.has-large-font-size,
    h4.has-x-large-font-size,
    h4.has-xx-large-font-size,
    h4[class*="has-"][class*="-font-size"] {
        font-size: 1.125rem !important;
        line-height: 1.5rem !important;
    }
}

@media (max-width: 480px) {
    h1.has-small-font-size,
    h1.has-medium-font-size,
    h1.has-large-font-size,
    h1.has-x-large-font-size,
    h1.has-xx-large-font-size,
    h1[class*="has-"][class*="-font-size"] {
        font-size: 2rem !important;
        line-height: 3rem !important;
    }
    
    h2.has-small-font-size,
    h2.has-medium-font-size,
    h2.has-large-font-size,
    h2.has-x-large-font-size,
    h2.has-xx-large-font-size,
    h2[class*="has-"][class*="-font-size"] {
        font-size: 1.5rem !important;
        line-height: 2.25rem !important;
    }
    
    h3.has-small-font-size,
    h3.has-medium-font-size,
    h3.has-large-font-size,
    h3.has-x-large-font-size,
    h3.has-xx-large-font-size,
    h3[class*="has-"][class*="-font-size"] {
        font-size: 1.125rem !important;
        line-height: 1.6875rem !important;
    }
}

.custom-column-height {
    height:100% !important;
    min-height:unset !important;
    }


.mobile-copyright {
    display: none;
    }


@media screen and (max-width: 782px) {
    footer,
    footer *,
    footer *::before,
    footer *::after {
        grid-row: auto !important;
        position: static !important;
        float: none !important;
        /* display: block !important; */
        text-align: left !important;
    }
    

    .has-huge-icon-size {
        justify-content: flex-start !important;
        margin-bottom: 2rem !important;
    }

    
    .has-huge-icon-size {
        li {
            a {
                svg {
                    height: 50px !important;
                    width: 50px !important;
                }
            }
        }  

    }

    /* Specific logo image targeting */
    footer .wp-block-image.size-large.is-resized {
        margin: 32px !important;
    }
    
    footer li {
        display: list-item !important;
        list-style: none !important;
    }
    
    footer img {
        display: inline-block !important;
        /* max-width: 100% !important; */
        height: auto !important;
        max-width: 300px !important;
        
    }

    footer figure.wp-block-image.alignright {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 24px !important;
        float: none !important;
    }

    footer figure.wp-block-image.alignright img {
        display: block !important;
        width: 100% !important;
        max-width: 300px !important;
        height: auto !important;
    }

    footer img[style] {
        width: 100% !important;
        max-width: 300px !important;
        height: auto !important;
    }

    footer figure.wp-block-image {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    
    footer .wp-block-column {
        padding-left: 0 !important;
    }
    
 
    footer p {
        padding-left: 0 !important;
        margin: 0 24px !important;
        max-width: 586px !important;
    }
    

    footer .wp-block-group.has-global-padding h3 {
        padding-left: 24px !important;
    }

    
    footer figure {
        margin: 0 24px !important;
        img {
            padding: 0 !important;
            margin: 0 !important;
        }
    }
    

    .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        margin-left: 0 !important;
    }
    

    .desktop-copyright {display: none !important;}

    .mobile-copyright {
        display: block !important;
        margin-left: 24px !important;
        margin-top: 24px !important;
    }

    .wp-container-core-columns-is-layout-88d8b904 {
        gap: 0 !important;
    }
    

}


span.wp-block-navigation__submenu-icon {
    position: absolute;
    right: 0;
    display: block !important;
}