/* ==========================================================
   QUOTE HERO
========================================================== */

#quote-hero{
    padding:7rem 0 6rem;
    background:
        linear-gradient(
            rgba(var(--primary-rgb),.08),
            rgba(var(--primary-rgb),.02)
        ),
        var(--white-color);
}

#quote-hero .breadcrumb{
    margin-bottom:1.5rem;
}

#quote-hero .breadcrumb-item,
#quote-hero .breadcrumb-item a{
    font-size:.95rem;
    color:var(--text-light);
    text-decoration:none;
}

#quote-hero .breadcrumb-item.active{
    color:var(--primary-color);
    font-weight:600;
}

#quote-hero .section-subtitle{
    display:inline-block;
    margin-bottom:1rem;
    color:var(--primary-color);
    font-size:.9rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

#quote-hero h1{
    margin-bottom:1.5rem;
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:700;
    line-height:1.2;
    color:var(--heading-color);
}

#quote-hero .lead{
    max-width:760px;
    margin:0 auto;
    color:var(--text-light);
    font-size:1.15rem;
    line-height:1.9;
}


/* ==========================================================
   WHY REQUEST A QUOTE
========================================================== */

#quote-benefits{
    padding:6rem 0;
    background:var(--white-color);
}

#quote-benefits .section-heading{
    max-width:760px;
    margin:0 auto 4rem;
}

#quote-benefits .section-heading h2{
    margin-bottom:1rem;
}

#quote-benefits .section-heading p{
    color:var(--text-light);
    line-height:1.8;
}

.benefit-card{
    position:relative;
    height:100%;
    padding:2.5rem 2rem;
    text-align:center;
    background:var(--white-color);
    border:1px solid rgba(0,0,0,.06);
    border-radius:1rem;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.benefit-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:4px;
    background:var(--primary-color);
    transition:width .35s ease;
}

.benefit-card:hover{
    transform:translateY(-8px);
    border-color:var(--primary-color);
    box-shadow:0 20px 40px rgba(0,0,0,.10);
}

.benefit-card i{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:64px;

    height:64px;

    margin-bottom:1.25rem;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary-color);

    font-size:1.5rem;

}

.benefit-card h5{

    margin-bottom:.75rem;

    font-size:1.1rem;

    font-weight:600;

    line-height:1.4;

    color:var(--heading-color);

}

.benefit-card:hover::before{
    width:100%;
}

.benefit-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:80px;
    height:80px;
    margin:0 auto 1.5rem;
    border-radius:50%;
    background:rgba(var(--primary-rgb),.10);
    color:var(--primary-color);
    font-size:2rem;

    transition:all .35s ease;
}

.benefit-card:hover .benefit-icon{
    background:var(--primary-color);
    color:var(--white-color);
    transform:rotateY(180deg);
}

.benefit-card h4{
    margin-bottom:1rem;
    font-size:1.3rem;
    font-weight:600;
}

.benefit-card p{
    margin:0;
    color:var(--text-light);
    line-height:1.8;
}
/* ==========================================================
   QUOTE INTRO
========================================================== */

#quote-intro{
    padding:6rem 0;
    background:var(--white-color);
}

#quote-intro .row{
    align-items:center;
}

.quote-image{
    padding-right:2rem;
}

.quote-content{
    padding-left:2rem;
}
.quote-image img{
    width:100%;
    border-radius:1rem;
    box-shadow:0 20px 45px rgba(0,0,0,.12);
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.quote-image img:hover{
    transform:scale(1.03);
    box-shadow:0 30px 60px rgba(0,0,0,.18);
}
.quote-content .section-subtitle{
    display:inline-block;
    margin-bottom:1rem;
    color:var(--primary-color);
    font-size:.9rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.quote-content h2{
    margin-bottom:1.5rem;
    font-size:clamp(2rem,4vw,3rem);
    font-weight:700;
    line-height:1.2;
    color:var(--heading-color);
}

.quote-content p{
    margin-bottom:2rem;
    color:var(--text-light);
    line-height:1.9;
}
.quote-benefits-list{
    margin:2rem 0 0;
    padding:0;
}

.quote-benefits-list li{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1.2rem;
    color:var(--text-color);
    font-size:1rem;
    font-weight:500;
    line-height:1.7;
}

.quote-benefits-list li:last-child{
    margin-bottom:0;
}

.quote-benefits-list i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(var(--primary-rgb), .10);
    color:var(--primary-color);
    font-size:1rem;
    flex-shrink:0;
    transition:all .35s ease;
}

.quote-benefits-list li:hover i{
    background:var(--primary-color);
    color:var(--white-color);
    transform:scale(1.1);
}
/* ==========================================================
   QUOTE FORM
========================================================== */

#quote-form{
    padding:6rem 0;
    background:var(--light-color);
}

.contact-form-box{
    padding:3rem;
    background:var(--white-color);
    border-radius:1.25rem;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.contact-form-box h2{
    margin-bottom:2rem;
    text-align:center;
    font-size:2rem;
    font-weight:700;
    color:var(--heading-color);
}
#quote-form .form-label{
    margin-bottom:.65rem;
    color:var(--heading-color);
    font-size:.95rem;
    font-weight:600;
}
#quote-form .form-control,
#quote-form .form-select{
    height:56px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:.75rem;
    box-shadow:none;
    font-size:1rem;
    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}

#quote-form textarea.form-control{
    height:auto;
    min-height:180px;
    padding-top:1rem;
    resize:vertical;
}

#quote-form .form-control::placeholder{
    color:#999;
}

#quote-form .form-control:focus,
#quote-form .form-select:focus{
    border-color:var(--primary-color);
    box-shadow:0 0 0 .2rem rgba(var(--primary-rgb), .15);
}
#quote-form .btn{
    min-width:260px;
    padding:1rem 2.5rem;
    border-radius:.75rem;
    font-size:1rem;
    font-weight:600;
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

#quote-form .btn:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(var(--primary-rgb), .25);
}
.quote-note{
    max-width:650px;
    margin:1.5rem auto 0;
    color:var(--text-light);
    font-size:.95rem;
    line-height:1.8;
}

.quote-note i{
    color:var(--secondary-color);
}

/* ==========================================================
   QUOTE SUBMIT AREA
========================================================== */

.quote-submit-box{

    margin-top:2rem;

    padding:2rem;

    background:#f8fbff;

    border:1px solid rgba(var(--primary-rgb),.12);

    border-radius:20px;

    overflow:hidden;

}
.quote-top{

    display:flex;

    align-items:flex-start;

    gap:1.5rem;

}
.quote-bottom{

    margin-top:2rem;

    padding-top:1.5rem;

    border-top:1px solid rgba(var(--primary-rgb),.10);

    display:flex;

    align-items:flex-start;

    gap:1rem;

}
.quote-btn{

    width:240px;

    flex-shrink:0;

}

.quote-btn .btn{

    width:100%;

    height:80px;

    border-radius:16px;

    font-size:1.2rem;

    font-weight:600;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:.75rem;

    box-shadow:0 15px 35px rgba(var(--primary-rgb),.25);

    transition:all .35s ease;

}

.quote-btn .btn i{

    font-size:1.25rem;

}

.quote-btn .btn:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 45px rgba(var(--primary-rgb),.35);

}
.quote-info{

    flex:1;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:1rem;

}
.info-item{

    width:100%;

    display:flex;

    align-items:center;

    gap:.85rem;

    padding:1rem;

    background:var(--white-color);

    border:1px solid rgba(var(--primary-rgb),.08);

    border-radius:14px;

    transition:all .35s ease;

}
.info-item i{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary-color);

    font-size:1.05rem;

    transition:all .35s ease;

}
.info-item h6{

    margin:0;

    font-size:.90rem;

    font-weight:600;

    line-height:1.2;

    color:var(--heading-color);

}

.info-item p{

    margin:.2rem 0 0;

    font-size:.78rem;

    line-height:1.4;

    color:var(--text-light);

}
/* Bottom Trust Message */

.quote-bottom i{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary-color);

    font-size:1rem;

}
.quote-bottom p{

    margin:0;

    font-size:.95rem;

    line-height:1.8;

    color:var(--text-light);

}

.info-item:hover i{

    background:var(--primary-color);

    color:var(--white-color);

    transform:rotate(360deg);

}
.quote-submit-box .btn{

    height:72px;

    font-size:1.15rem;

    font-weight:600;

    border-radius:.85rem;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:.75rem;

    box-shadow:0 15px 35px rgba(var(--primary-rgb),.25);

    transition:all .35s ease;

}

.quote-submit-box .btn i{

    font-size:1.2rem;

}

.quote-submit-box .btn:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 45px rgba(var(--primary-rgb),.35);

}
.quote-features{

    display:flex;

    justify-content:space-between;

    gap:1rem;

    flex-wrap:wrap;

}

.quote-feature{

    display:flex;

    align-items:center;

    gap:1rem;

    flex:1;

    min-width:180px;

    padding:1rem;

    background:var(--white-color);

    border:1px solid rgba(var(--primary-rgb),.08);

    border-radius:.85rem;

    transition:all .35s ease;

}
.quote-submit-box hr{

    margin:2rem 0 1.5rem;

    border-color:rgba(var(--primary-rgb),.12);

}

.quote-note{

    display:flex;

    align-items:flex-start;

    gap:1rem;

}

.quote-note i{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary-color);

    font-size:1.3rem;

    flex-shrink:0;

}

.quote-note p{

    margin:0;

    color:var(--text-light);

    line-height:1.8;

}

.quote-note strong{

    color:var(--heading-color);

    font-weight:600;

}

.quote-feature:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    border-color:var(--primary-color);

}

.quote-feature i{

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(var(--primary-rgb),.10);

    color:var(--primary-color);

    font-size:1.35rem;

    flex-shrink:0;

}

.quote-feature h6{

    margin:0;

    font-size:1rem;

    font-weight:600;

    color:var(--heading-color);

}

.quote-feature span{

    display:block;

    margin-top:.2rem;

    font-size:.9rem;

    color:var(--text-light);

}

/* ==========================================================
   QUOTE PAGE RESPONSIVE
========================================================== */

@media (max-width:991px){

    .quote-top{

        flex-direction:column;

        align-items:stretch;

    }

    .quote-btn{

        width:100%;

    }

    .quote-btn .btn{

        width:100%;

    }

    .quote-info{

        grid-template-columns:repeat(2,1fr);

    }

}
@media (max-width:768px){

    .quote-submit-box{

        padding:1.5rem;

    }

    .quote-top{

        gap:1.25rem;

    }

    .quote-info{

        grid-template-columns:1fr;

        gap:1rem;

    }

    .info-item{

    width:100%;

    max-width:none;

    padding:1rem;

}

    .quote-btn{

        width:100%;

    }

    .quote-btn .btn{

        height:56px;

        font-size:1rem;

    }

    .quote-bottom{

    display:flex;

    flex-direction:row;

    align-items:flex-start;

    gap:.75rem;

}

    .quote-bottom i{

        margin-bottom:.25rem;

    }

    .quote-bottom p{

        font-size:.90rem;

        line-height:1.7;

    }

}

/* ==========================================================
   QUOTE PROCESS
========================================================== */

.process-box{

    height:100%;

    padding:2rem 1.5rem;

    text-align:center;

    background:var(--white-color);

    border:1px solid rgba(0,0,0,.06);

    border-radius:1rem;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.process-number{

    width:52px;

    height:52px;

    margin:0 auto 1.25rem;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--primary-color);

    color:var(--white-color);

    font-size:1rem;

    font-weight:700;

}

.process-box h5{

    margin-bottom:.75rem;

    font-size:1.1rem;

    font-weight:600;

    line-height:1.4;

    color:var(--heading-color);

}

.process-box p{

    margin:0;

    color:var(--text-light);

    font-size:.92rem;

    line-height:1.7;

}

.process-box:hover{

    transform:translateY(-8px);

    border-color:rgba(var(--primary-rgb),.20);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

/* ==========================================================
   QUOTE FAQ
========================================================== */

#quoteFaq{

    max-width:900px;

    margin:0 auto;

}

#quoteFaq .accordion-item{

    margin-bottom:1rem;

    border:1px solid rgba(0,0,0,.06);

    border-radius:1rem;

    overflow:hidden;

    background:var(--white-color);

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}

#quoteFaq .accordion-button{

    padding:1.25rem 1.5rem;

    font-size:1rem;

    font-weight:600;

    color:var(--heading-color);

    background:var(--white-color);

    box-shadow:none;

}

#quoteFaq .accordion-button:not(.collapsed){

    color:var(--primary-color);

    background:rgba(var(--primary-rgb),.06);

}

#quoteFaq .accordion-body{

    padding:1.25rem 1.5rem;

    color:var(--text-light);

    font-size:.92rem;

    line-height:1.7;

    background:var(--white-color);

}

/* ==========================================================
   FAQ RESPONSIVE
========================================================== */

@media (max-width:768px){

    #quoteFaq{

        width:100%;

    }

    #quoteFaq .accordion-item{

        margin-bottom:.75rem;

        border-radius:.75rem;

    }

    #quoteFaq .accordion-button{

        padding:1rem 1.1rem;

        font-size:.92rem;

    }

    #quoteFaq .accordion-body{

        padding:1rem 1.1rem;

        font-size:.88rem;

        line-height:1.7;

    }

}

/* ==========================================================
   FAQ ICON / ACCORDION ARROW
========================================================== */

#quoteFaq .accordion-button::after{

    background-size:1rem;

}

#quoteFaq .accordion-button:focus{

    box-shadow:none;

}

/* ==========================================================
   QUOTE FINAL CTA
========================================================== */

.cta-box{

    padding:3.5rem 2.5rem;

    background:var(--primary-color);

    border-radius:1.25rem;

    color:var(--white-color);

    box-shadow:0 15px 40px rgba(0,0,0,.10);

}

.cta-box h2{

    margin-bottom:1rem;

    font-size:2rem;

    font-weight:700;

    line-height:1.3;

    color:var(--white-color);

}

.cta-box p{

    max-width:760px;

    margin:0 auto 1.5rem;

    color:rgba(255,255,255,.90);

    font-size:1rem;

    line-height:1.8;

}

.cta-box .btn{

    padding:.85rem 2rem;

    font-size:1rem;

    font-weight:600;

    border-radius:.75rem;

}

/* ==========================================================
   QUOTE FINAL CTA - HOVER
========================================================== */

.cta-box .btn{

    padding:.85rem 2rem;

    font-size:1rem;

    font-weight:600;

    border-radius:.75rem;

    transition:all .35s ease;

}

.cta-box .btn:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

/* ==========================================================
   FINAL CTA - BUTTON CONTRAST
========================================================== */

.cta-box .btn{

    background:var(--white-color);

    border-color:var(--white-color);

    color:var(--primary-color);

}

.cta-box .btn:hover{

    background:var(--white-color);

    border-color:var(--white-color);

    color:var(--primary-color);

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

/* ==========================================================
   FOOTER - BASE
========================================================== */

.site-footer{

    padding:4rem 0 0;

    background:#111827;

    color:rgba(255,255,255,.85);

}

.site-footer .footer-title{

    margin-bottom:1.25rem;

    font-size:1rem;

    font-weight:600;

    color:var(--white-color);

}

.site-footer .footer-description{

    margin:1.25rem 0 1.5rem;

    max-width:380px;

    color:rgba(255,255,255,.70);

    font-size:.92rem;

    line-height:1.8;

}

/* ==========================================================
   FOOTER - LOGO
========================================================== */

.site-footer .footer-logo{

    display:inline-block;

}

.site-footer .footer-logo img{

    max-width:190px;

    height:auto;

    display:block;

}

/* ==========================================================
   FOOTER - LINK
========================================================== */

.site-footer .footer-links{

    display:block;

    width:100%;

    margin:0;

    padding:0;

    list-style:none;

}

.site-footer .footer-links li{

    display:block;

    width:100%;

    margin:0 0 .7rem;

}

.site-footer .footer-links a{

    display:inline-block;

    width:auto;

}

/* ==========================================================
   FOOTER - CONTACT SPACING
========================================================== */

.site-footer .footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:.65rem;

    margin-bottom:1rem;

    white-space:normal;

}

.site-footer .footer-contact span,
.site-footer .footer-contact a{

    min-width:0;

    word-break:break-word;

}

/* ==========================================================
   FOOTER - CONTACT
========================================================== */

.site-footer .footer-contact{

    margin:0;

    padding:0;

    list-style:none;

}

.site-footer .footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:.75rem;

    margin-bottom:1rem;

    color:rgba(255,255,255,.70);

    font-size:.92rem;

    line-height:1.6;

}

.site-footer .footer-contact i{

    flex-shrink:0;

    margin-top:.2rem;

    color:var(--primary-color);

    font-size:1rem;

}

.site-footer .footer-contact a{

    color:rgba(255,255,255,.70);

    text-decoration:none;

    transition:color .3s ease;

}

.site-footer .footer-contact a:hover{

    color:var(--white-color);

}

/* ==========================================================
   FOOTER - SOCIAL ICONS
========================================================== */

.site-footer .footer-social{

    display:flex;

    align-items:center;

    gap:.65rem;

}

.site-footer .footer-social a{

    width:40px;

    height:40px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(255,255,255,.15);

    border-radius:50%;

    color:rgba(255,255,255,.75);

    text-decoration:none;

    transition:all .3s ease;

}

.site-footer .footer-social a:hover{

    background:var(--primary-color);

    border-color:var(--primary-color);

    color:var(--white-color);

    transform:translateY(-3px);

}

/* ==========================================================
   FOOTER - BOTTOM
========================================================== */

.site-footer .footer-bottom{

    margin-top:3rem;

    padding:1.25rem 0;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:1rem;

    border-top:1px solid rgba(255,255,255,.10);

}

.site-footer .footer-bottom p{

    margin:0;

    color:rgba(255,255,255,.60);

    font-size:.85rem;

}

.site-footer .footer-bottom-links{

    display:flex;

    align-items:center;

    gap:1.25rem;

}

.site-footer .footer-bottom-links a{

    color:rgba(255,255,255,.60);

    text-decoration:none;

    font-size:.85rem;

    transition:color .3s ease;

}

.site-footer .footer-bottom-links a:hover{

    color:var(--white-color);

}

/* ==========================================================
   FOOTER - RESPONSIVE
========================================================== */

@media (max-width:768px){

    .site-footer{

        padding-top:3rem;

    }

    .site-footer .footer-bottom{

        flex-direction:column;

        align-items:center;

        text-align:center;

        margin-top:2rem;

    }

    .site-footer .footer-bottom-links{

        flex-wrap:wrap;

        justify-content:center;

        gap:.75rem 1rem;

    }

}

/* ==========================================================
   FOOTER - COLUMN LAYOUT
========================================================== */

.site-footer > .container > .row{

    align-items:flex-start;

}

.site-footer .row > div{

    min-width:0;

}

.site-footer .footer-links,
.site-footer .footer-contact{

    width:100%;

}

/* ==========================================================
   FOOTER - LINK LIST ALIGNMENT
========================================================== */

.site-footer .footer-links li{

    display:block;

    width:100%;

    margin-bottom:.7rem;

}

.site-footer .footer-links a{

    display:inline-block;

}