/* Start custom CSS for section, class: .elementor-element-2373e3a *//* ==========================================================
   ALICIA BEAUTY & AESTHETICS
   CONTACT PAGE
   PREMIUM RESPONSIVE CSS
========================================================== */


/* ==========================================================
   1. BASE
========================================================== */

.ab-contact-page{
    --ab-bg:#FFFDF8;
    --ab-bg-soft:#FCFAF8;
    --ab-text:#2D2D2D;
    --ab-muted:#666666;
    --ab-accent:#BB8B65;
    --ab-accent-dark:#9C6048;
    --ab-accent-light:#E6C1AA;
    --ab-border:rgba(187,139,101,.24);

    width:100%;
    overflow:hidden;
    background:var(--ab-bg);
    color:var(--ab-text);
    font-family:"Montserrat", Arial, sans-serif;
    font-size:18px;
    line-height:1.75;
}

.ab-contact-page *,
.ab-contact-page *::before,
.ab-contact-page *::after{
    box-sizing:border-box;
}

.ab-contact-page h1,
.ab-contact-page h2,
.ab-contact-page h3,
.ab-contact-page h4,
.ab-contact-page p{
    margin-top:0;
}

.ab-contact-page h1,
.ab-contact-page h2,
.ab-contact-page h3,
.ab-contact-page h4{
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-weight:500;
    line-height:1.08;
}

.ab-contact-page p{
    color:var(--ab-muted);
}

.ab-contact-page a{
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


/* ==========================================================
   CONTAINERS
========================================================== */

.ab-contact-container{
    width:min(100% - 60px, 1240px);
    margin:0 auto;
}

.ab-contact-container--narrow{
    max-width:940px;
}


/* ==========================================================
   SHARED EYEBROW
========================================================== */

.ab-contact-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;

    color:var(--ab-accent);
    font-size:13px;
    font-weight:600;
    line-height:1.3;
    letter-spacing:2.4px;
    text-transform:uppercase;
}

.ab-contact-eyebrow::before{
    content:"";
    width:30px;
    height:1px;
    background:var(--ab-accent);
}


/* ==========================================================
   SHARED SECTION HEADING
========================================================== */

.ab-contact-heading{
    max-width:780px;
    margin:0 auto 45px;
    text-align:center;
}

.ab-contact-heading .ab-contact-eyebrow{
    justify-content:center;
}

.ab-contact-heading h2{
    margin:0;
    font-size:52px;
    letter-spacing:-1px;
}

.ab-contact-heading__line{
    display:block;
    width:54px;
    height:2px;
    margin:22px auto 0;
    background:var(--ab-accent);
}


/* ==========================================================
   BUTTON
========================================================== */

.ab-contact-btn{
    display:inline-flex;
    min-height:52px;
    padding:13px 31px;

    align-items:center;
    justify-content:center;

    border:0;
    border-radius:3px;

    background:linear-gradient(
        135deg,
        #9C6048 0%,
        #E6C1AA 50%,
        #B77A5F 100%
    ) !important;

    color:#fff !important;

    font-size:13px;
    font-weight:600;
    line-height:1;
    letter-spacing:1.5px;
    text-decoration:none !important;
    text-transform:uppercase;

    box-shadow:0 10px 30px rgba(156,96,72,.16);
}

.ab-contact-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(156,96,72,.24);
}


/* ==========================================================
   2. HERO
========================================================== */

.ab-contact-hero{
    position:relative;
    min-height:480px;

    display:flex;
    align-items:center;

    background:
        radial-gradient(
            circle at 18% 40%,
            rgba(230,193,170,.25),
            transparent 30%
        ),
        linear-gradient(
            115deg,
            #F6E9DF 0%,
            #FFFDF8 48%,
            #F5E8DE 100%
        );

    overflow:hidden;
}


/* Decorative circle */

.ab-contact-hero::before{
    content:"";
    position:absolute;

    width:470px;
    height:470px;

    right:-150px;
    top:-170px;

    border:1px solid rgba(187,139,101,.18);
    border-radius:50%;
}


/* Decorative second circle */

.ab-contact-hero::after{
    content:"";
    position:absolute;

    width:310px;
    height:310px;

    left:-150px;
    bottom:-190px;

    border:1px solid rgba(187,139,101,.18);
    border-radius:50%;
}


.ab-contact-hero__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(255,253,248,.2),
            transparent
        );

    pointer-events:none;
}


.ab-contact-hero__content{
    position:relative;
    z-index:2;

    max-width:720px;
    padding:90px 0;
}


.ab-contact-hero h1{
    margin:0 0 18px;

    font-size:76px;
    letter-spacing:-2px;
}


.ab-contact-hero__content > p{
    max-width:580px;
    margin-bottom:30px;

    color:#57514e;
    font-size:19px;
}


/* ==========================================================
   SOCIAL ICONS
========================================================== */

.ab-contact-socials{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.ab-contact-social{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(187,139,101,.38);
    border-radius:50%;

    background:rgba(255,255,255,.5);

    color:var(--ab-accent-dark) !important;

    font-family:Arial, sans-serif;
    font-size:16px;
    font-weight:500;

    text-decoration:none !important;
}

.ab-contact-social:hover{
    color:#fff !important;
    background:var(--ab-accent);
    border-color:var(--ab-accent);
    transform:translateY(-2px);
}


/* ==========================================================
   3. CONSULTATION CTA
========================================================== */

.ab-contact-consultation{
    position:relative;
    padding:60px 0;

    background:
        linear-gradient(
            135deg,
            #9C6048 0%,
            #BB8B65 50%,
            #A56850 100%
        );

    overflow:hidden;
}

.ab-contact-consultation::before{
    content:"";
    position:absolute;

    width:300px;
    height:300px;

    top:-190px;
    right:7%;

    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
}

.ab-contact-consultation__inner{
    position:relative;
    z-index:2;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.ab-contact-consultation__eyebrow{
    display:block;
    margin-bottom:7px;

    color:rgba(255,255,255,.76);

    font-size:11px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.ab-contact-consultation h2{
    margin:0;
    color:#fff;
    font-size:40px;
}

.ab-contact-btn--white{
    flex:none;

    background:#FFFDF8 !important;
    color:#9C6048 !important;

    box-shadow:none;
}

.ab-contact-btn--white:hover{
    background:#fff !important;
}


/* ==========================================================
   4. INTRO
========================================================== */

.ab-contact-intro{
    position:relative;
    padding:100px 0;

    background:var(--ab-bg);
}

.ab-contact-intro__content{
    max-width:850px;
    margin:0 auto;
}

.ab-contact-intro__content p{
    margin:0 0 22px;

    font-size:18px;
    line-height:1.85;
}

.ab-contact-intro__content p:last-child{
    margin-bottom:0;
}

.ab-contact-intro__content strong{
    color:var(--ab-text);
    font-weight:600;
}


/* ==========================================================
   5. CONTACT FORM SECTION
========================================================== */

.ab-contact-form-section{
    position:relative;

    padding:105px 0;

    background:var(--ab-bg-soft);

    overflow:hidden;
}


/* Decorative background */

.ab-contact-form-section::before{
    content:"";
    position:absolute;

    width:420px;
    height:420px;

    left:-250px;
    top:-120px;

    border:1px solid rgba(187,139,101,.13);
    border-radius:50%;
}

.ab-contact-form-section::after{
    content:"";
    position:absolute;

    width:300px;
    height:300px;

    right:-180px;
    bottom:-140px;

    border:1px solid rgba(187,139,101,.13);
    border-radius:50%;
}


.ab-contact-form-card{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:.78fr 1.22fr;

    max-width:1100px;
    margin:0 auto;

    background:#fff;

    border:1px solid rgba(187,139,101,.20);
    border-radius:5px;

    box-shadow:
        0 20px 60px rgba(60,42,32,.07);

    overflow:hidden;
}


/* ==========================================================
   FORM LEFT CONTENT
========================================================== */

.ab-contact-form-heading{
    position:relative;

    padding:70px 55px;

    background:
        linear-gradient(
            145deg,
            #F3E4D9 0%,
            #FCF7F2 100%
        );
}

.ab-contact-form-heading::after{
    content:"";
    position:absolute;

    width:200px;
    height:200px;

    right:-100px;
    bottom:-100px;

    border:1px solid rgba(187,139,101,.16);
    border-radius:50%;
}

.ab-contact-form-heading__icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:25px;

    border:1px solid rgba(187,139,101,.35);
    border-radius:50%;

    color:var(--ab-accent);
    font-size:18px;
}

.ab-contact-form-heading h2{
    margin:0 0 22px;

    font-size:48px;
    letter-spacing:-1px;
}

.ab-contact-form-heading h2 em{
    display:block;

    color:var(--ab-accent-dark);

    font-weight:400;
}

.ab-contact-form-heading p{
    max-width:390px;
    margin:0;

    color:#615a56;
    font-size:17px;
    line-height:1.75;
}


/* ==========================================================
   FORMINATOR CONTAINER
========================================================== */

.ab-contact-forminator{
    padding:65px 60px;

    background:#fff;
}


/*
==========================================================
FORMINATOR

These .elementor-8984 .elementor-element.elementor-element-2373e3as style the actual Forminator form.
==========================================================
*/

.ab-contact-page .forminator-ui{
    margin:0 !important;
}

.ab-contact-page .forminator-ui.forminator-custom-form{
    margin:0 !important;
}


/* Field wrappers */

.ab-contact-page .forminator-ui .forminator-row{
    margin-bottom:20px !important;
}

.ab-contact-page .forminator-ui .forminator-col{
    padding-left:7px !important;
    padding-right:7px !important;
}


/* Labels */

.ab-contact-page .forminator-ui .forminator-label{
    display:block !important;

    margin-bottom:8px !important;

    color:#4A4542 !important;

    font-family:"Montserrat", Arial, sans-serif !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
}


/* Inputs */

.ab-contact-page .forminator-ui input.forminator-input,
.ab-contact-page .forminator-ui select.forminator-select2,
.ab-contact-page .forminator-ui textarea.forminator-textarea{

    width:100% !important;

    border:1px solid #DED7D1 !important;
    border-radius:2px !important;

    background:#FFFDFB !important;

    color:#2D2D2D !important;

    font-family:"Montserrat", Arial, sans-serif !important;
    font-size:16px !important;

    box-shadow:none !important;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease !important;
}


.ab-contact-page .forminator-ui input.forminator-input{
    min-height:52px !important;
    padding:12px 15px !important;
}

.ab-contact-page .forminator-ui textarea.forminator-textarea{
    min-height:135px !important;

    padding:14px 15px !important;

    resize:vertical;
}


/* Focus */

.ab-contact-page .forminator-ui input.forminator-input:focus,
.ab-contact-page .forminator-ui textarea.forminator-textarea:focus{
    border-color:var(--ab-accent) !important;

    background:#fff !important;

    box-shadow:
        0 0 0 3px rgba(187,139,101,.09) !important;

    outline:none !important;
}


/* Placeholder */

.ab-contact-page .forminator-ui input::placeholder,
.ab-contact-page .forminator-ui textarea::placeholder{
    color:#99918B !important;
    opacity:1 !important;
}


/* Description */

.ab-contact-page .forminator-ui .forminator-description{
    color:#817A75 !important;

    font-size:13px !important;
}


/* Required mark */

.ab-contact-page .forminator-ui .forminator-required{
    color:var(--ab-accent-dark) !important;
}


/* Checkbox */

.ab-contact-page .forminator-ui .forminator-checkbox{
    color:#666 !important;

    font-size:14px !important;
    line-height:1.6 !important;
}


/* ==========================================================
   FORMINATOR SUBMIT BUTTON
========================================================== */

.ab-contact-page .forminator-ui .forminator-button-submit{

    min-height:52px !important;

    padding:14px 32px !important;

    border:0 !important;
    border-radius:3px !important;

    background:linear-gradient(
        135deg,
        #9C6048 0%,
        #E6C1AA 50%,
        #B77A5F 100%
    ) !important;

    color:#fff !important;

    font-family:"Montserrat", Arial, sans-serif !important;

    font-size:13px !important;
    font-weight:600 !important;

    letter-spacing:1.4px !important;
    text-transform:uppercase !important;

    box-shadow:
        0 10px 25px rgba(156,96,72,.18) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease !important;
}

.ab-contact-page .forminator-ui .forminator-button-submit:hover{

    transform:translateY(-2px);

    box-shadow:
        0 14px 32px rgba(156,96,72,.25) !important;
}


/* ==========================================================
   FORMINATOR MESSAGES
========================================================== */

.ab-contact-page .forminator-ui .forminator-response-message{
    border-radius:3px !important;

    font-size:14px !important;
    line-height:1.6 !important;
}


/* ==========================================================
   6. MAP
========================================================== */

.ab-contact-map-section{
    padding-top:95px;

    background:var(--ab-bg);
}

.ab-contact-map-heading{
    max-width:800px;

    margin:0 auto 40px;
    padding:0 30px;

    text-align:center;
}

.ab-contact-map-heading .ab-contact-eyebrow{
    justify-content:center;
}

.ab-contact-map-heading h2{
    margin:0;

    font-size:52px;
}

.ab-contact-map{
    width:100%;
    min-height:480px;

    background:#EEE9E3;
}


/* Existing map iframe */

.ab-contact-map iframe{
    display:block;

    width:100% !important;
    height:480px !important;

    border:0 !important;

    filter:saturate(.75) contrast(.95);
}


/* Placeholder if map not inserted yet */

.ab-contact-map-placeholder{
    min-height:480px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    padding:40px;

    text-align:center;

    background:
        linear-gradient(
            135deg,
            #EFE9E2,
            #F8F5F1
        );
}

.ab-contact-map-placeholder > span{
    margin-bottom:10px;

    color:var(--ab-accent);

    font-size:12px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.ab-contact-map-placeholder strong{
    color:var(--ab-text);

    font-family:"Cormorant Garamond", Georgia, serif;

    font-size:34px;
    font-weight:500;
}

.ab-contact-map-placeholder p{
    margin:10px 0 0;
}


/* ==========================================================
   7. REVIEWS
========================================================== */

.ab-contact-reviews{
    padding:100px 0;

    background:var(--ab-bg-soft);
}

.ab-contact-reviews__widget{
    width:100%;
    margin-top:40px;
}


/* Elementor review swiper */

.ab-contact-reviews .swiper,
.ab-contact-reviews .swiper-container{
    width:100%;
}

.ab-contact-reviews .swiper-wrapper{
    align-items:stretch;
}


/* ==========================================================
   8. CONTACT DETAILS
========================================================== */

.ab-contact-details{
    padding:105px 0;

    background:var(--ab-bg);
}

.ab-contact-details__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:24px;

    max-width:1100px;
    margin:0 auto;
}


/* ==========================================================
   INFO CARDS
========================================================== */

.ab-contact-info-card{
    position:relative;

    min-width:0;

    padding:45px;

    border:1px solid var(--ab-border);
    border-radius:4px;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(48,36,28,.035);

    overflow:hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.ab-contact-info-card:hover{
    transform:translateY(-3px);

    border-color:rgba(187,139,101,.4);

    box-shadow:
        0 18px 45px rgba(48,36,28,.07);
}


/* Number */

.ab-contact-info-card__number{
    position:absolute;

    right:25px;
    top:18px;

    color:rgba(187,139,101,.10);

    font-family:"Cormorant Garamond", Georgia, serif;

    font-size:72px;
    font-weight:500;

    line-height:1;
}


/* Heading */

.ab-contact-info-card h3{
    position:relative;
    z-index:2;

    margin:0;

    font-size:34px;
}

.ab-contact-info-card__line{
    display:block;

    width:42px;
    height:1px;

    margin:17px 0 25px;

    background:var(--ab-accent);
}

.ab-contact-info-card h4{
    margin:0 0 13px;

    font-size:22px;
}

.ab-contact-info-card address{
    margin:0 0 22px;

    color:var(--ab-muted);

    font-style:normal;

    font-size:16px;
    line-height:1.8;
}


/* ==========================================================
   CONTACT INFO ROW
========================================================== */

.ab-contact-info-row{
    display:flex;

    gap:12px;

    margin-top:11px;

    font-size:15px;
    line-height:1.6;
}

.ab-contact-info-row > span{
    min-width:65px;

    color:#8D8179;

    font-size:12px;
    font-weight:600;

    letter-spacing:.5px;
    text-transform:uppercase;
}

.ab-contact-info-row a{
    color:var(--ab-text) !important;

    overflow-wrap:anywhere;

    text-decoration:none !important;
}

.ab-contact-info-row a:hover{
    color:var(--ab-accent-dark) !important;
}


/* ==========================================================
   BUSINESS HOURS
========================================================== */

.ab-contact-hours ul{
    margin:0;
    padding:0;

    list-style:none;
}

.ab-contact-hours li{
    display:flex;
    justify-content:space-between;
    gap:25px;

    padding:9px 0;

    border-bottom:1px solid #EFEAE6;

    color:var(--ab-muted);

    font-size:15px;
}

.ab-contact-hours li:last-child{
    border-bottom:0;
}

.ab-contact-hours li strong{
    color:var(--ab-text);
    font-weight:500;
}


/* ==========================================================
   TREATMENT CARD
========================================================== */

.ab-contact-treatment-card{
    background:
        linear-gradient(
            145deg,
            #F8EEE7 0%,
            #FFFDF9 100%
        );
}

.ab-contact-treatment-label{
    display:block;

    margin-bottom:12px;

    color:var(--ab-accent);

    font-size:11px;
    font-weight:600;

    letter-spacing:1.7px;
    text-transform:uppercase;
}

.ab-contact-treatment-card p{
    margin-bottom:18px;

    font-size:15px;
    line-height:1.75;
}

.ab-contact-read-more{
    display:inline-block;

    color:var(--ab-accent-dark) !important;

    font-size:13px;
    font-weight:600;

    letter-spacing:.5px;

    text-decoration:none !important;
}

.ab-contact-read-more::after{
    content:" →";

    margin-left:4px;
}

.ab-contact-treatment-location{
    display:flex;
    align-items:flex-start;

    gap:10px;

    margin-top:28px;
    padding-top:20px;

    border-top:1px solid rgba(187,139,101,.2);

    color:#5D5651;

    font-size:14px;
    line-height:1.6;
}

.ab-contact-treatment-location__icon{
    flex:none;

    color:var(--ab-accent);
}


/* ==========================================================
   TABLET
   <= 1024px
========================================================== */

@media (max-width:1024px){

    .ab-contact-page{
        font-size:17px;
    }

    .ab-contact-container{
        width:min(100% - 50px, 1100px);
    }


    /* HERO */

    .ab-contact-hero{
        min-height:420px;
    }

    .ab-contact-hero__content{
        padding:75px 0;
    }

    .ab-contact-hero h1{
        font-size:64px;
    }


    /* HEADINGS */

    .ab-contact-heading h2,
    .ab-contact-map-heading h2{
        font-size:46px;
    }


    /* INTRO */

    .ab-contact-intro{
        padding:85px 0;
    }


    /* FORM */

    .ab-contact-form-section{
        padding:85px 0;
    }

    .ab-contact-form-card{
        grid-template-columns:.85fr 1.15fr;
    }

    .ab-contact-form-heading{
        padding:55px 38px;
    }

    .ab-contact-form-heading h2{
        font-size:42px;
    }

    .ab-contact-forminator{
        padding:55px 40px;
    }


    /* DETAILS */

    .ab-contact-details{
        padding:85px 0;
    }

    .ab-contact-info-card{
        padding:38px;
    }

}


/* ==========================================================
   SMALL TABLET
   <= 820px
========================================================== */

@media (max-width:820px){

    /* CONSULTATION */

    .ab-contact-consultation__inner{
        flex-direction:column;
        align-items:flex-start;

        gap:24px;
    }


    /* FORM */

    .ab-contact-form-card{
        grid-template-columns:1fr;
    }

    .ab-contact-form-heading{
        padding:50px 45px;
    }

    .ab-contact-form-heading p{
        max-width:600px;
    }

    .ab-contact-forminator{
        padding:50px 45px;
    }


    /* DETAILS */

    .ab-contact-details__grid{
        grid-template-columns:1fr;
    }

}


/* ==========================================================
   MOBILE
   <= 767px
========================================================== */

@media (max-width:767px){

    .ab-contact-page{
        font-size:16px;
        line-height:1.7;
    }

    .ab-contact-container{
        width:calc(100% - 36px);
    }


    /* EYEBROW */

    .ab-contact-eyebrow{
        gap:9px;

        margin-bottom:12px;

        font-size:11px;
        letter-spacing:1.7px;
    }

    .ab-contact-eyebrow::before{
        width:22px;
    }


    /* ======================================================
       HERO MOBILE
    ====================================================== */

    .ab-contact-hero{
        min-height:auto;
    }

    .ab-contact-hero::before{
        width:280px;
        height:280px;

        right:-150px;
        top:-80px;
    }

    .ab-contact-hero__content{
        padding:65px 0;
    }

    .ab-contact-hero h1{
        margin-bottom:13px;

        font-size:49px;
        letter-spacing:-1px;
    }

    .ab-contact-hero__content > p{
        margin-bottom:24px;

        font-size:16px;
        line-height:1.65;
    }

    .ab-contact-social{
        width:39px;
        height:39px;

        font-size:14px;
    }


    /* ======================================================
       CONSULTATION
    ====================================================== */

    .ab-contact-consultation{
        padding:42px 0;
    }

    .ab-contact-consultation__inner{
        gap:21px;
    }

    .ab-contact-consultation h2{
        font-size:31px;
    }

    .ab-contact-btn{
        min-height:48px;

        padding:12px 24px;

        font-size:11px;
    }


    /* ======================================================
       HEADINGS
    ====================================================== */

    .ab-contact-heading{
        margin-bottom:30px;
    }

    .ab-contact-heading h2,
    .ab-contact-map-heading h2{
        font-size:37px;
        letter-spacing:-.5px;
    }

    .ab-contact-heading__line{
        margin-top:16px;
    }


    /* ======================================================
       INTRO
    ====================================================== */

    .ab-contact-intro{
        padding:65px 0;
    }

    .ab-contact-intro__content p{
        margin-bottom:18px;

        font-size:16px;
        line-height:1.75;
    }


    /* ======================================================
       FORM
    ====================================================== */

    .ab-contact-form-section{
        padding:65px 0;
    }

    .ab-contact-form-card{
        border-radius:3px;
    }

    .ab-contact-form-heading{
        padding:40px 25px;
    }

    .ab-contact-form-heading__icon{
        width:43px;
        height:43px;

        margin-bottom:20px;
    }

    .ab-contact-form-heading h2{
        margin-bottom:16px;

        font-size:37px;
    }

    .ab-contact-form-heading p{
        font-size:16px;
    }

    .ab-contact-forminator{
        padding:35px 22px;
    }


    /* Forminator */

    .ab-contact-page .forminator-ui .forminator-row{
        margin-bottom:15px !important;
    }

    .ab-contact-page .forminator-ui .forminator-col{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .ab-contact-page .forminator-ui input.forminator-input{
        min-height:49px !important;
    }

    .ab-contact-page .forminator-ui input.forminator-input,
    .ab-contact-page .forminator-ui textarea.forminator-textarea{
        font-size:16px !important;
    }

    .ab-contact-page .forminator-ui .forminator-button-submit{
        width:100% !important;

        min-height:50px !important;
    }


    /* ======================================================
       MAP
    ====================================================== */

    .ab-contact-map-section{
        padding-top:65px;
    }

    .ab-contact-map-heading{
        margin-bottom:28px;

        padding:0 18px;
    }

    .ab-contact-map,
    .ab-contact-map iframe,
    .ab-contact-map-placeholder{
        min-height:350px;
        height:350px !important;
    }

    .ab-contact-map-placeholder strong{
        font-size:28px;
    }


    /* ======================================================
       REVIEWS
    ====================================================== */

    .ab-contact-reviews{
        padding:65px 0;
    }


    /* ======================================================
       DETAILS
    ====================================================== */

    .ab-contact-details{
        padding:65px 0;
    }

    .ab-contact-details__grid{
        gap:16px;
    }

    .ab-contact-info-card{
        padding:32px 24px;
    }

    .ab-contact-info-card__number{
        right:17px;
        top:15px;

        font-size:58px;
    }

    .ab-contact-info-card h3{
        padding-right:45px;

        font-size:30px;
    }

    .ab-contact-info-card h4{
        font-size:21px;
    }

    .ab-contact-info-card address{
        font-size:15px;
    }

    .ab-contact-info-row{
        flex-direction:column;

        gap:2px;

        margin-top:14px;
    }

    .ab-contact-info-row > span{
        min-width:0;
    }


    /* HOURS */

    .ab-contact-hours li{
        gap:15px;

        font-size:14px;
    }


    /* Treatment */

    .ab-contact-treatment-card p{
        font-size:15px;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
   <= 420px
========================================================== */

@media (max-width:420px){

    .ab-contact-container{
        width:calc(100% - 28px);
    }

    .ab-contact-hero h1{
        font-size:44px;
    }

    .ab-contact-consultation h2{
        font-size:29px;
    }

    .ab-contact-heading h2,
    .ab-contact-map-heading h2{
        font-size:34px;
    }

    .ab-contact-form-heading{
        padding:35px 21px;
    }

    .ab-contact-form-heading h2{
        font-size:34px;
    }

    .ab-contact-forminator{
        padding:30px 18px;
    }

    .ab-contact-info-card{
        padding:29px 20px;
    }

}


/* ==========================================================
   ACCESSIBILITY / REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

    .ab-contact-page *,
    .ab-contact-page *::before,
    .ab-contact-page *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }

}/* End custom CSS */