/* Enqueued only outside Home, product, cart and checkout. Existing layouts retained. */
body.ss-theme:not(.home) main { font-family:var(--ss-sans); }
body.ss-theme:not(.home) main :is(h1,h2,h3,button,input,select,textarea) { font-family:var(--ss-sans); }
body.ss-theme:not(.home) :is(.ss-catalog-hero h1,.ss-editorial-banner h2) { font-family:var(--ss-sans); font-weight:600; }
body.ss-theme:not(.home) main h1 { overflow-wrap:anywhere; }
body.ss-theme:not(.home) main :focus-visible { outline:2px solid #a7374b; outline-offset:3px; }
body.ss-theme:not(.home) main :is(input,textarea)::placeholder { color:var(--ss-muted); opacity:1; }
body.ss-theme:not(.home) .ss-search-page__form input[type=search] { min-width:0; }
body.ss-theme:not(.home) .ss-search-page__form button { flex:0 0 56px; }
body.ss-theme:not(.home) :is(.ss-info-grid article,.ss-empty-state) { border:1px solid #242424; border-radius:8px; background:var(--ss-surface); }
body.ss-theme:not(.home) .ss-info-grid p { font-size:13px; color:var(--ss-muted); }
body.ss-theme:not(.home) .ss-faq summary { display:flex; justify-content:space-between; gap:16px; }
body.ss-theme:not(.home) .ss-faq summary::after { content:'+'; color:#c28792; }
body.ss-theme:not(.home) .ss-faq details[open] summary::after { content:'−'; }
body.ss-theme:not(.home) .ss-faq details p { color:var(--ss-muted); font-size:14px; }
body.ss-theme:not(.home) .ss-primary-btn { border-radius:6px; white-space:normal; height:auto; min-height:50px; padding-block:12px; }
body.ss-theme:not(.home) .ss-pagination .page-numbers { flex-wrap:wrap; }
body.ss-theme:not(.home) .ss-breadcrumb { overflow-wrap:anywhere; color:var(--ss-muted); }
body.ss-theme:not(.home) .ss-catalog-order select { max-width:100%; }
/* Listing templates can be rendered without Woo's body class. */
body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 20px; list-style:none; }
body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products::before,
body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products::after { display:none; }
body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products li.product { float:none; width:auto; margin:0; min-width:0; }
body.ss-theme:not(.home) main.ss-container > article { padding-block:36px; line-height:1.8; }
body.woocommerce-account .woocommerce-MyAccount-content { min-width:0; overflow-wrap:anywhere; }
body.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:24px; }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-left-color:var(--ss-wine); background:#191114; }
body.woocommerce-account :is(form.login,form.register,fieldset) { border:1px solid #333; border-radius:8px; padding:24px; }
body.woocommerce-account .woocommerce :is(button.button,a.button) { min-height:44px; padding:12px 20px; border:1px solid #942036; background:var(--ss-wine); color:var(--ss-white); }
body.woocommerce-account table.shop_table { display:block; overflow-x:auto; border-color:#333; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
body.woocommerce-account .woocommerce-LostPassword a { color:var(--ss-muted); }
@media(max-width:980px) {
  body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body.ss-theme:not(.home) :is(.ss-listing-page,.ss-search-page) ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
  body.woocommerce-account .woocommerce { width:100%; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:18px; }
}

/* Favorites hydration */
body.ss-theme .ss-favorites-page [data-ss-favorites-grid][hidden] { display:none !important; }
body.ss-theme .ss-favorites-page .ss-favorites-loading {
  list-style:none; min-height:420px; border-radius:10px; overflow:hidden;
  background:linear-gradient(100deg,#0d0d0d 20%,#151515 38%,#0d0d0d 56%);
  background-size:220% 100%; animation:ss-favorites-loading 1.15s ease-in-out infinite;
}
@keyframes ss-favorites-loading { to { background-position:-120% 0; } }
@media(prefers-reduced-motion:reduce){body.ss-theme .ss-favorites-page .ss-favorites-loading{animation:none}}
