
/* =========================================================
   Checkout - Saved Address Selection
   ========================================================= */

.checkout-address-card {
    direction: rtl;
}

.checkout-address-help {
    margin: -8px 0 16px;
    color: #8b8588;
    font-size: 11px;
    line-height: 1.9;
}

.checkout-address-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.checkout-address-option {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border: 1px solid #e9e0e3;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}

.checkout-address-option:hover {
    border-color: #d8aeb9;
    background: #fffafb;
}

.checkout-address-option.is-selected {
    border-color: #b84c67;
    background: #fff8fa;
    box-shadow: 0 0 0 2px rgba(184, 76, 103, .06);
}

.checkout-address-option > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-address-radio {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    margin-top: 2px;
    border: 2px solid #d3c8cc;
    border-radius: 50%;
    box-sizing: border-box;
}

.checkout-address-option.is-selected .checkout-address-radio {
    border-color: #b84c67;
    box-shadow: inset 0 0 0 4px #fff;
    background: #b84c67;
}

.checkout-address-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 4px;
}

.checkout-address-title {
    display: flex;
    align-items: center;
    gap: 7px;
}

.checkout-address-title strong {
    color: #383338;
    font-size: 12px;
}

.checkout-default-badge {
    padding: 3px 6px;
    border-radius: 999px;
    background: #eef8f1;
    color: #32804a;
    font-size: 8px;
    font-weight: 800;
}

.checkout-address-receiver,
.checkout-address-location,
.checkout-address-text,
.checkout-address-postal {
    color: #777;
    font-size: 10px;
    line-height: 1.8;
}

.checkout-address-text {
    color: #555;
}

.checkout-address-postal {
    color: #999;
}

.checkout-address-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
}

.checkout-add-address,
.checkout-manage-address {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #eadfe2;
    border-radius: 8px;
    background: #fff;
    color: #b84c67;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.checkout-manage-address {
    color: #666;
}

.checkout-add-address:hover,
.checkout-manage-address:hover {
    border-color: #b84c67;
}

.checkout-summary-divider {
    height: 1px;
    margin: 17px 0;
    background: #f0e8ea;
}

.checkout-submit {
    margin-top: 15px;
}

.checkout-no-address {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 28px 15px;
    border: 1px dashed #e2d5d9;
    border-radius: 12px;
    background: #fffafb;
    text-align: center;
}

.checkout-no-address-icon {
    font-size: 32px;
}

.checkout-no-address h3 {
    margin: 9px 0 4px;
    color: #444;
    font-size: 15px;
}

.checkout-no-address p {
    margin: 0 0 15px;
    color: #999;
    font-size: 10px;
}

@media (max-width: 700px) {
    .checkout-address-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-add-address,
    .checkout-manage-address {
        width: 100%;
    }
}


/* Coupon is intentionally a sibling form, never nested inside address form. */
.checkout-coupon-form{margin-top:10px;}
.checkout-coupon-form input{direction:ltr;text-align:left;}
.checkout-summary-divider{margin:18px 0;}


/* =============================================================================
   PAMELA SHOP — CHECKOUT UX LAYER
   فقط ظاهر صفحه Checkout؛ منطق سفارش، آدرس و پرداخت دست‌نخورده است.
============================================================================= */

/* ---------------------------------------------------------------------------
   01. HERO
--------------------------------------------------------------------------- */

.checkout-hero{
    position:relative;
    overflow:hidden;
    padding:42px 0 38px;
    background:
        radial-gradient(circle at 18% 30%, rgba(63,166,143,.10), transparent 30%),
        radial-gradient(circle at 82% 25%, rgba(245,182,202,.24), transparent 34%),
        linear-gradient(135deg,#fbfffd 0%,#fff8fa 52%,#f8fbff 100%);
    border-bottom:1px solid rgba(42,104,91,.08);
}

.checkout-hero::before{
    content:"";
    position:absolute;
    inset:auto -10% -85px;
    height:170px;
    border-radius:50%;
    background:rgba(45,145,119,.055);
    filter:blur(25px);
}

.checkout-hero-inner{
    position:relative;
    z-index:1;
    min-height:265px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:center;
    gap:35px;
}

.checkout-hero-copy{
    text-align:right;
}

.checkout-hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#b34b68;
    font-size:12px;
    font-weight:900;
}

.checkout-hero-line{
    width:32px;
    height:3px;
    border-radius:999px;
    background:#d95576;
}

.checkout-hero-copy h1{
    margin:10px 0 9px;
    color:#20282a;
    font-size:38px;
    font-weight:900;
    line-height:1.3;
    letter-spacing:-.8px;
}

.checkout-hero-copy h1 span{
    color:#20866d;
}

.checkout-hero-copy p{
    max-width:650px;
    margin:0;
    color:#747b7c;
    font-size:13px;
    line-height:2.15;
}

.checkout-hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.checkout-hero-trust span{
    padding:7px 11px;
    border:1px solid rgba(32,134,109,.11);
    border-radius:999px;
    background:rgba(255,255,255,.78);
    color:#52736a;
    font-size:10px;
    font-weight:800;
    box-shadow:0 7px 20px rgba(35,80,69,.045);
}

/* Hero cart */
.checkout-hero-visual{
    position:relative;
    display:flex;
    align-items:center;
    flex-direction:column;
    justify-content:center;
    justify-self:center;
    width:220px;
    min-height:220px;
}

.checkout-hero-glow{
    position:absolute;
    width:180px;
    height:130px;
    border-radius:50%;
    background:rgba(38,143,116,.12);
    filter:blur(24px);
}

.checkout-hero-stage{
    position:relative;
    z-index:2;
    width:158px;
    height:158px;
    display:grid;
    place-items:center;
    border-radius:42px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(255,255,255,.98);
    box-shadow:
        0 22px 48px rgba(38,72,66,.11),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.checkout-hero-icon{
    width:86px;
    height:86px;
    color:#238b73;
    filter:drop-shadow(0 8px 12px rgba(35,139,115,.12));
    animation:checkoutCartBreath 6s ease-in-out infinite;
}

.checkout-hero-item{
    position:absolute;
    z-index:3;
    width:14px;
    height:12px;
    border-radius:3px;
    background:linear-gradient(145deg,#f0b84f,#d99325);
    box-shadow:0 3px 8px rgba(180,120,25,.16);
    opacity:0;
    transform:translateY(-30px) scale(.55);
    animation:checkoutItemFill 6s ease-in-out infinite;
}

.checkout-hero-item-1{left:62px;top:67px;animation-delay:.05s}
.checkout-hero-item-2{left:77px;top:60px;width:15px;height:13px;animation-delay:.18s}
.checkout-hero-item-3{left:70px;top:53px;width:13px;height:11px;animation-delay:.31s}

.checkout-hero-check{
    position:absolute;
    z-index:5;
    right:6px;
    bottom:7px;
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    border:3px solid #fff;
    border-radius:50%;
    background:#318fd1;
    color:#fff;
    font-size:21px;
    font-weight:900;
    box-shadow:0 9px 20px rgba(49,143,209,.25);
    opacity:0;
    transform:scale(.55) rotate(-15deg);
    animation:checkoutConfirm 6s ease-in-out infinite;
}

.checkout-hero-brand{
    position:relative;
    z-index:3;
    margin-top:-13px;
    padding:7px 15px;
    border:1px solid rgba(255,255,255,.95);
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:#3f4e50;
    font-size:12px;
    font-weight:950;
    box-shadow:0 9px 22px rgba(38,72,66,.08);
}

/* ---------------------------------------------------------------------------
   02. CHECKOUT GRID + CARDS
--------------------------------------------------------------------------- */

.checkout-grid{
    grid-template-columns:1fr 1.35fr;
    gap:22px;
    align-items:start;
}

.checkout-order-card{
    grid-column:1;
}

.checkout-address-card{
    grid-column:2;
}

.checkout-card{
    border-radius:20px;
    border-color:#e9e7e7;
    padding:22px;
    box-shadow:0 12px 35px rgba(37,47,45,.055);
}

.checkout-card-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:14px;
    margin-bottom:3px;
    border-bottom:1px solid #f0ecee;
}

.checkout-card-heading h2{
    margin:3px 0 0 !important;
    color:#24292a;
    font-size:20px;
    font-weight:900;
}

.checkout-card-kicker{
    color:#b84c67;
    font-size:10px;
    font-weight:900;
}

.checkout-card-heading-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#edf8f4;
    color:#208b73;
    font-size:19px;
}

.checkout-line{
    padding:14px 0;
    border-bottom:1px solid #f0ecee;
}

.checkout-line strong{
    color:#303536;
    font-size:12px;
}

.checkout-line small{
    margin-top:3px;
    color:#929798;
    font-size:10px;
}

.checkout-line > strong{
    color:#20816b;
    white-space:nowrap;
}

/* ---------------------------------------------------------------------------
   03. ADDRESS SELECTION
--------------------------------------------------------------------------- */

.checkout-address-card > h2{
    margin-bottom:4px;
    color:#252a2b;
    font-size:20px;
}

.checkout-address-help{
    color:#808687;
    font-size:11px;
}

.checkout-address-selection-hint{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 11px;
    padding:8px 10px;
    border-radius:10px;
    background:#f6fbf9;
    color:#648079;
    font-size:9px;
    line-height:1.7;
}

.checkout-hint-dot{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#2c9579;
    box-shadow:0 0 0 4px rgba(44,149,121,.08);
}

.checkout-address-option{
    padding:14px;
    border-radius:14px;
    border-color:#e8e4e5;
    background:#fff;
}

.checkout-address-option:hover{
    border-color:#86bdae;
    background:#fbfefd;
    transform:translateY(-1px);
    box-shadow:0 7px 20px rgba(32,139,115,.06);
}

.checkout-address-option.is-selected{
    border-color:#2c9579;
    background:linear-gradient(135deg,#f5fcf9,#fff);
    box-shadow:0 0 0 2px rgba(44,149,121,.08),0 9px 22px rgba(32,139,115,.07);
}

.checkout-address-option.is-selected .checkout-address-radio{
    border-color:#2c9579;
    background:#2c9579;
}

/* ---------------------------------------------------------------------------
   04. PAYMENT SUMMARY — بدون Coupon
--------------------------------------------------------------------------- */

.checkout-summary-divider{
    margin:20px 0 !important;
    background:#eee9eb;
}

.summary-row{
    padding:12px 0;
}

.summary-row span{
    color:#6e7576;
    font-size:11px;
}

.summary-row strong{
    color:#303637;
    font-size:12px;
}

.summary-row.total{
    margin-top:4px;
    padding:17px 13px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#eef9f5,#f7fbfa);
}

.summary-row.total span{
    color:#315d52;
    font-weight:900;
}

.summary-row.total strong{
    color:#198166;
    font-size:20px;
    font-weight:950;
    white-space:nowrap;
}

/* Keep an already-applied discount visible in the payment summary,
   but there is no coupon input here anymore. */
.summary-row.coupon-discount strong{
    color:#b4772a;
}

/* Main checkout button */
.checkout-submit{
    min-height:47px !important;
    margin-top:14px !important;
    border:0 !important;
    border-radius:13px !important;
    background:linear-gradient(135deg,#258d72,#176a57) !important;
    color:#fff !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:900 !important;
    box-shadow:0 10px 24px rgba(23,106,87,.17) !important;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease !important;
}

.checkout-submit:hover{
    transform:translateY(-1px);
    filter:brightness(1.04);
    box-shadow:0 13px 28px rgba(23,106,87,.22) !important;
}

/* ---------------------------------------------------------------------------
   05. ANIMATION
--------------------------------------------------------------------------- */

@keyframes checkoutCartBreath{
    0%,25%{transform:scale(1)}
    33%{transform:scale(1.035)}
    43%,68%{transform:scale(1)}
    75%{transform:scale(1.025)}
    100%{transform:scale(1)}
}

@keyframes checkoutItemFill{
    0%,24%{opacity:0;transform:translateY(-30px) scale(.55)}
    32%{opacity:1;transform:translateY(-2px) scale(1)}
    42%,68%{opacity:1;transform:translateY(0) scale(1)}
    76%,100%{opacity:0;transform:translateY(0) scale(.75)}
}

@keyframes checkoutConfirm{
    0%,66%{opacity:0;transform:scale(.55) rotate(-15deg)}
    73%{opacity:1;transform:scale(1.12) rotate(0)}
    80%,91%{opacity:1;transform:scale(1) rotate(0)}
    100%{opacity:0;transform:scale(.85)}
}

/* ---------------------------------------------------------------------------
   06. MOBILE
--------------------------------------------------------------------------- */

@media(max-width:900px){
    .checkout-hero{
        padding:30px 0 27px;
    }

    .checkout-hero-inner{
        min-height:0;
        grid-template-columns:1fr;
        gap:16px;
        text-align:center;
    }

    .checkout-hero-copy{
        order:1;
        text-align:center;
    }

    .checkout-hero-visual{
        order:0;
        width:150px;
        min-height:145px;
    }

    .checkout-hero-stage{
        width:118px;
        height:118px;
        border-radius:32px;
    }

    .checkout-hero-icon{
        width:65px;
        height:65px;
    }

    .checkout-hero-item-1{left:46px;top:50px}
    .checkout-hero-item-2{left:58px;top:44px}
    .checkout-hero-item-3{left:52px;top:39px}

    .checkout-hero-check{
        right:0;
        bottom:2px;
        width:30px;
        height:30px;
        font-size:17px;
        border-width:2px;
    }

    .checkout-hero-copy h1{
        font-size:28px;
        letter-spacing:-.4px;
    }

    .checkout-hero-copy p{
        margin-inline:auto;
        max-width:570px;
        font-size:11px;
    }

    .checkout-hero-trust{
        justify-content:center;
    }

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

    .checkout-order-card,
    .checkout-address-card{
        grid-column:1;
    }

    .checkout-order-card{
        order:2;
    }

    .checkout-address-card{
        order:1;
    }
}

@media(max-width:520px){
    .checkout-card{
        padding:16px;
        border-radius:17px;
    }

    .checkout-card-heading h2,
    .checkout-address-card > h2{
        font-size:17px;
    }

    .checkout-hero-copy h1{
        font-size:24px;
    }

    .checkout-hero-trust span{
        font-size:9px;
        padding:6px 8px;
    }

    .checkout-line > strong{
        font-size:11px;
    }

    .summary-row.total strong{
        font-size:18px;
    }
}

@media(prefers-reduced-motion:reduce){
    .checkout-hero-icon,
    .checkout-hero-item,
    .checkout-hero-check{
        animation:none !important;
    }

    .checkout-hero-item{
        opacity:1 !important;
        transform:none !important;
    }

    .checkout-hero-check{
        opacity:1 !important;
        transform:none !important;
    }
}


/* =============================================================================
   CHECKOUT FINAL OVERRIDE — v3
   این بخش عمداً در انتهای فایل قرار دارد تا استایل‌های قبلی Checkout
   نتوانند ظاهر نسخه جدید را Override کنند.
============================================================================= */

/* Hero: checklist — animated sequential checks */

/* Address: force readable typography */
.checkout-address-card .checkout-address-help{
    font-size:13px !important;
    line-height:2 !important;
    color:#626c6d !important;
}

.checkout-address-card .checkout-address-option{
    min-height:112px !important;
    padding:15px !important;
}

.checkout-address-card .checkout-address-title strong{
    font-size:15px !important;
    line-height:1.8 !important;
    color:#283132 !important;
}

.checkout-address-card .checkout-address-receiver,
.checkout-address-card .checkout-address-location,
.checkout-address-card .checkout-address-text,
.checkout-address-card .checkout-address-postal{
    font-size:13px !important;
    line-height:2 !important;
    color:#4f595a !important;
}

.checkout-address-card .checkout-address-text{
    font-size:13.5px !important;
    font-weight:600 !important;
}

.checkout-address-card .checkout-address-postal{
    color:#737d7e !important;
    font-weight:600 !important;
}

.checkout-address-card .checkout-address-option.is-selected{
    border-color:#2c9579 !important;
    background:#f7fcfa !important;
}

.checkout-address-card .checkout-address-radio{
    width:19px !important;
    height:19px !important;
    flex-basis:19px !important;
}

/* Support CTA */
.checkout-order-card .checkout-support-button{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin-top:18px !important;
    padding:13px 14px !important;
    min-height:57px !important;
    border:1px solid #dcebe6 !important;
    border-radius:15px !important;
    background:linear-gradient(135deg,#f5fbf8,#ffffff) !important;
    color:#31534b !important;
    text-decoration:none !important;
    box-shadow:0 8px 24px rgba(32,139,115,.06) !important;
}

.checkout-order-card .checkout-support-button strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.8 !important;
    color:#2d4b45 !important;
}

.checkout-order-card .checkout-support-button small{
    display:block !important;
    font-size:10px !important;
    line-height:1.8 !important;
    color:#808c89 !important;
}

.checkout-order-card .checkout-support-icon{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:11px !important;
    background:#e6f6f0 !important;
    color:#208b73 !important;
    font-size:18px !important;
    font-weight:900 !important;
}

.checkout-order-card .checkout-support-arrow{
    margin-right:auto !important;
    color:#208b73 !important;
    font-size:18px !important;
}

/* Mobile */
@media(max-width:900px){
    .checkout-hero-checklist-final{
        width:150px !important;
        min-height:150px !important;
    }

    .checkout-hero-checklist-final .checkout-list-paper{
        width:126px !important;
        height:138px !important;
        padding:22px 12px 10px !important;
    }

    .checkout-address-card .checkout-address-title strong{
        font-size:14px !important;
    }

    .checkout-address-card .checkout-address-receiver,
    .checkout-address-card .checkout-address-location,
    .checkout-address-card .checkout-address-text,
    .checkout-address-card .checkout-address-postal{
        font-size:12px !important;
    }
}


/* =============================================================================
   CHECKOUT V4 — DEFINITIVE VISUAL OVERRIDE
   This block is intentionally last. It replaces the old cart-style Hero
   without changing checkout/backend functionality.
============================================================================= */

/* Kill any legacy cart visual if remnants exist. */
.checkout-hero-visual .checkout-hero-stage,
.checkout-hero-visual .checkout-hero-icon,
.checkout-hero-visual .checkout-hero-item{
    display:none !important;
}

/* Center the checklist itself. */
.checkout-hero-visual{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:280px !important;
    min-height:280px !important;
    justify-self:center !important;
}

.checkout-hero-checklist-final{
    position:relative !important;
    z-index:4 !important;
    display:block !important;
    width:214px !important;
    height:214px !important;
    min-height:214px !important;
}

.checkout-hero-checklist-final .checkout-list-paper{
    position:relative !important;
    box-sizing:border-box !important;
    width:190px !important;
    height:202px !important;
    margin:6px auto 0 !important;
    padding:28px 20px 18px !important;
    display:block !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid #e7efec !important;
    transform:none !important;
    overflow:hidden !important;
    box-shadow:0 18px 42px rgba(35,76,68,.12) !important;
}

.checkout-hero-checklist-final .checkout-list-paper::before{
    content:"" !important;
    position:absolute !important;
    inset:0 0 auto 0 !important;
    height:6px !important;
    background:linear-gradient(90deg,#2b9579,#63bea6) !important;
}

.checkout-hero-checklist-final .checkout-list-title-line{
    display:block !important;
    width:78px !important;
    height:7px !important;
    margin:0 auto 18px !important;
    border-radius:999px !important;
    background:#d9e9e4 !important;
}

.checkout-hero-checklist-final .checkout-list-row{
    display:flex !important;
    direction:ltr !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    height:31px !important;
}

.checkout-hero-checklist-final .checkout-list-check{
    box-sizing:border-box !important;
    display:grid !important;
    place-items:center !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    border:1.5px solid #c8d7d2 !important;
    border-radius:6px !important;
    background:#fff !important;
    color:transparent !important;
    font-size:12px !important;
    font-weight:950 !important;
    transform:none !important;
    animation:checkoutDefCheck 5.8s ease-in-out infinite !important;
}

.checkout-hero-checklist-final .checkout-list-text{
    display:block !important;
    height:7px !important;
    border-radius:999px !important;
    background:#dfe8e5 !important;
}

.checkout-hero-checklist-final .checkout-list-row-1 .checkout-list-text{width:92px !important}
.checkout-hero-checklist-final .checkout-list-row-2 .checkout-list-text{width:72px !important}
.checkout-hero-checklist-final .checkout-list-row-3 .checkout-list-text{width:99px !important}
.checkout-hero-checklist-final .checkout-list-row-4 .checkout-list-text{width:82px !important}

.checkout-hero-checklist-final .checkout-list-row-1 .checkout-list-check{animation-delay:.15s !important}
.checkout-hero-checklist-final .checkout-list-row-2 .checkout-list-check{animation-delay:.55s !important}
.checkout-hero-checklist-final .checkout-list-row-3 .checkout-list-check{animation-delay:.95s !important}
.checkout-hero-checklist-final .checkout-list-row-4 .checkout-list-check{animation-delay:1.35s !important}

.checkout-hero-checklist-final .checkout-list-confirm{
    position:absolute !important;
    right:-4px !important;
    bottom:-2px !important;
    z-index:8 !important;
    display:grid !important;
    place-items:center !important;
    width:40px !important;
    height:40px !important;
    border:3px solid #fff !important;
    border-radius:50% !important;
    background:#348fd0 !important;
    color:#fff !important;
    font-size:21px !important;
    font-weight:950 !important;
    box-shadow:0 10px 22px rgba(52,143,208,.25) !important;
    opacity:0 !important;
    transform:scale(.5) !important;
    animation:checkoutDefConfirm 5.8s ease-in-out infinite !important;
}

.checkout-hero-brand{
    position:relative !important;
    z-index:10 !important;
    margin-top:-6px !important;
}

/* Final Review heading: never collapse to "سفارش عزیز". */
.checkout-order-card .checkout-card-heading h2{
    display:block !important;
    min-height:31px !important;
    color:#252a2b !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1.7 !important;
    white-space:normal !important;
}

/* Address typography */
.checkout-address-card .checkout-address-help{
    font-size:13px !important;
    line-height:2 !important;
    color:#626c6d !important;
}

.checkout-address-card .checkout-address-option{
    min-height:116px !important;
    padding:16px !important;
}

.checkout-address-card .checkout-address-title strong{
    font-size:15px !important;
    line-height:1.8 !important;
    color:#283132 !important;
}

.checkout-address-card .checkout-address-receiver,
.checkout-address-card .checkout-address-location,
.checkout-address-card .checkout-address-text,
.checkout-address-card .checkout-address-postal{
    font-size:13px !important;
    line-height:2 !important;
    color:#4f595a !important;
}

.checkout-address-card .checkout-address-text{
    font-size:13.5px !important;
    font-weight:600 !important;
}

/* Support button */
.checkout-order-card .checkout-support-button{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin-top:18px !important;
    padding:13px 14px !important;
    min-height:58px !important;
    border:1px solid #dcebe6 !important;
    border-radius:15px !important;
    background:linear-gradient(135deg,#f5fbf8,#fff) !important;
    text-decoration:none !important;
}

.checkout-order-card .checkout-support-button strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.8 !important;
    color:#2d4b45 !important;
}

.checkout-order-card .checkout-support-button small{
    display:block !important;
    font-size:10px !important;
    line-height:1.8 !important;
    color:#808c89 !important;
}

@keyframes checkoutDefCheck{
    0%,8%{background:#fff;color:transparent;border-color:#c8d7d2}
    15%,68%{background:#2b9579;color:#fff;border-color:#2b9579}
    77%,100%{background:#fff;color:transparent;border-color:#c8d7d2}
}

@keyframes checkoutDefConfirm{
    0%,70%{opacity:0;transform:scale(.5)}
    78%{opacity:1;transform:scale(1.12)}
    84%,92%{opacity:1;transform:scale(1)}
    100%{opacity:0;transform:scale(.8)}
}

@media(max-width:900px){
    .checkout-hero-visual{
        width:190px !important;
        min-height:190px !important;
    }

    .checkout-hero-checklist-final{
        width:156px !important;
        height:156px !important;
        min-height:156px !important;
    }

    .checkout-hero-checklist-final .checkout-list-paper{
        width:142px !important;
        height:151px !important;
        padding:22px 14px 12px !important;
        border-radius:16px !important;
    }

    .checkout-hero-checklist-final .checkout-list-title-line{
        width:58px !important;
        height:5px !important;
        margin-bottom:10px !important;
    }

    .checkout-hero-checklist-final .checkout-list-row{
        height:23px !important;
        gap:7px !important;
    }

    .checkout-hero-checklist-final .checkout-list-check{
        width:15px !important;
        height:15px !important;
        flex-basis:15px !important;
        border-radius:4px !important;
        font-size:9px !important;
    }

    .checkout-hero-checklist-final .checkout-list-text{
        height:5px !important;
    }

    .checkout-hero-checklist-final .checkout-list-row-1 .checkout-list-text{width:67px !important}
    .checkout-hero-checklist-final .checkout-list-row-2 .checkout-list-text{width:52px !important}
    .checkout-hero-checklist-final .checkout-list-row-3 .checkout-list-text{width:71px !important}
    .checkout-hero-checklist-final .checkout-list-row-4 .checkout-list-text{width:59px !important}

    .checkout-hero-checklist-final .checkout-list-confirm{
        right:-4px !important;
        bottom:-3px !important;
        width:31px !important;
        height:31px !important;
        font-size:16px !important;
        border-width:2px !important;
    }

    .checkout-order-card .checkout-card-heading h2{
        font-size:18px !important;
    }

    .checkout-address-card .checkout-address-title strong{
        font-size:14px !important;
    }

    .checkout-address-card .checkout-address-receiver,
    .checkout-address-card .checkout-address-location,
    .checkout-address-card .checkout-address-text,
    .checkout-address-card .checkout-address-postal{
        font-size:12px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .checkout-hero-checklist-final .checkout-list-check,
    .checkout-hero-checklist-final .checkout-list-confirm{
        animation:none !important;
    }

    .checkout-hero-checklist-final .checkout-list-check{
        background:#2b9579 !important;
        border-color:#2b9579 !important;
        color:#fff !important;
    }

    .checkout-hero-checklist-final .checkout-list-confirm{
        opacity:1 !important;
        transform:none !important;
    }
}


/* =============================================================================
   CHECKOUT CHECKLIST ANIMATION — FINAL WORKING VERSION
   چهار مورد به ترتیب بررسی می‌شوند و در پایان تیک تأیید نمایش داده می‌شود.
============================================================================= */

.checkout-hero-checklist-final{
    position:relative !important;
    z-index:2 !important;
    width:220px !important;
    min-height:220px !important;
    display:grid !important;
    place-items:center !important;
}

.checkout-hero-checklist-final .checkout-list-paper{
    position:relative !important;
    width:178px !important;
    height:192px !important;
    padding:30px 18px 16px !important;
    border-radius:19px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(255,255,255,.98) !important;
    box-shadow:0 22px 48px rgba(38,72,66,.12), inset 0 1px 0 rgba(255,255,255,.98) !important;
    transform:rotate(-2deg) !important;
    overflow:hidden !important;
}

.checkout-hero-checklist-final .checkout-list-row{
    display:flex !important;
    align-items:center !important;
    direction:ltr !important;
    height:29px !important;
    gap:9px !important;
}

.checkout-hero-checklist-final .checkout-list-check{
    display:grid !important;
    place-items:center !important;
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    border:1.5px solid #c3cfcc !important;
    border-radius:6px !important;
    background:#fff !important;
    color:transparent !important;
    font-size:12px !important;
    font-weight:950 !important;
    transform:scale(.82) !important;
    animation:checkoutSequentialCheck 6s ease-in-out infinite !important;
}

.checkout-hero-checklist-final .checkout-list-row-1 .checkout-list-check{
    animation-delay:0s !important;
}
.checkout-hero-checklist-final .checkout-list-row-2 .checkout-list-check{
    animation-delay:.55s !important;
}
.checkout-hero-checklist-final .checkout-list-row-3 .checkout-list-check{
    animation-delay:1.10s !important;
}
.checkout-hero-checklist-final .checkout-list-row-4 .checkout-list-check{
    animation-delay:1.65s !important;
}

.checkout-hero-checklist-final .checkout-list-text{
    display:block !important;
    height:6px !important;
    border-radius:999px !important;
    background:#dce5e3 !important;
}

.checkout-hero-checklist-final .checkout-list-confirm{
    position:absolute !important;
    right:10px !important;
    bottom:9px !important;
    width:36px !important;
    height:36px !important;
    display:grid !important;
    place-items:center !important;
    border:3px solid #fff !important;
    border-radius:50% !important;
    background:#318fd1 !important;
    color:#fff !important;
    font-size:20px !important;
    font-weight:950 !important;
    box-shadow:0 9px 20px rgba(49,143,209,.25) !important;
    opacity:0 !important;
    transform:scale(.55) rotate(-15deg) !important;
    animation:checkoutSequentialConfirm 6s ease-in-out infinite !important;
}

@keyframes checkoutSequentialCheck{
    0%, 7%{
        opacity:1;
        color:transparent;
        border-color:#c3cfcc;
        background:#fff;
        transform:scale(.82);
    }
    12%{
        color:#fff;
        border-color:#2c9579;
        background:#2c9579;
        transform:scale(1.12);
    }
    17%, 73%{
        color:#fff;
        border-color:#2c9579;
        background:#2c9579;
        transform:scale(1);
    }
    84%,100%{
        color:transparent;
        border-color:#c3cfcc;
        background:#fff;
        transform:scale(.82);
    }
}

@keyframes checkoutSequentialConfirm{
    0%, 70%{
        opacity:0;
        transform:scale(.55) rotate(-15deg);
    }
    78%{
        opacity:1;
        transform:scale(1.14) rotate(0);
    }
    84%, 92%{
        opacity:1;
        transform:scale(1) rotate(0);
    }
    100%{
        opacity:0;
        transform:scale(.82);
    }
}

@media(max-width:900px){
    .checkout-hero-checklist-final{
        width:150px !important;
        min-height:150px !important;
    }

    .checkout-hero-checklist-final .checkout-list-paper{
        width:126px !important;
        height:138px !important;
        padding:22px 12px 10px !important;
    }

    .checkout-hero-checklist-final .checkout-list-row{
        height:21px !important;
        gap:6px !important;
    }

    .checkout-hero-checklist-final .checkout-list-check{
        width:14px !important;
        height:14px !important;
        flex-basis:14px !important;
        border-radius:4px !important;
        font-size:9px !important;
    }

    .checkout-hero-checklist-final .checkout-list-confirm{
        right:7px !important;
        bottom:6px !important;
        width:28px !important;
        height:28px !important;
        font-size:16px !important;
        border-width:2px !important;
    }
}

/* Respect accessibility, but keep the checklist visibly completed. */
@media(prefers-reduced-motion:reduce){
    .checkout-hero-checklist-final .checkout-list-check{
        animation:none !important;
        color:#fff !important;
        border-color:#2c9579 !important;
        background:#2c9579 !important;
        transform:none !important;
    }

    .checkout-hero-checklist-final .checkout-list-confirm{
        animation:none !important;
        opacity:1 !important;
        transform:none !important;
    }
}


/* =============================================================================
   CHECKOUT CHECKLIST — JAVASCRIPT CONTROLLED, v6
   بدون وابستگی به CSS animation؛ هر تیک با کلاس is-checked فعال می‌شود.
============================================================================= */

.checkout-hero-checklist-final .checkout-list-check{
    display:grid !important;
    place-items:center !important;
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    border:1.5px solid #c7d1cf !important;
    border-radius:6px !important;
    background:#ffffff !important;
    color:transparent !important;
    font-size:12px !important;
    font-weight:950 !important;
    transform:scale(.9) !important;
    opacity:1 !important;
    transition:
        background .22s ease,
        border-color .22s ease,
        color .22s ease,
        transform .22s ease,
        box-shadow .22s ease !important;
    animation:none !important;
}

.checkout-hero-checklist-final .checkout-list-check.is-checked{
    border-color:#2c9579 !important;
    background:#2c9579 !important;
    color:#ffffff !important;
    transform:scale(1) !important;
    box-shadow:0 4px 10px rgba(44,149,121,.18) !important;
}

.checkout-hero-checklist-final .checkout-list-confirm{
    opacity:0 !important;
    transform:scale(.55) !important;
    transition:opacity .28s ease, transform .28s ease !important;
    animation:none !important;
    pointer-events:none !important;
}

.checkout-hero-checklist-final .checkout-list-confirm.is-visible{
    opacity:1 !important;
    transform:scale(1) !important;
}

@media(max-width:900px){
    .checkout-hero-checklist-final .checkout-list-check{
        width:14px !important;
        height:14px !important;
        flex-basis:14px !important;
        border-radius:4px !important;
        font-size:9px !important;
    }

    .checkout-hero-checklist-final .checkout-list-confirm{
        width:28px !important;
        height:28px !important;
        font-size:16px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .checkout-hero-checklist-final .checkout-list-check,
    .checkout-hero-checklist-final .checkout-list-confirm{
        transition:none !important;
    }
}


/* =============================================================================
   CHECKOUT — BACK TO CART BUTTON
   دقیقاً زیر دکمه پشتیبانی قرار می‌گیرد.
============================================================================= */

.checkout-order-card .checkout-back-button{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    margin-top:10px !important;
    padding:12px 14px !important;
    min-height:54px !important;
    box-sizing:border-box !important;
    border:1px solid #e7e4e5 !important;
    border-radius:15px !important;
    background:#fff !important;
    color:#4b4f50 !important;
    text-decoration:none !important;
    box-shadow:0 6px 18px rgba(45,55,58,.045) !important;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease !important;
}

.checkout-order-card .checkout-back-button:hover{
    background:#fbfcfc !important;
    border-color:#cbd9d5 !important;
    box-shadow:0 9px 22px rgba(45,55,58,.08) !important;
    transform:translateY(-1px) !important;
}

.checkout-order-card .checkout-back-icon{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:10px !important;
    background:#f1f5f4 !important;
    color:#58716b !important;
    font-size:25px !important;
    line-height:1 !important;
    font-weight:500 !important;
}

.checkout-order-card .checkout-back-button strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.8 !important;
    color:#3e4747 !important;
}

.checkout-order-card .checkout-back-button small{
    display:block !important;
    font-size:10px !important;
    line-height:1.8 !important;
    color:#858d8c !important;
}

.checkout-order-card .checkout-back-arrow{
    margin-right:auto !important;
    color:#58716b !important;
    font-size:19px !important;
}

@media(max-width:900px){
    .checkout-order-card .checkout-back-button{
        min-height:52px !important;
        padding:11px 12px !important;
    }

    .checkout-order-card .checkout-back-icon{
        width:32px !important;
        height:32px !important;
        flex-basis:32px !important;
    }
}


/* =============================================================================
   CHECKOUT ADDRESS SELECTION — ROBUST CLICK FIX
   انتخاب آدرس با کلیک روی تمام کارت انجام می‌شود.
============================================================================= */

.checkout-address-option{
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
    user-select:none !important;
}

.checkout-address-option > input[type="radio"][name="address_id"]{
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:1px !important;
    height:1px !important;
}

.checkout-address-option.is-selected{
    border-color:#2c9579 !important;
    background:linear-gradient(135deg,#f5fcf9,#fff) !important;
    box-shadow:0 0 0 2px rgba(44,149,121,.08),0 9px 22px rgba(32,139,115,.07) !important;
}

.checkout-address-option.is-selected .checkout-address-radio{
    border-color:#2c9579 !important;
    background:#2c9579 !important;
    box-shadow:inset 0 0 0 4px #fff !important;
}

.checkout-address-option:active{
    transform:scale(.995) !important;
}


/* =============================================================================
   CHECKOUT ADDRESS AREA — v8
   رفع نمایش متن JavaScript + کارت‌های آدرس کنار هم + انتخاب واقعی
============================================================================= */

.checkout-address-card .checkout-address-list{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}

.checkout-address-card .checkout-address-option{
    position:relative !important;
    display:flex !important;
    align-items:flex-start !important;
    min-height:0 !important;
    height:100% !important;
    box-sizing:border-box !important;
    padding:14px 15px !important;
    border-radius:15px !important;
    cursor:pointer !important;
    overflow:hidden !important;
    -webkit-tap-highlight-color:transparent !important;
}

.checkout-address-card .checkout-address-input{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    opacity:0 !important;
    cursor:pointer !important;
    z-index:3 !important;
}

.checkout-address-card .checkout-address-radio{
    position:relative !important;
    z-index:1 !important;
    flex:0 0 19px !important;
    width:19px !important;
    height:19px !important;
    margin-top:2px !important;
    border:2px solid #cbd5d2 !important;
    border-radius:50% !important;
    background:#fff !important;
    box-sizing:border-box !important;
    pointer-events:none !important;
    transition:all .18s ease !important;
}

.checkout-address-card .checkout-address-body{
    position:relative !important;
    z-index:1 !important;
    min-width:0 !important;
    flex:1 !important;
    gap:3px !important;
}

.checkout-address-card .checkout-address-title strong{
    font-size:14px !important;
    line-height:1.7 !important;
}

.checkout-address-card .checkout-address-receiver,
.checkout-address-card .checkout-address-location,
.checkout-address-card .checkout-address-text,
.checkout-address-card .checkout-address-postal{
    font-size:11.5px !important;
    line-height:1.75 !important;
}

.checkout-address-card .checkout-address-text{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

.checkout-address-card .checkout-address-option:has(.checkout-address-input:checked),
.checkout-address-card .checkout-address-option.is-selected{
    border-color:#2c9579 !important;
    background:linear-gradient(135deg,#f4fbf8,#fff) !important;
    box-shadow:0 0 0 2px rgba(44,149,121,.07),0 7px 18px rgba(44,149,121,.06) !important;
}

.checkout-address-card .checkout-address-option:has(.checkout-address-input:checked) .checkout-address-radio,
.checkout-address-card .checkout-address-option.is-selected .checkout-address-radio{
    border-color:#2c9579 !important;
    background:#2c9579 !important;
    box-shadow:inset 0 0 0 4px #fff !important;
}

@media (max-width:700px){
    .checkout-address-card .checkout-address-list{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .checkout-address-card .checkout-address-option{
        padding:12px !important;
    }
}

.shipping-row{background:#fff8ef;border-radius:10px;padding:10px}.checkout-shipping-warning{background:#fff0f0;border:1px solid #ffd2d2;color:#9c2632;padding:10px;border-radius:10px;margin:10px 0;font-size:12px}
