/* ============================================================
        ASKMIMII — INDIVIDUAL INGREDIENT PAGE
        HYALURONIC ACID / MASTER INGREDIENT TEMPLATE
============================================================ */


/* ============================================================
        GLOBAL INGREDIENT PAGE
============================================================ */

.ingredient-page{

    width:100%;

    overflow:hidden;

    background:var(--clr-white);

    color:var(--clr-heading);

}


/* ============================================================
        SHARED CONTAINER
============================================================ */

.ingredient-section-container{

    width:100%;

    max-width:1400px;

    margin:0 auto;

    padding-inline:4.5%;

}


/* ============================================================
        SECTION TAG
============================================================ */

.ingredient-section-tag{

    display:inline-block;

    font-family:var(--ff-paragraph);

    font-size:.82rem;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

    color:var(--clr-primary);

}


/* ============================================================
        SECTION 1
        HERO INGREDIENT
============================================================ */

.ingredient-hero{

    width:100%;

   
    padding: 140px 1% 60px;

    background:linear-gradient(
        180deg,
        #fffdfc 0%,
        #fff8fb 100%
    );

    margin-bottom: 100px;
}


.ingredient-hero-container{

    width:100%;

    max-width:1400px;

    margin:0 auto;

    padding-inline: 4.5%;

    display:grid;

    grid-template-columns:1fr 1.15fr;

    align-items:center;

    gap:65px;

}


/* ============================================================
        HERO CONTENT
============================================================ */

.ingredient-hero-content{

    width:100%;

    max-width:650px;

}


.ingredient-hero-tag{

    display:inline-flex;

    align-items:center;

    padding:9px 17px;

    margin-bottom:25px;

    border-radius:999px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:.78rem;

    font-weight:600;

    letter-spacing:2.5px;

    text-transform:uppercase;

}


/* ============================================================
        HERO TITLE
============================================================ */

.ingredient-hero-title{

    margin:0 0 20px;

    color:var(--clr-heading);

    font-size:clamp(
        3.2rem,
        4.5vw,
        4.6rem
    );

    line-height:1.08;

    font-weight:500;

}


.ingredient-hero-subtitle{

    max-width:620px;

    margin:0 0 28px;

    color:var(--clr-heading);

    font-size:clamp(
        1.8rem,
        2.5vw,
        2.65rem
    );

    line-height:1.2;

    font-weight:500;

}


.ingredient-hero-subtitle span{

    color:var(--clr-primary-light);

    font-style:italic;

}


/* ============================================================
        HERO DESCRIPTION
============================================================ */

.ingredient-hero-description{

    max-width:520px;

    margin:0 0 35px;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.85;

    color:var(--clr-text);

}


/* ============================================================
        HERO BUTTONS
============================================================ */

.ingredient-hero-actions{

    display:flex;

    align-items:center;

    gap:15px;

    flex-wrap:wrap;

}


.ingredient-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:54px;

    padding:0 27px;

    border-radius:999px;

    font-family:var(--ff-paragraph);

    font-size:.96rem;

    font-weight:500;

    text-decoration:none;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;

}


.ingredient-btn-primary{

    background:var(--clr-primary-light);

    color:var(--clr-white);

    border:1px solid var(--clr-primary-light);

}


.ingredient-btn-primary:hover{

    background:var(--clr-primary-hover-light);

    border-color:var(--clr-primary-hover-light);

    transform:translateY(-4px);

    box-shadow:
        0 12px 25px rgba(190,145,205,.20);

}


.ingredient-btn-secondary{

    background:transparent;

    color:var(--clr-primary);

    border:1px solid var(--clr-primary-light);

}


.ingredient-btn-secondary:hover{

    background:var(--clr-primary-light);

    color:var(--clr-white);

    transform:translateY(-4px);

}


/* ============================================================
        HERO IMAGE
============================================================ */

.ingredient-hero-visual{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

}


.ingredient-hero-image{

    width:100%;

    max-width:700px;

    height:auto;

    display:block;

    object-fit:contain;

    border-radius:42px;

    transition:
        transform .5s ease,
        filter .5s ease;

}


.ingredient-hero-visual:hover
.ingredient-hero-image{

    transform:scale(1.015);

}


/*
    IMPORTANT:
    There is intentionally NO background color,
    gradient, glow or colored box behind the image.

    The generated image itself should contain
    the visual composition.
*/


/* ============================================================
        SECTION 2
        KEY BENEFITS
============================================================ */

.ingredient-benefits{

    width:100%;

    padding:25px 0 65px;

    background:var(--clr-white);

}


.ingredient-section-heading{

    width:100%;

    margin:0 auto 28px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

}


.ingredient-section-heading::before,
.ingredient-section-heading::after{

    content:"";

    width:55px;

    height:1px;

    background:#eadfe8;

}


.ingredient-section-heading::before{

    margin-right:18px;

}


.ingredient-section-heading::after{

    margin-left:18px;

}


/* ============================================================
        BENEFIT GRID
============================================================ */

.ingredient-benefits-grid{

    width:100%;

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:46px;

}


/* ============================================================
        BENEFIT CARD
============================================================ */

.ingredient-benefit-card{

    min-height:205px;

    padding:25px 22px;

    background:#fff;

    border:1px solid #eadfe8;

    border-radius:25px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}


.ingredient-benefit-card:hover{

    transform:translateY(-8px);

    border-color:
        rgba(190,145,205,.40);

    box-shadow:
        0 18px 40px rgba(0,0,0,.06);

}


/* ============================================================
        BENEFIT ICON
============================================================ */

.ingredient-benefit-icon{

    width:45px;

    height:45px;

    margin-bottom:18px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.2rem;

    transition:
        transform .35s ease,
        background .35s ease;

}


.ingredient-benefit-card:hover
.ingredient-benefit-icon{

    transform:scale(1.08);

    background:#fff3fb;

}


/* ============================================================
        BENEFIT TEXT
============================================================ */

.ingredient-benefit-card h3{

    margin:0 0 12px;

    color:var(--clr-heading);

    font-family:var(--ff-paragraph);

    font-size:1.4rem;

    line-height:1.35;

    font-weight:600;

    margin-bottom: 10px;

    margin-top: 20px;

}


.ingredient-benefit-card p{

    margin:0;

    color:var(--clr-text);

    font-family:var(--ff-paragraph);

    font-size:1.04rem;

    line-height:1.7;

}


/* ============================================================
        SECTION 3
        HOW IT WORKS
============================================================ */

.ingredient-how-it-works{

    width:100%;

    padding:35px 0 70px;

    background:var(--clr-white);

}


.ingredient-how-container{

    width:100%;

    max-width:1400px;

    margin:0 auto;

    padding:45px 4.5%;

    border:1px solid #eadfe8;

    border-radius:34px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fdf8fc
        );

    display:grid;

    grid-template-columns:
        .75fr 1.8fr;

    align-items:center;

    gap:55px;

}


/* ============================================================
        HOW INTRO
============================================================ */

.ingredient-how-intro{

    width:100%;

    max-width:400px;

}


.ingredient-how-title{

    margin:22px 0 18px;

    color:var(--clr-heading);

    font-size:clamp(
        2rem,
        2.8vw,
        2.8rem
    );

    line-height:1.2;

    font-weight:500;

}


.ingredient-how-description{

    margin:0;

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.85;

    color:var(--clr-text);

}


/* ============================================================
        HOW STEPS
============================================================ */

.ingredient-how-steps{

    width:100%;

    display:grid;

    grid-template-columns:
        1fr auto 1fr auto 1fr;

    align-items:center;

    gap:18px;

}


.ingredient-how-step{

    min-width:0;

    text-align:center;

}


/* ============================================================
        STEP IMAGE
============================================================ */

.ingredient-step-image{

    width:120px;

    height:120px;

    margin:0 auto 20px;

    display:flex;

    align-items:center;

    justify-content:center;

}


.ingredient-step-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    display:block;

    transition:
        transform .4s ease;

}


.ingredient-how-step:hover
.ingredient-step-image img{

    transform:scale(1.08);

}


/* ============================================================
        STEP CONTENT
============================================================ */

.ingredient-step-content{

    display:flex;

    flex-direction:column;

    align-items:center;

}


.ingredient-step-number{

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:1.5rem;

    font-weight:600;

    margin-bottom:5px;

}


.ingredient-step-content h3{

    margin:0 0 10px;

    color:var(--clr-heading);

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    font-weight:600;

}


.ingredient-step-content p{

    max-width:190px;

    margin:0 auto;

    color:var(--clr-text);

    font-family:var(--ff-paragraph);

    font-size:1.02rem;

    line-height:1.65;

}


/* ============================================================
        STEP ARROW
============================================================ */

.ingredient-step-arrow{

    color:var(--clr-primary-light);

    font-size:1.7rem;

    font-weight:400;

    margin-top:-60px;

}


/* ============================================================
        SECTION 4
        GREAT WITH
============================================================ */

.ingredient-great-with{

    /* width:100%; */

    padding:15px 0 70px;

    background:var(--clr-white);

}


/* ============================================================
        PRODUCT GRID
============================================================ */

.ingredient-product-grid{

    display:grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:48px;

}


/* ============================================================
        PRODUCT CARD
============================================================ */

.ingredient-product-card{

    min-width:200px;

    min-height:200px;

    background:#fff;

    border:1px solid #eadfe8;

    border-radius:26px;

    overflow:hidden;

    display:grid;

    /* grid-template-columns:
        100px 1fr; */

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

        padding: 20px;

}


.ingredient-product-card:hover{

    transform:translateY(-8px);

    border-color:
        rgba(190,145,205,.40);

    box-shadow:
        0 18px 40px rgba(0,0,0,.07);

}


/* ============================================================
        PRODUCT IMAGE
============================================================ */

.ingredient-product-image{

    width:100%;

    height:100%;

    min-height:185px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}


.ingredient-product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:
        transform .45s ease;

}


.ingredient-product-card:hover
.ingredient-product-image img{

    transform:scale(1.05);

}


/* ============================================================
        PRODUCT CONTENT
============================================================ */

.ingredient-product-content{

    padding:20px 17px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

}


.ingredient-product-type{

    margin-bottom:8px;

    color:var(--clr-primary-light);

    font-family:var(--ff-paragraph);

    font-size:1rem;

    font-weight:600;

    letter-spacing:1.5px;

    /* margin-top: 70px; */

}


.ingredient-product-content h3{

    margin:0 0 9px;

    color:var(--clr-heading);

    font-family:var(--ff-paragraph);

    font-size:1.5rem;

    line-height:1.35;

    font-weight:600;

}


.ingredient-product-content p{

    margin:0 0 15px;

    color:var(--clr-text);

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.6;

}

/* 
.ingredient-product-link{

    margin-top:30px;

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:1rem;

    font-weight:500;

    text-decoration:none;

    transition:
        transform .3s ease,
        color .3s ease;

}


.ingredient-product-link:hover{

    color:var(--clr-primary-hover-light);

    transform:translateX(5px);

} */


/* ============================================================
        SECTION 5
        A LITTLE EXTRA TO KNOW
============================================================ */

.ingredient-extra{

    width:100%;

    padding:0 0 80px;

    background:var(--clr-white);

    display: flex;

    justify-content: center;

}


.ingredient-extra-container{

    width:100%;

    max-width:1300px;

     margin-top: 70px;
    padding:45px 4.5%;

    border-radius:34px;

    background:
        linear-gradient(
            145deg,
            #fff9fc,
            #fdf4fa
        );

    border:1px solid #eadfe8;

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:60px;

    align-items:center;

   
}


/* ============================================================
        EXTRA CONTENT
============================================================ */

.ingredient-extra-content{

    max-width:600px;

}


.ingredient-extra-title{

    margin:18px 0 20px;

    color:var(--clr-heading);

    font-size:clamp(
        2.1rem,
        3vw,
        3rem
    );

    line-height:1.15;

    font-weight:500;

    text-transform:capitalize;

}


.ingredient-extra-description{

    max-width:570px;

    margin:0 0 16px;

    color:var(--clr-text);

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

}


/* ============================================================
        MIMII NOTE
============================================================ */

.ingredient-mimii-note{

    position:relative;

    padding:30px 32px;

    border-radius:28px;

    background:var(--clr-white);

    border:1px solid #eadfe8;

    box-shadow:
        0 15px 35px rgba(0,0,0,.04);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

       

}


.ingredient-mimii-note:hover{

    transform:translateY(-6px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.07);

}


.ingredient-mimii-note-heading{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:16px;

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:1rem;

    font-weight:600;

}


.ingredient-mimii-heart{

    color:var(--clr-primary-light);

    font-size:1.15rem;

}


.ingredient-mimii-note p{

    margin:0;

    color:var(--clr-text);

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.85;

}


/* ============================================================
        SOFT DECORATIVE LINE
============================================================ */

.ingredient-mimii-note::after{

    content:"";

    position:absolute;

    width:55px;

    height:55px;

    right:25px;

    bottom:20px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(226,202,235,.35),
            transparent 70%
        );

    pointer-events:none;

}


/* ============================================================
        HOVER / FOCUS ACCESSIBILITY
============================================================ */

.ingredient-btn:focus-visible,
.ingredient-product-link:focus-visible{

    outline:2px solid var(--clr-primary-light);

    outline-offset:4px;

}


/* ============================================================
        TABLET
        1024px
============================================================ */

@media screen and (max-width:1024px){


    /* HERO */

    .ingredient-hero{

        padding-top:45px;

        padding-bottom:55px;

    }


    .ingredient-hero-container{

        grid-template-columns:
            1fr 1fr;

        gap:35px;

        margin-top: 100px;

    }


    .ingredient-hero-title{

        font-size:3.3rem;

    }


    .ingredient-hero-subtitle{

        font-size:1.9rem;

    }


    .ingredient-hero-description{

        font-size:1rem;

    }


    .ingredient-hero-image{

        border-radius:32px;

    }



    /* BENEFITS */

    .ingredient-benefits{

        padding-bottom:55px;

    }


    .ingredient-benefits-grid{

        grid-template-columns:
            repeat(3,1fr);

        gap:18px;

    }


    .ingredient-benefit-card{

        min-height:190px;

    }


    .ingredient-benefit-card:nth-child(4){

        grid-column:1 / 2;

    }


    .ingredient-benefit-card:nth-child(5){

        grid-column:2 / 3;

    }



    /* HOW IT WORKS */

    .ingredient-how-container{

        grid-template-columns:1fr;

        gap:40px;

        padding:40px;

    }


    .ingredient-how-intro{

        max-width:650px;

        text-align:center;

        margin:auto;

    }


    .ingredient-how-steps{

        width:100%;

    }



    /* PRODUCTS */

    .ingredient-product-grid{

        grid-template-columns:
            repeat(2,1fr);

        gap:20px;

    }


    .ingredient-product-card{

        min-height:190px;

    }



    /* EXTRA */

    .ingredient-extra-container{

        gap:40px;

        padding:40px;

    }

}


/* ============================================================
        MOBILE
        768px
============================================================ */

@media screen and (max-width:768px){


    /* SHARED */

    .ingredient-section-container{

        padding-inline:20px;

    }



    /* HERO */

    .ingredient-hero{

        padding-top:35px;

        padding-bottom:60px;

    }


    .ingredient-hero-container{

        display:flex;

        flex-direction:column;

        gap:35px;

        text-align:center;

        padding-inline:20px;

    }


    .ingredient-hero-content{

        max-width:100%;

        display:flex;

        flex-direction:column;

        align-items:center;

    }


    .ingredient-hero-tag{

        margin-bottom:20px;

        font-size:.72rem;

    }


    .ingredient-hero-title{

        font-size:2.5rem;

        line-height:1.12;

        margin-bottom:18px;

    }


    .ingredient-hero-subtitle{

        max-width:500px;

        font-size:1.65rem;

        line-height:1.25;

        margin-bottom:20px;

    }


    .ingredient-hero-description{

        max-width:500px;

        font-size:.95rem;

        line-height:1.75;

        margin-bottom:28px;

    }


    .ingredient-hero-actions{

        width:100%;

        justify-content:center;

        gap:12px;

    }


    .ingredient-btn{

        min-height:50px;

        padding:0 22px;

        font-size:.9rem;

    }


    .ingredient-hero-visual{

        width:100%;

        order:2;

    }


    .ingredient-hero-image{

        width:100%;

        max-width:600px;

        border-radius:28px;

    }



    /* BENEFITS */

    .ingredient-benefits{

        padding:15px 0 60px;

    }


    .ingredient-section-heading{

        margin-bottom:25px;

    }


    .ingredient-section-heading::before,
    .ingredient-section-heading::after{

        width:30px;

    }


    .ingredient-section-heading::before{

        margin-right:12px;

    }


    .ingredient-section-heading::after{

        margin-left:12px;

    }


    .ingredient-section-tag{

        font-size:.72rem;

        letter-spacing:2.5px;

    }


    .ingredient-benefits-grid{

        grid-template-columns:1fr;

        gap:16px;

    }


    .ingredient-benefit-card{

        min-height:auto;

        padding:24px;

        border-radius:24px;

    }


    .ingredient-benefit-card:nth-child(4),
    .ingredient-benefit-card:nth-child(5){

        grid-column:auto;

    }


    .ingredient-benefit-icon{

        width:42px;

        height:42px;

        margin-bottom:15px;

    }


    .ingredient-benefit-card h3{

        font-size:1rem;

    }


    .ingredient-benefit-card p{

        font-size:.9rem;

    }



    /* HOW IT WORKS */

    .ingredient-how-it-works{

        padding:20px 0 60px;

    }


    .ingredient-how-container{

        padding:32px 22px;

        border-radius:28px;

        gap:35px;

    }


    .ingredient-how-title{

        font-size:2rem;

    }


    .ingredient-how-description{

        font-size:.95rem;

        line-height:1.75;

    }


    .ingredient-how-steps{

        display:flex;

        flex-direction:column;

        gap:25px;

    }


    .ingredient-how-step{

        width:100%;

    }


    .ingredient-step-image{

        width:105px;

        height:105px;

        margin-bottom:15px;

    }


    .ingredient-step-content h3{

        font-size:1rem;

    }


    .ingredient-step-content p{

        max-width:320px;

        font-size:.88rem;

    }


    .ingredient-step-arrow{

        margin:0;

        transform:rotate(90deg);

        font-size:1.5rem;

    }



    /* PRODUCTS */

    .ingredient-great-with{

        padding-bottom:60px;

    }


    .ingredient-product-grid{

        grid-template-columns:1fr;

        gap:16px;

    }


    .ingredient-product-card{

        grid-template-rows:
            120px 1fr;

        min-height:180px;

        border-radius:24px;

    }


    .ingredient-product-image{

        min-height:180px;

    }


    .ingredient-product-content{

        padding:20px 18px;

    }


    .ingredient-product-type{

        font-size:.62rem;

    }


    .ingredient-product-content h3{

        font-size:1rem;

    }


    .ingredient-product-content p{

        font-size:.8rem;

    }



    /* EXTRA */

    .ingredient-extra{

        padding-bottom:60px;

    }


    .ingredient-extra-container{

        grid-template-columns:1fr;

        gap:25px;

        padding:32px 22px;

        border-radius:28px;

    }


    .ingredient-extra-content{

        max-width:100%;

        text-align:center;

    }


    .ingredient-extra-title{

        font-size:2rem;

    }


    .ingredient-extra-description{

        font-size:.94rem;

        line-height:1.75;

    }


    .ingredient-mimii-note{

        padding:25px 22px;

        border-radius:24px;

    }


    .ingredient-mimii-note p{

        font-size:.9rem;

        line-height:1.75;

    }

}


/* ============================================================
        SMALL MOBILE
        480px
============================================================ */

@media screen and (max-width:480px){


    /* HERO */

    .ingredient-hero-container{

        padding-inline:16px;

    }


    .ingredient-hero-title{

        font-size:2.15rem;

    }


    .ingredient-hero-subtitle{

        font-size:1.45rem;

    }


    .ingredient-hero-description{

        font-size:.9rem;

    }


    .ingredient-hero-actions{

        flex-direction:column;

        width:100%;

    }


    .ingredient-btn{

        width:100%;

        max-width:300px;

        margin-bottom: 0;

    }


    .ingredient-hero-image{

        border-radius:22px;

    }



    /* BENEFITS */

    .ingredient-section-container{

        padding-inline:16px;

    }


    .ingredient-benefit-card{

        padding:22px;

    }



    /* HOW */

    .ingredient-how-container{

        padding:28px 18px;

        border-radius:24px;

    }


    .ingredient-how-title{

        font-size:1.8rem;

    }



    /* PRODUCTS */

    .ingredient-product-card{

        grid-template-rows:1fr .70fr;

    }


    .ingredient-product-image{

        min-height:170px;

    }


    .ingredient-product-content{

        padding:17px 14px;

    }


    .ingredient-product-content p{

        font-size:.76rem;

        line-height:1.55;

    }



    /* EXTRA */

    .ingredient-extra-container{

        padding:28px 18px;

    }


    .ingredient-extra-title{

        font-size:1.8rem;

    }

}


/* ============================================================
        REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion:reduce){

    .ingredient-hero-image,
    .ingredient-benefit-card,
    .ingredient-benefit-icon,
    .ingredient-step-image img,
    .ingredient-product-card,
    .ingredient-product-image img,
    .ingredient-mimii-note,
    .ingredient-btn,
    .ingredient-product-link{

        transition:none;

    }

}