.elementor-578 .elementor-element.elementor-element-65f6991{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;--e-filter-normal-text-color:#000000;--e-filter-hover-text-color:#BB984F;--e-filter-active-text-color:#BB984F;}.elementor-578 .elementor-element.elementor-element-65f6991 .e-filter-item{font-family:"League Spartan", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;}.elementor-578 .elementor-element.elementor-element-65f6991 .e-filter-item:hover:not( [aria-pressed=true] ){border-style:solid;border-width:0px 0px 1px 0px;border-color:#BB984F;}.elementor-578 .elementor-element.elementor-element-65f6991 .e-filter-item[aria-pressed="true"]{border-style:solid;border-width:0px 0px 1px 0px;border-color:#BB984F;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-578 .elementor-element.elementor-element-1ece125{--grid-columns:4;--grid-row-gap:10px;--grid-column-gap:10px;}.elementor-578 .elementor-element.elementor-element-e2fe361{width:var( --container-widget-width, 103.217% );max-width:103.217%;--container-widget-width:103.217%;--container-widget-flex-grow:0;}.elementor-578 .elementor-element.elementor-element-e2fe361.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-578 .elementor-element.elementor-element-1ece125{--grid-columns:2;}}@media(max-width:767px){.elementor-578 .elementor-element.elementor-element-1ece125{--grid-columns:1;}}/* Start custom CSS *//* =========================================
   THE WEDDING CO. NEWSLETTER
========================================= */

.twc-newsletter {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(40px, 5vw, 70px) clamp(20px, 4vw, 50px);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(30px, 5vw, 80px);

    box-sizing: border-box;
}

/* -----------------------------------------
   LEFT CONTENT
----------------------------------------- */

.twc-newsletter-content {
    flex: 1;
    min-width: 0;
}

.twc-newsletter-eyebrow {
    display: block;

    margin-bottom: clamp(12px, 1.2vw, 18px);

    font-family: "League Spartan", sans-serif;
    font-size: clamp(0.6rem, 0.55vw + 0.2rem, 0.75rem);
    font-weight: 600;
    letter-spacing: 0.28em;
    line-height: 1.2;

    color: #b4985d;
    text-transform: uppercase;
}

.twc-newsletter-content h2 {
    margin: 0 0 clamp(8px, 0.8vw, 12px);

    font-family: "League Spartan", sans-serif;
    font-size: clamp(1rem, 0.65vw + 0.65rem, 1.35rem);
    font-weight: 500;
    letter-spacing: 0.35em;
    line-height: 1.4;

    color: #171717;
    text-transform: uppercase;
}

.twc-newsletter-content p {
    margin: 0;

    font-family: "Manrope", sans-serif;
    font-size: clamp(0.72rem, 0.25vw + 0.6rem, 0.85rem);
    font-weight: 400;
    line-height: 1.6;

    color: #555;
}

/* -----------------------------------------
   FORM
----------------------------------------- */

.twc-newsletter-form {
    flex: 0 0 min(42%, 430px);

    display: flex;
    align-items: stretch;
    gap: 8px;
}

/* Remove CF7 default spacing */
.twc-newsletter-form p {
    margin: 0;
    padding: 0;
}

/* Email container */
.twc-email-wrap {
    flex: 1;
    min-width: 0;
}

/* Email input */
.twc-newsletter-form .twc-email {
    width: 100%;
    height: 48px;

    box-sizing: border-box;

    padding: 0 16px;

    border: 1px solid #dedede;
    border-radius: 0;

    background: #fff;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 400;

    color: #333;

    outline: none;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.twc-newsletter-form .twc-email::placeholder {
    color: #aaa;
    opacity: 1;
}

.twc-newsletter-form .twc-email:focus {
    border-color: #b4985d;
    box-shadow: 0 0 0 1px rgba(180, 152, 93, 0.12);
}

/* Subscribe button */
.twc-newsletter-form .twc-submit {
    height: 48px;

    padding: 0 25px;

    border: 1px solid #b4985d;
    border-radius: 0;

    background: #b4985d;
    color: #fff;

    font-family: "League Spartan", sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;

    text-transform: uppercase;

    cursor: pointer;

    white-space: nowrap;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.twc-newsletter-form .twc-submit:hover {
    background: transparent;
    color: #b4985d;
}

/* -----------------------------------------
   CF7 VALIDATION
----------------------------------------- */

.twc-newsletter-form .wpcf7-not-valid-tip {
    margin-top: 5px;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    color: #b44;
}

.twc-newsletter-form .wpcf7-response-output {
    margin: 12px 0 0 !important;
    padding: 0 !important;

    border: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    color: #555;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .twc-newsletter {
        gap: 35px;
    }

    .twc-newsletter-form {
        flex-basis: 45%;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .twc-newsletter {
        flex-direction: column;
        align-items: stretch;

        gap: 25px;

        padding:
            clamp(40px, 10vw, 60px)
            20px;
    }

    .twc-newsletter-content {
        text-align: center;
    }

    .twc-newsletter-eyebrow {
        margin-bottom: 12px;
    }

    .twc-newsletter-content h2 {
        font-size: clamp(0.9rem, 3.5vw, 1.15rem);
        letter-spacing: 0.25em;
    }

    .twc-newsletter-content p {
        font-size: 11px;
    }

    .twc-newsletter-form {
        width: 100%;
        flex: none;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .twc-newsletter-form {
        flex-direction: column;
        gap: 10px;
    }

    .twc-newsletter-form .twc-email {
        height: 48px;
    }

    .twc-newsletter-form .twc-submit {
        width: 100%;
        height: 48px;
    }

}/* End custom CSS */