/* =========================================================
   AF_Philosophy v1.0.0
   Developed by Ilyas Benayad
   Isolated afp-* namespace
   ========================================================= */

.afp-section{
    --afp-orange:#ed501b;
    --afp-navy:#081a30;
    --afp-text:#3f4851;
    --afp-image-scale:1;
    --afp-image-hover:1.02;

    width:100%;
    margin:0;
    padding:25px 5.5% 30px;
    background:#fff;
    color:var(--afp-navy);
    font-family:"Inter",Arial,Helvetica,sans-serif;
    overflow:hidden;
}

.afp-section *,
.afp-section *::before,
.afp-section *::after{
    box-sizing:border-box;
}

.afp-container{
    width:100%;
    max-width:1450px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:35px;
    min-width:0;
}

.afp-visual{
    position:relative;
    width:100%;
    min-width:0;
    height:318px;
    overflow:hidden;
    border-radius:9px;
    background:#eee;
    contain:paint;
    isolation:isolate;
}

.afp-image{
    display:block;
    width:100%;
    height:318px;
    max-width:none;
    object-fit:cover;
    object-position:center;
    transform:scale(var(--afp-image-scale));
    transform-origin:center;
    transition:transform .6s cubic-bezier(.2,.8,.2,1);
}

@media (hover:hover) and (pointer:fine){
    .afp-visual:hover .afp-image{
        transform:scale(var(--afp-image-hover));
    }
}

.afp-quote{
    position:absolute;
    z-index:4;
    left:20px;
    bottom:17px;
    width:190px;
    max-width:calc(100% - 40px);
    padding:11px 13px;
    border-radius:8px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    box-shadow:0 4px 14px rgba(0,0,0,.08);
    overflow:hidden;
}

.afp-quote-symbol{
    display:block;
    margin:0;
    color:var(--afp-orange);
    font-size:27px;
    line-height:.45;
    font-weight:700;
}

.afp-quote p{
    width:100%;
    margin:7px 0 0;
    color:#333b44;
    font-size:9px;
    line-height:1.55;
    font-weight:400;
    overflow-wrap:anywhere;
    word-break:normal;
}

.afp-content{
    width:100%;
    min-width:0;
    align-self:center;
    padding:0;
}

.afp-label{
    display:block;
    margin:0 0 8px;
    color:var(--afp-orange);
    font-size:9px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
}

.afp-title{
    width:100%;
    margin:0 0 12px;
    color:var(--afp-navy);
    font-size:28px;
    line-height:1.07;
    letter-spacing:-.7px;
    font-weight:750;
    overflow-wrap:anywhere;
}

.afp-title span{
    color:var(--afp-orange);
}

.afp-description{
    width:100%;
    max-width:650px;
    margin:0;
    color:var(--afp-text);
    font-size:12px;
    line-height:1.65;
    font-weight:400;
    overflow-wrap:anywhere;
}

.afp-values{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:35px;
    margin-top:20px;
    align-items:start;
}

.afp-value{
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:0;
}

.afp-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #fde6dd;
    border-radius:50%;
    background:#fff8f5;
    color:var(--afp-orange);
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
}

.afp-icon i{
    color:currentColor!important;
    opacity:1!important;
}

.afp-icon svg{
    display:block!important;
    width:17px;
    height:17px;
    color:currentColor!important;
    fill:currentColor!important;
    stroke:currentColor!important;
    opacity:1!important;
    overflow:visible!important;
}

.afp-icon svg *,
.afp-icon svg path,
.afp-icon svg circle,
.afp-icon svg rect,
.afp-icon svg line,
.afp-icon svg polyline,
.afp-icon svg polygon{
    fill:currentColor!important;
    stroke:currentColor!important;
}

.afp-value-copy{
    min-width:0;
    width:100%;
}

.afp-value h3{
    width:100%;
    margin:0 0 3px;
    color:var(--afp-navy);
    font-size:10px;
    line-height:1.25;
    font-weight:700;
    overflow-wrap:anywhere;
}

.afp-value p{
    width:100%;
    margin:0;
    color:#555d64;
    font-size:9px;
    line-height:1.5;
    font-weight:400;
    overflow-wrap:anywhere;
    word-break:normal;
}

/* TABLET */
@media (max-width:1199px) and (min-width:701px){
    .afp-section{
        padding:30px 5% 35px;
    }

    .afp-container{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:25px;
    }

    .afp-visual,
    .afp-image{
        height:290px;
    }

    .afp-title{
        font-size:24px;
        line-height:1.08;
    }

    .afp-description{
        max-width:100%;
        font-size:11px;
        line-height:1.6;
    }

    .afp-values{
        gap:18px;
        margin-top:18px;
    }

    .afp-icon{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .afp-icon svg{
        width:16px;
        height:16px;
    }

    .afp-quote{
        left:14px;
        bottom:13px;
        width:170px;
        padding:10px 12px;
    }

    .afp-quote p{
        font-size:8.5px;
    }
}

/* MOBILE */
@media (max-width:700px){
    .afp-section{
        padding:30px 20px 35px;
    }

    .afp-container{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:25px;
    }

    .afp-visual{
        order:1;
        width:100%;
        height:230px;
    }

    .afp-image{
        height:230px;
    }

    .afp-content{
        order:2;
        width:100%;
    }

    .afp-label{
        font-size:9px;
        margin-bottom:8px;
    }

    .afp-title{
        font-size:26px;
        line-height:1.08;
        letter-spacing:-.5px;
        margin-bottom:12px;
    }

    .afp-description{
        max-width:100%;
        font-size:12px;
        line-height:1.6;
    }

    .afp-values{
        grid-template-columns:1fr;
        gap:15px;
        margin-top:20px;
    }

    .afp-value{
        width:100%;
    }

    .afp-icon{
        width:32px;
        height:32px;
        flex-basis:32px;
    }

    .afp-icon svg{
        width:17px;
        height:17px;
    }

    .afp-quote{
        left:15px;
        bottom:13px;
        width:175px;
        padding:10px 12px;
    }

    .afp-quote-symbol{
        font-size:25px;
    }

    .afp-quote p{
        font-size:9px;
        line-height:1.5;
    }
}

@media (max-width:390px){
    .afp-section{
        padding:25px 15px 35px;
    }

    .afp-visual,
    .afp-image{
        height:220px;
    }

    .afp-title{
        font-size:24px;
    }

    .afp-description{
        font-size:11px;
    }

    .afp-quote{
        width:165px;
        left:12px;
        bottom:11px;
    }
}

/* HARD SAFETY */
.elementor-widget-af_philosophy,
.elementor-widget-af_philosophy .elementor-widget-container,
.afp-section,
.afp-container,
.afp-visual,
.afp-content,
.afp-values,
.afp-value{
    max-width:100%;
}

.elementor-widget-af_philosophy{
    overflow:clip;
}

@supports not (overflow:clip){
    .elementor-widget-af_philosophy{
        overflow:hidden;
    }
}

@media (prefers-reduced-motion:reduce){
    .afp-section *,
    .afp-section *::before,
    .afp-section *::after{
        animation:none!important;
        transition:none!important;
    }
}
