/* ============================================================================
   SZD CART/CHECKOUT — faithful rebuild of preview/cart-v2.html
   Class-based, matching the mockup's override-template structure.
   Scoped to :is(#cart, #checkout) so the generic class names (.item, .steps…)
   never leak to the rest of the site. Uses the theme's local font (NO Google
   Fonts — blocked in Iran). Numbers → Persian + toman SVG via szd-cart.js.
   ============================================================================ */
:is(#cart, #checkout){
  --pink:#F478A9;--pink-dk:#E0568B;--pink-soft:#FFE3EC;
  --yellow:#FFD96B;--yellow-dk:#F0BB3D;--yellow-soft:#FFF4D0;
  --teal:#6FD3CB;--teal-dk:#3DA39B;
  --orange:#FF9F8A;--purple:#C5B0E8;--green:#A8DFA8;--green-dk:#3DA85E;--red:#F25F5C;
  --cream:#FFF5F0;--ink:#3D2C2E;--ink-2:#5A4A4C;--ink-3:#7B6B6D;--line:#F2E7E3;--white:#fff;
  --r-md:14px;--r-lg:20px;--sh-1:0 2px 6px rgba(0,0,0,.05);
}

/* Currency symbol — our toman SVG (injected by szd-cart.js after each price). */
:is(#cart, #checkout) .ishop-currency-symbol{position:relative;display:inline-block;width:1.05em;height:1em;vertical-align:-.12em;margin-right:3px;text-indent:-9999em;overflow:hidden;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
:is(#cart, #checkout) .ishop-currency-irt{-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2213%22%20height%3D%2212%22%20viewBox%3D%220%200%2013%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.32002%206.11782C2.63548%205.96391%202.87208%205.81%203.10867%205.57913C3.2664%205.34826%203.42413%205.11739%203.58186%204.88652C3.66073%204.57869%203.73959%204.27087%203.73959%203.96304H11.2318C11.705%203.96304%2012.0993%203.80913%2012.4147%203.57826C12.6513%203.27043%2012.8091%202.88565%2012.8091%202.34696V0.5H11.7838V2.27C11.7838%202.65478%2011.5472%202.88565%2011.1529%202.88565H3.73959V2.50087C3.73959%202.11609%203.66073%201.88522%203.58186%201.57739C3.58186%201.34652%203.42413%201.11565%203.2664%200.961739C3.10867%200.807826%202.95094%200.730869%202.79321%200.653913C2.55662%200.576956%202.32002%200.5%202.16229%200.5C1.84683%200.5%201.61024%200.576956%201.37364%200.653913C1.21591%200.807826%200.979316%200.884782%200.900451%201.11565C0.742721%201.26956%200.584991%201.42348%200.584991%201.65435C0.506126%201.88522%200.427261%202.11609%200.427261%202.34696C0.427261%202.57782%200.427261%202.80869%200.506126%203.03956C0.584991%203.27043%200.663856%203.42435%200.742721%203.57826C0.900451%203.65521%201.05818%203.80913%201.29478%203.88608C1.53137%203.96304%201.76797%203.96304%202.16229%203.96304H2.79321C2.79321%204.11695%202.71435%204.27087%202.71435%204.42478C2.63548%204.57869%202.47775%204.7326%202.39889%204.88652C2.32002%204.96347%202.16229%205.04043%201.9257%205.11739C1.76797%205.19434%201.53137%205.2713%201.29478%205.2713H0.269531V6.34869H1.29478C1.6891%206.27173%202.00456%206.19478%202.32002%206.11782ZM2.16229%202.88565C1.84683%202.88565%201.6891%202.88565%201.53137%202.73174C1.45251%202.65478%201.37364%202.50087%201.37364%202.27C1.37364%202.03913%201.45251%201.80826%201.53137%201.7313C1.6891%201.65435%201.84683%201.57739%202.08343%201.57739C2.32002%201.57739%202.47775%201.65435%202.63548%201.80826C2.79321%201.96217%202.79321%202.19304%202.79321%202.50087V2.96261H2.16229V2.88565Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M10.4422%200.5H7.44531V1.42348H10.4422V0.5Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M12.7298%208.50383C12.6509%208.27296%2012.5721%208.11905%2012.4143%207.96514C12.2566%207.81122%2012.0989%207.65731%2011.8623%207.58035C11.7046%207.5034%2011.468%207.42644%2011.2314%207.42644C10.9948%207.42644%2010.7582%207.5034%2010.5216%207.58035C10.285%207.65731%2010.1273%207.81122%209.96953%207.96514C9.8118%208.11905%209.73293%208.27296%209.65407%208.50383C9.5752%208.7347%209.5752%208.96557%209.5752%209.19644V9.42731C9.5752%209.65818%209.49634%209.73513%209.41747%209.88905C9.25974%209.966%209.10201%2010.043%208.86542%2010.043H8.54996C8.39223%2010.043%208.2345%209.966%208.15563%209.88905C8.07677%209.73513%207.9979%209.58122%207.9979%209.42731V5.7334H6.97266V9.58122C6.97266%209.88905%206.97266%2010.1199%207.05152%2010.2738C7.13039%2010.4277%207.20925%2010.5817%207.36698%2010.7356C7.52471%2010.8125%207.60358%2010.9664%207.84017%2010.9664C7.9979%2011.0434%208.15563%2011.0434%208.39223%2011.0434H8.94428C9.10201%2011.0434%209.33861%2010.9664%209.49634%2010.8895C9.65407%2010.8125%209.89066%2010.6586%209.96953%2010.4277C10.1273%2010.6586%2010.285%2010.8125%2010.5216%2010.8895C10.7582%2010.9664%2010.9948%2011.0434%2011.3102%2011.0434C11.7834%2011.0434%2012.2566%2010.8895%2012.4932%2010.5817C12.8087%2010.2738%2012.9664%209.81209%2012.9664%209.2734C12.8875%208.96557%2012.8087%208.7347%2012.7298%208.50383ZM11.2314%209.966C10.9948%209.966%2010.837%209.88905%2010.7582%209.81209C10.5216%209.65818%2010.5216%209.50427%2010.5216%209.2734C10.5216%209.04253%2010.6004%208.88861%2010.6793%208.7347C10.7582%208.58079%2010.9948%208.50383%2011.2314%208.50383C11.468%208.50383%2011.7046%208.58079%2011.7834%208.7347C11.8623%208.88861%2011.9412%209.04253%2011.9412%209.2734C11.8623%209.73513%2011.6257%209.966%2011.2314%209.966Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M4.92256%208.50364C4.92256%208.73451%204.92256%208.88842%204.8437%209.11929C4.76484%209.2732%204.68597%209.42712%204.60711%209.58103C4.44938%209.73494%204.29165%209.8119%204.13392%209.88886C3.97619%209.96581%203.73959%2010.0428%203.42413%2010.0428H2.71435C2.47775%2010.0428%202.24116%2010.0428%202.00456%209.96581C1.84683%209.8119%201.6891%209.73494%201.61024%209.58103C1.53137%209.42712%201.37364%209.2732%201.37364%209.11929C1.29478%208.96538%201.29478%208.73451%201.29478%208.50364V7.65712H0.269531V8.5806C0.269531%209.35016%200.506126%209.96581%200.900451%2010.4276C1.29478%2010.8893%201.84683%2011.1202%202.63548%2011.1202H3.42413C3.81846%2011.1202%204.13392%2011.0432%204.44938%2010.8893C4.76484%2010.7354%205.00143%2010.5815%205.23803%2010.3506C5.47462%2010.1197%205.63235%209.8119%205.71122%209.50407C5.79008%209.19625%205.86894%208.88842%205.86894%208.50364V5.73321L4.8437%205.65625L4.92256%208.50364Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M3.73962%207.42578H2.55664V8.50317H3.73962V7.42578Z%22%20fill%3D%22%23021959%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2213%22%20height%3D%2212%22%20viewBox%3D%220%200%2013%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.32002%206.11782C2.63548%205.96391%202.87208%205.81%203.10867%205.57913C3.2664%205.34826%203.42413%205.11739%203.58186%204.88652C3.66073%204.57869%203.73959%204.27087%203.73959%203.96304H11.2318C11.705%203.96304%2012.0993%203.80913%2012.4147%203.57826C12.6513%203.27043%2012.8091%202.88565%2012.8091%202.34696V0.5H11.7838V2.27C11.7838%202.65478%2011.5472%202.88565%2011.1529%202.88565H3.73959V2.50087C3.73959%202.11609%203.66073%201.88522%203.58186%201.57739C3.58186%201.34652%203.42413%201.11565%203.2664%200.961739C3.10867%200.807826%202.95094%200.730869%202.79321%200.653913C2.55662%200.576956%202.32002%200.5%202.16229%200.5C1.84683%200.5%201.61024%200.576956%201.37364%200.653913C1.21591%200.807826%200.979316%200.884782%200.900451%201.11565C0.742721%201.26956%200.584991%201.42348%200.584991%201.65435C0.506126%201.88522%200.427261%202.11609%200.427261%202.34696C0.427261%202.57782%200.427261%202.80869%200.506126%203.03956C0.584991%203.27043%200.663856%203.42435%200.742721%203.57826C0.900451%203.65521%201.05818%203.80913%201.29478%203.88608C1.53137%203.96304%201.76797%203.96304%202.16229%203.96304H2.79321C2.79321%204.11695%202.71435%204.27087%202.71435%204.42478C2.63548%204.57869%202.47775%204.7326%202.39889%204.88652C2.32002%204.96347%202.16229%205.04043%201.9257%205.11739C1.76797%205.19434%201.53137%205.2713%201.29478%205.2713H0.269531V6.34869H1.29478C1.6891%206.27173%202.00456%206.19478%202.32002%206.11782ZM2.16229%202.88565C1.84683%202.88565%201.6891%202.88565%201.53137%202.73174C1.45251%202.65478%201.37364%202.50087%201.37364%202.27C1.37364%202.03913%201.45251%201.80826%201.53137%201.7313C1.6891%201.65435%201.84683%201.57739%202.08343%201.57739C2.32002%201.57739%202.47775%201.65435%202.63548%201.80826C2.79321%201.96217%202.79321%202.19304%202.79321%202.50087V2.96261H2.16229V2.88565Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M10.4422%200.5H7.44531V1.42348H10.4422V0.5Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M12.7298%208.50383C12.6509%208.27296%2012.5721%208.11905%2012.4143%207.96514C12.2566%207.81122%2012.0989%207.65731%2011.8623%207.58035C11.7046%207.5034%2011.468%207.42644%2011.2314%207.42644C10.9948%207.42644%2010.7582%207.5034%2010.5216%207.58035C10.285%207.65731%2010.1273%207.81122%209.96953%207.96514C9.8118%208.11905%209.73293%208.27296%209.65407%208.50383C9.5752%208.7347%209.5752%208.96557%209.5752%209.19644V9.42731C9.5752%209.65818%209.49634%209.73513%209.41747%209.88905C9.25974%209.966%209.10201%2010.043%208.86542%2010.043H8.54996C8.39223%2010.043%208.2345%209.966%208.15563%209.88905C8.07677%209.73513%207.9979%209.58122%207.9979%209.42731V5.7334H6.97266V9.58122C6.97266%209.88905%206.97266%2010.1199%207.05152%2010.2738C7.13039%2010.4277%207.20925%2010.5817%207.36698%2010.7356C7.52471%2010.8125%207.60358%2010.9664%207.84017%2010.9664C7.9979%2011.0434%208.15563%2011.0434%208.39223%2011.0434H8.94428C9.10201%2011.0434%209.33861%2010.9664%209.49634%2010.8895C9.65407%2010.8125%209.89066%2010.6586%209.96953%2010.4277C10.1273%2010.6586%2010.285%2010.8125%2010.5216%2010.8895C10.7582%2010.9664%2010.9948%2011.0434%2011.3102%2011.0434C11.7834%2011.0434%2012.2566%2010.8895%2012.4932%2010.5817C12.8087%2010.2738%2012.9664%209.81209%2012.9664%209.2734C12.8875%208.96557%2012.8087%208.7347%2012.7298%208.50383ZM11.2314%209.966C10.9948%209.966%2010.837%209.88905%2010.7582%209.81209C10.5216%209.65818%2010.5216%209.50427%2010.5216%209.2734C10.5216%209.04253%2010.6004%208.88861%2010.6793%208.7347C10.7582%208.58079%2010.9948%208.50383%2011.2314%208.50383C11.468%208.50383%2011.7046%208.58079%2011.7834%208.7347C11.8623%208.88861%2011.9412%209.04253%2011.9412%209.2734C11.8623%209.73513%2011.6257%209.966%2011.2314%209.966Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M4.92256%208.50364C4.92256%208.73451%204.92256%208.88842%204.8437%209.11929C4.76484%209.2732%204.68597%209.42712%204.60711%209.58103C4.44938%209.73494%204.29165%209.8119%204.13392%209.88886C3.97619%209.96581%203.73959%2010.0428%203.42413%2010.0428H2.71435C2.47775%2010.0428%202.24116%2010.0428%202.00456%209.96581C1.84683%209.8119%201.6891%209.73494%201.61024%209.58103C1.53137%209.42712%201.37364%209.2732%201.37364%209.11929C1.29478%208.96538%201.29478%208.73451%201.29478%208.50364V7.65712H0.269531V8.5806C0.269531%209.35016%200.506126%209.96581%200.900451%2010.4276C1.29478%2010.8893%201.84683%2011.1202%202.63548%2011.1202H3.42413C3.81846%2011.1202%204.13392%2011.0432%204.44938%2010.8893C4.76484%2010.7354%205.00143%2010.5815%205.23803%2010.3506C5.47462%2010.1197%205.63235%209.8119%205.71122%209.50407C5.79008%209.19625%205.86894%208.88842%205.86894%208.50364V5.73321L4.8437%205.65625L4.92256%208.50364Z%22%20fill%3D%22%23021959%22%2F%3E%3Cpath%20d%3D%22M3.73962%207.42578H2.55664V8.50317H3.73962V7.42578Z%22%20fill%3D%22%23021959%22%2F%3E%3C%2Fsvg%3E")}

/* tame PrestaCart's <li> wrapper so our .item card stands alone */
:is(#cart, #checkout) .psf-cart-items{list-style:none;margin:0;padding:0 12px}
:is(#cart, #checkout) li.psf-cart-item{list-style:none;margin:0 0 8px;padding:0;background:none;border:0}

/* ===== SECTION HEADER ===== */
:is(#cart, #checkout) .szd-sec-h{padding:4px 16px 6px;display:flex;justify-content:space-between;align-items:baseline}
:is(#cart, #checkout) .szd-sec-h h3{font-size:12.5px;font-weight:900;color:var(--ink);margin:0}
:is(#cart, #checkout) .szd-sec-h h3 small{color:var(--ink-3);font-weight:600;margin-right:4px}

/* ===== ITEM CARD (cart-detailed-product-line.tpl) ===== */
:is(#cart, #checkout) .item{
  background:#fff;border-radius:var(--r-md);padding:12px;
  display:flex;gap:10px;box-shadow:var(--sh-1);
  position:relative;overflow:hidden}
:is(#cart, #checkout) .item__img{
  width:78px;height:96px;border-radius:10px;
  background:#fff center/contain no-repeat;border:1px solid var(--line);flex-shrink:0;position:relative}
:is(#cart, #checkout) .item__body{flex:1;min-width:0;display:flex;flex-direction:column}
:is(#cart, #checkout) .item__brand{font-size:10px;color:var(--ink-3);font-weight:600}
:is(#cart, #checkout) .item__name{font-size:12px;font-weight:700;line-height:1.45;color:var(--ink);margin-top:2px;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:is(#cart, #checkout) .item__opts{display:flex;gap:6px;margin-top:5px;font-size:9.5px;color:var(--ink-3);flex-wrap:wrap}
:is(#cart, #checkout) .item__opts span{background:var(--cream);padding:2px 7px;border-radius:6px}
:is(#cart, #checkout) .item__bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:6px;gap:8px}
:is(#cart, #checkout) .item__price b{font-size:13px;font-weight:900;color:var(--pink-dk);display:block}
:is(#cart, #checkout) .item__price del{font-size:10px;color:var(--ink-3)}
:is(#cart, #checkout) .item__discount{position:absolute;top:8px;right:8px;background:var(--red);color:#fff;font-size:10px;font-weight:900;padding:2px 7px;border-radius:6px;z-index:3}
:is(#cart, #checkout) .item__trash{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:8px;border:0;background:transparent;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;text-decoration:none}
:is(#cart, #checkout) .item__trash:active{background:#FEE;color:var(--red)}
:is(#cart, #checkout) .item__trash svg{width:16px;height:16px}
:is(#cart, #checkout) .item__trash span{display:none}
/* quantity stepper (PrestaCart touchspin → mockup pink pill) */
:is(#cart, #checkout) .item__qty{display:flex;align-items:center;background:var(--pink-soft);border-radius:10px;padding:2px;gap:1px}
:is(#cart, #checkout) .item__qty .psf-quantity-prefix{display:none}
:is(#cart, #checkout) .item__qty input.js-cart-line-product-quantity{width:30px;text-align:center;font-size:12px;font-weight:900;color:var(--ink);border:0;background:transparent;-moz-appearance:textfield}
:is(#cart, #checkout) .item__qty .bootstrap-touchspin{display:inline-flex !important;align-items:center;box-shadow:none !important;border:0 !important;background:transparent !important;width:auto !important}
:is(#cart, #checkout) .item__qty .input-group-btn-vertical{display:inline-flex !important;flex-direction:row !important;order:0}
:is(#cart, #checkout) .item__qty .bootstrap-touchspin .btn{
  width:28px;height:28px;border:0 !important;background:transparent !important;color:var(--pink-dk) !important;
  font-size:14px;font-weight:900;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}
:is(#cart, #checkout) .item__qty .bootstrap-touchspin .btn:active{background:var(--pink) !important;color:#fff !important}
:is(#cart, #checkout) .item__qty .qty{width:24px;text-align:center;font-size:12px;font-weight:900;color:var(--ink)}

/* ===== VOUCHER (cart-voucher.tpl) ===== */
:is(#cart, #checkout) .szd-voucher{background:#fff;border-radius:var(--r-md);padding:12px;margin:12px;box-shadow:var(--sh-1)}
:is(#cart, #checkout) .szd-voucher__form{display:flex;gap:8px;align-items:center}
:is(#cart, #checkout) .szd-voucher__form svg{width:22px;height:22px;color:var(--pink-dk);flex-shrink:0}
:is(#cart, #checkout) .szd-voucher__form input{flex:1;border:0;outline:0;font-family:inherit;font-size:12px;color:var(--ink);background:transparent;padding:4px 0}
:is(#cart, #checkout) .szd-voucher__form button{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:8px 14px;font-family:inherit;font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap}
:is(#cart, #checkout) .szd-voucher__applied{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
:is(#cart, #checkout) .szd-voucher__chip{background:var(--green);color:#fff;font-size:10px;font-weight:800;padding:4px 8px;border-radius:8px;display:inline-flex;align-items:center;gap:4px}
:is(#cart, #checkout) .szd-voucher__chip a,:is(#cart, #checkout) .szd-voucher__chip button{background:transparent;border:0;color:#fff;cursor:pointer;font-size:13px;line-height:1;padding:0 0 0 4px;text-decoration:none}

/* ===== SUMMARY (cart-detailed-totals.tpl) ===== */
:is(#cart, #checkout) .szd-summary{background:#fff;border-radius:var(--r-md);padding:14px;margin:12px;box-shadow:var(--sh-1)}
:is(#cart, #checkout) .szd-summary__row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;color:var(--ink-2)}
:is(#cart, #checkout) .szd-summary__row.--total{padding-top:10px;border-top:1px dashed var(--line);margin-top:6px;font-size:14px;font-weight:900;color:var(--ink)}
:is(#cart, #checkout) .szd-summary__row.--total b{color:var(--pink-dk);font-size:16px}
:is(#cart, #checkout) .szd-summary__row .saving{color:var(--green-dk)}

/* ===== 3-STEP INDICATOR (checkout-order-steps-3p.tpl) ===== */
:is(#cart, #checkout) .szd-steps{margin:12px;padding:14px 8px;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-1);display:flex;justify-content:space-around;align-items:flex-start;position:relative}
:is(#cart, #checkout) .szd-steps::before{content:"";position:absolute;top:31px;left:14%;right:14%;height:2px;background:var(--line);z-index:1}
:is(#cart, #checkout) .szd-steps__step{display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;z-index:2;text-decoration:none}
:is(#cart, #checkout) .szd-steps__circle{width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--ink-3);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;transition:all .25s}
:is(#cart, #checkout) .szd-steps__step.--on .szd-steps__circle{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 4px 10px rgba(244,120,169,.35)}
:is(#cart, #checkout) .szd-steps__step.--done .szd-steps__circle{background:var(--green);border-color:var(--green);color:#fff}
:is(#cart, #checkout) .szd-steps__step .lbl{font-size:10.5px;font-weight:800;color:var(--ink-3);text-align:center}
:is(#cart, #checkout) .szd-steps__step.--on .lbl{color:var(--pink-dk)}

/* ===== FREE-SHIPPING BAR ===== */
:is(#cart, #checkout) .szd-free-ship{margin:12px;padding:10px 14px;background:linear-gradient(95deg,#FFD96B 0%,#FFB347 100%);border-radius:var(--r-md);display:flex;align-items:center;gap:10px;font-size:11.5px;color:#5E3A04;font-weight:700}
:is(#cart, #checkout) .szd-free-ship svg{width:22px;height:22px;flex-shrink:0}
:is(#cart, #checkout) .szd-free-ship b{color:#5E3A04;font-weight:900}

/* ===== DESC BANNER ===== */
:is(#cart, #checkout) .szd-desc-banner{margin:14px 12px 0;padding:12px 14px;background:#fff;border-radius:var(--r-md);border-right:3px solid var(--pink);font-size:11px;color:var(--ink-2);line-height:1.7;box-shadow:var(--sh-1)}
:is(#cart, #checkout) .szd-desc-banner b{color:var(--pink-dk)}

/* ===== ADDRESS CARD (addresses.tpl) ===== */
:is(#cart, #checkout) .szd-addr-card{background:#fff;border-radius:var(--r-md);padding:12px;margin-bottom:8px;box-shadow:var(--sh-1);display:flex;gap:10px;align-items:flex-start;border:2px solid transparent;cursor:pointer;transition:all .2s;position:relative}
:is(#cart, #checkout) .szd-addr-card.--on{border-color:var(--pink);background:var(--pink-soft)}
:is(#cart, #checkout) .szd-addr-card__radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative;margin-top:2px}
:is(#cart, #checkout) .szd-addr-card.--on .szd-addr-card__radio{border-color:var(--pink)}
:is(#cart, #checkout) .szd-addr-card.--on .szd-addr-card__radio::after{content:"";position:absolute;inset:3px;background:var(--pink);border-radius:50%}
:is(#cart, #checkout) .szd-addr-card__body{flex:1;min-width:0}
:is(#cart, #checkout) .szd-addr-card__name{font-size:12px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
:is(#cart, #checkout) .szd-addr-card__text{font-size:11px;color:var(--ink-2);line-height:1.9;margin-top:4px}
:is(#cart, #checkout) .szd-addr-card__text .lbl{color:var(--ink-3);font-weight:700}
:is(#cart, #checkout) .szd-addr-card__edit{position:absolute;left:10px;top:10px;background:transparent;border:0;color:var(--pink-dk);font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none}
:is(#cart, #checkout) .szd-addr-add{margin-top:8px;display:block;text-align:center;background:#fff;border:2px dashed var(--pink);border-radius:var(--r-md);padding:14px;font-size:12px;font-weight:800;color:var(--pink-dk);cursor:pointer;font-family:inherit;width:100%;text-decoration:none}

/* ===== CARRIER CARD (shipping.tpl) ===== */
:is(#cart, #checkout) .szd-carrier{background:#fff;border-radius:var(--r-md);padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;box-shadow:var(--sh-1);cursor:pointer;border:2px solid transparent;transition:all .2s}
:is(#cart, #checkout) .szd-carrier.--on{border-color:var(--pink);background:var(--pink-soft)}
:is(#cart, #checkout) .szd-carrier__radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative}
:is(#cart, #checkout) .szd-carrier.--on .szd-carrier__radio{border-color:var(--pink)}
:is(#cart, #checkout) .szd-carrier.--on .szd-carrier__radio::after{content:"";position:absolute;inset:3px;background:var(--pink);border-radius:50%}
:is(#cart, #checkout) .szd-carrier__body{flex:1;min-width:0}
:is(#cart, #checkout) .szd-carrier__name{font-size:12px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
:is(#cart, #checkout) .szd-carrier__name .free{background:var(--green);color:#fff;font-size:9.5px;padding:2px 6px;border-radius:8px;font-weight:900}
:is(#cart, #checkout) .szd-carrier__delay{font-size:10px;color:var(--ink-3);margin-top:2px}
:is(#cart, #checkout) .szd-carrier__price{font-size:12px;font-weight:900;color:var(--ink);flex-shrink:0}
:is(#cart, #checkout) .szd-carrier__price.--free{color:var(--green-dk)}

/* ===== PAYMENT CARD (payment.tpl) ===== */
:is(#cart, #checkout) .szd-pay{background:#fff;border-radius:var(--r-md);padding:14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;box-shadow:var(--sh-1);cursor:pointer;border:2px solid transparent;transition:all .2s}
:is(#cart, #checkout) .szd-pay.--on{border-color:var(--pink);background:var(--pink-soft)}
:is(#cart, #checkout) .szd-pay__radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative}
:is(#cart, #checkout) .szd-pay.--on .szd-pay__radio{border-color:var(--pink)}
:is(#cart, #checkout) .szd-pay.--on .szd-pay__radio::after{content:"";position:absolute;inset:3px;background:var(--pink);border-radius:50%}
:is(#cart, #checkout) .szd-pay__body{flex:1;min-width:0}
:is(#cart, #checkout) .szd-pay__name{font-size:13px;font-weight:900;color:var(--ink)}
:is(#cart, #checkout) .szd-pay__sub{font-size:10.5px;color:var(--ink-3);margin-top:2px}

/* live selection — clicking a card flips the pink highlight without a reload */
:is(#cart, #checkout) .szd-addr-card:has(input[type=radio]:checked),
:is(#cart, #checkout) .szd-carrier:has(input[type=radio]:checked),
:is(#cart, #checkout) .szd-pay:has(input[type=radio]:checked){border-color:var(--pink);background:var(--pink-soft)}
:is(#cart, #checkout) .szd-addr-card:has(input:checked) .szd-addr-card__radio,
:is(#cart, #checkout) .szd-carrier:has(input:checked) .szd-carrier__radio,
:is(#cart, #checkout) .szd-pay:has(input:checked) .szd-pay__radio{border-color:var(--pink)}
:is(#cart, #checkout) .szd-addr-card:has(input:checked) .szd-addr-card__radio::after,
:is(#cart, #checkout) .szd-carrier:has(input:checked) .szd-carrier__radio::after,
:is(#cart, #checkout) .szd-pay:has(input:checked) .szd-pay__radio::after{content:"";position:absolute;inset:3px;background:var(--pink);border-radius:50%}

/* ===== CTA BAR (cart-detailed-actions.tpl) ===== */
:is(#cart, #checkout) .szd-cta{margin:12px;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.06);padding:12px;display:flex;gap:8px;align-items:center;border-radius:var(--r-lg)}
:is(#cart, #checkout) .szd-cta__price{flex-shrink:0}
:is(#cart, #checkout) .szd-cta__price b{font-size:15px;font-weight:900;color:var(--pink-dk);display:block}
:is(#cart, #checkout) .szd-cta__price small{font-size:9.5px;color:var(--ink-3)}
:is(#cart, #checkout) .szd-cta__btn{flex:1;background:linear-gradient(135deg,var(--pink) 0%,#FF8FBD 100%);color:#fff;border:0;padding:13px 14px;border-radius:14px;font-family:inherit;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 6px 14px rgba(244,120,169,.4);cursor:pointer;transition:transform .2s;text-decoration:none}
:is(#cart, #checkout) .szd-cta__btn:active{transform:scale(.97)}
:is(#cart, #checkout) .szd-cta__btn svg{width:18px;height:18px}

/* ============================================================================
   FIXES + OVERRIDES (win over old szd-checkout.css approximate rules)
   ============================================================================ */
/* --- quantity pill: tame PrestaCart touchspin into the compact mockup pill --- */
:is(#cart, #checkout) .item__qty{display:inline-flex !important;align-items:center;background:var(--pink-soft);border-radius:10px;padding:2px;gap:0;width:auto !important;flex-shrink:0;height:32px;overflow:hidden}
:is(#cart, #checkout) .item__qty .psf-quantity-prefix{display:none !important}
:is(#cart, #checkout) .item__qty .input-group,
:is(#cart, #checkout) .item__qty .input-group.bootstrap-touchspin{display:inline-flex !important;flex-wrap:nowrap !important;align-items:center;width:auto !important;border:0 !important;box-shadow:none !important;background:transparent !important;margin:0 !important}
:is(#cart, #checkout) .item__qty .input-group-btn{display:inline-flex !important;width:auto !important;align-items:center}
:is(#cart, #checkout) .item__qty .input-group-btn .btn,
:is(#cart, #checkout) .item__qty button.bootstrap-touchspin-up,
:is(#cart, #checkout) .item__qty button.bootstrap-touchspin-down,
:is(#cart, #checkout) .item__qty button.js-touchspin{
  width:28px !important;height:28px !important;min-width:0 !important;padding:0 !important;margin:0 !important;
  border:0 !important;background:transparent !important;color:var(--pink-dk) !important;
  font-size:17px !important;font-weight:900 !important;line-height:1 !important;border-radius:8px !important;
  display:flex !important;align-items:center;justify-content:center;box-shadow:none !important}
:is(#cart, #checkout) .item__qty .input-group-btn .btn:active{background:var(--pink) !important;color:#fff !important}
:is(#cart, #checkout) .item__qty input.js-cart-line-product-quantity,
:is(#cart, #checkout) .item__qty .form-control{
  width:30px !important;min-width:0 !important;max-width:30px !important;text-align:center !important;
  font-size:12px !important;font-weight:900 !important;color:var(--ink) !important;
  border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;height:28px !important;-moz-appearance:textfield}
:is(#cart, #checkout) .item__qty input::-webkit-outer-spin-button,
:is(#cart, #checkout) .item__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* --- keep price + toman symbol on one line (no wrap) --- */
:is(#cart, #checkout) .item__price b,
:is(#cart, #checkout) .item__price del{white-space:nowrap;display:inline-flex;align-items:center;gap:2px}

/* --- SUMMARY: clean mockup rows (kill old pink borders / extra separators / gaps) --- */
:is(#cart, #checkout) :is(#js-checkout-summary, .cart-detailed-totals){background:#fff !important;border:0 !important;border-radius:var(--r-md) !important;margin:12px !important;padding:8px 14px !important;box-shadow:var(--sh-1) !important}
:is(#cart, #checkout) .cart-detailed-totals .card-block{padding:4px 0 !important;border:0 !important;background:transparent !important}
:is(#cart, #checkout) .cart-summary-line{display:flex !important;justify-content:space-between !important;align-items:center !important;padding:5px 0 !important;margin:0 !important;border:0 !important;font-size:12px !important;color:var(--ink-2) !important}
:is(#cart, #checkout) .cart-summary-line > *{border:0 !important;background:transparent !important}
:is(#cart, #checkout) .cart-summary-line .label{color:var(--ink-2) !important;font-weight:600 !important}
:is(#cart, #checkout) .cart-summary-line .value{color:var(--ink) !important;font-weight:700 !important}
:is(#cart, #checkout) .cart-summary-line .small-value{display:none !important}
:is(#cart, #checkout) :is(.cart-total-discount, [class*="discount"] .value, [class*="reduction"] .value){color:var(--green-dk) !important}
:is(#cart, #checkout) hr.psf-separator{display:none !important}
:is(#cart, #checkout) .cart-summary-totals,
:is(#cart, #checkout) .cart-total{border-top:1px dashed var(--line) !important;border-bottom:0 !important;border-left:0 !important;border-right:0 !important;padding:10px 0 2px !important;margin-top:6px !important}
:is(#cart, #checkout) .cart-total .label{color:var(--ink) !important;font-weight:900 !important;font-size:14px !important}
:is(#cart, #checkout) .cart-total .value, :is(#cart, #checkout) .cart-total .value *{color:var(--pink-dk) !important;font-size:16px !important;font-weight:900 !important}

/* --- CTA: flat container, just the pink button --- */
:is(#cart, #checkout) .cart-detailed-actions{background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 !important;margin:12px !important}
:is(#cart, #checkout) .cart-actions-help{display:none !important}

/* --- remove stray empty hook cards / big gaps --- */
:is(#cart, #checkout) .card:empty,
:is(#cart, #checkout) .card-block:empty,
:is(#cart, #checkout) .block-promo:empty,
:is(#cart, #checkout) .small-value:empty,
:is(#cart, #checkout) .cart-summary-products:empty{display:none !important}

/* --- HEADER: back + per-step title, NO logo (mockup .hdr) --- */
:is(#cart, #checkout) #psfcart-header{display:flex !important;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px !important;min-height:0 !important}
:is(#cart, #checkout) #psfcart-header .psfcart-logo,
:is(#cart, #checkout) #psfcart-header .psfcart-help,
:is(#cart, #checkout) #psfcart-header #container{display:none !important}
:is(#cart, #checkout) #psfcart-header .psfcart-title{flex:1;text-align:center;font-weight:900;font-size:13.5px;color:var(--ink)}
:is(#cart, #checkout) #psfcart-header .psfcart-spacer{width:74px;flex-shrink:0}
:is(#cart, #checkout) #psfcart-header .back-button{flex-shrink:0;width:74px;justify-content:center}
:is(#cart, #checkout) #psfcart-header .back-button svg{width:16px;height:16px}

/* --- kill the idle loading overlay box + the ~130px reserved-header gap --- */
:is(#cart, #checkout) .psy-cart-loading{display:none !important}
:is(#cart, #checkout) #wrapper.psy-cart-content{padding-top:0 !important;margin-top:0 !important}
:is(#cart, #checkout) #content{padding-top:0 !important;margin-top:0 !important}
/* the theme reserves top padding for its normal fixed header — remove it on checkout */
:is(#cart, #checkout) #page_wrapper,
:is(#cart, #checkout) #body_wrapper,
:is(#cart, #checkout) .header-container,
:is(#cart, #checkout) .st-content-inner,
:is(#cart, #checkout) .wrapper_top_container,
:is(#cart, #checkout) #wrapper.checkout_wrapper{padding-top:0 !important;margin-top:0 !important;min-height:0 !important}
:is(#cart, #checkout) #st_header{min-height:0 !important;height:auto !important;margin:0 !important;padding:0 !important}
:is(#cart, #checkout) .wrapper_top_container:empty{display:none !important}
/* hide the duplicate hidden checkout headers (we use #psfcart-header) */
:is(#cart, #checkout) #mobile_bar,
:is(#cart, #checkout) #header_primary{display:none !important}

/* --- the empty box below the summary = cart-detailed-actions hidden scaffolding --- */
:is(#cart, #checkout) .psf-card.psf-cart-summary{padding:0 !important;background:transparent !important;box-shadow:none !important;border:0 !important}
:is(#cart, #checkout) #psy-notifications,
:is(#cart, #checkout) .notification-sample,
:is(#cart, #checkout) .pscart-notifications{display:none !important}
:is(#cart, #checkout) #psy-alerts{margin:0 !important}
:is(#cart, #checkout) #psy-alerts .alert[style*="display: none"],
:is(#cart, #checkout) #psy-alerts .alert[style*="display:none"]{display:none !important}
:is(#cart, #checkout) .cart-detailed-actions .cart-actions{padding:0 !important;margin:0 !important}
:is(#cart, #checkout) .cart-detailed-actions .text-sm-center:empty{display:none !important}
/* the empty card below the summary = {hook displayReassurance} in #right-cart-column */
:is(#cart, #checkout) #right-cart-column > *:not(.psf-card),
:is(#cart, #checkout) .psf-cart-grid-right > *:not(.psf-card),
:is(#cart, #checkout) .col-help-box:empty{display:none !important}
/* the "کالاهای موجود… رزرو نشده‌اند" help notice (.cart-actions-help / .help-box) = the empty white box */
:is(#cart, #checkout) .cart-actions-help,
:is(#cart, #checkout) .help-box,
:is(#cart, #checkout) [class*="help-box-CartSummaryProceedButton"],
:is(#cart, #checkout) .psf-alert{display:none !important}
/* the actions block must not paint its own card background (only the button shows) */
:is(#cart, #checkout) .cart-detailed-actions,
:is(#cart, #checkout) .cart-detailed-actions.card-block,
:is(#cart, #checkout) .cart-detailed-actions .card-block,
:is(#cart, #checkout) .cart-detailed-actions .cart-actions{background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 !important;margin:0 !important}

/* ============================================================================
   SHIPPING / CARRIER cards (steps/shipping.tpl → .szd-carrier) + step polish
   ============================================================================ */
:is(#cart, #checkout) .delivery-options{display:flex;flex-direction:column;gap:8px;padding:0 12px}
:is(#cart, #checkout) .szd-carrier{display:flex !important;flex-direction:row !important;align-items:center !important;padding:9px 12px !important;gap:10px !important;margin:0 !important;float:none !important;width:auto !important}
:is(#cart, #checkout) .szd-carrier > span{float:none !important}
:is(#cart, #checkout) .szd-carrier__body{display:flex !important;flex-direction:column}
:is(#cart, #checkout) .szd-carrier__logo{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;overflow:hidden}
:is(#cart, #checkout) .szd-carrier__logo svg{width:18px;height:18px}
:is(#cart, #checkout) .szd-carrier__logo img{width:100%;height:100%;object-fit:contain;background:#fff}
:is(#cart, #checkout) .szd-carrier__logo--0{background:var(--yellow-dk)}
:is(#cart, #checkout) .szd-carrier__logo--1{background:var(--teal-dk)}
:is(#cart, #checkout) .szd-carrier__logo--2{background:var(--purple)}
:is(#cart, #checkout) .szd-carrier__logo--3{background:var(--orange)}
:is(#cart, #checkout) .szd-carrier__logo--4{background:var(--teal)}
:is(#cart, #checkout) .szd-carrier__body{flex:1;min-width:0}
:is(#cart, #checkout) .szd-carrier__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#cart, #checkout) .szd-carrier__price{white-space:nowrap}
/* kill PrestaCart's default heavy carrier scaffolding + empty extra-content (box-in-box) */
:is(#cart, #checkout) .carrier-extra-content:empty{display:none !important}
:is(#cart, #checkout) :is(.delivery-option-radio, .delivery-option-carrier-radio, .checkmark, .delivery-option-carrier-image, .delivery-option-label, .delivery-option-2){display:none !important}
:is(#cart, #checkout) .loading-message-delivery{display:none}
:is(#cart, #checkout) .continue-shipping,
:is(#cart, #checkout) .continue-addresses{display:none !important} /* use the single bottom CTA */

/* address: space the dashed add-address button away from the cards */
:is(#cart, #checkout) .add-address{margin:0 12px 12px !important}
:is(#cart, #checkout) .szd-addr-add{margin-top:12px !important}
:is(#cart, #checkout) #delivery-addresses, :is(#cart, #checkout) .address-selector{margin-top:4px}

/* section titles ("روش ارسال" etc.) → clean, no old yellow underline */
:is(#cart, #checkout) :is(.psf_section_title, .step-title, .checkout-step-title, .psf-step-title, .delivery-options-list > h2, .js-address-form > h2){
  border:0 !important;background:transparent !important;box-shadow:none !important;
  font-size:13px !important;font-weight:900 !important;color:var(--ink) !important;
  padding:6px 16px 4px !important;margin:6px 0 2px !important;text-align:right}
:is(#cart, #checkout) :is(.psf_section_title, .step-title)::after,
:is(#cart, #checkout) :is(.psf_section_title, .step-title)::before{display:none !important}

/* ============================================================================
   PAGE-1 polish: small (i) tooltip · support-phone box · CTA bottom spacing
   ============================================================================ */
/* small info icon next to "وابسته به آدرس" (tap/hover → tooltip) */
:is(#cart, #checkout) .szd-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1.5px solid var(--ink-3);color:var(--ink-3);margin-right:5px;cursor:pointer;vertical-align:-2px}
:is(#cart, #checkout) .szd-info svg{width:11px;height:11px}
:is(#cart, #checkout) .szd-info__tip{display:none;position:absolute;bottom:135%;right:50%;transform:translateX(50%);width:180px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:600;line-height:1.7;padding:8px 10px;border-radius:9px;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.18);text-align:right;white-space:normal}
:is(#cart, #checkout) .szd-info__tip::after{content:"";position:absolute;top:100%;right:50%;transform:translateX(50%);border:5px solid transparent;border-top-color:var(--ink)}
:is(#cart, #checkout) .szd-info:hover .szd-info__tip,
:is(#cart, #checkout) .szd-info:focus .szd-info__tip,
:is(#cart, #checkout) .szd-info:focus-within .szd-info__tip{display:block}

/* support-phone box (mirrors the login page) — below the total */
:is(#cart, #checkout) .szd-cart-support{display:flex;align-items:center;gap:10px;justify-content:center;margin:10px 12px;padding:10px 14px;background:#E3F4F1;border:1px solid var(--teal);border-radius:var(--r-md);text-decoration:none;box-shadow:var(--sh-1)}
:is(#cart, #checkout) .szd-cart-support:active{transform:scale(.99)}
:is(#cart, #checkout) .szd-cart-support__icon{width:32px;height:32px;border-radius:50%;background:var(--teal-dk);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
:is(#cart, #checkout) .szd-cart-support__icon svg{width:17px;height:17px}
:is(#cart, #checkout) .szd-cart-support__txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.4}
:is(#cart, #checkout) .szd-cart-support__label{font-size:10px;color:var(--ink-3);font-weight:700}
:is(#cart, #checkout) .szd-cart-support__phone{font-size:15px;font-weight:900;color:var(--teal-dk);direction:ltr}

/* CTA: the fixed bottom bar (.cart-actions) lifted into a floating pill (off the edges) */
:is(#cart, #checkout) .cart-actions{position:fixed !important;bottom:12px !important;left:12px !important;right:12px !important;width:auto !important;z-index:60;background:transparent !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
:is(#cart, #checkout) .btn-psf-cart{display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;margin:0 !important;width:100% !important;height:auto !important;min-height:0 !important;padding:13px 16px !important;border-radius:16px !important;font-size:14px !important;font-weight:900 !important;line-height:1.2 !important;box-shadow:0 8px 22px rgba(244,120,169,.42) !important}
:is(#cart, #checkout) .btn-psf-cart svg{width:18px !important;height:18px !important;flex-shrink:0 !important}
:is(#cart, #checkout) .btn-psf-cart i{display:none !important} /* drop any Font Awesome glyph */
/* clearance so content isn't hidden under the fixed CTA */
:is(#cart, #checkout) .psf-cart-grid,
:is(#cart, #checkout) #content,
:is(#cart, #checkout) .checkout_wrapper,
:is(#cart, #checkout) .psf-cart-grid-right{padding-bottom:92px !important}

/* ============================================================================
   ROUND 4 — width consistency · void removal · CTA price-row · support box
   ============================================================================ */
/* (1) one consistent box width on all steps (kill Bootstrap col/row offsets) */
:is(#cart, #checkout) .psf-cart-grid{padding:0 !important;margin:0 !important}
:is(#cart, #checkout) .psf-cart-grid > .row,
:is(#cart, #checkout) .psf-cart-grid .row{margin:0 !important}
:is(#cart, #checkout) .psf-cart-grid-body,
:is(#cart, #checkout) .psf-cart-grid-right,
:is(#cart, #checkout) .psf-cart-grid .col-md-12{padding:0 12px !important;margin:0 !important;width:100% !important;max-width:100% !important;float:none !important}
:is(#cart, #checkout) .delivery-options,
:is(#cart, #checkout) #delivery-addresses,
:is(#cart, #checkout) .address-selector,
:is(#cart, #checkout) .js-address-form{padding:0 !important;margin:0 !important}
/* every box fills the 12px-padded column → identical width, aligned */
:is(#cart, #checkout) .add-address,
:is(#cart, #checkout) .szd-addr-card,
:is(#cart, #checkout) .szd-addr-add,
:is(#cart, #checkout) .szd-carrier,
:is(#cart, #checkout) #js-checkout-summary,
:is(#cart, #checkout) .cart-detailed-totals{margin-left:0 !important;margin-right:0 !important;width:auto !important}
:is(#cart, #checkout) .add-address{margin:0 0 12px !important}
:is(#cart, #checkout) .add-address .psf_btn_bordered{display:flex !important;align-items:center;justify-content:center;width:100% !important;box-sizing:border-box}

/* (2) clean cream bg (kill the theme bottom gradient) + small bottom space (CTA is in-flow) */
:is(#cart, #checkout) .psf-cart-grid,
:is(#cart, #checkout) #content,
:is(#cart, #checkout) .checkout_wrapper,
:is(#cart, #checkout) .psf-cart-grid-right{padding-bottom:0 !important}
:is(#cart, #checkout){padding-bottom:16px !important;background:#FFF5F0 !important;background-image:none !important}
:is(#cart, #checkout) #st-container,
:is(#cart, #checkout) .st-content,
:is(#cart, #checkout) .st-content-inner,
:is(#cart, #checkout) #body_wrapper,
:is(#cart, #checkout) #page_wrapper,
:is(#cart, #checkout) #wrapper,
:is(#cart, #checkout) .checkout_wrapper{background:#FFF5F0 !important;background-image:none !important}

/* (3) CTA = IN-FLOW white bar (not floating): price chip + narrower button (mockup .cta-bar) */
:is(#cart, #checkout) .cart-actions{position:static !important;width:auto !important;z-index:auto !important;background:#fff !important;box-shadow:0 -2px 16px rgba(0,0,0,.06) !important;padding:12px !important;margin:16px 0 0 !important;border-radius:18px !important}
:is(#cart, #checkout) .szd-cta-row{display:flex !important;flex-direction:row !important;align-items:stretch;gap:9px}
:is(#cart, #checkout) .szd-cta-price{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:16px;padding:6px 13px;box-shadow:0 6px 18px rgba(0,0,0,.12);min-width:96px}
:is(#cart, #checkout) .szd-cta-price b{font-size:12.5px;font-weight:900;color:var(--pink-dk);white-space:nowrap;display:flex;align-items:center;gap:2px}
:is(#cart, #checkout) .szd-cta-price small{font-size:9px;color:var(--ink-3);margin-top:1px}
:is(#cart, #checkout) .szd-cta-btnwrap{flex:1;margin:0 !important}
:is(#cart, #checkout) .szd-cta-btnwrap .btn-psf-cart{width:100% !important}

/* (4) support box — shorter + chubbier, centered, pushed lower (above the CTA bar) */
:is(#cart, #checkout) .szd-cart-support{max-width:340px;margin:26px auto 6px !important;padding:11px 18px;border-radius:20px;gap:12px}

/* (5) carrier free → single green badge on the price side */
:is(#cart, #checkout) .szd-carrier__price.--free{background:var(--green);color:#fff;font-size:10.5px;font-weight:900;padding:3px 10px;border-radius:9px}

/* ============================================================================
   ROUND 6 — add-address pill · carrier full-width · tighter address↔shipping gap
   ============================================================================ */
/* add-address: only the OUTER dashed border; inner box gone; "+ افزودن آدرس جدید" centered */
:is(#cart, #checkout) .add-address{border:2px dashed var(--pink) !important;border-radius:var(--r-md) !important;background:#fff !important;padding:14px !important;margin:0 0 12px !important}
:is(#cart, #checkout) .add-address .psf_btn_bordered{border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;width:100% !important;display:flex !important;align-items:center;justify-content:center;color:var(--pink-dk) !important;font-weight:800;font-size:0 !important}
:is(#cart, #checkout) .add-address .psf_btn_bordered i{display:none !important}
:is(#cart, #checkout) .add-address .psf_btn_bordered::after{content:"+ افزودن آدرس جدید";font-size:13px;color:var(--pink-dk);font-weight:800}

/* carriers: kill nested wrapper padding/bg so they fill the column width like the address card */
:is(#cart, #checkout) .delivery-options-list,
:is(#cart, #checkout) #js-delivery,
:is(#cart, #checkout) .form-fields,
:is(#cart, #checkout) .delivery-options{padding:0 !important;margin:0 !important;background:transparent !important;box-shadow:none !important;border:0 !important;width:100% !important}

/* tighter gap between the address section and the carrier section + clean step titles */
:is(#cart, #checkout) .presta-cart-checkout-step{margin:0 0 8px !important;padding:0 !important}
:is(#cart, #checkout) .presta-cart-checkout-step > .content{margin:0 !important;padding:0 !important}
:is(#cart, #checkout) .delivery-options-list{margin-top:4px !important}
:is(#cart, #checkout) .step-title{font-size:13.5px !important;font-weight:900 !important;color:var(--ink) !important;border:0 !important;background:transparent !important;box-shadow:none !important;padding:8px 4px 4px !important;margin:6px 0 4px !important;text-align:right}
:is(#cart, #checkout) .step-title::after,
:is(#cart, #checkout) .step-title::before{display:none !important}
:is(#cart, #checkout) .js-address-form{margin-bottom:4px !important}

/* ============================================================================
   ROUND 7 — CTA white bar (beat the transparent rule) · plain price · no footer
   ============================================================================ */
/* CTA = white in-flow bar (more specific than the earlier transparent rule + later) */
:is(#cart, #checkout) .cart-detailed-actions .cart-actions{position:static !important;width:auto !important;background:#fff !important;box-shadow:0 2px 16px rgba(0,0,0,.07) !important;border:0 !important;border-radius:18px !important;padding:12px !important;margin:16px 0 0 !important}
/* price = plain text (mockup .cta-bar__price), no chip box */
:is(#cart, #checkout) .szd-cta-price{background:transparent !important;box-shadow:none !important;padding:0 6px !important;border-radius:0 !important;min-width:auto !important}
:is(#cart, #checkout) .szd-cta-price b{font-size:14px !important}
/* remove the theme footer (the colored/gradient bottom strip) on cart/checkout — mockup has none */
:is(#cart, #checkout) :is(.footer-container, #footer, .szd-foot, .full_width_bottom_container, .wrapper_bottom_container, .checkout_bottom_container, .checkout_footer){display:none !important}

/* ============================================================================
   ROUND 8 — step sections as proper cards + ONE consistent box width everywhere
   ============================================================================ */
/* columns full-width, no padding (we control width via per-box side margins) */
:is(#cart, #checkout) .psf-cart-grid-body,
:is(#cart, #checkout) .psf-cart-grid-right{padding:0 !important;margin:0 !important;width:100% !important;max-width:100% !important;float:none !important}
/* each step section (address box, carrier box) = white card: rounded + shadow + inner padding, fit content */
:is(#cart, #checkout) .presta-cart-checkout-step{
  background:#fff !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-1) !important;
  padding:14px !important;margin:0 12px 12px !important;height:auto !important;min-height:0 !important;overflow:hidden}
:is(#cart, #checkout) .presta-cart-checkout-step > .content{padding:0 !important;margin:0 !important;background:transparent !important}
:is(#cart, #checkout) .psf-cart-grid-body .presta-cart-checkout-step:first-of-type{margin-top:12px !important}
/* inner gaps so cards don't touch the box edges (step padding handles sides) */
:is(#cart, #checkout) .presta-cart-checkout-step .add-address{margin:0 0 12px !important}
:is(#cart, #checkout) .presta-cart-checkout-step .szd-addr-card:last-of-type,
:is(#cart, #checkout) .presta-cart-checkout-step .szd-carrier:last-of-type{margin-bottom:0 !important}
/* kill empty trailing wrappers that add the 93px void / extra boxes */
:is(#cart, #checkout) .presta-cart-checkout-step .js-address-form:empty,
:is(#cart, #checkout) .psy-js-address-form:empty,
:is(#cart, #checkout) .carrier-extra-content:empty,
:is(#cart, #checkout) #extra_carrier:empty,
:is(#cart, #checkout) #hook-display-before-carrier:empty,
:is(#cart, #checkout) #hook-display-after-carrier:empty{display:none !important}

/* SAME width for summary + CTA as the step cards (they were 358/L27 vs 382/L15) */
:is(#cart, #checkout) .psf-card.psf-cart-summary{padding:0 !important;margin:0 !important;background:transparent !important;box-shadow:none !important;border:0 !important}
:is(#cart, #checkout) #js-checkout-summary,
:is(#cart, #checkout) .cart-detailed-totals{margin:0 12px !important;width:auto !important}
:is(#cart, #checkout) .cart-detailed-actions .cart-actions{margin:16px 12px 0 !important;width:auto !important}
:is(#cart, #checkout) .szd-cart-support{margin:18px 12px 0 !important}

/* ============================================================================
   ROUND 9 — PAYMENT STEP: wallet (T22) · gift+terms tick-boxes (T23) ·
   address review card (T24)
   ============================================================================ */

/* ---- T22: payment + final sections are NOT big white cards (mockup uses
   per-component cards). Shipping(carrier)+address steps stay carded (ROUND 8).
   ID selectors (+ :is(#cart,#checkout)) outrank the ROUND-8 class !important. -- */
:is(#cart, #checkout) #presta-cart-checkout-payment-step,
:is(#cart, #checkout) #presta-cart-checkout-final-step{
  background:transparent !important;box-shadow:none !important;border-radius:0 !important;
  padding:0 !important;margin:0 12px 12px !important;overflow:visible !important}
/* section heading still reads as a title */
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .step-title,
:is(#cart, #checkout) #presta-cart-checkout-final-step > .step-title{
  margin:4px 2px 10px !important;font-size:14px !important;font-weight:800 !important;color:var(--ink) !important;padding:0 !important}

/* wallet teal box stands on its own */
:is(#cart, #checkout) .wk_wallet_box1{margin:0 0 12px !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-1) !important;width:auto !important}
/* reorder: payment methods first, wallet AFTER them (user: wallet not at top) */
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .content{display:flex !important;flex-direction:column !important}
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .content > .payment-options{order:1}
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .content > .wk_wallet_box1{order:2}

/* payment method = its own card (mockup .pay-card) */
:is(#cart, #checkout) .payment-options{margin:0 !important;padding:0 !important}
:is(#cart, #checkout) .payment-option{
  background:#fff !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-1) !important;
  border:2px solid transparent !important;padding:12px 14px !important;margin:0 0 10px !important;
  display:flex !important;align-items:center !important;flex-wrap:wrap !important;gap:8px 12px !important;cursor:pointer;position:relative}
/* collapse the hidden form/extra-info so unselected cards aren't tall + empty */
:is(#cart, #checkout) .payment-option .prestacart-hidden,
:is(#cart, #checkout) .payment-option .js-payment-option-form.prestacart-hidden,
:is(#cart, #checkout) .payment-option .js-additional-information.prestacart-hidden{display:none !important}
/* selected card's gateway details wrap full-width onto their own row */
:is(#cart, #checkout) .payment-option .additional-information,
:is(#cart, #checkout) .payment-option .js-additional-information{flex:1 1 100% !important;width:100% !important;font-size:11px;color:var(--ink-2);line-height:1.8;margin:6px 0 0;border-top:1px dashed var(--line);padding-top:8px}
:is(#cart, #checkout) .payment-option .additional-information *{max-width:100%}
:is(#cart, #checkout) .payment-option .js-payment-option-form{flex:1 1 100%;width:100%}
:is(#cart, #checkout) .payment-option .psf-radio-group{display:flex !important;align-items:center;gap:10px;flex:1;margin:0}
:is(#cart, #checkout) .payment-option label{display:flex !important;align-items:center;gap:8px;margin:0 !important;font-size:12.5px;font-weight:700;color:var(--ink);flex:1;cursor:pointer}
:is(#cart, #checkout) .payment-option label img{max-height:30px;width:auto;margin-inline-start:auto}
:is(#cart, #checkout) .payment-option .payment-option-radio{width:20px;height:20px;border:2px solid var(--pink);border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
:is(#cart, #checkout) .payment-option .payment-option-radio .checkmark{display:none}
:is(#cart, #checkout) .payment-option:has(input[type=radio]:checked){border-color:var(--pink) !important;background:var(--pink-soft) !important}
:is(#cart, #checkout) .payment-option:has(input[type=radio]:checked) .payment-option-radio{background:var(--pink)}
:is(#cart, #checkout) .payment-option:has(input[type=radio]:checked) .payment-option-radio::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;display:block}
:is(#cart, #checkout) .payment-option .custom-radio{position:absolute !important;width:0 !important;height:0 !important;opacity:0 !important;overflow:hidden !important}

/* ---- T23: gift-wrap + terms-and-conditions = real, visible, ticked box ---- */
:is(#cart, #checkout) .psf-checkbox-group{
  display:flex !important;align-items:flex-start !important;gap:9px !important;
  background:#fff !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-1) !important;padding:12px 14px !important;margin:0 0 10px !important}
:is(#cart, #checkout) .psf-checkbox-group .custom-checkbox{position:static !important;width:auto !important;height:auto !important;display:inline-flex !important;flex:0 0 auto !important;margin:0 !important;overflow:visible !important;opacity:1 !important}
:is(#cart, #checkout) .psf-checkbox-group .custom-checkbox input[type=checkbox]{
  -webkit-appearance:none !important;appearance:none !important;position:relative !important;display:inline-block !important;visibility:visible !important;opacity:1 !important;
  width:22px !important;height:22px !important;min-width:22px !important;margin:0 !important;border:2px solid var(--pink) !important;border-radius:7px !important;background:#fff !important;cursor:pointer !important;flex:0 0 auto !important;transition:all .15s}
:is(#cart, #checkout) .psf-checkbox-group .custom-checkbox input[type=checkbox]:checked{background:var(--pink) !important;border-color:var(--pink) !important}
:is(#cart, #checkout) .psf-checkbox-group .custom-checkbox input[type=checkbox]:checked::after{
  content:"" !important;position:absolute !important;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
/* hide the alternate (unstyled) checkbox-option/checkmark visual */
:is(#cart, #checkout) .psf-checkbox-group .checkbox-option{display:none !important}
:is(#cart, #checkout) .psf-checkbox-group label{margin:0 !important;font-size:12px !important;line-height:1.65 !important;color:var(--ink) !important;font-weight:600 !important;cursor:pointer}
/* comment + gift-message textareas */
:is(#cart, #checkout) .order-options > #delivery{background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-1);padding:12px 14px;margin:0 0 10px}
:is(#cart, #checkout) .order-options > #delivery > label{font-size:12px;font-weight:700;color:var(--ink);display:block;margin-bottom:6px}
:is(#cart, #checkout) #delivery_message,
:is(#cart, #checkout) #gift_message{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12px;background:#fff;resize:vertical;box-sizing:border-box}
/* gift message only opens when the gift box is ticked (guaranteed via :has) */
:is(#cart, #checkout) .order-options #gift.collapse{display:none !important;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-1);padding:12px 14px;margin:0 0 10px}
:is(#cart, #checkout) .order-options:has(#input_gift:checked) #gift.collapse{display:block !important}
:is(#cart, #checkout) .order-options #gift.collapse > label{font-size:12px;font-weight:700;color:var(--ink);display:block;margin-bottom:6px}
/* conditions list cleanup */
:is(#cart, #checkout) .conditions-to-approve ul{list-style:none !important;margin:0 !important;padding:0 !important}
:is(#cart, #checkout) .conditions-to-approve li{margin:0 !important;list-style:none !important}
:is(#cart, #checkout) .conditions-to-approve form{margin:0 !important}
:is(#cart, #checkout) .prestacart-hidden-by-js{display:none !important}

/* ---- T24: address review on payment/final step = card like step-2 ---- */
:is(#cart, #checkout) #order-summary-content{background:transparent !important;box-shadow:none !important;padding:0 !important;margin:0 !important;border:0 !important}
:is(#cart, #checkout) #order-summary-content .card,
:is(#cart, #checkout) #order-summary-content .card.noshadow{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
:is(#cart, #checkout) .szd-review-title{font-size:13px !important;font-weight:800 !important;color:var(--ink) !important;margin:2px 2px 10px !important;padding:0 !important}
:is(#cart, #checkout) .szd-addr-review{margin:0 0 12px}
:is(#cart, #checkout) .szd-addr-review__head{font-size:12px;font-weight:800;color:var(--pink-dk);margin:0 2px 6px}
:is(#cart, #checkout) .szd-addr-card--review{cursor:default !important;border:2px solid var(--pink-soft) !important;margin:0 !important}
:is(#cart, #checkout) .szd-addr-card--review .szd-addr-card__body{flex:1}
/* hide the duplicate carrier row inside the review (already shown in انتخاب حامل) */
:is(#cart, #checkout) .szd-review-carrier{display:none !important}

/* ============================================================================
   ROUND 10 — feedback: page-1 top gap · centered support · payment logos ·
   payment-section spacing (use step-2 as the reference pattern)
   ============================================================================ */

/* (1) PAGE 1 (body#cart): products were glued to the step bar (gap 0). Give the
   items the same 12px top gap the checkout steps have on body#checkout. */
:is(#cart) .psf-cart-items{margin-top:12px !important}
:is(#cart) .cart-grid-body > .card:first-child,
:is(#cart) .cart-overview:first-child{margin-top:12px !important}

/* (2) SUPPORT BOX centered relative to the page (max-width:340 + side-margins had
   right-aligned it in RTL → auto margins center it). */
:is(#cart, #checkout) .szd-cart-support{margin-left:auto !important;margin-right:auto !important;text-align:center}

/* (3) PAYMENT-METHOD GATEWAY LOGOS were collapsed to 0×0 by the flex label —
   restore them at a fixed size (PrestaCart serves saman/mellat/parsian/snapp). */
:is(#cart, #checkout) .payment-option img{
  height:26px !important;width:auto !important;max-width:96px !important;max-height:26px !important;
  display:inline-block !important;visibility:visible !important;opacity:1 !important;
  flex:0 0 auto !important;object-fit:contain !important;margin-inline-start:auto !important}
/* keep the name + logo on the same row, logo pinned to the inline-end */
:is(#cart, #checkout) .payment-option label{flex-wrap:nowrap !important}
:is(#cart, #checkout) .payment-option label > span:first-child{flex:1 1 auto}

/* (4) PAYMENT SECTION: don't let the options feel glued to the top — clearer
   heading + breathing room above the first option (mirrors step-2 sections). */
:is(#cart, #checkout) #presta-cart-checkout-payment-step{margin-top:8px !important}
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .step-title,
:is(#cart, #checkout) #presta-cart-checkout-final-step > .step-title{
  margin:10px 4px 12px !important;font-size:14.5px !important;font-weight:800 !important;
  color:var(--ink) !important;display:flex;align-items:center;gap:7px}
:is(#cart, #checkout) #presta-cart-checkout-payment-step > .step-title::before{
  content:"";width:4px;height:16px;border-radius:3px;background:var(--pink);display:inline-block;flex:0 0 auto}
:is(#cart, #checkout) .payment-options{margin-top:2px !important}

/* ============================================================================
   ROUND 11 — step-1 cart: push summary+support+CTA to the bottom (sticky footer)
   so the CTA isn't mid-page with empty space below it (matches steps 2/3).
   `min-height` (not height) keeps tall carts scrollable → Iran-mobile safe.
   ============================================================================ */
@media (max-width: 991px){
  /* دور ۱۳۶ — FIX the regression: the ROUND-11 fix made the SUPPORT box position:fixed,
     so on a tall cart (many items) it floated OVER the totals instead of sitting under
     them (user bug). The DOM order is totals → support → CTA, so an IN-FLOW support lands
     exactly where the user wants — right below the totals, centered. Only the CTA stays
     pinned to the viewport bottom (preserves the 1-product "no scroll to reach the button"
     win). No more overlap, support centered. */
  body#cart .psf-cart-grid{flex-direction:column !important;min-height:0 !important;padding-bottom:84px !important}
  body#cart .cart-detailed-actions{position:fixed !important;bottom:10px !important;left:12px !important;right:12px !important;width:auto !important;z-index:56 !important;margin:0 !important}
  /* SUPPORT BOX → normal flow, centered (auto side margins), below the totals & above
     the fixed CTA clearance. NEVER fixed → never overlaps. */
  body#cart .szd-cart-support{position:static !important;left:auto !important;right:auto !important;bottom:auto !important;width:auto !important;max-width:340px !important;margin:16px auto 6px !important;z-index:auto !important}
  /* drop the flex-grow tricks that only existed to push the (now-removed) fixed footer. */
  body#cart .psf-cart-grid-right,
  body#cart .psf-cart-grid-right .psf-cart-summary{flex:0 0 auto !important;display:block !important;margin-top:0 !important}
}

/* ============================================================================
   ROUND 12 — cart fixes: single product box · dashed total separator ·
   Persian stepper (points 1, 3, 6)
   ============================================================================ */
/* (1) product row had TWO concentric cards (li.psf-cart-item AND .item both white
   + shadow + radius). Strip the outer <li> card so each row is a single .item box. */
:is(#cart, #checkout) li.psf-cart-item{
  background:transparent !important;box-shadow:none !important;border:0 !important;
  border-radius:0 !important;padding:0 !important;margin:0 0 10px !important}

/* (3) "مبلغ قابل پرداخت" should not look boxed — just a dashed separator from the
   rows above (inside the summary card). */
:is(#cart, #checkout) .szd-summary__row.--total{
  background:transparent !important;box-shadow:none !important;border-radius:0 !important;
  border-top:1.5px dashed var(--line) !important;margin-top:4px !important;padding-top:10px !important}

/* (6) Persian stepper: szd-cart.js overlays a Persian span over the qty input
   (the input keeps its Latin value so the +/- AJAX still works). */
:is(#cart, #checkout) .szd-qty-fa{
  position:absolute;display:flex;align-items:center;justify-content:center;
  pointer-events:none;font:inherit;font-weight:800;color:var(--ink)}
/* hide the input's Latin value reliably (inline color lost to a theme !important →
   Persian overlay + Latin value were overlapping). -webkit-text-fill-color wins. */
:is(#cart, #checkout) input.js-cart-line-product-quantity{
  -webkit-text-fill-color:transparent !important;color:transparent !important;text-shadow:none !important}

/* ============================================================================
   ROUND 14 — checkout-step feedback: carrier one-box · radio fill · bigger logos
   · order-summary card · "عدد" after qty (points 2, 4, 5)
   ============================================================================ */
/* (2) carrier «انتخاب حامل» had 4 nested boxes (.presta-cart-checkout-step +
   .delivery-options-list + .delivery-options + each .szd-carrier). Flatten the two
   middle wrappers → one section card holding the carrier cards (like step 2). */
:is(#cart, #checkout) .presta-cart-checkout-step .delivery-options-list,
:is(#cart, #checkout) .presta-cart-checkout-step .form-fields,
:is(#cart, #checkout) .presta-cart-checkout-step #js-delivery,
:is(#cart, #checkout) .presta-cart-checkout-step .delivery-options,
:is(#cart, #checkout) #js-delivery .delivery-options{
  background:transparent !important;background-color:transparent !important;box-shadow:none !important;border:0 !important;
  border-radius:0 !important;padding:0 !important;margin:0 !important}

/* (4a) payment radio dot must LIGHT UP when selected — the fill needs !important
   (the card bg worked but the dot stayed white → white center dot invisible). */
:is(#cart, #checkout) .payment-option .payment-option-radio{background:#fff !important;border:2px solid var(--pink) !important}
:is(#cart, #checkout) .payment-option:has(input[type=radio]:checked) .payment-option-radio{background:var(--pink) !important;border-color:var(--pink) !important}
:is(#cart, #checkout) .payment-option:has(input[type=radio]:checked) .payment-option-radio::after{content:"" !important;width:8px;height:8px;border-radius:50%;background:#fff !important;display:block}

/* (4b) bigger gateway logos (was 26px) */
:is(#cart, #checkout) .payment-option img,
:is(#cart, #checkout) .payment-option .szd-pay-logo{height:38px !important;max-height:38px !important;max-width:120px !important;width:auto !important}

/* (5a) order-summary review table = rounded + shadowed card */
:is(#cart, #checkout) .order-confirmation-table{
  background:#fff !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-1) !important;
  padding:14px !important;margin:0 12px 12px !important}
/* (5b) "عدد" after each product quantity in the review table */
:is(#cart, #checkout) #order-summary-content .product-quantity::after{content:" عدد";font-weight:600;font-size:.9em;color:var(--ink-2)}

/* ============================================================================
   ROUND 15 — cart summary feedback: support gap (1) · themed (i) (2) ·
   free-shipping-remaining box (6)
   ============================================================================ */
/* (1) keep a real gap so the support/free-ship never glue to the summary on tall
   carts (where the support's margin-top:auto resolves to 0). */
:is(#cart, #checkout) #js-checkout-summary{margin-bottom:12px !important}

/* (2) themed info (i) — pink to match the new theme (was a grey old-looking circle) */
:is(#cart, #checkout) .szd-info{border-color:var(--pink) !important;color:var(--pink-dk) !important}

/* (6) free-shipping-remaining box (PrestaCart displayInfoFreeShipping hook) —
   styled like the home free-ship banner. Hidden when the hook outputs nothing. */
:is(#cart, #checkout) .szd-freeship:empty{display:none !important}
:is(#cart, #checkout) .szd-freeship{
  margin:0 12px 12px !important;background:linear-gradient(95deg,#FFF4D0 0%,#FFE0A8 100%);
  border:1px solid var(--yellow-dk);border-radius:var(--r-md);padding:11px 14px;
  font-size:12px;font-weight:800;color:#5E3A04;display:flex;align-items:center;gap:8px;box-shadow:var(--sh-1);line-height:1.6}
:is(#cart, #checkout) .szd-freeship *{background:transparent !important;border:0 !important;box-shadow:none !important;margin:0 !important;padding:0 !important;color:inherit !important;font-family:inherit !important}

/* ============================================================================
   ROUND 16 — add-address form (T21): it was HIDDEN (psy-js-address-form was hidden
   unconditionally → fixed to :empty) and opens in a fancybox whose logo renders
   "undefined". Hide that, and theme the fields. NOTE: the fancybox is appended to
   <body> (outside #cart/#checkout), so these rules are intentionally unscoped.
   ============================================================================ */
.psf_fancybox_logo{display:none !important}                 /* broken "undefined" header logo */
#add-address-form{padding-top:28px}                         /* clear the back-header overlap */
#add-address-form .form-group{margin-bottom:14px}
#add-address-form label{font-weight:700;color:#3D2C2E}
#add-address-form input:not([type=hidden]):not([type=radio]):not([type=checkbox]),
#add-address-form select,
#add-address-form textarea{border-radius:12px !important;border:1.5px solid #E7E0EA !important;font-family:inherit;font-size:13px}
#add-address-form input:focus,
#add-address-form select:focus,
#add-address-form textarea:focus{border-color:#F478A9 !important;outline:none;box-shadow:0 0 0 3px rgba(244,120,169,.12)}
#add-address-form .save-address,
#add-address-form button.btn-primary,
#add-address-form button[type=submit]:not(.ps-hidden-by-js){background:#F478A9 !important;border:0 !important;border-radius:14px !important;color:#fff !important;font-weight:800 !important;font-family:inherit}
#add-address-form .cancel-address{display:block;text-align:center;color:#7B6B6D;margin-top:10px;font-size:12px}

/* ============================================================================
   دور ۱۲۹ — EMPTY CART redesigned cute (404-style): kawaii basket + sparkles
   ============================================================================ */
:is(#cart, #checkout) .szd-empty{position:relative;overflow:hidden;text-align:center;padding:30px 22px 28px !important;margin:16px 12px;background:linear-gradient(160deg,#FFF5F0 0%,#FFE7F0 100%) !important;border-radius:22px !important;box-shadow:0 12px 30px rgba(224,86,139,.13) !important}
:is(#cart, #checkout) .szd-empty__art{width:132px;margin:2px auto 4px;animation:szdEmptyBob 3s ease-in-out infinite}
:is(#cart, #checkout) .szd-empty__art svg{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 12px rgba(224,86,139,.18))}
@keyframes szdEmptyBob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}
:is(#cart, #checkout) .szd-empty__title{font-size:18px;font-weight:900;color:var(--ink,#3D2C2E);margin-top:8px}
:is(#cart, #checkout) .szd-empty__sub{font-size:12.5px;font-weight:700;color:var(--ink-3,#9a8d92);margin-top:8px;line-height:1.75}
:is(#cart, #checkout) .szd-empty__cta{display:inline-flex;align-items:center;gap:7px;margin-top:18px;background:linear-gradient(135deg,#F478A9,#FF8FBD);color:#fff;font-weight:900;font-size:13.5px;padding:12px 28px;border-radius:40px;text-decoration:none;box-shadow:0 8px 20px rgba(244,120,169,.42)}
:is(#cart, #checkout) .szd-empty__cta svg{width:15px;height:15px}
:is(#cart, #checkout) .szd-empty__sp{position:absolute;border-radius:50%;background:radial-gradient(circle,#FFE08A,#FFC04A);box-shadow:0 0 9px rgba(255,196,74,.75);animation:szdEmptyTw 2.4s ease-in-out infinite;pointer-events:none}
:is(#cart, #checkout) .szd-empty__sp--1{width:10px;height:10px;top:26px;left:32px}
:is(#cart, #checkout) .szd-empty__sp--2{width:7px;height:7px;top:60px;right:36px;animation-delay:.5s}
:is(#cart, #checkout) .szd-empty__sp--3{width:8px;height:8px;bottom:78px;left:44px;animation-delay:1s}
:is(#cart, #checkout) .szd-empty__sp--4{width:6px;height:6px;top:40px;right:70px;animation-delay:1.6s}
@keyframes szdEmptyTw{0%,100%{transform:scale(.55);opacity:.4}50%{transform:scale(1.12);opacity:1}}
@media(prefers-reduced-motion:reduce){:is(#cart, #checkout) .szd-empty__art,:is(#cart, #checkout) .szd-empty__sp{animation:none}}

/* ============================================================================
   دور ۱۳۶ — kill the "در حال بارگذاری / Updating..." overlay on the payment &
   final steps. User: when going to the gateway it must NEVER pop up, however long
   it takes. The redirect to the bank happens regardless; the overlay only adds an
   ugly modal. (Only payment+final are hidden; AJAX feedback elsewhere is untouched.)
   ============================================================================ */
:is(#cart, #checkout) .loading-message.loading-message-payment,
:is(#cart, #checkout) .loading-message.loading-message-final,
:is(#cart, #checkout) .loading-message-payment,
:is(#cart, #checkout) .loading-message-final{display:none !important;visibility:hidden !important;opacity:0 !important}

/* ============================================================================
   دور ۱۴۱ — REGRESSION fix: address cards must all be the SAME full width.
   Root cause (psf module's own prestacart.css, line ~1029): for multiple addresses each
   card gets `.address-item.psf_addresses_two_box{width:47%;float:left;margin-left:2%}` (a
   2-column float). Our ROUND-4 rule set `width:auto` on .szd-addr-card but did NOT clear the
   `float:left` → a floated element with width:auto SHRINKS TO ITS CONTENT, so a short address
   («انقلاب») became a narrow box while long addresses looked full. Kill the float + force full
   width → every card is one standard width, stacked, like the boxes above/below it.
   ============================================================================ */
:is(#cart, #checkout) .szd-addr-grid .szd-addr-card,
:is(#cart, #checkout) .szd-addr-card.address-item,
:is(#cart, #checkout) .szd-addr-card.psf_addresses_two_box,
:is(#cart, #checkout) .szd-addr-card.psf_addresses_one_box{
  float:none !important;width:100% !important;max-width:100% !important;
  margin-left:0 !important;margin-right:0 !important;box-sizing:border-box !important;
}
:is(#cart, #checkout) .szd-addr-grid{display:block !important}

/* ============================================================================
   L47 — (۱) هینت‌های راهنما (.szd-hint) در هر دو عرض
        (۲) دکمه‌های دایره‌ای هدر تسویه: بازگشت + خانه (خواست کاربر — موبایل هم)
   ============================================================================ */
:is(#cart, #checkout) .szd-hint{
  display:flex;align-items:flex-start;gap:10px;
  background:#F3F9FE;border:1px solid #DCEDFA;border-radius:14px;
  padding:10px 14px;margin:10px 0 12px;
}
:is(#cart, #checkout) .szd-hint svg{width:17px;height:17px;flex:0 0 auto;color:#4A90C2;margin-top:2px}
:is(#cart, #checkout) .szd-hint span{font-size:11.5px;line-height:2;color:#3E6B8C;text-align:right}
:is(#cart, #checkout) .szd-hint b{color:#1F5A85}

:is(#cart, #checkout) #psfcart-header .szd-hdr-btns{display:flex;align-items:center;gap:8px;flex-shrink:0}
:is(#cart, #checkout) #psfcart-header :is(.back-button, .home-button){
  width:42px !important;height:42px !important;border-radius:50% !important;
  display:flex !important;align-items:center;justify-content:center;padding:0 !important;
  background:#fff;border:1.5px solid #F3D9E4;color:#E0568B;box-shadow:0 4px 12px rgba(224,86,139,.12);
  transition:transform .15s;
}
:is(#cart, #checkout) #psfcart-header :is(.back-button, .home-button):hover{transform:translateY(-2px)}
:is(#cart, #checkout) #psfcart-header .back-button span{display:none !important}
:is(#cart, #checkout) #psfcart-header :is(.back-button, .home-button) svg{width:18px;height:18px}
:is(#cart, #checkout) #psfcart-header .psfcart-spacer{width:92px}

/* ===== موج ۳ (۲۰۲۶-۰۷-۱۶) — L48: حذف کامل ویجت «مانده تا ارسال رایگان» از سبد/چک‌اوت به خواست کاربر
   (آستانه حامل‌های prod کهنه بود و رقم غلط می‌داد؛ include قالب cart-detailed-totals هم برداشته شد —
   این قانون همه پوزیشن‌های احتمالی ویجت psf را هم می‌کشد) */
:is(#cart, #checkout) :is(.szd-freeship, .remaining_amount_free_shipping){display:none !important}
