/* ============================================================================
 * Pershume — WooCommerce styles (PDP · archive · cart · checkout · account).
 * Loaded on top of style.css, so it reuses the :root tokens defined there
 * (--accent / --ink / --line / etc). RTL, Vazirmatn, brand-violet.
 * ========================================================================== */


/* ---------- breadcrumb ---------- */
.pershume-crumb{border-bottom:1px solid var(--line-soft);background:var(--paper)}
.pershume-crumb .wrap{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:48px;padding-block:12px;font-size:12px;color:var(--ink-soft);font-weight:300}
.pershume-crumb a,.pershume-crumb .woocommerce-breadcrumb a{color:var(--ink-soft);transition:color .25s}
.pershume-crumb a:hover{color:var(--accent-deep)}
.pershume-crumb .sep{color:var(--line);font-size:11px;margin:0 2px}
.pershume-crumb .woocommerce-breadcrumb{font-size:12px;color:var(--ink);font-weight:600}

/* ====================================================================== */
/* ARCHIVE / SHOP                                                          */
/* ====================================================================== */
.shop-head{padding:clamp(26px,4vw,42px) 0 clamp(20px,3vw,30px);
  background:radial-gradient(120% 100% at 100% 0%, rgba(107,107,179,.06) 0%, transparent 55%), var(--paper);border-bottom:1px solid var(--line)}
.shop-head .label{margin-bottom:12px}
.shop-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.shop-head h1{font-size:clamp(26px,3.6vw,42px);font-weight:700;letter-spacing:-.01em;line-height:1.15}
.shop-head .res-count{font-size:13px;color:var(--ink-soft);font-weight:300;margin-top:10px}
.shop-head .res-count b{color:var(--accent-deep);font-weight:700}
.shop-head .sh-desc{font-size:13px;color:var(--ink-soft);font-weight:300;max-width:60ch;line-height:1.9;margin-top:6px}
.brand-head .brand-head-main{display:flex;align-items:center;gap:20px}
.brand-head .brand-logo img{max-height:64px;width:auto;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}

.shop{padding:clamp(40px,7vh,80px) 0 clamp(50px,8vh,90px)}
.shop-grid{display:grid;grid-template-columns:264px 1fr;gap:clamp(24px,3vw,44px);align-items:start}

/* sidebar */
.sidebar{position:sticky;top:96px}
.sb-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.sb-head .sbh-t{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:700}
.sb-head .sbh-t svg{width:17px;height:17px;color:var(--accent)}
.sb-clear{background:transparent;border:0;font-family:inherit;font-size:11.5px;color:var(--accent-deep);font-weight:600;cursor:pointer;transition:opacity .25s}
.sb-clear:hover{opacity:.65}
.fgroup{border-bottom:1px solid var(--line-soft)}
.fg-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:0;font-family:inherit;cursor:pointer;padding:16px 2px;font-size:13.5px;font-weight:700;color:var(--ink);text-align:right}
.fg-head .fg-ar{font-size:13px;color:var(--ink-soft);transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.fgroup.collapsed .fg-ar{transform:rotate(-90deg)}
.fg-body{padding:0 2px 18px;display:flex;flex-direction:column;gap:11px}
.fgroup.collapsed .fg-body{display:none}
.crow{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink-soft);transition:color .25s;user-select:none}
.crow:hover{color:var(--ink)}
.crow input{position:absolute;opacity:0;width:0;height:0}
.crow .box{width:18px;height:18px;flex:none;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;background:#fff;transition:.25s;color:#fff;font-size:11px;line-height:1}
.crow input:checked + .box{background:var(--accent);border-color:var(--accent)}
.crow input:checked + .box::after{content:"✓"}
.crow .ct{flex:1;min-width:0}
.crow input:checked ~ .ct{color:var(--ink);font-weight:600}
.crow .cn{font-family:"Segoe UI",sans-serif;font-size:11px;color:#9a9aa6;font-weight:500}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:7px 14px;transition:.25s;line-height:1.4;display:inline-flex;align-items:center}
.fchip:hover{border-color:var(--accent);color:var(--accent-deep)}
.fchip.on{background:rgba(107,107,179,.09);border-color:var(--accent);color:var(--accent-deep)}
.ps-vals{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.ps-vals label{display:inline-flex;align-items:center;gap:6px}
.ps-vals input{width:96px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;background:#fff}
.sb-apply{display:block;width:100%;margin-top:22px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:30px;padding:14px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.3s}
.sb-apply:hover{background:var(--accent-deep)}
.filter-bar-m{display:none}

/* main column */
.shop-main{min-width:0}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.tb-count{font-size:12.5px;color:var(--ink-soft);font-weight:300}
.tb-count b{color:var(--ink);font-weight:700}
.tb-sort{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tb-sort .ts-lbl{font-size:12px;color:var(--ink-soft);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.tb-sort .ts-lbl svg{width:15px;height:15px;color:var(--accent)}
.sort-pills{display:flex;gap:0;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff}
.sort-pill{font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);cursor:pointer;background:transparent;border:0;padding:8px 15px;transition:.25s;white-space:nowrap;border-inline-start:1px solid var(--line)}
.sort-pill:first-child{border-inline-start:0}
.sort-pill:hover{color:var(--ink)}
.sort-pill.on{background:var(--accent);color:#fff}
.shop-main .grid,.pershume-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ink-soft)}
.empty h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}
.empty p{font-size:13px;font-weight:300}

/* pagination */
.woocommerce-pagination{margin-top:clamp(34px,5vh,54px)}
.woocommerce-pagination ul{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;border:0}
.woocommerce-pagination ul li{margin:0;border:0}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-size:13.5px;font-weight:600;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;transition:.25s}
.woocommerce-pagination ul li a:hover{border-color:var(--accent);color:var(--accent-deep)}
.woocommerce-pagination ul li span.current{background:var(--accent);border-color:var(--accent);color:#fff}

/* drawer overlay (mobile sidebar) */
.sb-overlay{position:fixed;inset:0;background:rgba(28,27,36,.5);z-index:90;opacity:0;visibility:hidden;transition:.35s}
.sb-overlay.on{opacity:1;visibility:visible}
.sb-close{display:none}

/* ====================================================================== */
/* WOOCOMMERCE NOTICES (shared)                                            */
/* ====================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:0 0 22px;font-size:13.5px;background:var(--paper-2);color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.woocommerce-error{border-color:#e7b6b6;background:#fff4f4;color:#9a2b2b}
.woocommerce-message a,.woocommerce-info a{color:var(--accent-deep);font-weight:700}
.woocommerce-message .button,.woocommerce-info .button{margin-inline-start:auto}

/* .woocommerce-message specifically (the "added to cart" success notice) is a
   floating toast, not a full-width in-flow banner — a flat bar spanning the
   whole page under the header read as a jarring, generic WordPress alert.
   .woocommerce-info / .woocommerce-error (checkout validation etc.) stay
   in-flow — those need to sit next to the field/context they refer to. */
/* ONLY the add-to-cart success notice (tagged .atc-notice by theme.js when it
   finds the rich .atc-toast markup)
   floats as a fixed toast. A bare .woocommerce-message — e.g. the cart-page
   "سبد خرید به‌روز شد" or "کد تخفیف اعمال شد" — has no .atc-toast child and must
   stay the in-flow banner from the base rule above, not an empty floating box. */
.woocommerce-message.atc-notice{
  border:1px solid rgba(107,107,179,.22);background:var(--paper);margin:0;padding:0;
  position:fixed;top:96px;inset-inline-start:24px;z-index:220;max-width:380px;width:calc(100% - 48px);
  display:block;box-shadow:0 18px 40px rgba(30,24,60,.18);animation:pershume-toast-in .35s cubic-bezier(.2,.8,.3,1);
}
.woocommerce-message.atc-notice:focus{outline:2px solid rgba(107,107,179,.38);outline-offset:2px}
/* the built-in ::before checkmark of the base notice — off for the rich toast */
.woocommerce-message.atc-notice::before{ display:none; }
.atc-toast{ display:grid;grid-template-columns:48px minmax(0,1fr) auto 34px;align-items:center;gap:11px;padding:13px;direction:rtl; }
.atc-toast .atc-photo{ flex:none;width:46px;height:56px;border-radius:9px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line-soft);display:grid;place-items:center; }
.atc-toast .atc-photo img{ width:100%;height:100%;object-fit:contain; }
.atc-toast .atc-body{ display:flex;align-items:center;min-width:0; }
.atc-toast .atc-txt{ display:flex;flex-direction:column;gap:1px;min-width:0; }
.atc-toast .atc-title{ font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.atc-toast .atc-sub{ font-size:11px;color:var(--ink-soft); }
.atc-toast .atc-cta{ flex:none;background:var(--accent);color:#fff;border-radius:30px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:.25s;white-space:nowrap; }
.atc-toast .atc-cta:hover{ background:var(--accent-deep);color:#fff; }
.atc-toast .atc-close{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink-soft);font-family:Arial,sans-serif;font-size:22px;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.atc-toast .atc-close:hover{background:var(--paper-2);color:var(--ink);border-color:var(--accent)}
.atc-toast .atc-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes pershume-toast-in{ from{opacity:0;transform:translateY(-14px)} to{opacity:1;transform:translateY(0)} }
.woocommerce-message.is-leaving{ animation:pershume-toast-out .3s ease forwards; }
@keyframes pershume-toast-out{ to{opacity:0;transform:translateY(-10px)} }
@media(max-width:600px){
  /* phones: the add-to-cart toast docks as a compact card at the BOTTOM (thumb
     reach) and slides UP into view. Scoped to .atc-notice so a plain
     "cart updated" stays an in-flow banner rather than a stray fixed box. */
  .woocommerce-message.atc-notice{
    top:auto;bottom:calc(96px + env(safe-area-inset-bottom));inset-inline:12px;width:auto;max-width:none;
    border-radius:16px;box-shadow:0 14px 34px rgba(30,24,60,.22);
    animation:pershume-toast-up .38s cubic-bezier(.2,.8,.3,1);
  }
  .woocommerce-message.atc-notice .atc-toast{grid-template-columns:42px minmax(0,1fr) 34px;grid-template-areas:"photo body close" "cta cta cta";padding:11px;gap:9px 10px;}
  .woocommerce-message.atc-notice .atc-photo{grid-area:photo;width:42px;height:50px;}
  .woocommerce-message.atc-notice .atc-body{grid-area:body;}
  .woocommerce-message.atc-notice .atc-cta{grid-area:cta;display:flex;justify-content:center;}
  .woocommerce-message.atc-notice .atc-close{grid-area:close;width:32px;height:32px;}
  .woocommerce-message.atc-notice .atc-title{ font-size:12.5px; }
  .woocommerce-message.atc-notice .atc-sub{ font-size:10.5px; }
  .woocommerce-message.atc-notice .atc-cta{padding:10px 14px;font-size:12px;}
}
@keyframes pershume-toast-up{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@media(prefers-reduced-motion:reduce){.woocommerce-message.atc-notice,.woocommerce-message.is-leaving{animation:none}}

/* ====================================================================== */
/* CART / CHECKOUT / ACCOUNT (default WC templates, restyled)              */
/* ====================================================================== */
/* NOTE: scoped to .pershume-wc only — a bare ".woocommerce .wrap" matches EVERY
   .wrap on WC pages (utilbar, header, footer) and bloated them to ~170px tall. */
.pershume-wc{max-width:var(--maxw);margin:0 auto;padding:48px var(--gut) 80px}
.pershume-wc-inner{min-width:0}

/* generic WC buttons → brand */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:40px;
  padding:13px 26px;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:.3s;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.woocommerce .button.wc-backward,.woocommerce a.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.woocommerce .button.wc-backward:hover{background:var(--ink);color:#fff}

/* forms */
.woocommerce form .form-row label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-account input[type=text],.woocommerce-account input[type=email],.woocommerce-account input[type=password],.woocommerce-account input[type=tel],
.woocommerce form .form-row select,.woocommerce #order_review select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;background:#fff;transition:border-color .25s,box-shadow .25s}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(107,107,179,.13);outline:0}

/* cart table */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%}
.woocommerce table.shop_table th{background:var(--paper-2);color:var(--ink-soft);font-size:12.5px;font-weight:700;padding:14px 16px;text-align:right;border-bottom:1px solid var(--line)}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--line-soft);font-size:13.5px;vertical-align:middle}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
/* real sale-savings row (pershume_cart_sale_savings()) — no coupon required */
.woocommerce table.shop_table tr.pershume-sale-discount th{display:flex;align-items:center;gap:7px;font-weight:600}
.woocommerce table.shop_table tr.pershume-sale-discount .pershume-disc-pct{
  font-size:11px;font-weight:800;color:#fff;background:var(--accent);border-radius:20px;padding:1px 8px;letter-spacing:.02em;
}
.woocommerce table.shop_table tr.pershume-sale-discount td{color:var(--accent-deep);font-weight:700}
/* generic fallback for any other `.cart img` / `.product-thumbnail img`
   context (mini-cart, order-tracking, etc.) — the main cart-page item photo
   has its own dedicated `.ci-photo img` rule in assets/css/checkout.css. */
.woocommerce .cart img,.woocommerce-cart .product-thumbnail img{width:64px;height:auto;max-height:88px;object-fit:contain;border:1px solid var(--line-soft);border-radius:10px;background:#fff}
.woocommerce a.remove{color:var(--ink-soft);border:1px solid var(--line);width:26px;height:26px;line-height:24px;border-radius:50%;text-align:center;font-weight:700}
.woocommerce a.remove:hover{background:var(--sale);color:#fff;border-color:var(--sale)}
.cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{border:1px solid var(--line);border-radius:16px;padding:8px 20px 18px;background:var(--paper)}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout #order_review_heading{font-size:18px;font-weight:700;border:0;padding:14px 0}
.woocommerce #payment{background:transparent}
.woocommerce-checkout #payment ul.payment_methods{border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}
.woocommerce-checkout-review-order-table tfoot th,.woocommerce-checkout-review-order-table tfoot td{font-weight:700}

/* my-account */
.woocommerce-account .woocommerce{display:flex;flex-direction:column}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li{list-style:none}
.woocommerce-MyAccount-navigation li a{display:inline-block;padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;transition:.25s}
.woocommerce-MyAccount-navigation li a:hover{color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--accent-deep);border-bottom-color:var(--accent)}
.woocommerce-MyAccount-content{font-size:14px;line-height:1.9}
/* login / register columns */
.woocommerce-account .col2-set,.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{width:auto}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--paper)}
/* sms-suite OTP form lives inside these — it reads --wd-primary-color, already set */

/* ============ responsive ============ */
@media(max-width:1080px){
  .shop-main .grid,.pershume-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .shop-grid{grid-template-columns:1fr}
  .filter-bar-m{display:flex;align-items:center;gap:10px;margin-bottom:18px}
  .filter-btn{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:30px;padding:11px 20px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.3s}
  .filter-btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
  .filter-btn svg{width:16px;height:16px}
  .sidebar{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);z-index:91;background:var(--paper);overflow-y:auto;padding:20px var(--gut) 40px;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.3,1);box-shadow:-18px 0 40px rgba(74,74,178,.12)}
  .sidebar.open{transform:translateX(0)}
  .sb-close{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;color:var(--ink)}
  .sb-head{position:sticky;top:0;background:var(--paper);padding-top:6px;z-index:2}
}
@media(max-width:768px){
  .woocommerce-account .col2-set,.woocommerce .col2-set{grid-template-columns:1fr}
  .tb-sort{width:100%;overflow-x:auto;scrollbar-width:none}
  .tb-sort::-webkit-scrollbar{display:none}
}
@media(max-width:480px){
  .shop-main .grid,.pershume-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}
