/* Catalog and product constraints: fix intrinsic widths, not page-level clipping. */
/* White product lightbox, including the canvas behind transparent images. */
body.single-product .pswp .pswp__bg { background: #fff; opacity: 1 !important; }
body.single-product .pswp .pswp__img { background: #fff; }
body.single-product .pswp .pswp__top-bar,
body.single-product .pswp .pswp__caption { background: rgba(255, 255, 255, .94); }
body.single-product .pswp .pswp__counter,
body.single-product .pswp .pswp__caption__center { color: #263541; text-shadow: none; }
body.single-product .pswp .pswp__button,
body.single-product .pswp .pswp__preloader__icn { filter: invert(1); }

.oog-shop-heading { margin: 0 0 18px; color: #14251c; font-size: clamp(28px, 3vw, 42px); line-height: 1.15; letter-spacing: -.035em; }
.oog-shophome__layout > *, .oog-shophome__main, .oog-shophome__grid, .oog-shophome__card, .oog-shophome__cardBody, .oog-shophome__priceRow { min-width: 0; max-width: 100%; }
.oog-shophome__cardBody h3, .oog-shophome__meta, .oog-shophome__catLink span, .oog-shophome__activeInfo { overflow-wrap: anywhere; }
.oog-shophome__priceRow > strong { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px; max-width: 100%; }
.oog-shophome__priceRow .woocommerce-Price-amount { display: inline-block; }
.oog-shophome__priceRow del, .oog-shophome__priceRow ins { max-width: 100%; }
.oog-shop-sidebar-toggle[hidden], .oog-shophome__sidebar > .oog-shophome__catList[hidden] { display: none !important; }
.oog-shop-sidebar-toggle:not([hidden]) { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 44px; padding: 8px 4px; border: 0; background: transparent; color: #243529; font: inherit; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; }
.oog-shop-sidebar-toggle svg { width: 20px; height: 20px; flex: none; transition: transform .2s; }
.oog-shop-sidebar-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.oog-shop-sidebar-toggle:focus-visible, .oog-product-table-scroll:focus-visible { outline: 3px solid #6a9800; outline-offset: 3px; }

body.single-product .oog-woo-product-layout, body.single-product .oog-woo-product-main, body.single-product .oog-woo-product-main .oog-card--woo { min-width: 0; max-width: 100%; }
body.single-product .oog-woo-product-main .woocommerce div.product > * { min-width: 0; max-width: 100%; }
body.single-product .oog-woo-product-main .woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); }
body.single-product .oog-woo-product-main .summary { min-width: 0; grid-template-columns: minmax(0, 1fr); }
body.single-product .oog-woo-product-main .summary > *, body.single-product .oog-woo-product-main form.cart, body.single-product .oog-woo-product-main .single_variation_wrap, body.single-product .oog-woo-product-main .woocommerce-variation-add-to-cart { min-width: 0; max-width: 100%; }
body.single-product .oog-woo-product-main .product_title, body.single-product .oog-woo-breadcrumb, body.single-product .oog-woo-product-main .product_meta, body.single-product .oog-woo-product-main .woocommerce-product-details__short-description { overflow-wrap: anywhere; }
body.single-product .oog-woo-product-main .woocommerce-Tabs-panel { min-width: 0; max-width: 100%; overflow-x: auto; overflow-wrap: anywhere; }
body.single-product .oog-woo-product-main .woocommerce-Tabs-panel > *, body.single-product .oog-woo-product-main .woocommerce-product-details__short-description > * { max-width: 100%; }
body.single-product .oog-woo-product-main .woocommerce-Tabs-panel img, body.single-product .oog-woo-product-main .woocommerce-Tabs-panel video, body.single-product .oog-woo-product-main .woocommerce-Tabs-panel iframe, body.single-product .oog-woo-product-main .woocommerce-product-details__short-description img { max-width: 100%; height: auto; }
.oog-product-table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
body.single-product .oog-woo-product-main .woocommerce-product-attributes { width: 100%; table-layout: fixed; }
body.single-product .oog-woo-product-main .woocommerce-product-attributes th, body.single-product .oog-woo-product-main .woocommerce-product-attributes td { overflow-wrap: anywhere; }
body.single-product .oog-woo-product-main .wapf-wrapper, body.single-product .oog-woo-product-main .wapf-field-container, body.single-product .oog-woo-product-main .wapf-field-input, body.single-product .oog-woo-product-main .wapf-product-totals { min-width: 0; max-width: 100%; }
body.single-product .oog-woo-product-main select, body.single-product .oog-woo-product-main textarea, body.single-product .oog-woo-product-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.qty) { min-width: 0; max-width: 100%; }
body.single-product .oog-woo-product-main .related.products ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px; }
body.single-product .oog-woo-product-main .related.products ul.products::before,
body.single-product .oog-woo-product-main .related.products ul.products::after { content: none !important; }
body.single-product .oog-woo-product-main .related.products ul.products > li.product { width: 100% !important; max-width: 100% !important; min-width: 0; margin: 0 !important; float: none !important; overflow-wrap: anywhere; }

@media (max-width: 1100px) {
  body.single-product .oog-woo-product-layout, body.single-product .oog-woo-product-main .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  body.single-product .oog-woo-product-main .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.single-product .oog-woo-product-layout > .oog-woo-sidebar { display: block; order: 0; position: static; margin: 0 !important; transform: none; top: auto; max-height: none; overflow: visible; scrollbar-gutter: auto; }
  body.single-product .oog-woo-product-layout > .oog-woo-product-main { order: 1; }
}
@media (max-width: 980px) {
  .oog-shophome__layout { grid-template-columns: minmax(0, 1fr); }
  .oog-shophome__layout > .oog-shophome__sidebar { order: 1; }
  .oog-shophome__layout > .oog-shophome__main { order: 2; }
}
@media (max-width: 640px) {
  body.oog-theme .oog-shophome { padding-top: 22px !important; }
  .oog-shop-heading { margin-bottom: 14px; font-size: 30px; }
  .oog-shophome__stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; }
  .oog-shophome .oog-shophome__statCard { min-width: 0; padding: 12px !important; }
  .oog-shophome .oog-shophome__statCard h2 { font-size: 10px !important; letter-spacing: .05em; overflow-wrap: normal; }
  .oog-shophome__statCard p { font-size: 25px; }
  .oog-shophome__statCard span { font-size: 11px; }
  .oog-shophome__priceRow { flex-wrap: wrap; }
  .oog-shophome__priceRow > strong { font-size: 17px; line-height: 1.35; }
  .oog-shophome__priceRow del { font-size: 13px; }
  .oog-shophome__cardBody { padding: 12px 10px; }
  .oog-shophome__cardBody h3 { font-size: 14px; line-height: 1.3; }
  body.single-product .oog-page-shell { padding-top: 18px; }
  body.single-product .oog-woo-product-main .woocommerce div.product .product_title { font-size: clamp(25px, 7vw, 32px); line-height: 1.15; }
  body.single-product .oog-woo-product-main .woocommerce div.product p.price { font-size: clamp(24px, 6.5vw, 30px); line-height: 1.3; overflow-wrap: anywhere; }
  body.single-product .oog-woo-product-main .woocommerce div.product .woocommerce-product-gallery .flex-viewport { height: min(82vw, 360px) !important; min-height: 0 !important; max-height: none !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product .woocommerce-product-gallery__wrapper { min-height: 0; }
  body.single-product .oog-woo-product-main .woocommerce div.product .woocommerce-product-gallery__image img { max-height: min(82vw, 360px) !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations tr { flex-direction: column; gap: 5px !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations th.label,
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations td.label { flex: 0 0 auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations .label label { height: auto !important; min-height: 28px !important; line-height: 1.4 !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations td.value { width: 100% !important; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.variations_form table.variations td.value select { min-width: 0; width: 100%; max-width: 100%; height: 46px !important; min-height: 46px !important; font-size: 16px; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.cart:not(.variations_form),
  body.single-product .oog-woo-product-main .woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: start; gap: 10px; }
  body.single-product .oog-woo-product-main .single_variation_wrap,
  body.single-product .oog-woo-product-main .woocommerce-variation-add-to-cart { width: 100%; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.cart .quantity { flex: 0 0 84px; width: 84px; }
  body.single-product .oog-woo-product-main .woocommerce div.product form.cart input.qty { width: 100%; height: 46px; min-height: 46px; }
  body.single-product .oog-woo-product-main .woocommerce div.product .single_add_to_cart_button { flex: 1 1 160px; min-width: 0; max-width: 100%; min-height: 46px; white-space: normal; }
  body.single-product .oog-woo-product-main .wapf-field-container { width: 100% !important; flex-basis: 100%; }
  body.single-product .oog-woo-product-main .oog-product-actions-extra { display: flex; flex-wrap: wrap; gap: 8px; }
  body.single-product .oog-woo-product-main .oog-product-actions-extra button { flex: 1 1 120px; min-width: 0; min-height: 44px; white-space: normal; }
  body.single-product .oog-woo-product-main .woocommerce-tabs ul.tabs li { min-width: 0; max-width: 100%; }
  body.single-product .oog-woo-product-main .woocommerce-tabs ul.tabs li a { line-height: 1.4; overflow-wrap: anywhere; }
  body.single-product .oog-woo-product-main .related.products .price { font-size: 16px; }
  body.single-product .oog-woo-product-main .related.products .woocommerce-Price-amount { display: inline-block; }
}
@media (max-width: 340px) {
  .oog-shophome .oog-shophome__grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.single-product .oog-woo-product-main .related.products ul.products { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) { .oog-shop-sidebar-toggle svg { transition: none; } }
