/* One interaction language for the light storefront. No theme switch. */
#ozark-storefront {
  --sf-panel-ease: cubic-bezier(.22, 1, .36, 1);
  --sf-panel-duration: 180ms;
  --sf-tools-bottom: max(16px, calc(env(safe-area-inset-bottom) + 12px));
}

/* The lens follows existing links; it never intercepts a click. */
#ozark-storefront .site-header .nav { position: relative; isolation: isolate; }
#ozark-storefront .storefront-nav-lens { display: none; pointer-events: none; }
@media (min-width: 901px) {
  #ozark-storefront .storefront-nav-lens {
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: var(--nav-lens-width, 0px);
    height: var(--nav-lens-height, 0px);
    border: 1px solid var(--sf-edge);
    border-radius: 15px;
    background: linear-gradient(140deg, #fff, #dff3fc);
    box-shadow: inset 0 1px 0 #fff, 0 4px 12px rgba(8, 94, 128, .09);
    transform: translate(var(--nav-lens-x, 0px), var(--nav-lens-y, 0px));
    opacity: 0;
    transition: transform 420ms var(--sf-ease), width 420ms var(--sf-ease), height 420ms var(--sf-ease), opacity 140ms ease !important;
  }
  #ozark-storefront .nav[data-lens-visible="true"] .storefront-nav-lens { opacity: 1; }
  #ozark-storefront .nav[data-lens-visible="true"] .storefront-nav-link:is(:hover, :focus-visible, [aria-current="page"]) {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Compact resource pairs live beside the product, not in another banner. */
#ozark-storefront .product-resource-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}
#ozark-storefront .product-resource-links > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0 !important;
  padding: 10px 12px;
  border: 1px solid var(--sf-edge) !important;
  border-radius: 15px !important;
  color: #075e80 !important;
  background: var(--sf-glass) !important;
  box-shadow: inset 0 1px 0 #fff, 0 4px 12px rgba(8, 94, 128, .035) !important;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  text-decoration: none;
}
#ozark-storefront .product-resource-links > a > strong { font: inherit; white-space: normal; }
#ozark-storefront .product-resource-links .product-update-icon {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  color: #087ca7;
}
#ozark-storefront .product-resource-links svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#ozark-storefront .product-card-resources {
  position: relative;
  z-index: 7;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 8px;
}
#ozark-storefront .product-card-resources a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #075e80;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(8, 124, 167, .25);
  text-underline-offset: 4px;
}

/* Product essentials come first; all previous details remain accessible. */
#ozark-storefront .product-details-panel {
  top: 12px;
  right: 12px;
  width: min(560px, calc(100% - 24px));
  height: calc(100% - 24px);
  max-height: calc(100dvh - 24px);
  border: 1px solid var(--sf-edge) !important;
}
#ozark-storefront .product-details-header {
  flex-shrink: 0;
  min-height: 72px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--sf-edge);
  background: transparent !important;
}
#ozark-storefront .product-details-header h2 { font-size: 26px; line-height: 1.15; }
#ozark-storefront .product-details-eyebrow { font-size: 12px; }
#ozark-storefront .product-details-close { width: 44px; height: 44px; border-radius: 14px; }
#ozark-storefront .product-details-scroll { min-height: 0; padding-bottom: 18px; }
#ozark-storefront .product-details-intro {
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 20px 22px 12px;
  background: transparent !important;
  border: 0;
}
#ozark-storefront .product-details-art { width: 76px; height: 96px; border-radius: 16px; }
#ozark-storefront .product-details-art img { width: 70px; height: 88px; }
#ozark-storefront .product-details-category { display: block; margin-bottom: 12px; font-size: 12px; line-height: 1.5; }
#ozark-storefront .product-details-intro p { margin-top: 0; font-size: 16px; line-height: 1.55; }
#ozark-storefront .product-details-price-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 22px;
  padding: 14px 0;
  border-bottom: 1px solid var(--sf-edge);
}
#ozark-storefront .product-details-price-line > strong { color: #0a1b22; font-size: 28px; letter-spacing: -.03em; line-height: 1.2; }
#ozark-storefront .product-details-price-line > span { color: #425761; font-size: 13px; line-height: 1.55; }
#ozark-storefront .product-details-essentials { padding: 18px 22px 4px; border: 0; }
#ozark-storefront .product-details-essentials h3 { margin-bottom: 10px; font-size: 16px; }
#ozark-storefront .product-details-list { gap: 9px; }
#ozark-storefront .product-details-list li { font-size: 16px; line-height: 1.45; }
#ozark-storefront .product-details-resources { margin: 14px 22px; }
#ozark-storefront .product-details-fold {
  margin: 0 22px;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--sf-edge);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#ozark-storefront .product-details-fold > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 12px 0;
  color: #17333f;
  font-size: 14px;
  font-weight: 650;
  list-style: none;
  cursor: pointer;
}
#ozark-storefront .product-details-fold > summary::-webkit-details-marker { display: none; }
#ozark-storefront .product-details-fold > summary > span { font-size: 20px; font-weight: 400; transition: transform 180ms var(--sf-ease); }
#ozark-storefront .product-details-fold[open] > summary > span { transform: rotate(45deg); }
#ozark-storefront .product-details-fold-content { padding: 0 0 18px; }
#ozark-storefront .product-details-fold-content h3 { font-size: 16px; }
#ozark-storefront .product-details-facts { display: grid; grid-template-columns: 1fr; border: 0; margin: 0 0 12px; background: transparent; }
#ozark-storefront .product-details-facts > div { padding: 8px 0; border: 0; background: transparent !important; }
#ozark-storefront .product-details-facts span { font-size: 12px; }
#ozark-storefront .product-details-facts strong { overflow: visible; white-space: normal; font-size: 14px; }
#ozark-storefront .product-details-steps strong { font-size: 16px; line-height: 1.5; }
#ozark-storefront .product-details-zen-ready { margin-top: 16px; }
#ozark-storefront .product-details-footer {
  display: block;
  padding: 16px 22px;
  background: var(--sf-glass-solid) !important;
  box-shadow: 0 -8px 24px rgba(8, 94, 128, .04) !important;
}
#ozark-storefront .product-details-purchase-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#ozark-storefront :is(.product-details-buy, .product-details-full) { min-width: 0; min-height: 48px; padding-inline: 12px; font-size: 14px; border-radius: 15px; }
#ozark-storefront .product-details-checkout-note { margin-top: 12px; }
#ozark-storefront .product-details-checkout-note p { margin: 4px 0 0; font-size: 13px; line-height: 1.45; }

/* Help and Cart are adjacent, compact controls. Existing buttons and handlers stay. */
#ozark-storefront.storefront-refined { padding-bottom: 80px; }
#ozark-storefront.storefront-refined .store-cart,
#ozark-storefront.storefront-refined .store-cart.is-open {
  right: max(16px, env(safe-area-inset-right));
  bottom: var(--sf-tools-bottom) !important;
  width: 110px;
  transform: none !important;
  filter: none;
  z-index: 2180;
}
#ozark-storefront.storefront-refined .store-cart.is-visible { opacity: 1; pointer-events: auto; }
#ozark-storefront.storefront-refined .sc-toggle {
  display: flex;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  height: 48px;
  padding: 8px 12px;
  border: 1px solid var(--sf-edge);
  border-radius: 17px;
  background: var(--sf-glass-solid);
  box-shadow: var(--sf-depth);
}
#ozark-storefront.storefront-refined .sc-toggle-copy { display: block !important; }
#ozark-storefront.storefront-refined .sc-toggle-copy strong { font-size: 14px; }
#ozark-storefront.storefront-refined :is(.sc-toggle-copy > span, .sc-chevron) { display: none; }
#ozark-storefront.storefront-refined .sc-bag { flex: 0 0 28px; width: 28px; height: 30px; }
#ozark-storefront.storefront-refined .sc-badge { font-size: 10px; }
#ozark-storefront.storefront-refined .sc-panel {
  width: min(390px, calc(100vw - 32px));
  bottom: calc(100% + 10px);
  max-height: min(560px, calc(100dvh - 150px - env(safe-area-inset-bottom)));
  border-radius: 24px;
  background: var(--sf-glass-solid);
}
#ozark-storefront.storefront-refined #assistantSideLauncher {
  position: fixed;
  top: auto !important;
  right: max(134px, calc(env(safe-area-inset-right) + 118px)) !important;
  bottom: var(--sf-tools-bottom) !important;
  left: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 8px 12px !important;
  border-radius: 17px !important;
  transform: none !important;
  z-index: 2180;
  background: var(--sf-glass-solid) !important;
  box-shadow: var(--sf-depth) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#ozark-storefront.storefront-refined #assistantSideLauncher img { width: 28px; height: 28px; margin: 0; }
#ozark-storefront.storefront-refined #assistantSideLauncher span { display: block !important; font-size: 14px; }
#ozark-storefront.storefront-refined:is(.product-details-open, .assistant-is-open, .oz-discovery-open) :is(.store-cart, #assistantSideLauncher) {
  visibility: hidden;
  pointer-events: none;
}

/* Unified, bounded panel feedback. Content and media are never animated in loops. */
#ozark-storefront[data-motion="full"] :is(.product-details-panel, .assistant-dialog, .sc-panel, .oz-discovery-panel, .mod-showcase-dialog) {
  transition: transform var(--sf-panel-duration) var(--sf-panel-ease), opacity var(--sf-panel-duration) ease !important;
}
#ozark-storefront[data-motion="full"] :is(.product-details-backdrop, .assistant-overlay) { transition: opacity 180ms ease !important; }
#ozark-storefront[data-motion="full"] .product-details-shell { transition: visibility 0s linear 220ms; }
#ozark-storefront[data-motion="full"] .product-details-shell.is-open { transition-delay: 0s; }
#ozark-storefront[data-motion="full"] .product-details-fold[open] > .product-details-fold-content,
#ozark-storefront[data-motion="full"] .site-header .nav.open {
  animation: sf-panel-arrive 180ms var(--sf-panel-ease) both !important;
}
@keyframes sf-panel-arrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
#ozark-storefront[data-motion="reduced"] :is(.product-details-panel, .assistant-dialog, .sc-panel, .product-details-backdrop, .assistant-overlay) {
  transform: none !important;
  transition: opacity 140ms ease !important;
}
#ozark-storefront[data-motion="reduced"] .product-details-panel { opacity: 0; }
#ozark-storefront[data-motion="reduced"] .product-details-shell.is-open .product-details-panel { opacity: 1; }
#ozark-storefront[data-motion="reduced"] .product-details-shell { transition: visibility 0s linear 140ms !important; }
#ozark-storefront[data-motion="reduced"] .product-details-shell.is-open { transition-delay: 0s !important; }
#ozark-storefront[data-motion="reduced"] .storefront-nav-lens { transition: opacity 140ms ease !important; }
@media (hover: hover) and (pointer: fine) {
  #ozark-storefront .product-resource-links > a:hover { border-color: #7dbdd4 !important; box-shadow: inset 0 1px 0 #fff, 0 6px 16px rgba(8, 94, 128, .08) !important; }
  #ozark-storefront .product-card-resources a:hover { text-decoration-color: currentColor; }
}
@media (max-width: 900px) {
  #ozark-storefront.mobile-purchase-visible { --sf-tools-bottom: max(92px, calc(env(safe-area-inset-bottom) + 88px)); }
}
@media (max-width: 620px) {
  #ozark-storefront .product-details-panel { top: 8px; right: 8px; width: calc(100% - 16px); height: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 24px !important; }
  #ozark-storefront .product-details-header { padding: 14px 16px; }
  #ozark-storefront .product-details-intro { padding: 16px 16px 8px; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  #ozark-storefront .product-details-art { width: 64px; height: 84px; }
  #ozark-storefront .product-details-art img { width: 58px; height: 78px; }
  #ozark-storefront :is(.product-details-price-line, .product-details-resources, .product-details-fold) { margin-inline: 16px; }
  #ozark-storefront .product-details-essentials { padding: 16px 16px 4px; }
  #ozark-storefront .product-details-footer { padding: 14px 16px max(14px, env(safe-area-inset-bottom)); }
  #ozark-storefront .product-resource-links > a { gap: 6px; padding-inline: 8px; }
  #ozark-storefront .product-resource-links > a > span[aria-hidden="true"]:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce), (update: slow) {
  #ozark-storefront .storefront-nav-lens { transition: opacity 140ms ease !important; }
  #ozark-storefront .product-details-fold > summary > span { transition: none; }
}
@media print {
  #ozark-storefront.storefront-refined { padding-bottom: 0; }
  #ozark-storefront.storefront-refined :is(.store-cart, #assistantSideLauncher) { display: none !important; }
}
