/* ==========================================================
   QUOTE HERO
========================================================== */

.quote-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.03),
        transparent
    );

    pointer-events:none;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:.5rem;

    padding:.55rem 1.2rem;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.15);

    backdrop-filter:blur(10px);

    text-transform:uppercase;

    font-size:.8rem;

    letter-spacing:.15em;

}

.quote-hero .btn-primary {
    margin-bottom: 20px;
}

.quote-builder{

    background:#F8FAFC;

    margin-top:-40px;

    position:relative;

    z-index:5;

    border-radius:30px 30px 0 0;

}

.quote-builder h1,
.quote-builder h2,
.quote-builder h3,
.quote-builder h4,
.quote-builder h5,
.quote-builder h6{

    color:#0F172A;

}

.quote-builder p{

    color:#64748B;

}

.quote-builder small{

    color:#94A3B8;

}

.quote-builder strong{

    color:#0F172A;

}

.quote-hero{

    background:
    radial-gradient(circle at top right,#4F8DFF20 0%,transparent 35%),
    linear-gradient(
        135deg,
        #0F172A,
        #175CDD
    );

    color:#fff;

    overflow:hidden;

    position:relative;

}

.quote-card,
.quote-summary{

    background:#fff;

    border-radius:24px;

    padding:40px;

    box-shadow:
        0 20px 60px rgba(15,23,42,.05);

    border:1px solid rgba(15,23,42,.05);

}

.quote-card{

    color:#1E293B;

}

.quote-card h3{

    color:#0F172A;

}

.quote-card h3 i{

    color:var(--primary);

}

.quote-card h5{

    color:#0F172A;

}

.quote-card p{

    color:#64748B;

    font-size: 14px;

}

.quote-summary{

    position:sticky;

    top:120px;

    border-top:5px solid var(--primary);

}

.quote-summary h4,
.quote-summary h5{

    color:#0F172A;

}

.quote-summary h4{

    font-size:1.6rem;

    margin-top:20px;

}

.quote-summary small{

    color:#94A3B8;

}

.quote-summary strong{

    color:#0F172A;

}

.summary-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--primary);

    font-weight:600;

    font-size:.9rem;

}

.summary-price{

    font-size:3rem;

    font-weight:700;

    color:var(--primary);

    margin:25px 0;

}

.quote-progress{

    margin-bottom:50px;

}

.quote-progress ul{

    display:flex;

    justify-content:space-between;

    list-style:none;

    padding:0;

    margin:0;

    gap:12px;

}

.quote-progress li{

    flex:1;

    text-align:center;

    color:#94A3B8;

    transition:.3s;

}

.quote-progress li i{

    width:54px;

    height:54px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    margin-bottom:10px;

    border-radius:50%;

    background:#fff;

    border:2px solid #E2E8F0;

    font-size:1.2rem;

}

.quote-progress li.active{

    color:var(--primary);

    font-weight:600;

}

.quote-progress li.active i{

    background:var(--primary);

    color:#fff;

    border-color:var(--primary);

    transform:scale(1.1);

}

.quote-step ul li {

    margin-bottom: 7px;

    font-size: 14px;

}

.wizard-content{

    min-height:420px;

    display:flex;

    align-items:flex-start;

    justify-content:center;

    /*padding-top:70px;*/

    text-align:center;

}

.wizard-icon{

    font-size:42px;

    color:var(--primary);

    margin-bottom:25px;

}

.wizard-note{

    display:inline-flex;

    gap:10px;

    align-items:center;

    margin-top:40px;

    background:#F8FAFC;

    padding:15px 20px;

    border-radius:14px;

}

.wizard-navigation{

    display:flex;

    justify-content:space-between;

    margin-top:40px;

}

.wizard-navigation .btn-primary{

    border-radius:14px;

    padding:14px 36px;

    font-weight:600;

}

.wizard-navigation .btn{

    min-width:150px;

    border-radius:12px;

    padding:12px 28px;

}

.summary-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:20px 0;

}

#summaryFeatures{

    padding-left:20px;

    margin-bottom:0;

}

#summaryFeatures li{

    margin-bottom:8px;

}

.quote-card:hover,
.quote-summary:hover{

    transform:translateY(-3px);

    transition:.25s;

}

.quote-mobile-summary{

    display:none;

}

.quote-mobile-summary{

    position:fixed;

    left:0;

    right:0;

    bottom:0;

    background:#fff;

    padding:18px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:
        0 -10px 30px rgba(15,23,42,.08);

    z-index:999;

}

.quote-mobile-summary h3 {
    color:#0F172A !important;
}

/*.quote-step h2{

    font-size:2.25rem;

    font-weight:700;

    color:#0F172A;

    margin-bottom:15px;

}

.quote-step p{

    max-width:650px;

    margin:0 auto 40px;

    color:#64748B;

    font-size:1.05rem;

    line-height:1.8;

}*/

.timeline-card:hover,
.style-card:hover,
.features-card:hover,
.category-card:hover,
.package-card:hover,
.page-card:hover{

    transform:translateY(-6px);

    border-color:var(--primary);

    box-shadow: 0 15px 35px rgba(37,99,235,.12);

}

.timeline-card.active,
.style-card.active,
.features-card.active,
.category-card.active,
.package-card.active,
.page-card.active{

    border-color:var(--primary);

    background:#EFF6FF;

    box-shadow: 0 15px 35px rgba(37,99,235,.15);

}

.timeline-card:before,
.style-card::before,
.features-card::before,
.category-card::before,
.package-card::before,
.page-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:5px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.25s;

}

/*--------------------------------------------------
SUMMARY V2
--------------------------------------------------*/

.quote-summary{

    background:#fff;

    border-radius:20px;

    padding:28px;

    border:1px solid #e8ecf4;

    position:sticky;

    top:110px;

}

.summary-subtitle{

    font-size:15px;

    font-weight:600;

    margin-bottom:18px;

}

.summary-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

    gap:15px;

}

.summary-item span{

    color:#6c757d;

    display:flex;

    align-items:center;

    gap:8px;

}

.summary-item strong{

    font-weight:600;

    color:#212529;

    text-align:right;

}

.summary-total{

    text-align:center;

    margin-top:15px;

}

.summary-total span{

    display:block;

    color:#6c757d;

    margin-bottom:8px;

}

.summary-total h3{

    font-size:36px;

    font-weight:700;

    color:var(--primary);

    margin:0;

}

.quote-summary hr{

    margin:22px 0;

}

.summary-feature-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:12px;

    padding:8px 0;

    border-bottom:1px dashed rgba(0,0,0,.08);

}

.summary-feature-item:last-child{

    border-bottom:none;

}

.summary-feature-item span{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:.95rem;

}

.summary-feature-item strong{

    font-size:.9rem;

    font-weight:600;

    white-space:nowrap;

}


@media(max-width:991px){

    .quote-summary{

        position:relative;

        top:auto;

    }

}

@media(max-width:768px){

    .quote-summary{

        display:none;

    }

    .quote-mobile-summary{

        display:flex;

    }

}

