/* ODO Commerce OS v3.4.2 — Storefront Stability Master Guard
 * Last-mile geometry/typography safety. Elementor remains content/design owner.
 * No content is hidden and no Woo/Elementor data is mutated.
 */

body.odo-commerce-ui.odo-storefront-master-v342{
  --odo-v342-max:1380px;
  --odo-v342-gutter:clamp(12px,2.4vw,28px);
  --odo-v342-gap:clamp(8px,1.3vw,16px);
  --odo-v342-fallback-cols:4;
  overflow-x:clip;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.odo-commerce-ui.odo-storefront-master-v342 :where(button,input,select,textarea){font:inherit}
body.odo-commerce-ui.odo-storefront-master-v342 :where(img,svg,video,canvas){max-width:100%}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.elementor,.elementor-element,.elementor-widget-container,[class*="elementor-widget-odo_"],.e-con,.e-con-inner){min-width:0}

/* The sections own their width; individual cards never expand the viewport. */
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-storefront-home,.odo-section,.odo-faceted-shop,.odo-tb-archive,.odo-tb-search,.odo-premium-product,.odo-catalog-tools,.odo-services-v2,.odo-faq,.odo-insider){
  max-width:100%;
  min-width:0;
}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-storefront-home,.odo-tb-archive,.odo-tb-search){
  width:min(var(--odo-v342-max),calc(100% - (var(--odo-v342-gutter) * 2)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-section{width:100%;overflow:visible}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head{min-width:0;max-width:100%;gap:16px}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head>div{min-width:0}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head h2{
  max-width:860px!important;
  font-size:clamp(30px,3.15vw,48px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  overflow-wrap:anywhere;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head p{font-size:12px!important;line-height:1.6!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-kicker{font-size:9px!important;letter-spacing:.15em!important}

/* Editorial hero remains premium, but never becomes billboard-sized. */
body.odo-commerce-ui.odo-storefront-master-v342 .odo-hero-v280{max-width:var(--odo-v342-max)!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-hero-v280 h1{
  font-size:clamp(44px,4.6vw,68px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-archive-hero h1,.woocommerce-shop h1.page-title,.odo-tb-search__title,.odo-tb-archive__title){
  font-size:clamp(38px,4.6vw,68px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  overflow-wrap:anywhere;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-editorial__copy h2,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-size-finder h2,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-faq__intro h2,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-insider h2{
  font-size:clamp(30px,3.35vw,50px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}

/* Universal product-grid fallback. v2.8.2 only covered explicitly guarded grids;
 * v3.4.2 catches every ODO card grid so one missed class can never make a card
 * span the entire page again. Elementor responsive controls can still set
 * --odo-v342-cols / --odo-v282-cols.
 */
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-grid-v2{
  --odo-v342-effective-cols:var(--odo-v342-cols,var(--odo-v282-cols,var(--odo-v342-fallback-cols,4)));
  display:grid!important;
  grid-template-columns:repeat(var(--odo-v342-effective-cols),minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:auto!important;
  gap:clamp(22px,2.4vw,36px) var(--odo-v342-gap)!important;
  align-items:start!important;
  align-content:start!important;
  justify-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-grid-v2>.odo-product-card-v2{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden;
  align-self:start!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__media-wrap,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__media{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__media{
  display:block!important;
  position:relative!important;
  aspect-ratio:4/5!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#efede7!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__primary,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__primary img,
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__alt{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__body{min-width:0!important;padding:10px 1px 0!important;gap:5px!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top{min-width:0;gap:7px!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top>a{
  min-width:0;
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:12px!important;
  font-weight:680!important;
  line-height:1.32!important;
  letter-spacing:-.012em!important;
  overflow-wrap:anywhere;
}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top>strong{font-size:12px!important;line-height:1.3!important;white-space:nowrap}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-brand-prefix{margin:0 0 3px!important;font-size:7.5px!important;line-height:1.2!important;letter-spacing:.13em!important;color:#77736d!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__body>small{font-size:9px!important;line-height:1.35!important}
body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__sizes{min-width:0;max-width:100%;overflow:hidden}

/* Filters/archive cannot force a page-wide horizontal shift. */
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-faceted-shop__layout,.odo-faceted-shop__results,.odo-facets,.odo-catalog-tools,.odo-filter-panel,.odo-applied-filters){min-width:0;max-width:100%}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-facets__checks,.odo-filter-options){min-width:0;max-width:100%}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-facets input,.odo-facets select,.odo-filter-panel input,.odo-filter-panel select){max-width:100%}

/* Single product: stable desktop split, compact gallery and readable copy. */
body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product{
  width:min(var(--odo-v342-max),calc(100% - (var(--odo-v342-gutter) * 2)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  gap:clamp(30px,4vw,68px)!important;
  align-items:start!important;
}
body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product__summary{min-width:0!important}
body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product__summary .product_title{
  font-size:clamp(36px,3.6vw,56px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  overflow-wrap:anywhere;
}
body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product__gallery{min-width:0!important;max-width:100%!important;overflow:hidden}

/* Header/footer text wrapping should never grow the canvas. */
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-tb-header,.odo-header--premium,.odo-tb-footer,.odo-footer){max-width:100%;overflow-x:clip}
body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-tb-nav,.odo-tb-actions,.odo-tb-footer__inner){min-width:0}

@media(max-width:1120px){
  body.odo-commerce-ui.odo-storefront-master-v342{--odo-v342-fallback-cols:3}
  body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product{grid-template-columns:minmax(0,1fr) minmax(300px,.86fr)!important}
}
@media(max-width:780px){
  body.odo-commerce-ui.odo-storefront-master-v342{--odo-v342-fallback-cols:2;--odo-v342-gutter:10px;--odo-v342-gap:8px}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head{align-items:flex-start!important;flex-wrap:wrap}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-section__head h2{font-size:clamp(27px,8.4vw,38px)!important}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-hero-v280 h1{font-size:clamp(38px,11vw,50px)!important}
  body.odo-commerce-ui.odo-storefront-master-v342 :where(.odo-archive-hero h1,.woocommerce-shop h1.page-title,.odo-tb-search__title,.odo-tb-archive__title){font-size:clamp(34px,10vw,48px)!important}
  body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product{display:block!important;width:calc(100% - 20px)!important}
  body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product__summary{margin-top:24px!important}
  body.odo-commerce-ui.odo-storefront-master-v342.single-product .odo-premium-product__summary .product_title{font-size:clamp(32px,9vw,44px)!important}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top{display:block!important}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top>strong{display:block;margin-top:3px;white-space:normal}
}
@media(max-width:420px){
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-grid-v2{gap:22px 7px!important}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top>a{font-size:11px!important}
  body.odo-commerce-ui.odo-storefront-master-v342 .odo-product-card-v2__top>strong{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
  body.odo-commerce-ui.odo-storefront-master-v342 *,body.odo-commerce-ui.odo-storefront-master-v342 *:before,body.odo-commerce-ui.odo-storefront-master-v342 *:after{scroll-behavior:auto!important}
}
