/* Shared storefront and buyer account. Page-specific home/catalog/product
   styles load later and retain their approved compositions. */
.shopbody .shell-m{width:100%;padding-block:var(--s6)}
.shopbody .shell-m > h1{font-size:var(--fs-9);line-height:1.5;margin-bottom:var(--s3)}
.shopbody .shead-sub{max-width:80ch;margin-bottom:var(--s5)}
.shopbody .acwrap{gap:var(--s6)}
.shopbody .acside{border-radius:var(--r-xl);background:var(--bg)}
.shopbody .acme{padding:var(--s5);background:var(--primary-subtle);border-color:var(--primary-border)}
.shopbody .acnav{padding:var(--s3);gap:var(--s1)}
.shopbody .acn{border-inline-start:3px solid transparent;min-height:48px}
.shopbody .acn.on{background:var(--primary-subtle);color:var(--primary-text);border-inline-start-color:var(--primary);font-weight:800}
.shopbody .acn.on > em{background:var(--primary-light);color:var(--primary-deep)}
.shopbody .acout{padding-block:var(--s4)}
.account-heading{padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid var(--border)}
.account-heading .ach{font-size:var(--fs-9);line-height:1.5}
.account-heading .shead-sub{margin:var(--s2) 0 0}
.shopbody .acmain > .card,.shopbody .acmain > div > .card{margin-bottom:var(--s5)}
.shopbody .adc{padding:var(--s5);border-radius:var(--r-xl);gap:var(--s2)}
.shopbody .adc.def{background:var(--primary-subtle);box-shadow:none}
.shopbody .fvi{padding:var(--s4);border-radius:var(--r-xl);gap:var(--s5)}
.shopbody .fvi-t{font-size:var(--fs-4)}
.shopbody .tk-thread{padding:var(--s5);gap:var(--s4);border-radius:var(--r-xl);background:var(--surface)}
.shopbody .tk-msg{padding:var(--s4);border-radius:var(--r-lg)}
.shopbody .cko{gap:var(--s6)}
.shopbody .cko-step{margin-bottom:var(--s5)}
.shopbody .cko-sum{border:1px solid var(--primary-border);box-shadow:none;border-top:4px solid var(--primary)}
.shopbody .cko-sum > header{background:var(--primary-subtle);border-color:var(--primary-border)}
.shopbody .cko-sum .card-b > p{padding-block:var(--s2);line-height:1.9}
.shopbody .cko-sum .btn-primary{margin-top:var(--s3);min-height:52px}
.shopbody .cko-step > header h2::before{border-radius:var(--r);width:32px;height:32px}
.shopbody .cart-items{min-width:0}
.shopbody .cart-items td:last-child .btn{margin-block:var(--s1)}
.shopbody .ord-grid{gap:var(--s6)}
.shopbody .ord .sub{border-radius:var(--r-xl);margin-bottom:var(--s5)}
.shopbody .ord .sub-h{padding:var(--s5);background:var(--primary-subtle)}
.shopbody .paid{border-radius:var(--r-xl);padding:var(--s6)}
.shopbody .paid-meta{gap:var(--s3)}
.shopbody .vbanner{border-radius:var(--r-xl);overflow:hidden;margin-bottom:var(--s5)}
.store-profile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s6);margin-bottom:var(--s6)}
.store-profile > p{max-width:80ch;line-height:2;margin-bottom:var(--s3)}
.store-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.store-products .pcard{border-radius:var(--r-lg);padding:var(--s4);height:100%}
.store-products .pthumb{background:var(--surface);aspect-ratio:1.2;border-radius:var(--r)}
.store-products .pthumb:not(:has(img))::after{content:'تصویر ثبت نشده';font-size:var(--fs-1);color:var(--fg-subtle)}
.store-products .cadd-w:has(.mdl.on){z-index:95}
.brand-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.brand-entry{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);text-decoration:none;transition:transform var(--t)}
.brand-entry:hover{border-color:var(--primary-border);transform:translateY(-2px)}
.brand-entry > b{font-size:var(--fs-6);color:var(--fg);font-weight:800}
.brand-entry > span{color:var(--fg-muted);font-size:var(--fs-3)}
.brand-entry > .n{color:var(--primary-text);margin-top:var(--s4);font-weight:700}
.shopbody .blg-post{border-radius:var(--r-xl);padding:var(--s5);gap:var(--s5);box-shadow:none}
.shopbody .blg-thumb{width:176px;border-radius:var(--r-lg);overflow:hidden}
.shopbody .blg-answer,.shopbody .blg-toc{padding:var(--s5);border-radius:var(--r-xl)}
.shopbody .blg-h1{max-width:28ch}
.shopbody .blg-lede{margin-bottom:var(--s6)}
@media(min-width:900px){.shopbody .acwrap{grid-template-columns:248px minmax(0,1fr)}}
@media(max-width:1039px){
  .store-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .brand-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:899px){
  .shopbody .acwrap{gap:var(--s5)}
  .shopbody .acnav{gap:var(--s2);padding:var(--s2)}
  .shopbody .acn{border-inline-start:0;border-bottom:3px solid transparent}
  .shopbody .acn.on{border-bottom-color:var(--primary)}
  .account-heading{padding-bottom:var(--s4)}
}
@media(max-width:639px){
  .shopbody .shell-m{padding:var(--s5) var(--s4)}
  .shopbody .shell-m > h1,.account-heading .ach{font-size:var(--fs-7)}
  .shopbody .fvi{gap:var(--s3)}
  .shopbody .fvi-t{font-size:var(--fs-3)}
  .shopbody .tk-thread,.shopbody .adc{padding:var(--s4)}
  .shopbody .blg-post{flex-direction:column;padding:var(--s4);gap:var(--s4)}
  .shopbody .blg-thumb{width:100%;aspect-ratio:1.8}
  .store-profile{padding:var(--s5);margin-bottom:var(--s5)}
  .store-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .store-products .pcard{padding:var(--s3)}
  .brand-directory{grid-template-columns:minmax(0,1fr)}
  .brand-entry{padding:var(--s5)}
  .brand-entry > .n{margin-top:var(--s2)}
  .shopbody .paid{padding:var(--s5)}
  .shopbody .ord .sub-h{padding:var(--s4)}
  /* Keep real table headers accessible; each line becomes a compact mobile
     record. This does not affect administrative or invoice tables. */
  .shopbody .cart-items thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .shopbody .cart-items tbody{display:block}
  .shopbody .cart-items tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--s4);gap:var(--s3);border-bottom:1px solid var(--border)}
  .shopbody .cart-items td{display:block;padding:0;border:0;white-space:normal;min-width:0}
  .shopbody .cart-items td:first-child,.shopbody .cart-items td:last-child{grid-column:1 / -1}
  .shopbody .cart-items td[data-label]::before{content:attr(data-label);display:block;color:var(--fg-muted);font-size:var(--fs-1);margin-bottom:var(--s2)}
  .shopbody .cart-items td:last-child{display:flex;flex-wrap:wrap;gap:var(--s2)}
  .shopbody .cart-items tr:last-child{border:0}
}
/* Same compact category bar as the approved product/home layouts. */
.shopbody .catbar-s{min-width:0}
@media(max-width:519px){.shopbody .catbar-s a{padding-inline:var(--s1)}}
