/* Start custom CSS for section, class: .elementor-element-5b7d4b8 *//* ==========================================================
   ALICIA BEAUTY
   DISCOUNT / OFFERS PAGE
========================================================== */

.ab-offers-page{
    --ab-bg:#FFFDF8;
    --ab-bg-soft:#FCFAF8;
    --ab-text:#2D2D2D;
    --ab-muted:#666666;
    --ab-gold:#BB8B65;
    --ab-border:#E9DED5;

    width:100%;
    overflow:hidden;
    background:var(--ab-bg);
    color:var(--ab-text);
}

.ab-offers-page *,
.ab-offers-page *::before,
.ab-offers-page *::after{
    box-sizing:border-box;
}

.ab-offers-page img{
    display:block;
    width:100%;
    max-width:100%;
}

.ab-offers-page a{
    text-decoration:none;
}

.ab-offers-container{
    width:min(1280px, calc(100% - 60px));
    margin:0 auto;
}


/* ==========================================================
   INTRO
========================================================== */

.ab-discount-intro{
    position:relative;
    background:var(--ab-bg);
    padding:72px 20px 64px;
    text-align:center;
}

.ab-discount-eyebrow{
    margin:0 0 18px;
    color:var(--ab-gold);
    font-family:Arial, sans-serif;
    font-size:17px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:3px;
}

.ab-discount-title{
    margin:0;
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:clamp(44px, 5vw, 72px);
    line-height:1.02;
    font-weight:500;
    letter-spacing:-1px;
}

.ab-discount-title span{
    display:inline-block;
    margin-left:7px;
    color:var(--ab-gold);
    font-family:Arial, sans-serif;
    font-size:16px;
    font-weight:600;
    letter-spacing:0;
    vertical-align:middle;
}


/* ==========================================================
   HERO
========================================================== */

.ab-discount-hero{
    position:relative;
    width:100%;
    min-height:610px;
    overflow:hidden;
}

.ab-discount-hero-bg{
    position:absolute;
    inset:0;
}

.ab-discount-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.ab-discount-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(255,253,248,.78) 0%,
            rgba(255,253,248,.58) 30%,
            rgba(255,253,248,.08) 63%,
            rgba(255,253,248,0) 100%
        );
}

.ab-discount-hero-inner{
    position:relative;
    z-index:2;
    min-height:610px;
    display:flex;
    align-items:center;
}

.ab-discount-quote{
    position:relative;
    width:min(520px, 48%);
    padding:30px 0;
}

.ab-discount-quote blockquote{
    margin:0;
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:clamp(38px, 3.3vw, 55px);
    font-style:italic;
    font-weight:500;
    line-height:1.18;
}

.ab-quote-mark{
    display:block;
    color:var(--ab-gold);
    font-family:Georgia, serif;
    font-size:76px;
    line-height:.65;
}

.ab-quote-open{
    margin-bottom:22px;
}

.ab-quote-open::after{
    content:"";
    display:block;
    width:42px;
    height:2px;
    margin-top:17px;
    background:var(--ab-gold);
}

.ab-quote-close{
    margin-top:25px;
}

.ab-quote-close::before{
    content:"";
    display:block;
    width:42px;
    height:2px;
    margin-bottom:18px;
    background:var(--ab-gold);
}


/* ==========================================================
   BOOKING CTA
========================================================== */

.ab-discount-booking{
    position:relative;
    overflow:hidden;
    padding:78px 20px 72px;
    background:var(--ab-bg);
    border-bottom:1px solid var(--ab-border);
}

.ab-booking-inner{
    position:relative;
    z-index:2;
    text-align:center;
}

.ab-booking-inner h2{
    margin:0;
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:clamp(38px, 4vw, 55px);
    line-height:1.1;
    font-weight:500;
}

.ab-title-line{
    display:block;
    width:62px;
    height:2px;
    margin:25px auto 28px;
    background:var(--ab-gold);
}

.ab-booking-inner h3{
    margin:0 0 28px;
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:30px;
    line-height:1.2;
    font-weight:500;
}

.ab-discount-btn{
    display:inline-flex;
    min-width:205px;
    min-height:58px;
    padding:15px 32px;
    align-items:center;
    justify-content:center;

    background:linear-gradient(
        135deg,
        #9C6048 0%,
        #E6C1AA 50%,
        #B77A5F 100%
    ) !important;

    color:#fff !important;

    font-family:Arial, sans-serif;
    font-size:15px;
    line-height:1;
    font-weight:600;
    letter-spacing:.5px;

    border:0;
    border-radius:3px;

    box-shadow:0 10px 30px rgba(156,96,72,.15);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        filter .3s ease;
}

.ab-discount-btn:hover{
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 14px 35px rgba(156,96,72,.23);
    filter:brightness(.98);
}

.ab-discount-code{
    margin:21px 0 0;
    color:var(--ab-gold);
    font-family:Arial, sans-serif;
    font-size:17px;
    font-weight:500;
    letter-spacing:.5px;
}


/* Decorative botanical lines */

.ab-booking-decoration{
    position:absolute;
    bottom:-15px;
    width:190px;
    opacity:.55;
    pointer-events:none;
}

.ab-booking-decoration svg{
    width:100%;
    height:auto;
    fill:none;
    stroke:#BB8B65;
    stroke-width:1.2;
}

.ab-booking-decoration-left{
    left:15px;
}

.ab-booking-decoration-right{
    right:15px;
    transform:scaleX(-1);
}


/* ==========================================================
   INFORMATION
========================================================== */

.ab-discount-info{
    padding:70px 20px 85px;
    background:var(--ab-bg-soft);
}

.ab-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr .9fr 1.25fr;
    gap:50px;
    align-items:start;
}

.ab-info-column h3,
.ab-info-card h3{
    margin:0 0 30px;
    color:var(--ab-text);
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:29px;
    line-height:1.15;
    font-weight:600;
}

.ab-info-content,
.ab-hours{
    color:var(--ab-muted);
    font-family:Arial, sans-serif;
    font-size:15px;
    line-height:1.85;
}

.ab-info-content strong{
    display:block;
    margin-bottom:14px;
    color:var(--ab-text);
    font-weight:600;
}

.ab-info-content p{
    margin:0 0 15px;
}

.ab-info-content a,
.ab-info-card a{
    color:var(--ab-gold);
    transition:opacity .25s ease;
}

.ab-info-content a:hover,
.ab-info-card a:hover{
    opacity:.7;
}


/* Business hours */

.ab-hours p{
    display:flex;
    gap:8px;
    justify-content:space-between;
    margin:0 0 9px;
}

.ab-hours p span:last-child{
    white-space:nowrap;
}


/* Information Card */

.ab-info-card{
    padding:30px;
    background:#fff;
    border:1px solid var(--ab-border);
    border-radius:4px;
}

.ab-info-card h3{
    margin-bottom:20px;
    font-family:Arial, sans-serif;
    font-size:20px;
    line-height:1.35;
    font-weight:600;
}

.ab-info-card > p{
    margin:0;
    color:var(--ab-muted);
    font-family:Arial, sans-serif;
    font-size:14px;
    line-height:1.7;
}

.ab-info-address{
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid #eee5de;

    color:var(--ab-muted);
    font-family:Arial, sans-serif;
    font-size:13px;
    line-height:1.6;
}

.ab-location-icon{
    flex:0 0 auto;
    color:var(--ab-gold);
    font-size:25px;
    line-height:1;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width:1100px){

    .ab-offers-container{
        width:min(100% - 48px, 1100px);
    }

    .ab-info-grid{
        grid-template-columns:1fr 1fr;
        gap:50px 60px;
    }

    .ab-discount-hero,
    .ab-discount-hero-inner{
        min-height:560px;
    }

    .ab-discount-quote{
        width:53%;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:767px){

    .ab-offers-container{
        width:100%;
    }


    /* Intro */

    .ab-discount-intro{
        padding:45px 20px 38px;
    }

    .ab-discount-eyebrow{
        margin-bottom:13px;
        font-size:12px;
        line-height:1.5;
        letter-spacing:1.7px;
    }

    .ab-discount-title{
        font-size:39px;
        line-height:1.03;
    }

    .ab-discount-title span{
        display:block;
        margin:11px 0 0;
        font-size:12px;
    }


    /* Hero */

    .ab-discount-hero{
        min-height:520px;
        margin:0 15px;
        width:calc(100% - 30px);
        border-radius:5px;
    }

    .ab-discount-hero-inner{
        min-height:520px;
        padding:30px 25px;
        align-items:flex-end;
    }

    .ab-discount-hero-bg img{
        object-position:62% center;
    }

    .ab-discount-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(255,253,248,.94) 0%,
                rgba(255,253,248,.75) 37%,
                rgba(255,253,248,.08) 68%
            );
    }

    .ab-discount-quote{
        width:100%;
        padding:20px 0 10px;
    }

    .ab-discount-quote blockquote{
        max-width:390px;
        font-size:34px;
        line-height:1.12;
    }

    .ab-quote-mark{
        font-size:54px;
    }

    .ab-quote-open{
        margin-bottom:14px;
    }

    .ab-quote-close{
        margin-top:18px;
    }


    /* CTA */

    .ab-discount-booking{
        padding:58px 25px 62px;
    }

    .ab-booking-inner h2{
        font-size:35px;
        line-height:1.12;
    }

    .ab-title-line{
        margin:20px auto 23px;
        width:50px;
    }

    .ab-booking-inner h3{
        margin-bottom:24px;
        font-size:25px;
    }

    .ab-discount-btn{
        min-width:185px;
        min-height:54px;
    }

    .ab-discount-code{
        font-size:15px;
    }

    .ab-booking-decoration{
        width:115px;
        opacity:.32;
    }

    .ab-booking-decoration-left{
        left:-25px;
    }

    .ab-booking-decoration-right{
        right:-25px;
    }


    /* Information */

    .ab-discount-info{
        padding:55px 25px 65px;
    }

    .ab-info-grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .ab-info-column{
        padding-bottom:35px;
        border-bottom:1px solid var(--ab-border);
    }

    .ab-info-column h3,
    .ab-info-card h3{
        margin-bottom:20px;
    }

    .ab-info-content,
    .ab-hours{
        font-size:15px;
        line-height:1.75;
    }

    .ab-hours{
        max-width:330px;
    }

    .ab-info-card{
        padding:25px 22px;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width:420px){

    .ab-discount-intro{
        padding-left:16px;
        padding-right:16px;
    }

    .ab-discount-title{
        font-size:34px;
    }

    .ab-discount-hero{
        min-height:480px;
        margin:0 12px;
        width:calc(100% - 24px);
    }

    .ab-discount-hero-inner{
        min-height:480px;
        padding:24px 20px;
    }

    .ab-discount-quote blockquote{
        font-size:30px;
    }

    .ab-booking-inner h2{
        font-size:31px;
    }

    .ab-booking-inner h3{
        font-size:23px;
    }

    .ab-discount-info{
        padding-left:20px;
        padding-right:20px;
    }

}


/* ==========================================================
   ACCESSIBILITY / TEXT SAFETY
========================================================== */

@media (prefers-reduced-motion:reduce){

    .ab-discount-btn{
        transition:none;
    }

}/* End custom CSS */