/* Shared Store shell. Document flow is the sole vertical scroll owner. */
html:has(body[data-store-page]), body[data-store-page] { height: auto !important; min-height: 100%; overflow-y: auto !important; overflow-x: clip; }
/* K.PUBLIC.STORE owns the primary marketplace document flow. Hide only the
   browser rail for its root page; wheel, touch and keyboard scrolling remain
   native and Store category pages keep their independent presentation. */
html:has(body[data-store-page][data-route="store"]), body[data-store-page][data-route="store"] { scrollbar-width: none; scrollbar-gutter: auto; }
html:has(body[data-store-page][data-route="store"])::-webkit-scrollbar, body[data-store-page][data-route="store"]::-webkit-scrollbar { display: none; width: 0; height: 0; }
body[data-store-page] {
  --home-text: var(--text); --home-muted: var(--text-dim); --home-line: var(--line);
  --home-card: var(--panel); --home-link: var(--rgbm-navigation); --home-action: var(--rgbm-action); --home-guard: var(--rgbm-guard);
}
body[data-store-page] > .wrap { width: 100%; max-width: 1680px; padding-inline: clamp(14px, 2.5vw, 36px); margin-inline: auto; height: auto !important; min-height: 0; overflow: visible !important; }
body[data-store-page] main.content-field { display: block !important; position: relative; width: 100%; height: auto !important; min-height: 0; max-height: none !important; overflow: visible !important; padding: 0; }
body[data-store-page] .route-context { position: relative; height: auto; flex-wrap: wrap; }
body[data-store-page] footer.product-footer { position: relative !important; inset: auto !important; height: auto !important; max-height: none !important; overflow: visible !important; }
body[data-store-page] :is(.store-page,.store-main,.store-section,.store-category-content) { min-width: 0; max-width: 100%; }
body[data-store-page] :is(h1,h2,h3,h4,p,a,code,dd) { overflow-wrap: anywhere; }
body[data-store-page] .store-coordinate { display: block; color: var(--text-dim); font: .66rem/1.5 var(--font-mono, monospace); margin-bottom: 8px; }
body[data-store-page] .store-kicker { color: var(--rgbm-navigation); margin: 0 0 8px; }
body[data-store-page] .store-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; }
body[data-store-page] .store-hero-pills span { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; }
body[data-store-page] .store-hero-stats, body[data-store-page] .store-hero-stats div { display: grid; }
body[data-store-page] .store-collection-card { display: grid; gap: 8px; position: relative; text-decoration: none; color: var(--text); }
body[data-store-page] .store-collection-card small { color: var(--text-dim); line-height: 1.6; }
body[data-store-page] .store-collection-arrow { position: absolute; right: 12px; top: 12px; color: var(--rgbm-navigation); }
body[data-store-page] .store-product-card, body[data-store-page] .store-service-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
body[data-store-page] .store-service-card { padding: 20px; border: 1px solid var(--line); background: var(--panel); }
body[data-store-page] .store-card-foot, body[data-store-page] .store-product-type-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
body[data-store-page] .store-product-link { display: inline-flex; gap: 8px; align-items: center; text-decoration: none; color: var(--rgbm-action); }
body[data-store-page] .store-rail-note { display: grid; gap: 8px; margin-top: 20px; }
body[data-store-page] .store-main { display: grid; gap: 24px; }
body[data-store-page] .store-section-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: end; margin-bottom: 24px; }
body[data-store-page] .store-section-summary { color: var(--text-dim); margin: 0; }
body[data-store-page] .store-section { padding: clamp(16px, 2.5vw, 28px); border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
body[data-store-page] .store-card-art { position: relative; display: grid; place-items: center; }
body[data-store-page] .store-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body[data-store-page] .store-product-card { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
body[data-store-page] .store-card-art { height: 82px; border-radius: 8px; background: color-mix(in srgb, var(--rgbm-navigation) 10%, transparent); }
body[data-store-page] .store-product-icon { font-size: 1.8rem; }
body[data-store-page] .store-card-category-badge { position: absolute; right: 8px; bottom: 8px; font-size: .7rem; }
body[data-store-page] .store-product-pricing { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; margin-top: auto; }
body[data-store-page] .store-price-copy { display: grid; gap: 8px; }
body[data-store-page] .store-price-quote { grid-column: 1 / -1; color: var(--text-dim); }
body[data-store-page] .store-product-levels { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
body[data-store-page] .store-toolbar { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; margin-bottom: 20px; }
body[data-store-page] .store-toolbar label { display: grid; gap: 8px; min-width: 0; }
body[data-store-page] .store-toolbar :is(input,select) { min-width: 0; width: 100%; padding: 10px; background: var(--bg); color: var(--text); border: 1px solid var(--line); border-radius: 8px; }
body[data-store-page] .store-product-meta, body[data-store-page] .services-offer-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
body[data-store-page] .store-product-code, body[data-store-page] .store-product-type, body[data-store-page] .services-offer-status { font-size: .75rem; color: var(--text-dim); }
body[data-store-page] .services-offers, body[data-store-page] .store-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body[data-store-page] .store-process-card { padding: 18px; border: 1px solid var(--line); border-radius: 10px; }
body[data-store-page] .store-process-number { font-size: 1.6rem; color: var(--rgbm-action); }
body[data-store-page] .store-service-foot { margin-top: auto; display: grid; gap: 12px; }
body[data-store-page] .store-handoff { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 24px; border: 1px solid var(--line); border-radius: 12px; }
body[data-store-page] .store-footer { padding-block: 24px; color: var(--text-dim); }
body[data-store-page] .store-footer-links { display: flex; gap: 12px; flex-wrap: wrap; }
body[data-store-page] [hidden] { display: none !important; }
body[data-store-page] :focus-visible { outline: 2px solid var(--rgbm-navigation); outline-offset: 4px; }
@media (max-width: 1100px) { body[data-store-page] .store-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { body[data-store-page] .store-section-header, body[data-store-page] .store-handoff { grid-template-columns: 1fr; } }
@media (max-width: 760px) { body[data-store-page] :is(.services-offers,.store-process-grid,.store-product-grid,.store-toolbar) { grid-template-columns: 1fr; } }
