/* Storefront refresh. Loaded after the shared legacy/admin stylesheet. */
body[data-page="store"] {
  --cj-orange: #ff5b2b;
  --cj-orange-2: #ff7545;
  --cj-panel-modern: #15191f;
  --cj-line-modern: #2c323b;
  --cj-shadow-modern: 0 10px 30px rgb(0 0 0 / 12%);
  background: #0e1116;
  color: #eef0f4;
  -webkit-font-smoothing: antialiased;
}
body[data-page="store"] [hidden] { display: none !important; }
body[data-page="store"] main { background: #0e1116; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body[data-page="store"] .site-topline { background: #0b0d11; border-color: #262b33; color: #acb4c0; font-size: 11px; }
body[data-page="store"] .topbar.cj-transparent-nav { background: #101318; border-bottom: 1px solid #2a2e36; box-shadow: none; backdrop-filter: none; }
body[data-page="store"] .brand strong { letter-spacing: -0.7px; }
body[data-page="store"] .main-nav a { font-size: 13px; font-weight: 600; }
body[data-page="store"] .primary-button { box-shadow: none; border-radius: 10px; }
body[data-page="store"] .ghost-button { background: #191e25; border-color: #343c47; border-radius: 10px; }
body[data-page="store"] .eyebrow { font-size: 11px; letter-spacing: 1.5px; }
body[data-page="store"] .eyebrow::before { animation: none; box-shadow: none; }
body[data-page="store"] .cj-company-dark { background: #0e1116; }
body[data-page="store"] .cj-company-row { width: min(1320px, calc(100% - 48px)); gap: 40px; margin-bottom: 36px; }
body[data-page="store"] .cj-company-row > div:not(.company-photo) { background: #15191f; border-color: #2a3039; border-radius: 16px; box-shadow: none; }
body[data-page="store"] .cj-company-row .company-photo { background-color: #101318; border-radius: 16px; box-shadow: none; }
body[data-page="store"] .cj-company-row h2 { font-size: clamp(22px, 2vw, 30px); line-height: 1.5; }
body[data-page="store"] .cj-company-row p, body[data-page="store"] .cj-company-row li { color: #b1bac8; line-height: 1.9; }
body[data-page="store"] .store-shell.cj-store-shell.catalog-only-shell { width: min(1560px, 100%); margin-inline: auto; padding: 36px 24px 64px; gap: 24px; grid-template-columns: 280px minmax(0, 1fr); }
body[data-page="store"] .filter-panel.cj-filter-panel,
body[data-page="store"] .catalog-panel.cj-catalog-panel,
body.cart-page .cart-page-panel { border-radius: 16px; border-color: #2c323b; background: #15191f; box-shadow: none; }
body[data-page="store"] .filter-panel.cj-filter-panel { position: static; max-height: none; overflow: visible; }
body[data-page="store"] .catalog-panel.cj-catalog-panel { padding: 24px; }
body[data-page="store"] .catalog-head h1, body.cart-page .cart-page-head h1 { font-size: clamp(26px, 2.8vw, 40px); line-height: 1.35; letter-spacing: -1px; }
body[data-page="store"] .catalog-only-shell .product-grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
body[data-page="store"] .product-card { grid-template-rows: auto 1fr; border-radius: 12px; background: #1c2129; border-color: #303743; box-shadow: none; }
body[data-page="store"] .product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #0003; }
body[data-page="store"] .product-media { position: relative; width: 100%; aspect-ratio: 1 / 1; background: #fff; height: auto; min-height: 0; }
body[data-page="store"] .product-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; object-fit: contain; }
body[data-page="store"] .product-media .product-fallback { position: absolute; inset: 0; }
body[data-page="store"] .product-card:hover .product-media img { transform: none; }
body[data-page="store"] .product-body { background: #1c2129; padding: 16px; gap: 10px; }
body[data-page="store"] .product-actions { grid-template-columns: 1fr; }
body[data-page="store"] .product-actions button { min-height: 40px; font-size: 12px; }
body[data-page="store"] .product-name { font-size: 14px; line-height: 1.65; }
body[data-page="store"] .product-code { color: #a9b4c4; }
body[data-page="store"] .product-segment-tabs button { border-radius: 9px; min-height: 40px; }
body[data-page="store"] .product-segment-tabs button.active { background: #ff5b2b; color: #fff; }
body[data-page="store"] .catalog-toolbar { border-color: #303743; background: #1b2028; }
body[data-page="store"] .sidebar-product-finder { border-radius: 12px; background: #1c222b; border-color: #343b46; }
body[data-page="store"] .mini-product-card { border-radius: 10px; }
body.cart-page .cart-page-shell { width: min(1200px, calc(100% - 40px)); padding-top: 36px; }
body.cart-page .cart-page-panel .cart-item { border-radius: 12px; background: #1c222b; border-color: #333b46; padding-right: 20px; }
body.cart-page .cart-page-panel .cart-line-price { color: #ff825c; }
body.cart-page .cart-page-panel .qty-actions .cart-quantity-input { border-radius: 6px; background: #101318; color: #fff; }
body[data-page="store"] :focus-visible { outline: 2px solid #ff895f; outline-offset: 3px; }
body[data-page="store"] .li-icon { width: 24px; height: 24px; object-fit: contain; }
body[data-page="store"] .cj-export-section p { color: #24130c; }
body[data-page="store"] .contact-form .primary-button { background: #ff652d; color: #201108; }
@media (max-width: 1100px) {
  body[data-page="store"] .store-shell.cj-store-shell.catalog-only-shell { grid-template-columns: 240px minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
  body[data-page="store"] .cj-company-row { width: calc(100% - 36px); gap: 16px; }
  body[data-page="store"] .store-shell.cj-store-shell.catalog-only-shell { grid-template-columns: minmax(0, 1fr); padding: 20px 14px 40px; }
  body[data-page="store"] .catalog-panel.cj-catalog-panel { padding: 16px; }
  body[data-page="store"] .catalog-only-shell .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body[data-page="store"] .product-name { font-size: 12px; }
  body[data-page="store"] .product-body { padding: 10px; }
  body.cart-page .cart-page-shell { width: calc(100% - 24px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body[data-page="store"] *, body[data-page="store"] *::before { animation: none !important; transition: none !important; }
  body[data-page="store"] .reveal { opacity: 1; transform: none; }
}
