/**
 * Storefront components — یک ریشه (v1.12)
 *
 * The parts every shopping page shares, defined once:
 *
 *   1. section heading          .yr-sec-head
 *   2. product card             .product-card
 *   3. product grid             .products-grid (--3, --4, --rows)
 *   4. product rail             .products-carousel-wrap
 *   5. breadcrumb · pagination
 *   6. footer
 *   7. my account
 *
 * Loaded on every page, after pages.css and before the page's own sheet.
 *
 * Rules of the system (the checkout proposal approved in docs/
 * AUDIT-CHECKOUT-FA.md, extended to the whole store):
 *   · one border colour, one card radius; depth comes from the border,
 *     a shadow appears only on hover
 *   · green is for actions; prices are ink, large and heavy
 *   · body text never under 13px, labels never under 12px
 *   · Persian digits everywhere; no letter-spacing (it breaks joined letters)
 */

/* ═══ 1. SECTION HEADING ══════════════════════════════════════════ */
.yr-sec-head{
  display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap;
  gap:6px 20px;
  margin-bottom:20px;
}
.yr-sec-head h2,
.yr-sec-head .yr-home-h2{
  margin:0;
  font-size:clamp(19px, 2.2vw, 24px); font-weight:800; line-height:1.5;
  color:var(--color-text-primary);
}
.yr-sec-head__note{ margin:0; font-size:13.5px; color:var(--color-text-muted); }
.yr-sec-head__link{
  display:inline-flex; align-items:center; gap:4px;
  padding:6px 0;
  font-size:14px; font-weight:700; color:var(--color-brand);
  text-decoration:none; white-space:nowrap;
}
.yr-sec-head__link::after{
  content:""; width:7px; height:7px; margin-inline-start:2px;
  border:solid currentColor; border-width:0 0 2px 2px; transform:rotate(45deg);
}
.yr-sec-head__link:hover{ color:var(--color-brand-deep); text-decoration:underline; text-underline-offset:5px; }

/* Product-page sections reuse the same heading. */
.products-section{ margin-bottom:44px; }
.products-section[data-hidden="1"]{ display:none; }
.products-section__header{
  display:flex; align-items:baseline; justify-content:space-between; gap:6px 20px; flex-wrap:wrap;
  margin-bottom:20px;
}
.products-section__header h2{
  margin:0;
  font-size:clamp(19px, 2.2vw, 24px); font-weight:800; line-height:1.5;
  color:var(--color-text-primary);
}
.products-section__header a{
  display:inline-flex; align-items:center; gap:4px; padding:6px 0;
  font-size:14px; font-weight:700; color:var(--color-brand); white-space:nowrap;
}
.products-section__header a:hover{ color:var(--color-brand-deep); text-decoration:underline; text-underline-offset:5px; }
.product-sections{ padding-block:8px 32px; }

/* ═══ 2. PRODUCT CARD ═════════════════════════════════════════════ */
.product-card{
  position:relative;
  display:flex; flex-direction:column;
  min-width:0;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  overflow:hidden;
  transition:border-color var(--transition), box-shadow var(--transition);
}
.product-card:hover{ border-color:var(--color-border-strong); box-shadow:0 8px 24px rgba(20,45,37,.08); }
.product-card:focus-within{ border-color:var(--color-brand); }

.product-card__media{
  position:relative; display:block; flex:none;
  aspect-ratio:1;
  background:var(--color-surface-warm);
  overflow:hidden;
}
.product-card__media img{ display:block; width:100%; height:100%; object-fit:cover; }
/* The picture leans in a little under the pointer — the card answers
   before the click. Pointer devices only; nothing moves for a visitor who
   asked for reduced motion. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .product-card__media img{ transition:transform .5s cubic-bezier(.22,.61,.36,1); }
  .product-card:hover .product-card__media img{ transform:scale(1.045); }
}
.product-card.is-out .product-card__media img{ opacity:.5; filter:grayscale(.5); }

.product-card__flag{
  position:absolute; top:10px; inset-inline-start:10px;
  padding:2px 10px;
  border-radius:99px;
  background:var(--color-surface);
  color:var(--color-brand);
  font-size:12px; font-weight:700; line-height:1.9;
  box-shadow:0 1px 2px rgba(20,45,37,.12);
}
.product-card.is-out .product-card__flag{ color:var(--color-text-secondary); }

.product-card__body{
  display:flex; flex-direction:column; flex:1; gap:4px;
  min-width:0;
  padding:12px 14px 14px;
}

/* Two full lines, never one line cut by «…»: Persian product names are
   long, and the weight at the end is what tells two products apart. The
   min-height keeps every price in a row on one baseline. */
.product-card__title{
  margin:0;
  font-size:15px; font-weight:700; line-height:1.75;
  min-height:calc(1.75em * 2);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-card__title a{ color:var(--color-text-primary); text-decoration:none; }
/* The whole card is the link; the add button sits above it. */
.product-card__title a::after{ content:""; position:absolute; inset:0; z-index:1; }
.product-card:hover .product-card__title a{ color:var(--color-brand); }
.product-card__title a:focus-visible{ outline:none; }
.product-card:has(.product-card__title a:focus-visible){ outline:2px solid var(--color-brand); outline-offset:2px; }

.product-card__rating{
  display:flex; align-items:center; gap:4px;
  min-height:24px; margin:0;
  font-size:13px; line-height:1.6; color:var(--color-text-muted);
}
.product-card__rating svg{ flex:none; width:15px; height:15px; fill:var(--color-accent); }
.product-card__rating b{ font-weight:700; color:var(--color-text-primary); }

.product-card__foot{
  display:flex; align-items:flex-end; justify-content:space-between; gap:10px;
  margin-top:auto; padding-top:8px;
}
.product-card__price{ display:flex; flex-direction:column; gap:2px; min-width:0; line-height:1.6; }
.product-card__was{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--color-text-muted); }
.product-card__was del{ text-decoration:line-through; }
.product-card__off{
  padding:0 7px; border-radius:99px;
  background:var(--color-danger); color:#fff;
  font-size:12px; font-weight:800; line-height:20px;
}
.product-card__now{ display:flex; align-items:baseline; gap:5px; white-space:nowrap; color:var(--color-text-primary); }
.product-card__now b{ font-size:17px; font-weight:800; }
.product-card__now small{ font-size:12.5px; font-weight:500; color:var(--color-text-secondary); }
.product-card__soldout{ font-size:14px; font-weight:700; color:var(--color-text-muted); }

.product-card__add{
  position:relative; z-index:2; flex:none;
  display:grid; place-items:center;
  width:42px; height:42px; padding:0;
  border:0; border-radius:var(--radius-sm);
  background:var(--color-action-primary); color:var(--color-text-inverse);
  cursor:pointer;
  transition:background var(--transition);
}
.product-card__add svg{ width:19px; height:19px; }
.product-card__add:hover{ background:var(--color-action-primary-hover); color:var(--color-text-inverse); }
.product-card__add--link{ background:var(--color-brand-soft); color:var(--color-brand); }
.product-card__add--link:hover{ background:var(--color-brand-muted); color:var(--color-brand-deep); }
.product-card__add.is-busy{ opacity:.6; cursor:progress; }
.product-card__add.is-added{ background:var(--color-brand-deep); }
@media (pointer:coarse){ .product-card__add{ width:44px; height:44px; } }

/* ═══ 3. PRODUCT GRID ═════════════════════════════════════════════ */
.products-grid{
  display:grid; gap:16px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin:0;
}
.products-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.products-grid--2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }

@media (max-width:1100px){
  .products-grid, .products-grid--4{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:820px){
  .products-grid, .products-grid--3, .products-grid--4{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
}
@media (max-width:560px){
  /* Two tiles across a phone: tighter padding, same type sizes. */
  .product-card__body{ padding:10px 10px 12px; }
  .product-card__title{ font-size:14px; }
  .product-card__now b{ font-size:16px; }
  .product-card__flag{ top:8px; inset-inline-start:8px; }
}

/* Listing pages (category, search): on a phone each product is one row —
   picture beside the text — so a name gets the full width and five
   products fit a screen instead of two and a half. */
@media (max-width:640px){
  .products-grid--rows{
    grid-template-columns:minmax(0, 1fr);
    gap:0;
    border:1px solid var(--color-border); border-radius:var(--radius-md);
    background:var(--color-surface);
    overflow:hidden;
  }
  .products-grid--rows .product-card{
    flex-direction:row; align-items:stretch; gap:12px;
    padding:12px;
    border:0; border-radius:0; border-bottom:1px solid var(--color-border-light);
    box-shadow:none;
  }
  .products-grid--rows .product-card:last-child{ border-bottom:0; }
  .products-grid--rows .product-card__media{ width:108px; height:108px; aspect-ratio:auto; border-radius:8px; }
  .products-grid--rows .product-card__body{ padding:0; gap:2px; }
  .products-grid--rows .product-card__title{ min-height:0; font-size:14.5px; }
  .products-grid--rows .product-card__rating{ min-height:0; }
  .products-grid--rows .product-card__rating:empty{ display:none; }
  .products-grid--rows .product-card__flag{ top:6px; inset-inline-start:6px; padding:0 8px; font-size:11.5px; }
  .products-grid--rows .product-card:has(.product-card__title a:focus-visible){ outline-offset:-2px; }
}

/* ═══ 4. PRODUCT RAIL ═════════════════════════════════════════════
   One row that scrolls sideways. A whole number of cards fits on desktop
   (4, then 3); on phones a slice of the next card shows that there is
   more to swipe to. */
.products-carousel-wrap{ position:relative; }
.products-carousel{
  --rail-gap:16px; --rail-cols:4;
  display:flex; gap:var(--rail-gap);
  margin:0; padding:2px 0 6px;
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scrollbar-width:none;
}
.products-carousel::-webkit-scrollbar{ display:none; }
.products-carousel > .product-card{
  flex:0 0 calc((100% - (var(--rail-cols) - 1) * var(--rail-gap)) / var(--rail-cols));
  scroll-snap-align:start;
}
.carousel-prev,.carousel-next{
  position:absolute; top:calc(50% - 22px); z-index:3;
  display:grid; place-items:center;
  width:44px; height:44px; padding:0;
  border:1px solid var(--color-border); border-radius:50%;
  background:var(--color-surface); color:var(--color-text-primary);
  box-shadow:0 4px 14px rgba(20,45,37,.12);
  cursor:pointer;
  transition:background var(--transition), color var(--transition), opacity var(--transition);
}
.carousel-prev{ inset-inline-start:-14px; }
.carousel-next{ inset-inline-end:-14px; }
.carousel-prev svg,.carousel-next svg{ width:18px; height:18px; }
.carousel-prev:hover,.carousel-next:hover{ background:var(--color-brand); color:var(--color-text-inverse); border-color:var(--color-brand); }
.carousel-prev[disabled],.carousel-next[disabled]{ opacity:0; pointer-events:none; }
.products-carousel-wrap.is-static .carousel-prev,
.products-carousel-wrap.is-static .carousel-next{ display:none; }

@media (max-width:1100px){ .products-carousel{ --rail-cols:3; } }
@media (max-width:820px){
  .products-carousel{
    --rail-gap:12px;
    margin-inline:calc(var(--container-gutter, 16px) * -1);
    padding-inline:var(--container-gutter, 16px);
    scroll-padding-inline:var(--container-gutter, 16px);
  }
  .products-carousel > .product-card{ flex-basis:min(44%, 220px); }
  /* Touch screens swipe; arrows would only cover the cards. */
  .carousel-prev,.carousel-next{ display:none; }
}
@media (max-width:420px){ .products-carousel > .product-card{ flex-basis:46%; } }

/* Compact rail (v1.14) — suggestions, not the listing: under a product
   («از همین دسته», «از دسته‌های دیگر», «پرفروش‌ترین‌ها») and «بازدیدهای
   اخیر شما». Six cards across a desktop instead of four, about a third
   less tall; the same card, with its text one step down the scale (13.5 /
   15px — nothing under the theme's 12px floor) and a 36px add button
   (40px on touch screens). */
.products-carousel--compact{ --rail-cols:6; --rail-gap:12px; }
.products-carousel--compact .product-card{ border-radius:var(--radius-sm, 10px); }
.products-carousel--compact .product-card__body{ gap:2px; padding:10px 10px 12px; }
.products-carousel--compact .product-card__title{ font-size:13.5px; line-height:1.7; min-height:calc(1.7em * 2); }
.products-carousel--compact .product-card__rating{ min-height:20px; font-size:12px; }
.products-carousel--compact .product-card__rating svg{ width:13px; height:13px; }
.products-carousel--compact .product-card__foot{ gap:6px; padding-top:6px; }
.products-carousel--compact .product-card__was{ gap:4px; font-size:12px; }
.products-carousel--compact .product-card__off{ padding:0 6px; line-height:18px; }
.products-carousel--compact .product-card__now{ gap:4px; }
.products-carousel--compact .product-card__now b{ font-size:15px; }
.products-carousel--compact .product-card__now small{ font-size:12px; }
.products-carousel--compact .product-card__soldout{ font-size:13px; }
.products-carousel--compact .product-card__flag{ top:8px; inset-inline-start:8px; padding:0 8px; }
.products-carousel--compact .product-card__add{ width:36px; height:36px; }
.products-carousel--compact .product-card__add svg{ width:17px; height:17px; }
@media (pointer:coarse){ .products-carousel--compact .product-card__add{ width:40px; height:40px; } }
@media (max-width:1240px){ .products-carousel--compact{ --rail-cols:5; } }
@media (max-width:1000px){ .products-carousel--compact{ --rail-cols:4; } }
@media (max-width:820px){
  .products-carousel--compact > .product-card{ flex-basis:min(42%, 176px); }
  /* 144px of text room: a seven-digit price, «تومان» and the button on one line. */
  .products-carousel--compact .product-card__now b{ font-size:14px; }
  .products-carousel--compact .product-card__add{ width:36px; height:36px; }
}
@media (max-width:420px){ .products-carousel--compact > .product-card{ flex-basis:43%; } }

/* Arrival (v1.14) — the first time a rail is scrolled into view its cards
   come up one after another, 55ms apart. main.js adds .is-reveal just
   before it starts watching and removes it when the row has settled, so
   without JavaScript — or with «reduce motion» — the cards are simply
   there. The row never moves by itself: only the arrows and the visitor's
   own swipe move it. */
@media screen and (prefers-reduced-motion:no-preference){
  .products-carousel-wrap.is-reveal .product-card{ opacity:0; transform:translateY(14px); }
  .products-carousel-wrap.is-reveal.is-in .product-card{
    opacity:1; transform:none;
    transition:opacity .42s cubic-bezier(.22,.61,.36,1), transform .42s cubic-bezier(.22,.61,.36,1);
    transition-delay:calc(var(--i, 0) * 55ms);
  }
}

/* «بازدیدهای اخیر شما» */
.yr-recent[hidden]{ display:none; }
.yr-recent__clear{
  padding:6px 0; border:0; background:none; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:600; color:var(--color-text-secondary);
}
.yr-recent__clear:hover{ color:var(--color-brand); text-decoration:underline; text-underline-offset:4px; }

/* ═══ 5. BREADCRUMB · PAGINATION ══════════════════════════════════ */
.breadcrumb{ padding:14px 0 0; background:none; border:0; }
.breadcrumb-list{
  display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px;
  margin:0; padding:0; list-style:none;
  font-size:13px; color:var(--color-text-muted);
}
.breadcrumb-list a{ color:var(--color-text-secondary); text-decoration:none; }
.breadcrumb-list a:hover{ color:var(--color-brand); text-decoration:underline; text-underline-offset:4px; }
.breadcrumb-list .sep{ color:var(--color-border-strong); }
.breadcrumb-list .current{ color:var(--color-text-primary); font-weight:600; }

.yr-pagination{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:28px 0 0; }
.yr-pagination .page-numbers,
.yr-pagination > a,
.yr-pagination > span{
  display:grid; place-items:center;
  min-width:44px; height:44px; padding:0 12px;
  border:1px solid var(--color-border); border-radius:var(--radius-sm);
  background:var(--color-surface); color:var(--color-text-primary);
  font-size:15px; font-weight:700; text-decoration:none;
}
.yr-pagination a:hover{ border-color:var(--color-brand); color:var(--color-brand); }
.yr-pagination .current{ border-color:var(--color-brand); background:var(--color-brand); color:var(--color-text-inverse); }

/* ═══ 6. FOOTER ═══════════════════════════════════════════════════ */
.site-footer{
  margin-top:56px; padding:40px 0 20px;
  border-top:1px solid var(--color-border);
  background:var(--color-surface-soft);
  color:var(--color-text-secondary);
}
.footer-grid{
  display:grid; grid-template-columns:1.5fr repeat(3, minmax(0, 1fr)); gap:32px;
  padding:0; border:0;
}
.footer-brand__name{ display:block; font-size:22px; font-weight:800; line-height:1.4; color:var(--color-brand); }
.footer-brand__sub{ display:block; margin-top:2px; font-size:11px; font-weight:600; color:var(--color-text-muted); direction:ltr; text-align:right; }
.footer-brand p{ max-width:30em; margin:12px 0 0; font-size:14px; line-height:1.9; color:var(--color-text-secondary); }
.footer-col__title,
.footer-col h3,
.footer-col h4{ margin:0 0 12px; font-size:15px; font-weight:800; line-height:1.6; color:var(--color-text-primary); }
.footer-col ul{ display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.footer-col a,
.footer-col li > span{ display:inline-block; padding:5px 0; font-size:14px; line-height:1.7; color:var(--color-text-secondary); text-decoration:none; }
.footer-col a:hover{ color:var(--color-brand); text-decoration:underline; text-underline-offset:4px; }
.footer-col__phone{ direction:ltr; unicode-bidi:isolate; font-weight:700; color:var(--color-text-primary) !important; }
.footer-social{ display:flex; gap:8px; margin-top:16px; }
.footer-social a{
  display:grid; place-items:center; width:44px; height:44px;
  border:1px solid var(--color-border-strong); border-radius:var(--radius-sm);
  background:var(--color-surface); color:var(--color-text-secondary);
}
.footer-social a svg{ width:20px; height:20px; }
.footer-social a:hover{ border-color:var(--color-brand); color:var(--color-brand); }
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px;
  margin-top:32px; padding-top:16px;
  border-top:1px solid var(--color-border);
  font-size:13px; color:var(--color-text-muted);
}
@media (max-width:860px){
  .footer-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 20px; }
  .footer-brand{ grid-column:1 / -1; }
}
@media (max-width:420px){
  .site-footer{ margin-top:40px; padding-top:32px; }
}

/* ═══ Generic page (index.php): about, contact, guide, account… ═══ */
.yr-page{ min-height:55vh; padding-block:24px 8px; overflow:visible; }
.yr-page__title{ margin:0 0 20px; font-size:clamp(24px, 3vw, 32px); font-weight:800; line-height:1.45; color:var(--color-text-primary); }
.yr-page__content{ font-size:15.5px; line-height:2.05; color:var(--color-text-secondary); }
.yr-page__content > :first-child{ margin-top:0; }
.yr-page:not(:has(.woocommerce)) .yr-page__content{ max-width:72ch; }
.yr-page__content h2{ margin:1.5em 0 .5em; font-size:20px; font-weight:800; line-height:1.7; color:var(--color-text-primary); }
.yr-page__content h3{ margin:1.3em 0 .4em; font-size:17px; font-weight:800; line-height:1.7; color:var(--color-text-primary); }
.yr-page__content p{ margin:0 0 1em; font-size:inherit; line-height:inherit; color:inherit; }
.yr-page__content ul{ margin:0 0 1em; padding-inline-start:1.4em; list-style:disc; }
.yr-page__content ol{ margin:0 0 1em; padding-inline-start:1.4em; list-style:decimal; }
.yr-page__content a{ color:var(--color-brand); text-decoration:underline; text-underline-offset:4px; }
.yr-page .woocommerce ul{ padding:0; list-style:none; }
.yr-page .woocommerce a{ text-decoration:none; }

/* ═══ 7. MY ACCOUNT (v1.12) ═══════════════════════════════════════
   Refinements on top of the account block in style.css: the «پیشخوان»
   that used to be an empty panel, readable sizes, Persian-digit totals. */
.woocommerce-account .woocommerce{ display:block; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }
.yr-account-wrap{ grid-template-columns:272px minmax(0, 1fr); gap:24px; padding:8px 0 24px; }
.yr-account-sidebar{ border-radius:var(--radius-md); top:calc(var(--header-height, 78px) + var(--nav-height, 46px) + 12px); }
.yr-account-content{ min-width:0; min-height:0; padding:24px; border-radius:var(--radius-md); }
.yr-account-nav-item{ min-height:46px; font-size:14.5px; }
.yr-account-stat-label{ font-size:12.5px; color:var(--color-text-muted); }
.yr-account-stat-num{ font-size:17px; white-space:nowrap; }

.yr-dashboard-title{ margin:0 0 4px; font-size:22px; font-weight:800; line-height:1.6; color:var(--color-text-primary); }
.yr-dashboard-sub{ margin:0 0 20px; font-size:14.5px; color:var(--color-text-secondary); }
.yr-dash-section{ margin-top:28px; }
.yr-dash-section-header{ align-items:baseline; margin-bottom:12px; padding-bottom:10px; }
.yr-dash-section-header h3{ margin:0; font-size:16.5px; font-weight:800; }
.yr-dash-section-header a{ font-size:14px; font-weight:700; }
.yr-dash-section-header a:hover{ text-decoration:underline; text-underline-offset:4px; }

.yr-dash-alert{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px;
  padding:14px 16px;
  border:1px solid #f0d9a8; border-radius:var(--radius-md); background:#fff8e8;
}
.yr-dash-alert p{ margin:0; font-size:14.5px; line-height:1.9; color:#5c4410; }
.yr-dash-alert strong{ color:#3d2c06; }

.yr-dash-orders{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.yr-dash-order{ margin:0; }
.yr-dash-order__link{
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr) auto minmax(0, 1fr) auto; align-items:center; gap:8px 16px;
  padding:14px 16px;
  border:1px solid var(--color-border); border-radius:var(--radius-sm);
  color:var(--color-text-primary); text-decoration:none;
  transition:border-color var(--transition);
}
.yr-dash-order__link:hover{ border-color:var(--color-brand); }
.yr-dash-order__id{ font-size:15px; font-weight:800; }
.yr-dash-order__date{ font-size:13.5px; color:var(--color-text-muted); }
.yr-dash-order__total{ font-size:14.5px; font-weight:700; text-align:end; white-space:nowrap; }
.yr-dash-order__go{ font-size:14px; font-weight:700; color:var(--color-brand); }
.yr-order-badge{ font-size:12.5px; white-space:nowrap; }

.yr-dash-links{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.yr-dash-links a{
  display:flex; flex-direction:column; gap:2px; height:100%;
  padding:14px 16px;
  border:1px solid var(--color-border); border-radius:var(--radius-sm);
  text-decoration:none;
  transition:border-color var(--transition);
}
.yr-dash-links a:hover{ border-color:var(--color-brand); }
.yr-dash-links strong{ font-size:15px; font-weight:800; color:var(--color-text-primary); }
.yr-dash-links span{ font-size:13.5px; line-height:1.8; color:var(--color-text-secondary); }

.yr-page-header{ border-bottom:1px solid var(--color-border); }
.yr-page-header h2{ margin:0; font-size:19px; font-weight:800; }
.yr-page-count{ font-size:13.5px; color:var(--color-text-muted); }
.yr-orders-table-head{ font-size:13px; color:var(--color-text-secondary); }
.yr-orders-table-row{ font-size:14px; }
.yr-td-date{ font-size:13.5px; }
.yr-btn-sm{ display:inline-flex; align-items:center; min-height:40px; font-size:14px; }
.yr-empty-state p{ font-size:15px; }

@media (max-width:768px){
  .yr-account-wrap{ grid-template-columns:minmax(0, 1fr); gap:16px; }
  .yr-account-sidebar{ position:static; }
  .yr-account-content{ padding:18px 16px; }
}
@media (max-width:640px){
  .yr-dash-order__link{ grid-template-columns:minmax(0, 1fr) auto; }
  .yr-dash-order__date{ text-align:end; }
  .yr-dash-order__total{ text-align:start; }
  .yr-dash-order__go{ grid-column:1 / -1; }
  .yr-dash-links{ grid-template-columns:minmax(0, 1fr); }
}

@media (prefers-reduced-motion:reduce){
  .product-card,.product-card__add,.carousel-prev,.carousel-next{ transition:none; }
  .products-carousel{ scroll-behavior:auto; }
}

/* ═══ Magazine article → shop (v1.14) ═══ */
.yr-single-post__shop{ margin-block:32px 40px; }
.yr-single-post__thumb{ margin-block:16px 20px; }
