/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Description: A child theme of Hello Elementor
Version: 1.0.0
Author: Your Name
Text Domain: hello-elementor-child
*/

/* Add your custom styles below this line */

:root {
    --color-dark-blue: #14283E;
    --color-white: #FFFFFF;
    --color-blue: #406780;
    --color-red: #CC505F;
    --color-green: #8CD5B8;
    --color-gray: #666666;

    --wp--preset--color--dark-blue: var(--color-dark-blue);
    --wp--preset--color--white: var(--color-white);
    --wp--preset--color--blue: var(--color-blue);
    --wp--preset--color--red: var(--color-red);
    --wp--preset--color--green: var(--color-green);

    --en-group-overlay-opacity: 0.9;

    --en-content-max-width: min(1200px, 92vw);
    --en-wide-max-width: min(1400px, 96vw);
    --en-content-padding-inline: clamp(24px, 4vw, 64px);
    --en-block-spacing: 5rem;
    --en-border-radius: 15px;

    --wp--style--global--content-size: var(--en-content-max-width);
    --wp--style--global--wide-size: var(--en-wide-max-width);
    --wp--style--root--padding-left: var(--en-content-padding-inline);
    --wp--style--root--padding-right: var(--en-content-padding-inline);
    --wp--style--block-gap: var(--en-block-spacing);

    --wp--preset--font-size--small: 0.875rem;
    --wp--preset--font-size--medium: 1rem;
    --wp--preset--font-size--large: 4rem;
    --wp--preset--font-size--x-large: 7rem;

    --wp--preset--typography--body-font-family: 'Montserrat', sans-serif;
    --wp--preset--typography--body-font-weight: 400;
    --wp--preset--typography--body-line-height: 1.6;
    --wp--preset--typography--heading-font-family: 'Montserrat', sans-serif;
    --wp--preset--typography--heading-font-weight: 600;
}
body:not(.page-template-no-title) #page {
    margin-top: 3rem;
}
.nav-contact-us {
    background-color: unset !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.wp-site-blocks {
    --wp--style--block-gap: var(--en-block-spacing);
}

.has-block-editor-content .entry-content {
    --wp--style--block-gap: var(--en-block-spacing);
}

/* Align core block widths with custom block layout */
.wp-site-blocks .wp-block-group:not(.alignfull):not(.alignwide) {
    max-width: var(--en-content-max-width);
    margin-inline: auto;
}

.wp-site-blocks .wp-block-group.alignwide {
    max-width: var(--en-wide-max-width);
    margin-inline: auto;
}

.wp-site-blocks .wp-block-group.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.wp-site-blocks .wp-block-group > .wp-block-group__inner-container {
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

.wp-block-group.has-background[style*="background-image"] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.wp-block-group.has-background[style*="background-image"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: inherit;
    opacity: var(--en-group-overlay-opacity, 0.65);
    z-index: 0;
}

.wp-block-group.has-background[style*="background-image"] > * {
    position: relative;
    z-index: 1;
}

.wp-site-blocks .wp-block-group:not(.alignwide):not(.alignfull) > .wp-block-group__inner-container {
    max-width: var(--en-content-max-width);
    padding-inline: var(--en-content-padding-inline);
}

.wp-site-blocks .wp-block-group.alignwide > .wp-block-group__inner-container {
    max-width: var(--en-wide-max-width);
    padding-inline: var(--en-content-padding-inline);
}

.wp-site-blocks .wp-block-group.alignfull > .wp-block-group__inner-container {
    max-width: var(--en-content-max-width);
    margin-inline: auto;
    padding-inline: var(--en-content-padding-inline);
    box-sizing: border-box;
    width: 100%;
}

:where(.wp-site-blocks) > *,
:where(.has-block-editor-content .entry-content) > * {
    margin-block: 0;
}

:where(.wp-site-blocks) > * + *,
:where(.has-block-editor-content .entry-content) > * + * {
    margin-block-start: var(--en-block-spacing);
}

:where(.wp-site-blocks .is-layout-flow) > *,
:where(.has-block-editor-content .entry-content .is-layout-flow) > * {
    margin-block: 0;
}

:where(.wp-site-blocks .is-layout-flow) > * + *,
:where(.has-block-editor-content .entry-content .is-layout-flow) > * + * {
    margin-block-start: var(--en-block-spacing);
}

:where(.wp-site-blocks .is-layout-constrained) > *,
:where(.has-block-editor-content .entry-content .is-layout-constrained) > * {
    margin-block: 0;
}

:where(.wp-site-blocks .is-layout-constrained) > * + *,
:where(.has-block-editor-content .entry-content .is-layout-constrained) > * + * {
    margin-block-start: var(--en-block-spacing);
}

:where(.wp-site-blocks .is-layout-flex),
:where(.has-block-editor-content .entry-content .is-layout-flex) {
    gap: var(--en-block-spacing);
}

:where(.wp-site-blocks .is-layout-grid),
:where(.has-block-editor-content .entry-content .is-layout-grid) {
    gap: var(--en-block-spacing);
}

.wp-block-column.is-vertically-aligned-stretch {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
    margin: 0!important;
}

.wp-block-gallery.membership-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    margin: 0;
}


@media (max-width: 480px) {
    .wp-block-gallery.membership-gallery, .wp-block-gallery.sellers-gallery {
        gap: 1rem !important;
        padding: 2rem !important;
        max-width: 100%;
    }
    .wp-block-gallery.membership-gallery {
        margin-inline: 0 !important;
    }
    .wp-block-gallery.membership-gallery.has-nested-images figure.wp-block-image:not(#individual-image), .wp-block-gallery.sellers-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
        flex-basis: 45%;
    }
    .wp-block-gallery.sellers-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
        max-width: 5rem;
    }
}

.wp-block-gallery .wp-element-caption {
    font-style: normal;
    font-size: 1.25rem !important;
    font-weight: 600;
    line-height: 1.3;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: var(--color-dark-blue);
    background-color: var(--color-white);
}

body.has-block-editor-content {
    font-family: 'Montserrat', sans-serif !important;
    color: var(--color-dark-blue, #14283E) !important;
}

/* HubSpot progressive form */
.wp-block-leadin-hubspot-form-block {
    display: flex;
    justify-content: center;
}

.hs-progressive-form {
    --hs-progressive-transition: 0.35s ease;
    --hs-progressive-offset: 12px;
    --hs-progressive-border-radius: var(--en-border-radius);
    --hs-progressive-height: 64px;
    --hs-progressive-bg: var(--color-green);
    --hs-progressive-bg-accent: var(--color-green);
    --hs-progressive-text: var(--color-dark-blue);
    --hs-progressive-button-bg: var(--color-green);
    --hs-progressive-button-text: var(--color-dark-blue);
    --hs-progressive-focus: var(--color-dark-blue);
    --hs-progressive-divider: var(--color-green);
    --hs-progressive-input-bg: var(--color-white);
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 4px;
    background: var(--hs-progressive-bg);
    border-radius: var(--hs-progressive-border-radius);
    box-shadow: 0 6px 20px rgba(20, 40, 62, 0.12);
    width: auto;
    max-width: none;
    overflow: hidden;
}

.hs-progressive-form fieldset,
.hs-progressive-form .hs-form fieldset {
    border: 0;
    padding: 0;
    margin: 0 !important;
    display: flex;
    align-items: stretch;
    width: auto;
    flex: 0 0 auto;
}

.hs-progressive-form .hs-form-field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: var(--hs-progressive-text);
    width: auto;
}

.hs-progressive-form .hs-form-field label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.hs-progressive-form .hs-form-field .input {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--hs-progressive-height);
    margin: 0 !important;
}

.hs-progressive-form .hs-form-field .input input {
    width: 100%;
}

.hs-progressive-form .hs-input {
    border: none;
    border-radius: 0;
    padding-inline: clamp(20px, 5vw, 28px);
    height: 100%;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    background: var(--hs-progressive-input-bg);
    color: var(--hs-progressive-text);
    min-width: clamp(220px, 32vw, 320px);
    box-shadow: inset 0 0 0 1px rgba(12, 23, 34, 0.05);
    transition: box-shadow var(--hs-progressive-transition), background-color var(--hs-progressive-transition);
    flex: 0 0 auto;
}

.hs-progressive-form .hs_email .hs-input {
    border-top-left-radius: calc(var(--hs-progressive-border-radius) - 4px);
    border-bottom-left-radius: calc(var(--hs-progressive-border-radius) - 4px);
    box-shadow:
        inset 0 0 0 1px rgba(12, 23, 34, 0.05),
        inset -1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .form-columns-2 {
    display: flex;
    gap: 0;
    padding: 0;
    width: auto;
    flex: 0 0 auto;
}

.hs-progressive-form .form-columns-2 .hs-form-field {
    flex: 0 0 auto;
}

.hs-progressive-form .form-columns-2 .hs-form-field .hs-input {
    min-width: 180px;
    font-size: 0.95rem;
    padding-inline: 18px;
    box-shadow:
        inset 0 0 0 1px rgba(12, 23, 34, 0.05),
        inset 1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .hs-input:focus {
    outline: none;
    background: #ffffff;
    box-shadow:
        inset 0 0 0 2px var(--hs-progressive-focus),
        inset -1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .form-columns-2 .hs-form-field .hs-input:focus {
    box-shadow:
        inset 0 0 0 2px var(--hs-progressive-focus),
        inset 1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .hs-progressive-field {
    transition: opacity var(--hs-progressive-transition),
        transform var(--hs-progressive-transition),
        max-height var(--hs-progressive-transition),
        margin var(--hs-progressive-transition);
    max-height: 320px;
    opacity: 1;
    transform: translateY(0);
    will-change: opacity, transform, max-height, margin;
}

.hs-progressive-form .hs-progressive-field--hidden {
    max-height: 0;
    opacity: 0;
    transform: translateY(calc(var(--hs-progressive-offset) * -1));
    pointer-events: none;
    visibility: hidden;
    overflow: hidden;
    display: none;
}

.hs-progressive-form-hidden {
    display: none !important;
}

.hs-progressive-known {
    --hs-progressive-border-radius: var(--en-border-radius);
    --hs-progressive-bg: #8cd5b8;
    --hs-progressive-text: #14283e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 4px;
    background: transparent;
}

.hs-progressive-known form,
.hs-progressive-known .hs-recaptcha,
.hs-progressive-known .hs_recaptcha,
.hs-progressive-known .hs-sweet,
.hs-progressive-known .hs-field-desc,
.hs-progressive-known .hs-submit,
.hs-progressive-known .legal-consent-container {
    display: none !important;
}

.hs-progressive-known .hs-progressive-known-message {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 28px;
    border-radius: var(--hs-progressive-border-radius);
    background: var(--hs-progressive-bg);
    color: var(--hs-progressive-text);
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    box-shadow: 0 6px 20px rgba(20, 40, 62, 0.12);
    line-height: 1.4;
    min-width: clamp(260px, 40vw, 420px);
}

.hs-progressive-form .hs-submit {
    margin: 0;
    flex: 0 0 auto;
}

.hs-progressive-form .hs-submit .actions {
    height: 100%;
}

.hs-progressive-form .hs-button {
    height: var(--hs-progressive-height);
    border: none;
    border-radius: var(--en-border-radius);
    padding-inline: clamp(18px, 4vw, 28px);
    font-weight: 700;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    background: var(--color-green);
    color: var(--color-dark-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    box-shadow: inset 1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .hs-button:hover,
.hs-progressive-form .hs-button:focus {
    background: var(--hs-progressive-bg-accent);
    transform: translateX(1px);
}

.hs-progressive-form .hs-error-msgs {
    margin-top: 4px;
    margin-left: clamp(12px, 3vw, 20px);
    font-size: 0.85rem;
    color: #b33a45;
}

.hs-progressive-form .legal-consent-container,
.hs-progressive-form .hs-recaptcha,
.hs-progressive-form .hs_recaptcha,
.hs-progressive-form .hs-field-desc,
.hs-progressive-form .hs-sweet,
.hs-progressive-form [style*="display:none"] {
    display: none !important;
}

.hs-progressive-form .hs-form-required {
    display: none;
}

.hs-progressive-form.hs-progressive-form--revealed .form-columns-2 {
    display: flex;
}

.hs-progressive-form:not(.hs-progressive-form--revealed) .form-columns-2 {
    display: none;
}

.hs-progressive-form .no-list {
    list-style: none;
    padding: 0;
}

.hs-progressive-form .inputs-list {
    margin: 0;
}

.hs-progressive-form .hs-form-field.smart-field {
    align-items: center;
}

.hs-progressive-form input.hs-input.error {
    background: #fff;
}

.hs-progressive-form .hs_email input.hs-input.error {
    box-shadow:
        inset 0 0 0 2px rgba(179, 58, 69, 0.8),
        inset -1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .hs-progressive-field input.hs-input.error {
    box-shadow:
        inset 0 0 0 2px rgba(179, 58, 69, 0.8),
        inset 1px 0 0 0 var(--hs-progressive-divider);
}

.hs-progressive-form .hs-button::after {
    content: '\2192';
    font-size: 1.25rem;
}

.hs-progressive-form .hs-button.primary.large {
    min-width: 140px;
}
.hbspt-form .submitted-message p {
    text-align: center;
}

@media (max-width: 720px) {
    .hs-progressive-form {
        display: flex;
        flex-direction: column;
        width: 100%;
        border-radius: calc(var(--en-border-radius) * 1.5);
        padding: 20px;
        gap: 16px;
    }

    .hs-progressive-form fieldset,
    .hs-progressive-form .hs-form fieldset {
        flex-direction: column;
        width: 100%;
    }

    .hs-progressive-form .hs-form-field,
    .hs-progressive-form .form-columns-1,
    .hs-progressive-form .form-columns-2 {
        width: 100%;
    }

    .hs-progressive-form .form-columns-2 {
        gap: 12px;
        padding: 0;
    }

    .hs-progressive-form .hs-form-field .input {
        height: auto;
    }

    .hs-progressive-form .hs-input,
    .hs-progressive-form .hs-progressive-field .hs-input,
    .hs-progressive-form .hs_email .hs-input {
        min-width: auto;
        height: 56px;
        border-radius: var(--en-border-radius);
        box-shadow: inset 0 0 0 1px rgba(12, 23, 34, 0.12);
    }

    .hs-progressive-form .hs-button {
        width: 100%;
        border-radius: var(--en-border-radius);
        box-shadow: none;
        transform: none;
    }

    .hs-progressive-form .hs-error-msgs {
        margin-left: 0;
    }

    .hs-progressive-known {
        width: 100%;
        padding: 0;
    }

    .hs-progressive-known .hs-progressive-known-message {
        width: 100%;
        border-radius: calc(var(--en-border-radius) * 1.5);
        min-width: 0;
        padding: 18px 20px;
    }
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif;
    color: var(--color-dark-blue);
}

a {
    color: var(--color-blue);
}

a:hover,
a:focus {
    color: var(--color-dark-blue);
}


.wp-block-button__link,
.wp-element-button {
    font-weight: 700;
    border-radius: var(--en-border-radius);
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    position: relative;
    overflow: hidden;
    transition: background-color 0.2s ease, color 0.2s ease;
    background-color: var(--color-blue);
    color: var(--color-white);
}

.wp-block-button__link:visited,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button__link:focus-visible,
.wp-element-button:visited,
.wp-element-button:hover,
.wp-element-button:focus,
.wp-element-button:focus-visible {
    text-decoration: none !important;
}

.wp-block-button__link::after,
.wp-element-button::after {
    content: "";
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    margin-inline-start: 0.25em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij48cGF0aCBkPSJNMTg0LjQ5LDEzNi40OWwtODAsODBhMTIsMTIsMCwwLDEtMTctMTdMMTU5LDEyOCw4Ny41MSw1Ni40OWExMiwxMiwwLDEsMSwxNy0xN2w4MCw4MEExMiwxMiwwLDAsMSwxODQuNDksMTM2LjQ5WiIgLz48L3N2Zz4=");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij48cGF0aCBkPSJNMTg0LjQ5LDEzNi40OWwtODAsODBhMTIsMTIsMCwwLDEtMTctMTdMMTU5LDEyOCw4Ny41MSw1Ni40OWExMiwxMiwwLDEsMSwxNy0xN2w4MCw4MEExMiwxMiwwLDAsMSwxODQuNDksMTM2LjQ5WiIgLz48L3N2Zz4=");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: transform 0.2s ease;
}

.wp-block-button__link:hover::after,
.wp-block-button__link:focus-visible::after,
.wp-element-button:hover::after,
.wp-element-button:focus-visible::after {
    transform: translateX(0.1em);
}

.wp-block-button__link.no-auto-icon::after,
.wp-element-button.no-auto-icon::after {
    content: none;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-element-button:hover,
.wp-element-button:focus-visible {
    filter: none;
}

.wp-block-button__link.has-dark-blue-background-color:hover,
.wp-block-button__link.has-dark-blue-background-color:focus-visible,
.wp-element-button.has-dark-blue-background-color:hover,
.wp-element-button.has-dark-blue-background-color:focus-visible {
    background-color: #1f3b58 !important;
}

.wp-block-button__link.has-blue-background-color:hover,
.wp-block-button__link.has-blue-background-color:focus-visible,
.wp-element-button.has-blue-background-color:hover,
.wp-element-button.has-blue-background-color:focus-visible {
    background-color: #345366 !important;
}

.wp-block-button__link.has-red-background-color:hover,
.wp-block-button__link.has-red-background-color:focus-visible,
.wp-element-button.has-red-background-color:hover,
.wp-element-button.has-red-background-color:focus-visible {
    background-color: #b64653 !important;
}

.wp-block-button__link.has-green-background-color:hover,
.wp-block-button__link.has-green-background-color:focus-visible,
.wp-element-button.has-green-background-color:hover,
.wp-element-button.has-green-background-color:focus-visible {
    background-color: #78bba0 !important;
}

.wp-block-button__link.has-white-background-color:hover,
.wp-block-button__link.has-white-background-color:focus-visible,
.wp-element-button.has-white-background-color:hover,
.wp-element-button.has-white-background-color:focus-visible {
    background-color: #e6e6e6 !important;
    color: var(--color-dark-blue) !important;
}

.wp-block-button__link:not([class*="-background-color"]):not([style*="background"]):hover,
.wp-block-button__link:not([class*="-background-color"]):not([style*="background"]):focus-visible,
.wp-element-button:not([class*="-background-color"]):not([style*="background"]):hover,
.wp-element-button:not([class*="-background-color"]):not([style*="background"]):focus-visible {
    background-color: #345366;
    color: var(--color-white);
}

button,
input[type="button"],
input[type="submit"],
.wp-element-button {
    border-radius: var(--en-border-radius);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    border-color: currentColor;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-dark-blue-background-color {
    border-color: var(--color-dark-blue) !important;
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-dark-blue-background-color:not(.has-text-color) {
    color: var(--color-dark-blue) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-white-background-color {
    border-color: var(--color-white) !important;
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-white-background-color:not(.has-text-color) {
    color: var(--color-white) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-blue-background-color {
    border-color: var(--color-blue) !important;
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-blue-background-color:not(.has-text-color) {
    color: var(--color-blue) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-red-background-color {
    border-color: var(--color-red) !important;
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-red-background-color:not(.has-text-color) {
    color: var(--color-red) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-green-background-color {
    border-color: var(--color-green) !important;
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link.has-green-background-color:not(.has-text-color) {
    color: var(--color-green) !important;
}

.has-dark-blue-color {
    color: var(--color-dark-blue) !important;
}

.has-dark-blue-background-color {
    background-color: var(--color-dark-blue) !important;
}

.has-white-color {
    color: var(--color-white) !important;
}

.has-white-background-color {
    background-color: var(--color-white) !important;
}

.has-blue-color {
    color: var(--color-blue) !important;
}

.has-blue-background-color {
    background-color: var(--color-blue) !important;
}

.has-red-color {
    color: var(--color-red) !important;
}

.has-red-background-color {
    background-color: var(--color-red) !important;
}

.has-green-color {
    color: var(--color-green) !important;
}

.has-green-background-color {
    background-color: var(--color-green) !important;
}

.wp-site-blocks .has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}

.wp-site-blocks .has-medium-font-size {
    font-size: var(--wp--preset--font-size--medium) !important;
}

.wp-site-blocks .has-large-font-size {
    font-size: var(--wp--preset--font-size--large) !important;
}

.wp-site-blocks .has-x-large-font-size {
    font-size: var(--wp--preset--font-size--x-large) !important;
}

.has-block-editor-content .entry-content .has-small-font-size,
.has-block-editor-content .entry-content .has-medium-font-size,
.has-block-editor-content .entry-content .has-large-font-size,
.has-block-editor-content .entry-content .has-x-large-font-size,
.wp-site-blocks .has-small-font-size,
.wp-site-blocks .has-medium-font-size,
.wp-site-blocks .has-large-font-size,
.wp-site-blocks .has-x-large-font-size {
    --wp-element-font-size: inherit;
    line-height: normal;
}

.has-block-editor-content .entry-content {
    font-family: var(--wp--preset--typography--body-font-family, 'Montserrat', sans-serif) !important;
    color: var(--color-dark-blue, #14283E) !important;
    font-size: var(--wp--preset--font-size--medium, 1rem) !important;
    line-height: 1.6 !important;
}

.has-block-editor-content .entry-content h1,
.has-block-editor-content .entry-content h2,
.has-block-editor-content .entry-content h3,
.has-block-editor-content .entry-content h4,
.has-block-editor-content .entry-content h5,
.has-block-editor-content .entry-content h6 {
    font-family: 'Montserrat', sans-serif !important;
    color: var(--color-dark-blue, #14283E) !important;
}

.has-block-editor-content .entry-content p,
body.elementor-kit-4.has-block-editor-content .entry-content p,
.has-block-editor-content .entry-content p,
body.elementor-kit-4:not(.elementor-page) .entry-content p,
.wp-site-blocks p,
.elementor-kit-4 .wp-site-blocks p {
    margin: 0 0 1.5em !important;
    margin-bottom: 1.5em !important;
    margin-block-start: 0 !important;
    margin-block-end: 1.5em !important;
    line-height: 1.6;
}

.has-block-editor-content .entry-content p:last-child,
body.elementor-kit-4.has-block-editor-content .entry-content p:last-child,
.has-block-editor-content .entry-content p:last-child,
body.elementor-kit-4:not(.elementor-page) .entry-content p:last-child,
.wp-site-blocks p:last-child,
.elementor-kit-4 .wp-site-blocks p:last-child {
    margin-bottom: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* ================================
   Header Styles
   ================================ */

/* Override parent theme max-width constraints */
.site-header,
.site-header:not(.dynamic-header),
.site-header .header-inner {
    max-width: none !important;
}

/* Override Elementor kit button styles in header only */
.site-header button,
.site-header input[type="button"],
.site-header input[type="submit"] {
    background-color: transparent !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    border-radius: 0 !important;
    padding: 0 !important;
    border: none !important;
}
.site-header .nav-contact-us {
    background-color: unset !important;
    padding: 0 !important;
    border-radius: 0 !important;
}


.site-header {
    position: relative;
    z-index: 1000;
}


.site-header__top-bar,
.site-header__sticky {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.site-header__top-bar {
    background: #f5f7fa;
    border-bottom: 1px solid rgba(20, 40, 62, 0.08);
}

.site-header__sticky {
    background: var(--color-white);
    box-shadow: 0 2px 10px rgba(20, 40, 62, 0.08);
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: box-shadow 0.3s ease, padding 0.3s ease;
}

.site-header__top-bar-inner {
    max-width: var(--en-content-max-width);
    margin: 0 auto;
    padding: 0.35rem 0.5rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    box-sizing: border-box;
}

.site-header__utility-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--color-dark-blue);
}

.site-header__utility-menu a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

.site-header__utility-menu a:hover,
.site-header__utility-menu a:focus {
    color: var(--color-blue);
}

.main-navigation__utility {
    display: none;
}

.site-header__sticky.is-scrolled {
    box-shadow: 0 4px 20px rgba(20, 40, 62, 0.12);
}

.site-header__container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: var(--en-content-max-width);
    width: 100%;
    margin: 0 auto;
    padding: 0.75rem 0.5rem;
    gap: 1rem;
    box-sizing: border-box;
}

.site-header__logo a {
    display: block;
    line-height: 0;
}

.site-header__logo img {
    height: 40px;
    width: auto;
}

.main-navigation {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.main-navigation .menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 3rem;
    align-items: center;
}

.main-navigation .menu > li {
    position: relative;
}

.main-navigation .menu > li > a {
    color: var(--color-dark-blue);
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus {
    color: var(--color-blue);
}

.main-navigation .menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    margin-left: 0.25rem;
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.main-navigation .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--color-white);
    box-shadow: 0 4px 20px rgba(20, 40, 62, 0.15);
    border-radius: 8px;
    min-width: 240px;
    list-style: none;
    margin: 0.5rem 0 0 0;
    padding: 0.75rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.main-navigation .menu > li:hover > .sub-menu,
.main-navigation .menu > li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-navigation .sub-menu li {
    margin: 0;
}

.main-navigation .sub-menu a {
    display: block;
    padding: 0.75rem 1.5rem;
    color: var(--color-dark-blue);
    text-decoration: none;
    font-size: 0.95rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus {
    background-color: rgba(20, 40, 62, 0.05);
    color: var(--color-blue);
}

.main-navigation .menu > li.nav-contact-us > a,
.main-navigation .menu > li.menu-item-52959 > a,
.main-navigation .menu > li:last-child > a {
    background-color: var(--color-red);
    color: var(--color-white) !important;
    padding: 0.75rem 1.5rem;
    border-radius: var(--en-border-radius);
    font-weight: 600;
    transition: background-color 0.2s ease;
    border-radius: var(--en-border-radius);
}

.main-navigation .menu > li.nav-contact-us > a:hover,
.main-navigation .menu > li.nav-contact-us > a:focus,
.main-navigation .menu > li.menu-item-52959 > a:hover,
.main-navigation .menu > li.menu-item-52959 > a:focus,
.main-navigation .menu > li:last-child > a:hover,
.main-navigation .menu > li:last-child > a:focus {
    background-color: var(--color-dark-blue);
    color: var(--color-white) !important;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-header__search-toggle,
.site-header__menu-toggle {
    background: none !important;
    border: none !important;
    color: var(--color-dark-blue) !important;
    cursor: pointer;
    padding: 0.5rem !important;
    font-size: 1.5rem !important;
    display: flex;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease;
}

.site-header__search-toggle span,
.site-header__menu-toggle span,
.site-header__search-toggle i,
.site-header__menu-toggle i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.site-header__search-toggle:hover,
.site-header__search-toggle:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
    color: var(--color-blue);
}

.site-header__menu-toggle {
    display: none;
}

.site-search {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(20, 40, 62, 0.95);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.site-search[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
}

.site-search__container {
    position: relative;
    max-width: 800px;
    width: 90%;
}

.site-search__form {
    width: 100%;
}

.site-search__input {
    width: 100%;
    padding: 1.5rem 2rem;
    font-size: 1.5rem;
    border: none;
    border-radius: var(--en-border-radius);
    font-family: 'Montserrat', sans-serif;
    background: var(--color-white);
    color: var(--color-dark-blue);
}

.site-search__close {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    border: none;
    color: var(--color-white);
    font-size: 2rem;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

.site-search__close:hover,
.site-search__close:focus {
    transform: scale(1.1);
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Mobile Header Styles */
@media (max-width: 1024px) {
    .main-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: 300px;
        height: 100vh;
        background: var(--color-white);
        box-shadow: -4px 0 20px rgba(20, 40, 62, 0.15);
        transition: right 0.3s ease;
        z-index: 9998;
        overflow-y: auto;
        padding: 2rem 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .main-navigation.is-open {
        right: 0;
    }

    .main-navigation .menu {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
        padding: 0 2rem;
    }

    .main-navigation .menu > li {
        border-bottom: 1px solid rgba(20, 40, 62, 0.1);
    }
    .main-navigation .menu > li:last-child {
        margin-top: 1rem;
        border-bottom: none;
    }

    .main-navigation .menu > li > a {
        padding: 1rem 2rem;
    }

    .main-navigation .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        background: rgba(20, 40, 62, 0.03);
        margin: 0;
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .main-navigation .menu > li.is-open > .sub-menu {
        max-height: 1000px;
    }

    .main-navigation .sub-menu a {
        padding-left: 3rem;
    }

    .site-header__menu-toggle {
        display: flex;
    }

    .site-header__search-toggle {
        display: none;
    }

    .site-header__top-bar {
        display: none;
    }

    .main-navigation__utility {
        text-align: center;
        display: block;
        margin-top: 1.5rem;
        border-top: 1px solid rgba(20, 40, 62, 0.1);
        padding-top: 1rem;
    }

    .site-header__utility-menu--mobile {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .site-header__utility-menu--mobile > li {
        border-bottom: 1px solid rgba(20, 40, 62, 0.1);
    }

    .site-header__utility-menu--mobile > li:last-child {
        border-bottom: none;
    }

    .site-header__utility-menu--mobile a {
       display: block;
       padding: 1rem 2rem;
       color: var(--color-dark-blue);
       text-decoration: none;
       font-size: 0.95rem;
       font-weight: 500;
       transition: color 0.2s ease;
    }

    .site-header__utility-menu--mobile a:hover,
    .site-header__utility-menu--mobile a:focus {
        color: var(--color-blue);
    }
}

@media (max-width: 768px) {
    .site-header__container {
        padding: 1rem var(--en-content-padding-inline);
    }

    .site-header__logo img {
        height: 32px;
    }
}

/* ================================
   Footer Styles
   ================================ */

/* Override parent theme max-width constraints */
.site-footer,
.site-footer:not(.dynamic-footer),
.site-footer .footer-inner {
    max-width: none !important;
}

.site-footer {
    background: var(--color-dark-blue);
    color: var(--color-white);
    width: 100vw;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    left: 0;
    right: 0;
}

.site-footer__main {
    padding: 3rem 0;
}

.site-footer__container {
    max-width: var(--en-content-max-width);
    margin: 0 auto;
    padding: 0 var(--en-content-padding-inline);
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}

.site-footer__brand {
    flex: 1;
    max-width: 500px;
}

.site-footer__logo a {
    display: block;
    line-height: 0;
    margin-bottom: 1.5rem;
}

.site-footer__logo img {
    height: 40px;
    width: auto;
}

.site-footer__tagline {
    margin-bottom: 1.5rem;
}

.site-footer__tagline p {
    margin: 0;
    color: var(--color-white);
    line-height: 1.6;
}

.site-footer__social {
    display: flex;
    gap: 0.5rem;
}

.site-footer__social .social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #3B5998;
    color: var(--color-white);
    border-radius: 4px;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.site-footer__social .social-icon:nth-child(1) {
    background: #3B5998;
}

.site-footer__social .social-icon:nth-child(2) {
    background: #1DA1F2;
}

.site-footer__social .social-icon:nth-child(3) {
    background: #0077B5;
}

.site-footer__social .social-icon:nth-child(4) {
    background: #FF0000;
}

.site-footer__social .social-icon:nth-child(5) {
    background: #1AB7EA;
}

.site-footer__social .social-icon:hover,
.site-footer__social .social-icon:focus {
    transform: translateY(-2px);
    filter: brightness(1.1);
}

.site-footer__links {
    flex: 0 0 auto;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li {
    margin-bottom: 0.75rem;
}

.footer-menu a {
    color: var(--color-white);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s ease;
}

.footer-menu a:hover,
.footer-menu a:focus {
    color: var(--color-gray);
}

.footer-menu i {
    font-size: 0.75rem;
    color: var(--color-gray);
}

.site-footer__bottom {
    background: var(--color-blue);
    color: var(--color-white);
    padding: 1rem 0;
    width: 100vw;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    left: 0;
    right: 0;
}

.site-footer__bottom .site-footer__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.site-footer__client-login {
    color: var(--color-white);
}

.site-footer__client-login a {
    color: var(--color-white);
    text-decoration: underline;
    margin: 0 0.25rem;
    transition: opacity 0.2s ease;
}

.site-footer__client-login a:hover,
.site-footer__client-login a:focus {
    opacity: 0.8;
}

.site-footer__copyright {
    color: var(--color-white);
}

@media (max-width: 1024px) {
    .site-footer__container {
        flex-direction: column;
        gap: 2rem;
    }

    .site-footer__brand {
        max-width: 100%;
    }

    .site-footer__bottom .site-footer__container {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
}

@media (max-width: 768px) {
    .site-footer__main {
        padding: 2rem 0;
    }

    .site-footer__container {
        padding: 0 var(--en-content-padding-inline);
    }

    /* Force 1rem padding on all group blocks on mobile, overriding inline styles */
    .wp-block-group[style*="padding"],
    .wp-block-columns[style*="padding"] {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis] {
        flex-basis: 50% !important;
    }
    h4 {
        font-size: 1.25rem !important;
    }
}
