/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4.
   Component scope: existing Aleksiev blue/gold, Inter/Montserrat, unchanged page structure.
   Glass belongs to controls; merchandise stays on opaque, readable surfaces. */
:root {
  --ui-paper: #fff;
  --ui-ink: var(--clr-primary);
  --ui-muted: #526174;
  --ui-rule: #d7e0e8;
  --ui-focus: #005eb8;
  --ui-success: #14783b;
  --ui-error: #b42318;
  --ui-clear: transparent;
  --ui-glass: rgba(255,255,255,.86);
  --ui-glint: rgba(255,255,255,.28);
  --ui-edge: rgba(255,255,255,.58);
  --ui-shadow: rgba(10,46,92,.13);
  --ui-shadow-hover: rgba(10,46,92,.23);
  --ui-font-heading: Montserrat, sans-serif;
  --ui-radius: 8px;
  --ui-ease: cubic-bezier(.2,.7,.25,1);
}

/* The original bitmap is a deployment asset, not a CSS-generated replacement. */
.home-hero-bg { background-image:url('/images/hero-bg.png'); }
.site-nav-brand img, .hero-catalog-btn, .checkout-cta,
.hero-catalog-btn::after, .checkout-cta::after { animation:none; }
.hero-catalog-btn::after, .checkout-cta::after { display:none; }

:is(.nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.hero-register-btn,
    .btn-cart-add,.checkout-cta,.continue-shopping-btn,.cart-back-btn,.back-to-catalog,
    .mob-hero-btn,.mob-partner-btn,.product-add-button,.rail-button) {
  position:relative;
  background-image:linear-gradient(160deg,var(--ui-glint),var(--ui-clear) 60%);
  box-shadow:inset 0 1px 0 var(--ui-edge),inset 0 0 0 1px var(--ui-glint),0 4px 10px var(--ui-shadow);
  border-radius:var(--ui-radius);
  cursor:pointer;
  transition:transform .2s var(--ui-ease),box-shadow .2s var(--ui-ease),background-color .2s;
  -webkit-tap-highlight-color:var(--ui-clear);
}
.hero-catalog-btn,.checkout-cta { background-color:var(--clr-accent);color:var(--clr-accent-on); }
@supports (background-color:color-mix(in srgb, white 90%, transparent)) {
  .nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.checkout-cta,.mob-hero-btn {
    background-color:color-mix(in srgb,var(--clr-accent) 90%,var(--ui-clear));
    -webkit-backdrop-filter:blur(12px) saturate(125%);
    backdrop-filter:blur(12px) saturate(125%);
  }
}
.hero-register-btn,.continue-shopping-btn,.rail-button {
  background-color:var(--ui-glass);
  color:var(--ui-ink);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  backdrop-filter:blur(12px) saturate(125%);
}
.product-add-button {
  background-color:var(--clr-accent);
  color:var(--clr-accent-on);
  border:0;
  padding:12px 20px;
  font:800 14px/1.4 var(--ui-font-heading);
  min-height:48px;
  max-width:100%;
}
.nvl { transition:background-color .2s,box-shadow .2s; }
.nvl:focus-visible,.site-nav :is(button,a):focus-visible {
  outline:3px solid var(--ui-paper);outline-offset:3px;
}
:is(.hero-catalog-btn,.hero-register-btn,.btn-cart-add,.checkout-cta,
 .continue-shopping-btn,.cart-back-btn,.back-to-catalog,.mob-hero-btn,.mob-partner-btn,
 .product-add-button,.rail-button,.product-discovery-card,.product-discovery-grid):focus-visible {
  outline:3px solid var(--ui-focus);outline-offset:3px;
}
@media (hover:hover) and (pointer:fine) {
  :is(.nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.hero-register-btn,
      .btn-cart-add,.checkout-cta,.continue-shopping-btn,.cart-back-btn,.back-to-catalog,
      .mob-hero-btn,.mob-partner-btn,.product-add-button,.rail-button):not(:disabled):not([aria-disabled="true"]):hover {
    transform:translateY(-3px);
    box-shadow:inset 0 1px 0 var(--ui-edge),inset 0 0 0 1px var(--ui-edge),0 10px 20px var(--ui-shadow-hover);
  }
  .nvl:hover { box-shadow:inset 0 -2px 0 var(--clr-accent); }
  .product-discovery-card:hover { transform:translateY(-3px);border-color:var(--ui-focus);box-shadow:0 8px 16px var(--ui-shadow); }
}
:is(.nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.hero-register-btn,
    .btn-cart-add,.checkout-cta,.continue-shopping-btn,.cart-back-btn,.back-to-catalog,
    .mob-hero-btn,.mob-partner-btn,.product-add-button,.rail-button):not(:disabled):active {
  transform:translateY(1px);box-shadow:inset 0 2px 5px var(--ui-shadow);
}
:is(.btn-cart-add,.product-add-button,.rail-button):disabled,
:is(.btn-cart-add,.product-add-button,.rail-button)[aria-disabled="true"] {
  opacity:.55;cursor:not-allowed;transform:none;
}
:is(.btn-cart-add,.product-add-button)[aria-busy="true"] { cursor:progress; }
:is(.btn-cart-add,.product-add-button)[aria-invalid="true"] { outline:2px solid var(--ui-error); }
.btn-cart-add.is-added { background-color:var(--ui-success);color:var(--ui-paper); }

.product-discovery { margin-top:32px;min-width:0; }
.product-discovery-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px; }
.product-discovery h2 { font:700 18px/1.4 var(--ui-font-heading);color:var(--ui-ink);letter-spacing:0;min-width:0;overflow-wrap:anywhere;margin:0; }
.product-rail-shell { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px; }
.product-rail-controls { display:contents; }
.product-rail-controls [data-rail-prev] { grid-column:1;grid-row:1; }
.product-rail-controls [data-rail-next] { grid-column:3;grid-row:1; }
.product-rail-shell > .product-discovery-grid { grid-column:2;grid-row:1;min-width:0; }
.product-rail-controls[hidden],.rail-button[hidden] { display:none; }
.rail-button { width:44px;height:44px;flex:0 0 44px;border:1px solid var(--ui-rule);font-size:24px;line-height:1;display:grid;place-items:center; }
.product-discovery-grid {
  display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:4px;
  padding:8px 4px 16px;scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;position:relative;
}
.product-discovery-card {
  flex:0 0 calc((100% - 48px)/4);min-width:0;display:flex;flex-direction:column;
  background:var(--ui-paper);color:var(--ui-ink);border:1px solid var(--ui-rule);
  border-radius:var(--ui-radius);overflow:hidden;text-decoration:none;scroll-snap-align:start;
  transition:transform .2s var(--ui-ease),box-shadow .2s,border-color .2s;
}
.product-discovery-card:focus-visible { outline-offset:-3px; }

/* Keep the home closing section and footer compact without shrinking body copy. */
/* Auto margin fills short pages above the footer; the mobile inset matches the fixed nav. */
.storefront-page { display:flex;flex-direction:column;min-height:100vh;min-height:100dvh; }
.storefront-page > * { flex-shrink:0; }
.storefront-page > main { width:100%; }
.storefront-page > .site-footer { margin-top:auto; }
@media(max-width:900px) {
  .storefront-page { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
}
.site-footer .footer-grid { max-width:none;grid-template-columns:minmax(0,1fr) auto; }
.site-footer .footer-contacts { grid-column:1/-1;min-width:0; }
.footer-contact-list { display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;font-size:14px; }
.footer-contact-item { display:inline-flex;align-items:baseline;gap:8px;max-width:100%;min-width:0; }
.footer-contact-icon { flex:0 0 18px;width:18px;text-align:center; }
.footer-contact-item > span:last-child { min-width:0;overflow-wrap:anywhere; }
@media(min-width:761px) {
  .home-about {
    grid-template-columns:minmax(0,1fr) minmax(300px,420px);
    gap:32px;padding:16px 5%;
  }
  .home-about::before { background-image:none; }
  .home-about h2 { font-size:26px;line-height:1.2;margin-bottom:10px; }
  .home-about p { font-size:14px;line-height:1.5; }
  .home-about-actions { margin-top:12px;gap:10px; }
  .home-about-primary,.home-about-secondary { padding:10px 16px;font-size:13px;min-height:42px; }
  .home-contact { padding:14px 16px;gap:8px 12px;box-shadow:none;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-contact strong { font-size:13px;grid-column:1/-1; }
  .home-contact span { font-size:13px;overflow-wrap:anywhere; }
  .site-footer-home .footer-grid {
    max-width:none;grid-template-columns:minmax(0,1fr) auto;
    align-items:center;gap:24px;margin-bottom:10px;
  }
  .site-footer-home { padding-top:8px!important;padding-bottom:6px!important; }
  .site-footer-home .footer-brand { display:flex;align-items:center;gap:12px;min-width:0; }
  .site-footer-home .footer-brand img { flex-shrink:0;margin-bottom:0!important; }
  .site-footer-home .footer-brand p { max-width:600px!important;line-height:1.45!important; }
  .site-footer-home .footer-navigation > div { flex-direction:row!important;flex-wrap:wrap;gap:8px 18px!important; }
  .site-footer-home .footer-navigation a { display:inline-flex;align-items:center;min-height:28px; }
  .site-footer-home .footer-navigation h4 { margin-bottom:2px!important;letter-spacing:0!important; }
  .site-footer-home a:focus-visible { outline:2px solid var(--ui-paper);outline-offset:3px; }
}
@media(min-width:761px) and (max-width:1000px) {
  .home-about { gap:20px;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr); }
  .home-contact { grid-template-columns:minmax(0,1fr); }
  .site-footer-home .footer-grid { grid-template-columns:minmax(0,1fr) minmax(240px,1fr); }
}
@media(min-width:901px) { .site-footer-home .footer-contacts { display:none; } }
@media(min-width:761px) and (max-width:900px) {
  .site-footer-home .footer-contacts { grid-column:1/-1; }
}
.product-discovery-image { display:flex;align-items:center;justify-content:center;aspect-ratio:1.2;background:var(--ui-paper);overflow:hidden; }
.product-discovery-image img { display:block;width:100%;height:100%;object-fit:contain; }
.product-discovery-info { display:flex;flex-direction:column;gap:8px;padding:14px;flex:1;overflow-wrap:anywhere; }
.product-discovery-name { font-size:14px;line-height:1.45; }
.product-discovery-stock { font-size:12px;color:var(--ui-success); }
.product-discovery-stock.is-unavailable { color:var(--ui-muted); }
.product-discovery-price { font-size:18px;font-weight:800;color:var(--ui-focus);margin-top:auto; }
.product-discovery-price :is(small,del) { font-size:12px;font-weight:400;color:var(--ui-muted); }
.rail-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:900px) { .product-discovery-card { flex-basis:calc((100% - 32px)/3); } }
@media(max-width:600px) {
  .product-discovery-heading { flex-wrap:wrap;gap:8px; }
  .product-discovery-heading h2 { flex:1 0 100%; }
  .product-discovery-grid { gap:12px; }
  .product-discovery-card { flex-basis:72%; }
  .product-discovery-info { padding:12px; }
  .product-add-button { font-size:13px;padding-inline:12px; }
}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  .nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.checkout-cta,.mob-hero-btn {
    background-color:var(--clr-accent);background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  }
  .hero-register-btn,.continue-shopping-btn,.rail-button {
    background-color:var(--ui-paper);background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  :is(.nav-register-btn,.nav-logout-form button,.hero-catalog-btn,.hero-register-btn,
      .btn-cart-add,.checkout-cta,.continue-shopping-btn,.cart-back-btn,.back-to-catalog,
      .mob-hero-btn,.mob-partner-btn,.product-add-button,.rail-button,.product-discovery-card) {
    transition:none;animation:none;transform:none!important;
  }
}
