section.aurora-text-benefits{
    padding:0;
}




/* LAYOUT
-------------------------------------------------- */

@media (min-width:992px){

    section.aurora-text-benefits--flipped .aurora-text-benefits__column--primary{
        order:2;
    }

    section.aurora-text-benefits--flipped .aurora-text-benefits__column--secondary{
        order:1;
    }

}


/* TEXT
-------------------------------------------------- */

section.aurora-text-benefits .aurora-text-benefits__heading {
    margin-bottom: 1.5rem;
}

section.aurora-text-benefits .aurora-text-benefits__heading--section {
    max-width: 720px;
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

section.aurora-text-benefits h2.title {
    margin: 0;
    color: var(--blue-color);
    font-size: clamp(1.875rem, 1.4rem + 2vw, 2.5rem);
    text-wrap: balance;
}

section.aurora-text-benefits .aurora-text-benefits__subtitle {
    margin: .5rem 0 0;
    font-weight: 600;
    line-height: 1.4;
    text-wrap: balance;
    color: var(--purple-color);
}

section.aurora-text-benefits p{
    margin-top:0;
}

section.aurora-text-benefits ol {
    list-style: none;
    margin: 2rem 0;
    padding: 0;
    counter-reset: benefits-counter;
    font-size: .875rem;
}

section.aurora-text-benefits ol li {
    position: relative;
    padding-left: 3rem;
    counter-increment: benefits-counter;
    font-weight: 500;
    line-height:1.6;
}

section.aurora-text-benefits ol li h4{
    font-size: 1.125rem;
    margin-bottom: .25em;
}

section.aurora-text-benefits ol li + li {
    margin-top: 1.675rem;
}

section.aurora-text-benefits ol li::before {
    content: counter(benefits-counter);

    position: absolute;
    left: 0;
    top: -.125rem;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 2rem;
    height: 2rem;

    border-radius: 50%;
    background: #0c1f2c;
    color: #fff;

    font-weight: 700;
    line-height: 1;
}

section.aurora-text-benefits ul.styled {
    list-style: none;
    margin: 2rem 0;
    font-size: .875rem;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    align-items: flex-start;
}

section.aurora-text-benefits ul.styled li{
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    background: #fafafa;
    border-radius: 10px;
    font-weight: 600;
}

section.aurora-text-benefits ul.styled li:before{
    content:'\f00c';
    color:#79b000;
    margin-top:.2em;
    flex:0 0 auto;
    font-family:'Font Awesome 5 Free';
}

section.aurora-text-benefits .aurora-text-benefits__text-column--right > :first-child {
    margin-top: 0;
}

section.aurora-text-benefits .aurora-text-benefits__text-column--right > :last-child {
    margin-bottom: 0;
}

section.aurora-text-benefits .aurora-text-benefits__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem;
}


/* BENEFITS
-------------------------------------------------- */

section.aurora-text-benefits .benefits-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.5rem;
    align-items:stretch;
}

section.aurora-text-benefits .benefits-grid--count-1{
    grid-template-columns:1fr;
}

section.aurora-text-benefits .benefits-grid--count-1 .benefit{
    width:100%;
    max-width:420px;
    margin:0 auto;
}

section.aurora-text-benefits .benefits-grid--count-2,
section.aurora-text-benefits .benefits-grid--count-3,
section.aurora-text-benefits .benefits-grid--count-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

section.aurora-text-benefits .benefits-grid--count-3 .benefit--1{
    grid-column:1 / -1;
}

section.aurora-text-benefits .benefit{
    height:100%;
    display:flex;
    flex-direction:column;
    background:var(--body-color-darker);
    border-radius:12px;
    padding:1.5rem;
    position:relative;
    justify-content:center;
    text-align:center;
    align-items:center;
}

section.aurora-text-benefits .benefit__icon{
    width:40px;
    height:40px;
    border-radius:50%;
    color:var(--copper-color);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.375rem;
    box-shadow:0 0 0 .5px var(--copper-color);
    background:var(--body-color);
}

section.aurora-text-benefits .benefit__icon i{
    line-height:1;
}

section.aurora-text-benefits .benefit .title{
    color:var(--copper-color);
    margin:.375rem 0 0 0;
}

section.aurora-text-benefits .benefit .subtitle{
    margin:.25rem 0 0 0;
    font-size:.875rem;
    font-weight:400;
    line-height:1.5;
    color:var(--font-color);
    text-wrap:balance;
}


/* IMAGE GRID
-------------------------------------------------- */

section.aurora-text-benefits .image-grid{
    display:grid;
    gap:1.5rem;
}

section.aurora-text-benefits .image-grid--count-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
        "landscape-one portrait"
        "landscape-two portrait";
}

section.aurora-text-benefits .image-grid--count-3 .image-grid__item--1{
    grid-area:landscape-one;
    aspect-ratio:4 / 3;
}

section.aurora-text-benefits .image-grid--count-3 .image-grid__item--2{
    grid-area:landscape-two;
    aspect-ratio:4 / 3;
}

section.aurora-text-benefits .image-grid--count-3 .image-grid__item--3{
    grid-area:portrait;
    min-height:0;
}

section.aurora-text-benefits .image-grid--count-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

section.aurora-text-benefits .image-grid--count-2 .image-grid__item{
    aspect-ratio:3 / 4;
}

section.aurora-text-benefits .image-grid--count-1{
    grid-template-columns:1fr;
}

section.aurora-text-benefits .image-grid--count-1 .image-grid__item{
    aspect-ratio:3 / 2;
}

section.aurora-text-benefits .image-grid__item{
    position:relative;
    overflow:hidden;
    border-radius:12px;
    background:#f5f1ef;
}

section.aurora-text-benefits .image-grid__item img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


/* RESPONSIVE
-------------------------------------------------- */

/*
 * The image version drops the image column earlier than the
 * standard benefits version, matching the existing behaviour.
 */
@media (max-width:1319px){

    section.aurora-text-benefits--images .row{
        grid-template-columns:minmax(0,800px);
    }

    section.aurora-text-benefits--images .row > .col-lg-6:first-child{
        width:100%;
        max-width:800px;
    }

    section.aurora-text-benefits--images .row > .col-lg-6:last-child{
        display:none;
    }

}


@media (max-width:991px){

    section.aurora-text-benefits .row{
        row-gap:3rem;
    }

}


@media (max-width:767px){

    section.aurora-text-benefits .row.gx-5{
        --bs-gutter-x:0;
    }

    section.aurora-text-benefits .benefits-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.75rem;
    }

    section.aurora-text-benefits .benefits-grid--count-1{
        grid-template-columns:1fr;
    }

    section.aurora-text-benefits .benefits-grid--count-3 .benefit--1{
        grid-column:1 / -1;
    }

    section.aurora-text-benefits .benefit{
        padding:2rem 1rem 1rem 1rem;
        border-radius:12px;
    }

    section.aurora-text-benefits .benefit__icon{
        width:38px;
        height:38px;
        font-size:1rem;
        margin-bottom:.75rem;
    }

    section.aurora-text-benefits .benefit h4{
        font-size:.95rem;
        line-height:1.15;
        margin-bottom:.35rem;
    }

    section.aurora-text-benefits .benefit p{
        font-size:.8rem;
        line-height:1.35;
    }

    section.aurora-text-benefits .row{
        row-gap:2rem;
    }

}