*{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    width:100%;
}

body{
    direction:rtl;
    color:#142334;
    background:#f7f9fa;
    font-family:"Vazirmatn","Estedad",Tahoma,Arial,sans-serif;
}

input,
select,
button{
    font:inherit;
}


/* HEADER */

.fc-header{
    height:68px;
    background:#fff;
    border-bottom:1px solid #e9eef1;
    box-shadow:0 4px 18px rgba(29,50,66,.05);
}

.fc-header-inner{
    width:min(1450px,calc(100% - 52px));
    height:100%;
    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.fc-logo img{
    width:125px;
    display:block;
}

.fc-nav{
    display:flex;
    gap:38px;
    align-items:center;
}

.fc-nav a{
    position:relative;
    padding:23px 0 18px;

    color:#172635;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}

.fc-nav a.active{
    color:#e82739;
}

.fc-nav a.active::after{
    content:"";
    position:absolute;
    right:15%;
    left:15%;
    bottom:9px;

    height:3px;

    background:#e82739;
    border-radius:20px;
}

.fc-login{
    min-width:143px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    color:#fff;
    background:#ef2739;

    border-radius:10px;
    text-decoration:none;

    font-size:13px;
    font-weight:900;
}


/* TITLE */

.fc-title-area{
    height:152px;

    padding:12px max(4vw,35px);

    display:grid;
    grid-template-columns:210px 1fr 210px;
    align-items:center;
    gap:20px;

    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.93),
        rgba(255,255,255,.98),
        rgba(255,255,255,.92)
      ),
      url('/assets/hero_uploaded.jpg');

    background-size:cover;
    background-position:center 45%;
}

.fc-title-center{
    text-align:center;
}

.fc-breadcrumb{
    margin-bottom:7px;
    color:#82909a;
    font-size:11px;
}

.fc-title-center h1{
    margin:0;

    color:#101e2e;

    font-size:30px;
    line-height:1.4;
    font-weight:900;
}

.title-red-line{
    display:block;
    width:52px;
    height:4px;

    margin:5px auto 7px;

    background:#e82739;
    border-radius:20px;
}

.fc-title-center p{
    margin:0;

    color:#73818c;

    font-size:12px;
}

.fc-side-note strong,
.fc-side-note span{
    display:block;
}

.fc-side-note strong{
    font-size:17px;
    font-weight:900;
}

.fc-side-note span{
    margin-top:2px;

    color:#566570;

    font-size:12px;
}

.fc-side-note i{
    display:block;

    width:45px;
    height:3px;

    margin-top:7px;

    border-radius:10px;

    background:#e82739;
}

.fc-side-note.left{
    text-align:left;
}

.fc-side-note.left i{
    margin-right:auto;
}


/* MAIN */

.fc-layout{
    width:min(1450px,calc(100% - 44px));

    height:calc(100vh - 220px);

    margin:0 auto;

    padding:9px 0 11px;

    display:grid;

    grid-template-columns:
        minmax(600px,1.17fr)
        minmax(450px,.91fr);

    gap:19px;

    overflow:hidden;
}

.fc-card{
    height:100%;

    background:#fff;

    border:1px solid #e2e8ec;
    border-radius:17px;

    box-shadow:
        0 8px 28px
        rgba(24,46,64,.055);

    overflow:hidden;
}


/* FORM */

.fc-form-card{
    padding:17px 23px 14px;
}

.fc-form-title{
    margin-bottom:11px;
}

.fc-form-title h2{
    margin:0;

    font-size:22px;
    font-weight:900;
}

.fc-form-title p{
    margin:3px 0 0;

    color:#7d8993;

    font-size:11px;
}

.fc-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:8px 16px;
}

.fc-field{
    display:flex;

    flex-direction:column;

    gap:3px;
}

.fc-label{
    font-size:11px;

    font-weight:800;
}

.fc-label small{
    color:#7e8992;

    font-weight:500;
}

.ico{
    margin-left:4px;

    font-size:15px;
}

.ico.green{
    color:#129847;
}

.ico.red{
    color:#e72b3c;
}

.ico.orange{
    color:#e99c00;
}

.ico.navy{
    color:#173b58;
}

.fc-field input,
.fc-field select{
    width:100%;

    height:37px;

    padding:0 12px;

    color:#243645;
    background:#fff;

    border:1px solid #cfd8df;
    border-radius:7px;

    outline:none;

    font-size:11px;
}

.fc-field input:focus,
.fc-field select:focus{
    border-color:#15954a;

    box-shadow:
        0 0 0 3px
        rgba(21,149,74,.07);
}

.fc-full{
    grid-column:1/-1;
}

.fc-actions{
    margin-top:9px;

    display:grid;

    grid-template-columns:
        1.35fr .85fr;

    gap:13px;
}

.fc-actions button{
    height:41px;

    border-radius:7px;

    cursor:pointer;

    font-size:12px;
    font-weight:900;
}

.fc-calc-btn{
    border:0;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #149144,
            #1fa552
        );
}

.fc-clear-btn{
    color:#263846;

    background:#fff;

    border:1px solid #abb7bf;
}

.fc-contact{
    margin-top:7px;

    padding:7px 10px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    color:#7b555a;

    background:#fff1f2;

    border-radius:7px;

    font-size:9px;
}

.fc-contact a{
    color:#e12134;

    text-decoration:none;

    font-weight:900;
}


/* VISUAL */

.fc-result-card{
    padding:10px 14px;
}

.fc-visual{
    height:48%;

    display:grid;

    grid-template-columns:
        135px 1fr;

    align-items:center;
}

.fc-visual-copy h3{
    margin:0;

    color:#132333;

    font-size:18px;
    line-height:1.55;

    font-weight:900;
}

.fc-visual-copy i{
    display:block;

    width:42px;
    height:4px;

    margin:8px 0 15px;

    background:#e82739;

    border-radius:10px;
}

.fc-visual-copy p{
    margin:4px 0;

    color:#65747f;

    font-size:12px;
}

.fc-illustration{
    min-width:0;

    display:flex;

    align-items:center;

    justify-content:center;
}

.fc-illustration svg{
    display:block;

    width:100%;

    max-width:420px;

    max-height:255px;
}


/* RESULT */

.fc-result{
    padding:8px 11px;

    border:1px solid #d8eddf;

    border-radius:12px;

    background:
        linear-gradient(
            135deg,
            #eaf8ef,
            #fff5f6
        );
}

.fc-result-heading{
    margin-bottom:3px;

    color:#118b43;

    font-size:15px;

    font-weight:900;
}

.fc-result-table > div{
    min-height:25px;

    padding:2px 4px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-bottom:
        1px solid
        #dde5e0;
}

.fc-result-table span{
    color:#75828c;

    font-size:10px;
}

.fc-result-table strong{
    color:#172635;

    font-size:11px;
}

.fc-final-total{
    min-height:39px;

    margin-top:5px;

    padding:5px 10px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    color:#d91d30;

    background:#ffecee;

    border-radius:8px;

    font-size:14px;

    font-weight:900;
}

.fc-final-total strong{
    font-size:18px;
}

.fc-disclaimer{
    padding-top:5px;

    text-align:center;

    color:#687783;

    font-size:9px;
}


/* DESKTOP ONE SCREEN */

@media(min-width:1001px){

    html,
    body{
        height:100%;

        overflow:hidden !important;
    }

}


/* TABLET */

@media(max-width:1000px){

    html,
    body{
        height:auto;

        overflow-x:hidden;

        overflow-y:auto;
    }

    .fc-nav{
        display:none;
    }

    .fc-title-area{
        height:auto;

        min-height:150px;

        grid-template-columns:1fr;
    }

    .fc-side-note{
        display:none;
    }

    .fc-layout{
        height:auto;

        grid-template-columns:1fr;

        overflow:visible;
    }

    .fc-form-card,
    .fc-result-card{
        height:auto;
    }

    .fc-form-card{
        grid-row:1;
    }

}


/* MOBILE */

@media(max-width:650px){

    .fc-header{
        height:64px;
    }

    .fc-header-inner{
        width:calc(100% - 22px);
    }

    .fc-logo img{
        width:105px;
    }

    .fc-login{
        min-width:auto;

        height:38px;

        padding:0 11px;

        font-size:10px;
    }

    .fc-title-area{
        padding:22px 15px;
    }

    .fc-breadcrumb{
        display:none;
    }

    .fc-title-center h1{
        font-size:23px;
    }

    .fc-title-center h1 span{
        display:block;
    }

    .fc-title-center p{
        font-size:12px;

        line-height:1.8;
    }

    .fc-layout{
        width:calc(100% - 16px);

        padding-top:8px;

        gap:11px;
    }

    .fc-form-card,
    .fc-result-card{
        padding:15px 12px;
    }

    .fc-grid{
        grid-template-columns:1fr;
    }

    .fc-full{
        grid-column:auto;
    }

    .fc-actions{
        grid-template-columns:1fr;
    }

    .fc-visual{
        height:auto;

        grid-template-columns:1fr;
    }

    .fc-visual-copy{
        display:none;
    }

    .fc-illustration svg{
        max-width:350px;

        max-height:none;
    }

    .fc-contact{
        flex-direction:column;

        align-items:flex-start;

        gap:5px;
    }

}


/* ===== FINAL FREIGHT VISUAL IMAGE ===== */

.fc-illustration{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.fc-freight-visual{
    display:block !important;
    width:100% !important;
    max-width:445px !important;
    height:auto !important;
    max-height:255px !important;
    object-fit:contain !important;
    object-position:center !important;
}

@media (max-width:650px){
    .fc-freight-visual{
        max-width:360px !important;
        max-height:none !important;
    }
}


/* ===== BACK TO HOME BUTTON ===== */

.fc-home-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    margin-bottom:7px;
    padding:7px 13px;

    color:#173b58;
    background:#fff;

    border:1px solid #d7dfe5;
    border-radius:8px;

    text-decoration:none;
    font-size:11px;
    font-weight:800;

    box-shadow:0 4px 12px rgba(20,40,60,.05);

    transition:.2s ease;
}

.fc-home-back:hover{
    color:#fff;
    background:#173b58;
    border-color:#173b58;
}

@media(max-width:650px){
    .fc-home-back{
        margin-bottom:10px;
        font-size:11px;
        padding:7px 11px;
    }
}


/* ===== HOME BACK FINAL ===== */

.fc-title-area{
    position:relative !important;
}

.fc-home-back-final{
    position:absolute;
    left:24px;
    top:14px;
    z-index:20;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    height:34px;
    padding:0 13px;

    color:#173b58;
    background:rgba(255,255,255,.94);

    border:1px solid #d7dfe5;
    border-radius:8px;

    box-shadow:0 4px 13px rgba(20,40,60,.06);

    text-decoration:none;
    font-size:11px;
    font-weight:800;

    transition:.2s ease;
}

.fc-home-back-final:hover{
    color:#fff;
    background:#173b58;
    border-color:#173b58;
}

.fc-home-back-final span{
    font-size:15px;
}

@media(max-width:650px){

    .fc-home-back-final{
        position:relative;
        left:auto;
        top:auto;

        width:max-content;
        margin:0 auto 12px;
    }

}

/* ===== SITE TYPOGRAPHY SYNC V1 ===== */

@font-face {
    font-family: "Vazirmatn";
    src: url("/assets/fonts/Vazirmatn-VF.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "Estedad";
    src: url("/assets/fonts/Estedad-VF.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/* متن عمومی سایت */
html,
body,
input,
select,
textarea,
button {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
}

/* منو */
.fc-nav a,
.fc-login,
.fc-home-back-final {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
    font-weight:700 !important;
}

/* تیتر اصلی */
.fc-title-center h1 {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:800 !important;
    letter-spacing:-0.5px !important;
}

/* تیتر فرم */
.fc-form-title h2 {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:800 !important;
}

/* عنوان محاسبه سریع */
.fc-visual-copy h3 {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:800 !important;
}

/* برچسب فیلدها */
.fc-label {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
    font-weight:650 !important;
}

/* خود فیلدها */
.fc-field input,
.fc-field select {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
    font-weight:400 !important;
}

/* دکمه‌ها */
.fc-actions button {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:700 !important;
}

/* عنوان نتیجه */
.fc-result-heading {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:750 !important;
}

/* سطرهای نتیجه */
.fc-result-table span,
.fc-result-table strong {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
}

/* مبلغ نهایی */
.fc-final-total span,
.fc-final-total strong {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:800 !important;
}

/* توضیحات */
.fc-title-center p,
.fc-form-title p,
.fc-contact,
.fc-disclaimer,
.fc-side-note span {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
    font-weight:400 !important;
}

/* شعارهای جانبی */
.fc-side-note strong {
    font-family:"Estedad","Vazirmatn",Tahoma,sans-serif !important;
    font-weight:700 !important;
}

/* ===== END SITE TYPOGRAPHY SYNC V1 ===== */

/* ===== BACK BUTTON POSITION FINAL ===== */

.fc-home-back-final{
    position:static !important;

    display:flex !important;
    width:max-content !important;

    margin:0 0 5px auto !important;
    padding:0 !important;

    height:auto !important;

    color:#60717e !important;
    background:transparent !important;

    border:0 !important;
    box-shadow:none !important;

    text-decoration:none !important;

    font-size:11px !important;
    font-weight:600 !important;
}

.fc-home-back-final:hover{
    color:#e82739 !important;
    background:transparent !important;
}

.fc-home-back-final span{
    margin-left:5px;
    font-size:13px;
}

@media(max-width:650px){

    .fc-home-back-final{
        margin:0 auto 8px !important;
    }

}

/* ===== BACK BUTTON GREEN FINAL ===== */

.fc-home-back-final{
    color:#ffffff !important;
    background:linear-gradient(
        135deg,
        #159447,
        #1ea653
    ) !important;

    border-color:#159447 !important;

    box-shadow:
        0 6px 16px
        rgba(21,148,71,.16) !important;
}

.fc-home-back-final:hover{
    color:#ffffff !important;

    background:linear-gradient(
        135deg,
        #117d3d,
        #198d48
    ) !important;

    border-color:#117d3d !important;
}


/* ===== BACK BUTTON SIZE FINAL ===== */

.fc-home-back-final{
    height:46px !important;
    min-height:46px !important;

    margin-top:9px !important;
    padding:0 20px !important;

    border-radius:9px !important;

    font-size:13px !important;
    font-weight:800 !important;

    letter-spacing:0 !important;

    box-shadow:
        0 7px 18px
        rgba(21,148,71,.18) !important;
}

.fc-home-back-final span{
    font-size:18px !important;
    margin-left:4px !important;
}


/* ===== BACK BUTTON LEFT ALIGN ===== */

.fc-home-back-final{
    width:255px !important;
    max-width:255px !important;

    margin-top:10px !important;
    margin-right:auto !important;
    margin-left:0 !important;

    height:46px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

@media(max-width:650px){
    .fc-home-back-final{
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
}


/* ===== CALCULATOR VALIDATION ===== */

.fc-input-invalid{
    border-color:#dc3545 !important;
    box-shadow:0 0 0 2px rgba(220,53,69,.08) !important;
}

.fc-input-invalid:focus{
    border-color:#dc3545 !important;
    box-shadow:0 0 0 3px rgba(220,53,69,.12) !important;
}


/* ===== AUTO ROUTE DISTANCE V1 ===== */

.fc-field:has(#distance){
    position:relative !important;
}

#distance{
    padding-left:132px !important;
}

.fc-auto-distance-btn{
    position:absolute !important;
    left:6px !important;
    bottom:6px !important;

    width:118px !important;
    height:31px !important;

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

    padding:0 7px !important;

    border:1px solid #16934a !important;
    border-radius:7px !important;

    background:#f0faf4 !important;
    color:#147c40 !important;

    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
    font-size:10px !important;
    font-weight:800 !important;

    cursor:pointer !important;
    z-index:5 !important;

    transition:.18s ease !important;
}

.fc-auto-distance-btn:hover{
    background:#16934a !important;
    color:#fff !important;
}

.fc-auto-distance-btn.is-loading{
    opacity:.7 !important;
    cursor:wait !important;
}

.fc-auto-distance-btn.is-success{
    background:#16934a !important;
    color:#fff !important;
}

.fc-auto-distance-btn.is-error{
    background:#fff2f2 !important;
    border-color:#d83c4a !important;
    color:#c72e3d !important;
}

@media(max-width:650px){

    .fc-field:has(#distance){
        position:static !important;
    }

    #distance{
        padding-left:12px !important;
    }

    .fc-auto-distance-btn{
        position:static !important;
        width:100% !important;
        height:36px !important;
        margin-top:6px !important;
    }
}


/* ===== DATABASE TARIFF STATUS V1 ===== */

.fc-tariff-status{
    display:block;
    margin-top:5px;

    min-height:15px;

    font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
    font-size:9px;
    line-height:1.6;

    color:#7b8790;
}

.fc-tariff-status.is-success{
    color:#178247;
}

.fc-tariff-status.is-warning{
    color:#b57914;
}

.fc-tariff-status.is-loading{
    color:#587286;
}

#rate[readonly]{
    background:#f3faf6 !important;
    border-color:#b8dfc7 !important;
    color:#176d3e !important;
    cursor:default;
}


/* ===== DISTANCE AUTO BUTTON INSIDE FIELD FINAL ===== */

.fc-distance-control{
    position:relative !important;
    width:100% !important;
}

.fc-distance-control #distance{
    width:100% !important;
    box-sizing:border-box !important;
    padding-left:132px !important;
}

.fc-distance-control .fc-auto-distance-btn{
    position:absolute !important;

    left:6px !important;
    top:50% !important;
    bottom:auto !important;

    transform:translateY(-50%) !important;

    width:118px !important;
    height:32px !important;

    margin:0 !important;

    z-index:5 !important;
}

/* حذف اثر قوانین قدیمی */
.fc-field:has(#distance) .fc-auto-distance-btn{
    bottom:auto !important;
}

@media(max-width:650px){

    .fc-distance-control #distance{
        padding-left:112px !important;
    }

    .fc-distance-control .fc-auto-distance-btn{
        position:absolute !important;

        left:5px !important;
        top:50% !important;

        width:102px !important;
        height:30px !important;

        transform:translateY(-50%) !important;
        margin:0 !important;
    }
}

