/* ═══ checkout.css — جداشده از main.css (خطوط 3018-3792 نسخهٔ v1.1.267) بدون هیچ تغییری در محتوا/ترتیب.
   تسویه‌حساب (hcheckout + v27–v30)
   ترتیب لود (زنجیرهٔ dependency در functions.php) = ترتیب قبلی داخل main.css. ═══ */
/* ═══════════════════════════════════════
   HASTIGEM CUSTOM CHECKOUT PAGE — v26
   صفحه پرداخت اختصاصی، دیجیتال، RTL
═══════════════════════════════════════ */
.hastigem-checkout-page{
    min-height:calc(100vh - var(--header-h));
    background:transparent;
}
.hcheckout-container{
    max-width:1180px;
    margin:0 auto;
    padding:38px clamp(1rem,4vw,2rem) 110px;
}
.hcheckout-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}
.hcheckout-head h1{
    font-size:34px;
    line-height:1.25;
    font-weight:900;
    color:var(--black);
    letter-spacing:-.9px;
}
.hcheckout-head p{
    color:var(--gray-600);
    font-size:14px;
    margin-top:8px;
}
.hcheckout-steps{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid rgba(0,0,0,.075);
    border-radius:999px;
    padding:7px;
    box-shadow:0 8px 26px rgba(0,0,0,.045);
}
.hcheckout-step{
    height:34px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    border-radius:999px;
    color:#7b8794;
    font-size:12px;
    font-weight:900;
}
.hcheckout-step span{
    width:20px;
    height:20px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#f6f6f6;
    color:#777;
    font-size:11px;
}
.hcheckout-step.active{
    background:#eefaf4;
    color:#0f7a44;
}
.hcheckout-step.active span{
    background:#159455;
    color:#fff;
}
.hcheckout-step.done{
    color:#0d0d0d;
}
.hcheckout-step.done span{
    background:#0d0d0d;
    color:#fff;
}

/* Woo login / coupon panels */
.hastigem-checkout-page .woocommerce-form-login,
.hastigem-checkout-page .woocommerce-form-coupon{
    background:#fff;
    border:1px solid rgba(0,0,0,.075);
    border-radius:22px;
    box-shadow:0 8px 26px rgba(0,0,0,.045);
    padding:16px;
    margin:0 0 14px;
}
.hastigem-checkout-page .woocommerce-info,
.hastigem-checkout-page .woocommerce-message,
.hastigem-checkout-page .woocommerce-error{
    margin:0 0 16px !important;
    padding:12px 14px !important;
    border-radius:18px !important;
    border:1px solid rgba(20,120,61,.12) !important;
    background:#eefaf4 !important;
    color:#14783d !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.8 !important;
    box-shadow:0 8px 24px rgba(20,120,61,.055) !important;
}
.hastigem-checkout-page .woocommerce-error{
    border-color:rgba(209,67,67,.16)!important;
    background:#fff4f4!important;
    color:#d14343!important;
}
.hastigem-checkout-page .woocommerce-info::before,
.hastigem-checkout-page .woocommerce-message::before,
.hastigem-checkout-page .woocommerce-error::before{
    content:none!important;
    display:none!important;
}

.hcheckout-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
}
.hcheckout-main{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
}
.hcheckout-card{
    background:#fff;
    border:1px solid rgba(0,0,0,.075);
    border-radius:26px;
    box-shadow:0 8px 26px rgba(0,0,0,.045);
    padding:18px;
}
.hcheckout-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.hcheckout-card-title{
    display:flex;
    align-items:center;
    gap:10px;
}
.hcheckout-card-icon{
    width:38px;
    height:38px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:#eefaf4;
    color:#159455;
    flex:0 0 38px;
}
.hcheckout-card-icon svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.hcheckout-card-head h2{
    font-size:18px;
    font-weight:900;
    color:var(--black);
    letter-spacing:-.4px;
}
.hcheckout-card-head p{
    margin-top:4px;
    color:var(--gray-600);
    font-size:12px;
}

/* Fields */
.hcheckout-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.hcheckout-form-grid .form-row{
    float:none!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
}
.hcheckout-form-grid .form-row-wide,
.hcheckout-note-grid .form-row{
    grid-column:1/-1;
}
.hcheckout-form-grid label{
    display:block;
    color:#53606d;
    font-size:12px;
    font-weight:900;
    margin-bottom:7px;
}
.hcheckout-form-grid label .required{
    color:#159455;
    text-decoration:none;
}
.hcheckout-form-grid input.input-text,
.hcheckout-form-grid textarea,
.hcheckout-form-grid select{
    width:100%;
    border:1px solid rgba(0,0,0,.085);
    background:#fff;
    color:var(--black);
    border-radius:16px;
    outline:none;
    font-size:14px;
    font-weight:700;
    transition:border-color .15s,box-shadow .15s,background .15s;
}
.hcheckout-form-grid input.input-text,
.hcheckout-form-grid select{
    height:50px;
    padding:0 13px;
}
.hcheckout-form-grid textarea{
    min-height:104px;
    resize:vertical;
    padding:13px;
    line-height:1.8;
}
.hcheckout-form-grid input.input-text:focus,
.hcheckout-form-grid textarea:focus,
.hcheckout-form-grid select:focus{
    border-color:rgba(21,148,85,.38);
    box-shadow:0 0 0 4px rgba(21,148,85,.07);
}
.hcheckout-form-grid ::placeholder{
    color:#b4bbc3;
}
.hcheckout-form-grid .woocommerce-input-wrapper{
    display:block;
}
.hcheckout-form-grid .select2-container .select2-selection--single{
    height:50px;
    border:1px solid rgba(0,0,0,.085);
    border-radius:16px;
    display:flex;
    align-items:center;
}
.hcheckout-form-grid .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:50px;
    padding-right:13px;
    padding-left:32px;
}

/* Digital delivery */
.hcheckout-digital-box{
    border:1px solid rgba(21,148,85,.12);
    background:linear-gradient(135deg,#f1fbf6,#fff);
    border-radius:22px;
    padding:15px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.hcheckout-digital-box h3{
    font-size:15px;
    font-weight:900;
    color:#0f7a44;
}
.hcheckout-digital-box p{
    margin-top:5px;
    color:#53606d;
    font-size:12px;
    line-height:1.8;
}
.hcheckout-digital-box > span{
    min-width:92px;
    height:34px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(21,148,85,.14);
    color:#0f7a44;
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:900;
}
.hcheckout-note-grid{
    margin-top:14px;
}

/* Payment */
.hcheckout-payment-inside #payment{
    background:transparent!important;
    border:0!important;
    margin:0!important;
}
.hcheckout-payment-inside #payment ul.payment_methods{
    padding:0!important;
    border:0!important;
    margin:0!important;
}
.hcheckout-payment-inside #payment ul.payment_methods li{
    list-style:none;
    position:relative;
    border:1px solid rgba(0,0,0,.075);
    border-radius:20px;
    background:#fff;
    padding:14px;
    margin:0 0 10px!important;
}
.hcheckout-payment-inside #payment ul.payment_methods li.wc_payment_method.payment_method_selected,
.hcheckout-payment-inside #payment ul.payment_methods li:has(input:checked){
    border-color:rgba(21,148,85,.22);
    background:linear-gradient(135deg,#f7fffa,#fff);
}
.hcheckout-payment-inside #payment ul.payment_methods li > input{
    margin-left:8px!important;
    accent-color:#159455;
}
.hcheckout-payment-inside #payment ul.payment_methods li > label{
    font-size:14px;
    font-weight:900;
    color:var(--black);
}
.hcheckout-payment-inside #payment div.payment_box{
    background:#f8faf9!important;
    color:#53606d!important;
    border-radius:16px!important;
    font-size:12px!important;
    line-height:1.8!important;
    margin:12px 0 0!important;
}
.hcheckout-payment-inside #payment div.payment_box::before{
    display:none!important;
}
.hcheckout-payment-inside .form-row.place-order{
    margin:0!important;
    padding:0!important;
}
.hcheckout-payment-inside .woocommerce-terms-and-conditions-wrapper{
    color:#7b8794;
    font-size:11px;
    line-height:1.9;
    margin:10px 0;
}
.hcheckout-payment-inside #place_order{
    width:100%;
    height:56px;
    border:0;
    border-radius:18px;
    margin-top:14px;
    background:linear-gradient(135deg,#111,#050505);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-size:14px;
    font-weight:900;
    box-shadow:0 16px 30px rgba(0,0,0,.16);
}

/* Summary */
.hcheckout-summary{
    position:sticky;
    top:calc(var(--header-h) + 18px);
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.92);
    border-radius:26px;
    box-shadow:0 18px 50px rgba(0,0,0,.055);
    padding:18px;
}
.hcheckout-summary-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}
.hcheckout-summary-head h2{
    font-size:18px;
    font-weight:900;
}
.hcheckout-summary-head span{
    min-height:26px;
    padding:4px 10px;
    border-radius:999px;
    background:#f8f8f8;
    color:#666;
    font-size:11px;
    font-weight:900;
}
.hcheckout-order-items{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:14px;
}
.hcheckout-order-item{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(0,0,0,.06);
    border-radius:18px;
    background:#fff;
}
.hcheckout-order-img{
    width:52px;
    height:52px;
    border-radius:16px;
    border:1px solid rgba(21,148,85,.12);
    background:linear-gradient(135deg,#fff,#f2faf6);
    overflow:hidden;
}
.hcheckout-order-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.hcheckout-order-name{
    font-size:12px;
    font-weight:900;
    color:var(--black);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.hcheckout-order-meta{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:5px;
    color:#7b8794;
    font-size:11px;
    font-weight:800;
}
.hcheckout-summary-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 0;
    border-top:1px solid rgba(0,0,0,.07);
    color:#666;
    font-size:13px;
}
.hcheckout-summary-line strong{
    color:var(--black);
    font-weight:900;
}
.hcheckout-coupon{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    margin:10px 0 14px;
}
.hcheckout-coupon input{
    height:44px;
    border:1px solid rgba(0,0,0,.085);
    border-radius:15px;
    padding:0 12px;
    outline:none;
}
.hcheckout-coupon button{
    height:44px;
    border:1px solid rgba(21,148,85,.2);
    background:#eefaf4;
    color:#0f7a44;
    border-radius:15px;
    padding:0 14px;
    font-weight:900;
}
.hcheckout-total-box{
    margin-top:10px;
    padding:14px;
    border-radius:20px;
    background:linear-gradient(135deg,#f0fbf5,#fff);
    border:1px solid rgba(21,148,85,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.hcheckout-total-box span{
    color:#666;
    font-size:13px;
    font-weight:900;
}
.hcheckout-total-box strong{
    color:#0f7a44;
    font-size:20px;
    font-weight:900;
    white-space:nowrap;
}
.hcheckout-total-box small{
    display:none;
}
.hcheckout-trust{
    margin-top:12px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    color:#0f7a44;
    font-size:12px;
    font-weight:900;
}
.hcheckout-trust svg{
    width:15px;
    height:15px;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.hcheckout-terms-note{
    margin-top:12px;
    color:#7b8794;
    font-size:11px;
    line-height:1.9;
    text-align:center;
}
.hcheckout-discount strong,
.hcheckout-discount strong a{
    color:#159455;
}

/* Mobile paybar */
.hcheckout-mobile-paybar{
    display:none;
    position:fixed;
    right:12px;
    left:12px;
    bottom:10px;
    z-index:300;
    height:66px;
    border-radius:24px;
    background:rgba(255,255,255,.76);
    backdrop-filter:blur(24px) saturate(160%);
    -webkit-backdrop-filter:blur(24px) saturate(160%);
    border:1px solid rgba(255,255,255,.92);
    box-shadow:0 16px 42px rgba(15,23,32,.14);
    padding:8px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.hcheckout-mobile-paybar span{
    display:block;
    color:#7b8794;
    font-size:10px;
    font-weight:900;
}
.hcheckout-mobile-paybar strong{
    display:block;
    color:#0f7a44;
    font-size:14px;
    font-weight:900;
    margin-top:2px;
}
.hcheckout-mobile-paybar .woocommerce-Price-amount{
    font-weight:900;
}
.hcheckout-mobile-submit{
    height:50px;
    min-width:168px;
    border:0;
    border-radius:18px;
    background:#0d0d0d;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

/* Empty */
.hcheckout-empty{
    max-width:520px;
    margin:28px auto 0;
    text-align:center;
    background:#fff;
    border:1px solid rgba(0,0,0,.075);
    border-radius:28px;
    padding:34px 20px;
    box-shadow:0 16px 42px rgba(0,0,0,.055);
}
.hcheckout-empty-icon{
    width:64px;
    height:64px;
    border-radius:22px;
    background:#eefaf4;
    color:#14783d;
    display:grid;
    place-items:center;
    margin:0 auto 14px;
}
.hcheckout-empty-icon svg{
    width:30px;
    height:30px;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.hcheckout-empty h1{
    font-size:22px;
    font-weight:900;
    margin-bottom:8px;
}
.hcheckout-empty p{
    color:#666;
    font-size:13px;
    line-height:1.8;
}
.hcheckout-empty a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:44px;
    margin-top:18px;
    padding:0 18px;
    border-radius:16px;
    background:#0d0d0d;
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

@media(max-width:920px){
    .hcheckout-layout{
        grid-template-columns:1fr;
    }
    .hcheckout-summary{
        position:static;
    }
    .hcheckout-steps{
        display:none;
    }
}
@media(max-width:760px){
    .hcheckout-container{
        padding:24px 12px 96px;
    }
    .hcheckout-head{
        margin-bottom:16px;
    }
    .hcheckout-head h1{
        font-size:25px;
    }
    .hcheckout-head p{
        font-size:12px;
    }
    .hcheckout-card{
        border-radius:22px;
        padding:14px;
    }
    .hcheckout-form-grid{
        grid-template-columns:1fr;
    }
    .hcheckout-digital-box{
        display:block;
    }
    .hcheckout-digital-box > span{
        margin-top:10px;
    }
    .hcheckout-summary{
        border-radius:22px;
        padding:14px;
    }
    .hcheckout-payment-inside #place_order{
        display:none!important;
    }
    .hcheckout-mobile-paybar{
        display:flex;
    }
}
@media(max-width:390px){
    .hcheckout-order-meta{
        display:block;
    }
    .hcheckout-mobile-submit{
        min-width:150px;
    }
}

/* v27 — WooCommerce dynamic checkout fragments */
.hcheckout-order-review{
    display:block;
}
.hcheckout-summary-inner.woocommerce-checkout-review-order-table{
    display:block;
    width:100%;
    margin:0;
    border:0;
}
.hcheckout-summary-inner .remove{
    color:#d14343;
    font-size:11px;
}
.hcheckout-order-data{
    margin-top:6px;
    color:#7b8794;
    font-size:10px;
    line-height:1.7;
}
.hcheckout-order-data dl,
.hcheckout-order-data dt,
.hcheckout-order-data dd,
.hcheckout-order-data p{
    display:inline;
    margin:0;
}
.hcheckout-order-data dt{
    color:#9aa3ad;
    margin-left:3px;
}
.hcheckout-order-data dd{
    margin-left:7px;
}
.hcheckout-coupon button:disabled{
    opacity:.65;
    cursor:wait;
}

/* v28 — force classic dynamic checkout marker */
.hastigem-checkout-page .wp-block-woocommerce-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout{
    display:none;
}
.woocommerce-checkout form.checkout:not(.hcheckout-layout){
    max-width:1180px;
    margin:0 auto;
    padding:24px clamp(1rem,4vw,2rem) 100px;
}

/* v29 — keep plugin checkout fields dynamic, hide only Woo address system fields */
.hcheckout-form-grid .hcheckout-system-hidden-field{
    display:none!important;
}
.hcheckout-form-grid .form-row:not(.hcheckout-system-hidden-field){
    display:block;
}
.hcheckout-form-grid .form-row label{
    cursor:default;
}
.hcheckout-form-grid .form-row .optional{
    color:#9aa3ad;
    font-size:11px;
    font-weight:700;
}
.hcheckout-form-grid input[type="text"],
.hcheckout-form-grid input[type="email"],
.hcheckout-form-grid input[type="tel"],
.hcheckout-form-grid input[type="number"],
.hcheckout-form-grid input[type="password"],
.hcheckout-form-grid input[type="url"]{
    direction:rtl;
}
.hcheckout-form-grid input[type="email"],
.hcheckout-form-grid input[type="tel"]{
    direction:ltr;
    text-align:left;
}
/* v30 — order-received/order-pay endpoint guard active */
