:root{--green: #57936A;--green-dark: #4f6e56;--black: #1c1c1c;--bg: #f7f7f5;--card-bg: #ffffff;--border: #ececec;--text: #2b2b2b;--text-light: #6b6b6b;--radius: 14px;}

section.custom-section {
    padding: 50px 0px;
}

/* ===== Tabs ===== */
.tab-bar{display: flex;gap: 12px;flex-wrap: wrap;padding-bottom: 24px;padding-top: 24px;border-bottom: 1px solid var(--border);border-top: 1px solid var(--border);margin-bottom: 28px;}

.tab-btn{padding: 12px 22px;border-radius: 0;font-size: 13px;font-weight: 400;letter-spacing: .3px;color: #fff;background: var(--green);border: none;font-family: Abril_Fatface !important;white-space: nowrap;transition: filter .15s ease, transform .1s ease;}
.tab-btn:hover{ filter: brightness(1.06); color:#fff; }
.tab-btn:active{ transform: translateY(1px); }
.tab-btn.active{ background: var(--black); }

@media (max-width: 576px){
.tab-btn{ flex: 1 1 45%; text-align:center; }
}

/* ===== Step card ===== */
.step{position: relative;background: var(--card-bg);border-radius: var(--radius);box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);padding: 26px 30px 22px 110px;margin-bottom: 26px;transition: opacity .2s ease;}
.step.locked{ opacity:.55; }
.step.locked .options{ pointer-events:none; }
.step.locked .btn-continue{ background:#a9b8ac; cursor:not-allowed; }

.step-badge{position:absolute;top: 20px;left: -20px;background: var(--green);color:#fff;font-family: Abril_Fatface !important;font-weight: 400;font-size: 18px;letter-spacing:.5px;padding: 8px 12px 8px 40px;border-radius: 0px;}
.step-badge::after{content:"";position:absolute;left: 2px;bottom: -14px;width:0;height:0;border-left: 16px solid transparent;border-top: 14px solid #D9D9D9;}
.step.locked .step-badge{ background:#b7c2ba; }
.step.locked .step-badge::after{ border-top-color:#a3ada9; }
.step.complete .step-badge{ background: var(--green-dark); }

.step-header{display:flex;align-items:baseline;flex-wrap: wrap;gap:14px;margin: 0px 0 20px 0px;}
@media (max-width: 576px){
.step-header{ margin-left:0; margin-top:30px; }
}

.step-title{font-family: Abril_Fatface !important;font-size:19px;font-weight: 400;color:#111;}
.step-status{
font-size:12px;
color: var(--text-light);
font-style: italic;
}

.options{
display:flex;
flex-direction:column;
gap:12px;
margin-bottom:22px;
}
.option{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
color: var(--text);
cursor:pointer;
user-select:none;
margin:0;
}
.option input[type="radio"]{
appearance:none; -webkit-appearance:none;
width:16px; height:16px;
border:1.5px solid #c6c6c6;
border-radius:3px;
background:#fff;
position:relative;
cursor:pointer;
flex-shrink:0;
margin:0;
}
.option input[type="radio"]:checked{
background: var(--green);
border-color: var(--green);
}
.option input[type="radio"]:checked::after{content:"";position:absolute;top:4px;left:5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.option input[type="radio"]:focus-visible{
outline:2px solid var(--green-dark);
outline-offset:2px;
}

/* ===== Footer buttons ===== */
.step-footer{
display:flex;
justify-content:flex-end;
align-items:center;
flex-wrap:wrap;
gap:12px;
}
.step-msg{
margin-right:auto;
font-size:12.5px;
color:#b23b3b;
min-height:16px;
}
.btn-step{
border:none;
border-radius:6px;
padding:10px 26px;
font-size:13px;
font-weight:700;
font-family: Georgia, "Times New Roman", serif;
letter-spacing:.3px;
cursor:pointer;
color:#fff;
transition: filter .15s ease, transform .1s ease;
}
.btn-step:active{ transform:translateY(1px); }
.btn-continue{ background: var(--green); }
.btn-continue:hover:not(:disabled){ filter:brightness(1.08); }
.btn-clear{ background: var(--black); }
.btn-clear:hover{ filter:brightness(1.3); }

@media (max-width:576px){
.step{ padding:22px 18px 18px; }
.step-footer{ flex-wrap:wrap; }
.btn-step{ flex:1; text-align:center; }
.step-msg{ width:100%; margin-right:0; order:3; }
}

/* ===== RFQ Panel ===== */
.rfq-panel{
display:none;
background: var(--card-bg);
border-radius: var(--radius);
box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
padding:30px;
border:2px solid var(--green);
}
.rfq-panel.show{ display:block; }
.rfq-panel h2{
font-family: Georgia, "Times New Roman", serif;
color: var(--green-dark);
margin-top:0;
font-size:20px;
}
.rfq-row{
display:flex;
gap:8px;
padding:10px 0;
border-bottom:1px solid var(--border);
font-size:14px;
flex-wrap: wrap;
}
.rfq-row:last-of-type{ border-bottom:none; }
.rfq-row .rfq-label{ font-weight:700; min-width:150px; color:#444; }
.rfq-row .rfq-value{ color: var(--text); }
.rfq-footer{
margin-top:18px;
display:flex;
gap:12px;
align-items:center;
flex-wrap:wrap;
}
.rfq-success{ font-size:13px; color: var(--green-dark); font-weight:700; }

.tab-pane{ display:none; }
.tab-pane.active{ display:block; }


/*Custom line sec*/

.custom-line-sec {
    width: 100%;
    padding: 50px 0;
}

.custom-line-sec .custom-line-subtitle {
    margin-bottom: 4px;
    font-size: 28px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--btn-color);
    font-family: 'Abril_Fatface' !important;
}

.custom-line-sec .custom-line-title {
    margin: 0;
    font-size: 35px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -0.5px;
    color: #060404;
}

.custom-line-sec .custom-line-description {
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    color: #4b4b4b;
}

.custom-line-box {
    box-shadow: 2px 10px 21.1px 0 rgba(178, 178, 178, 0.25);
    padding: 40px;
    border-radius: 40px;
}


/*Explore Sec*/
.explore-sec {
    width: 100%;
    padding: 10px 0 18px;
    background: #fff;
    margin-bottom: 40px;
}

.explore-sec .explore-sec__inner {
    width: 100%;
    min-height: 360px;
    padding: 48px 60px 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    border-radius: 38px;
    box-shadow: 2px 10px 21.1px 0 rgba(178, 178, 178, 0.25);
}

.explore-sec .explore-sec__title {
    margin: 0;
    font-size: 45px;
    line-height: 1.18;
    font-weight: 500;
    color: var(--txt-color);
}

.explore-sec .explore-sec__title span {
    color: var(--btn-color);
    font-family: 'Abril_Fatface' !important;
}

.explore-sec .explore-sec__text {
    margin: 45px auto 0;
    font-size: 19px;
    line-height: 1.9;
    font-weight: 400;
    color: var(--txt-color);
}


/* =========================
   XL - Bootstrap Container
========================= */

@media (max-width: 1399.98px) {

    .explore-sec .explore-sec__inner {
        min-height: 330px;
        padding: 40px 50px;
    }

    .explore-sec .explore-sec__title {
        font-size: 42px;
    }

    .explore-sec .explore-sec__text {
        margin-top: 38px;
        font-size: 17px;
        line-height: 1.8;
    }
}


/* =========================
   LG
========================= */

@media (max-width: 1199.98px) {

    .explore-sec {
        padding: 8px 0 16px;
    }

    .explore-sec .explore-sec__inner {
        min-height: 300px;
        padding: 40px 40px 35px;
        border-radius: 32px;
    }

    .explore-sec .explore-sec__title {
        font-size: 44px;
        letter-spacing: -1.5px;
    }

    .explore-sec .explore-sec__text {
        max-width: 1000px;
        margin-top: 32px;
        font-size: 16px;
        line-height: 1.8;
    }
}


/* =========================
   MD
========================= */

@media (max-width: 991.98px) {

    .explore-sec .explore-sec__inner {
        min-height: auto;
        padding: 38px 30px 35px;
        border-radius: 28px;
    }

    .explore-sec .explore-sec__title {
        font-size: 32px;
        line-height: 1.2;
    }

    .explore-sec .explore-sec__text {
        margin-top: 28px;
        font-size: 14px;
        line-height: 20px;
    }
}


/* =========================
   SM
========================= */

@media (max-width: 767.98px) {

    .explore-sec {
        padding: 6px 0 14px;
    }

    .explore-sec .explore-sec__inner {
        padding: 30px 20px 28px;
        border-radius: 22px;
        box-shadow: 0 7px 0 #cfcfcf;
    }

    .explore-sec .explore-sec__title {
        font-size: 29px;
        line-height: 1.2;
        letter-spacing: -0.8px;
    }

    .explore-sec .explore-sec__text {
        margin-top: 23px;
        font-size: 14px;
        line-height: 1.7;
    }
}


/* =========================
   XS
========================= */

@media (max-width: 575.98px) {

    .explore-sec .explore-sec__inner {
        padding: 25px 15px 24px;
        border-radius: 18px;
        box-shadow: 0 6px 0 #cfcfcf;
    }

    .explore-sec .explore-sec__title {
        font-size: 20px;
        line-height: normal;
    }

    .explore-sec .explore-sec__text {
        margin-top: 10px;
        font-size: 12px;
        line-height: 18px;
    }
}


/*RFQ FORM*/

.rfq-box .rfq-heading {
    letter-spacing: 1.2px;
    font-size: 22px;
    color: #707070;
    text-transform: uppercase;
    padding-top: 20px;
}

.rfq-box .rfq-form-main {
    padding: 20px 0;
}

.rfq-box .rfq-form-main .form-group label {
    font-size: 16px;
    font-weight: 700;
    color: #707070;
    padding-bottom: 8px;
}

.rfq-box .rfq-form-main .form-group {
    padding: 5px 0;
}

.rfq-box .rfq-form-main .form-group select {
    padding: 4px;
    border: 1px solid #cccccc;
    outline: none;
    border-radius: 4px;
    font-size: 15px;
    color: #707070;
    font-weight: 600;
}

.rfq-box .rfq-form-main .rfq-submit {
    background: var(--btn-color);
    border: none;
}

.rfq-box .rfq-form-main .form-group input, .rfq-box .rfq-form-main .form-group textarea {
    resize: none;
    box-shadow: none;
    outline: none !important;
    border: 1px solid var(--btn-color);
}

.rfq-box .rfq-form-main .form-group select option {
    font-size: 15px;
    font-weight: 600;
}

.why-choose-section {
    padding: 40px 0;
}

    
@media(max-width: 767px){

    .custom-line-sec {
        padding: 30px 0;
    }
    
    .custom-line-sec .custom-line-subtitle {
        font-size: 14px;
    }
    
    .custom-line-box {
        padding: 20px;
        border-radius: 20px;
    }
    
    .custom-line-sec .custom-line-title {
        font-size: 21px;
    }
    
    .custom-line-sec .custom-line-description {
        padding-left: 0;
        font-size: 12px;
        line-height: 18px;
        margin-top: 10px;
    }
    
    .custom-section {
        padding: 30px 0 !important;
    }
    
    .step-badge {
        top: 0;
        left: 0;
        padding: 5px 10px;
        font-size: 14px;
    }
    
    .step-title {
        font-size: 17px;
    }
    
    .step .options span {
        font-size: 12px;
    }
    
    .step .options .option {
        gap: 5px;
    }
    
    .step .options .option input {
        width: 12px;
        height: 12px;
    }
    
    .option input[type="radio"]:checked::after {
        top: 0;
        left: 2px;
    }
    
    .custom-section .rfq-box {
        padding: 10px !IMPORTANT;
    }
    
    .custom-section .rfq-box h4 {
        font-size: 18px;
        text-align: center;
    }
    
    .custom-section .rfq-box .rfq-summary {
        padding: 0 !important;
    }
    
    .custom-section .rfq-box .rfq-summary td {
        font-size: 12px;
    }
    
    .rfq-box .rfq-heading {
        font-size: 18px;
        text-align: center;
        padding-top: 10px;
    }
    
    .rfq-box .rfq-form-main {
        padding: 10px 0;
    }
    
    .rfq-box .rfq-form-main .form-group label {
        font-size: 12px;
        padding: 0;
    }
    
    .rfq-box .rfq-form-main .form-group {
        padding: 0;
        margin: 8px 0 !IMPORTANT;
    }
    
    .rfq-box .rfq-form-main .form-group select {
        font-size: 12px;
    }
    
    .rfq-box .rfq-form-main .form-group select option {
        font-size: 12px;
    }
    
    .rfq-box .rfq-form-main .form-group input, .rfq-box .rfq-form-main .form-group textarea {
        font-size: 12px;
    }
    
    .rfq-box .rfq-form-main .rfq-submit {
        font-size: 13px;
    }    
    
}

@media(min-width: 767px) and (max-width: 992px) {

    .custom-line-box {
        border-radius: 15px;
        padding: 30px 20px;
    }
    
    .custom-line-sec .custom-line-subtitle {
        font-size: 20px;
    }
    
    .custom-line-sec .custom-line-title {
        font-size: 28px;
    }
    
    .custom-line-sec .custom-line-description {
        padding: 0;
        font-size: 13px;
        line-height: 20px;
    }
    
    .custom-line-sec {
        padding-bottom: 20px;
    }
    
    section.custom-section {
        padding: 30px 0;
    }
    
    .step-badge {
        padding-left: 20px;
    }
    
    .step {
        padding-left: 95px;
    }
    
    .rfq-box .rfq-heading {
        font-size: 20px;
    }
    
    .rfq-box .rfq-form-main {
        padding: 10px 0;
    }
    
    .rfq-box .rfq-form-main .form-group label {
        font-size: 15px;
        padding-bottom: 5px;
    }
    
    .rfq-box .rfq-form-main .form-group input, .rfq-box .rfq-form-main .form-group textarea {
        font-size: 14px;
    }
    
    .rfq-box .rfq-form-main .form-group {
        margin-bottom: 5px !important;
    }
    
    .rfq-box .rfq-form-main .form-group select {
        font-size: 14px;
    }
    
    .rfq-box .rfq-form-main .form-group select option {
        font-size: 14px;
    }

}



