/* Start custom CSS for wpforms, class: .elementor-element-44c97c0 *//* =========================================================
   HAPPY MASALA — PREMIUM CONTACT FORM
   Elementor Pro + WPForms
   No Background Image
========================================================= */


/* =========================================================
   MAIN FORM CARD
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-container {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 48px 52px;

    background: #ffffff;

    border: 1px solid #eeeeee;
    border-radius: 20px;

    box-shadow:
        0 12px 40px rgba(18, 59, 42, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.03);

    box-sizing: border-box;

    animation: hmFormAppear 0.8s ease both;
}


/* =========================================================
   FORM TITLE
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-title {
    position: relative;

    margin: 0 0 12px;

    color: #123B2A;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 44px;
    font-weight: 600;

    line-height: 1.15;
    letter-spacing: -1px;

    animation: hmTitleReveal 0.8s ease both;
}


/* Small red accent under title */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-title::after {
    content: "";

    display: block;

    width: 65px;
    height: 3px;

    margin-top: 16px;

    background: #CF1107;

    border-radius: 20px;

    animation: hmLineGrow 0.8s ease 0.3s both;
}


/* =========================================================
   FORM DESCRIPTION
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-description {
    max-width: 680px;

    margin: 0 0 34px;

    color: #666666;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif;

    font-size: 15px;
    line-height: 1.75;

    animation: hmFadeUp 0.8s ease 0.2s both;
}


/* =========================================================
   FIELD WRAPPER
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field {
    padding: 0 0 23px;

    animation: hmFadeUp 0.7s ease both;
}


/* =========================================================
   FIELD LABEL
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-label {
    display: block;

    margin: 0 0 9px;

    color: #123B2A;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif;

    font-size: 15px;
    font-weight: 600;

    line-height: 1.4;
}


/* Required star */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-required-label {
    color: #CF1107;
    font-weight: 700;
}


/* =========================================================
   ALL INPUT FIELDS
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="text"],
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="email"],
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="tel"],
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="number"],
.elementor-14 .elementor-element.elementor-element-44c97c0 select,
.elementor-14 .elementor-element.elementor-element-44c97c0 textarea {

    width: 100%;
    box-sizing: border-box;

    padding: 14px 16px;

    background: #ffffff;

    border: 1px solid #dddddd;
    border-radius: 10px;

    color: #333333;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif;

    font-size: 15px;

    line-height: 1.5;

    outline: none;

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.25s ease,
        background 0.3s ease;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 input::placeholder,
.elementor-14 .elementor-element.elementor-element-44c97c0 textarea::placeholder {
    color: #999999;
    opacity: 1;
}


/* =========================================================
   INPUT HOVER
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="text"]:hover,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="email"]:hover,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="tel"]:hover,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="number"]:hover,
.elementor-14 .elementor-element.elementor-element-44c97c0 textarea:hover,
.elementor-14 .elementor-element.elementor-element-44c97c0 select:hover {

    border-color: #c8c8c8;
}


/* =========================================================
   INPUT FOCUS
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="text"]:focus,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="email"]:focus,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="tel"]:focus,
.elementor-14 .elementor-element.elementor-element-44c97c0 input[type="number"]:focus,
.elementor-14 .elementor-element.elementor-element-44c97c0 textarea:focus,
.elementor-14 .elementor-element.elementor-element-44c97c0 select:focus {

    border-color: #CF1107;

    background: #fffdfd;

    box-shadow:
        0 0 0 3px rgba(207, 17, 7, 0.08),
        0 5px 18px rgba(207, 17, 7, 0.05);

    transform: translateY(-1px);
}


/* =========================================================
   NAME FIELD — FIRST + LAST
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-row {

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: nowrap !important;

    gap: 16px !important;

    width: 100%;
}


.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-row-block {

    width: 50% !important;

    flex: 1 1 50% !important;

    margin: 0 !important;
}


/* First / Last labels */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-sublabel {

    display: block;

    margin-top: 6px;

    color: #999999;

    font-size: 12px;

    line-height: 1.3;
}


/* =========================================================
   TEXTAREA
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 textarea {

    min-height: 150px;

    resize: vertical;

    line-height: 1.65;
}


/* =========================================================
   SUBMIT AREA
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-submit-container {

    margin-top: 8px;

    padding-top: 5px;
}


/* =========================================================
   SEND MESSAGE BUTTON
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit {

    position: relative;

    min-width: 175px;

    padding: 14px 30px;

    overflow: hidden;

    color: #ffffff;

    background: #CF1107;

    border: none;
    border-radius: 10px;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif;

    font-size: 15px;
    font-weight: 600;

    line-height: 1.4;

    cursor: pointer;

    box-shadow:
        0 7px 20px rgba(207, 17, 7, 0.20);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


/* Button shine */

.elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit::before {

    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.25),
            transparent
        );

    transform: skewX(-20deg);

    transition: left 0.6s ease;
}


/* Button hover */

.elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit:hover {

    color: #ffffff;

    background: #A90D05;

    transform: translateY(-3px);

    box-shadow:
        0 12px 28px rgba(207, 17, 7, 0.27);
}


.elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit:hover::before {
    left: 130%;
}


/* Button click */

.elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit:active {

    transform: translateY(-1px);

    box-shadow:
        0 6px 15px rgba(207, 17, 7, 0.20);
}


/* =========================================================
   ERROR MESSAGE
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-error {

    margin-top: 6px;

    color: #CF1107;

    font-family: Arial, sans-serif;

    font-size: 13px;

    line-height: 1.5;
}


.elementor-14 .elementor-element.elementor-element-44c97c0 input.wpforms-error,
.elementor-14 .elementor-element.elementor-element-44c97c0 textarea.wpforms-error,
.elementor-14 .elementor-element.elementor-element-44c97c0 select.wpforms-error {

    border-color: #CF1107;

    box-shadow:
        0 0 0 3px rgba(207, 17, 7, 0.06);
}


/* =========================================================
   SUCCESS MESSAGE
========================================================= */

.elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-confirmation-container {

    margin-top: 10px;

    padding: 22px 24px;

    color: #123B2A;

    background: #f6faf7;

    border: 1px solid #dce9df;

    border-left: 4px solid #123B2A;

    border-radius: 10px;

    font-family: Arial, sans-serif;

    font-size: 15px;

    line-height: 1.7;

    animation:
        hmConfirmation 0.6s ease both;
}


/* =========================================================
   FORM ANIMATIONS
========================================================= */

@keyframes hmFormAppear {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes hmTitleReveal {

    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes hmFadeUp {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes hmLineGrow {

    from {
        width: 0;
        opacity: 0;
    }

    to {
        width: 65px;
        opacity: 1;
    }

}


@keyframes hmConfirmation {

    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-container {

        max-width: 850px;

        padding: 42px 38px;

    }

    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-title {
        font-size: 38px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-container {

        width: 100%;

        padding: 32px 22px;

        border-radius: 15px;

        box-shadow:
            0 8px 25px rgba(18, 59, 42, 0.07);

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-title {

        font-size: 32px;

        letter-spacing: -0.5px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-description {

        font-size: 14px;

        line-height: 1.7;

        margin-bottom: 27px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-label {

        font-size: 14px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 input[type="text"],
    .elementor-14 .elementor-element.elementor-element-44c97c0 input[type="email"],
    .elementor-14 .elementor-element.elementor-element-44c97c0 input[type="tel"],
    .elementor-14 .elementor-element.elementor-element-44c97c0 input[type="number"],
    .elementor-14 .elementor-element.elementor-element-44c97c0 select,
    .elementor-14 .elementor-element.elementor-element-44c97c0 textarea {

        padding: 13px 14px;

        font-size: 14px;

        border-radius: 9px;

    }


    /* Name fields become vertical */

    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-row {

        display: block !important;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-row-block {

        width: 100% !important;

        margin-bottom: 14px !important;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field-name .wpforms-field-row-block:last-child {

        margin-bottom: 0 !important;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 textarea {

        min-height: 135px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit {

        width: 100%;

        min-width: 0;

        padding: 14px 20px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-container {

        padding: 27px 18px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-title {

        font-size: 28px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-description {

        font-size: 13px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 .wpforms-field {

        padding-bottom: 20px;

    }


    .elementor-14 .elementor-element.elementor-element-44c97c0 button.wpforms-submit {

        font-size: 14px;

    }

}/* End custom CSS */