/* EW / CULTURE product page. Native gallery, variations and cart remain the source. */
body.single-product.ew-design-v2.ew-motion-v3 {
  --font-display: 'Manrope', Arial, sans-serif;
  --font-heading: var(--font-display);
  --paper: var(--ew-bone); --ink: var(--ew-ink); --muted: var(--ew-stone);
  --line: var(--ew-line); --accent: var(--ew-amber);
  background: var(--ew-bone); color: var(--ew-ink);
}
body.single-product.ew-design-v2 .shop-main { width: min(1440px, calc(100% - 80px)); padding-bottom: 64px; }
body.single-product .woocommerce-breadcrumb { margin: 28px 0 32px; font-size: 12px; line-height: 1.7; color: var(--ew-stone); overflow-wrap: anywhere; }
body.single-product.ew-design-v2 .shop-main > div.product { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 0 clamp(32px,5vw,80px); align-items: start; }
body.single-product.ew-design-v2 .shop-main > div.product::before,
body.single-product.ew-design-v2 .shop-main > div.product::after { display: none; }
body.single-product.ew-design-v2.woocommerce div.product div.images,
body.single-product.ew-design-v2.woocommerce div.product div.summary { float: none; width: 100%; min-width: 0; margin: 0 0 48px; }
body.single-product.ew-design-v2.woocommerce div.product div.images { align-self: start; padding: 0; border: 1px solid #e6e2db; border-radius: var(--ew-radius-frame); background: var(--ew-white); box-shadow: 0 4px 16px rgb(12 12 13 / 4%); overflow: hidden; }
body.single-product.ew-design-v2 .woocommerce-product-gallery__image { background: var(--ew-white); }
body.single-product.ew-design-v2.woocommerce div.product div.images .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; object-position: center; background: var(--ew-white); mix-blend-mode: normal; border-radius: 0; }
body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 12px; border-top: 1px solid var(--ew-line); }
body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: calc(25% - 6px); max-width: 96px; }
body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; background: var(--ew-white); border: 1px solid var(--ew-line); border-radius: var(--ew-radius-frame); }
body.single-product .ew-product-category { display: inline-flex; align-items: center; min-height: 32px; margin: 0 0 16px; color: var(--ew-stone); font-size: 10px; font-weight: 650; line-height: 1.6; letter-spacing: .12em; }
body.single-product.ew-design-v2.woocommerce div.product .product_title { font-family: var(--font-display); font-size: clamp(32px,3.25vw,52px); font-weight: 750; line-height: 1.1; letter-spacing: -.05em; margin: 0 0 24px; overflow-wrap: anywhere; }
body.single-product.ew-design-v2.woocommerce div.product .summary > .price { font-family: var(--font-body); color: var(--ew-ink); font-size: 26px; font-weight: 650; line-height: 1.4; margin: 0 0 24px; font-variant-numeric: tabular-nums; }
body.single-product .summary .price ins { background: none; text-decoration: none; }
body.single-product .summary .price del { color: var(--ew-stone); font-size: .65em; }
body.single-product.ew-design-v2 .woocommerce-product-details__short-description { margin: 0 0 24px; padding: 0 0 24px; border-bottom: 1px solid var(--ew-line); font-size: 15px; line-height: 1.75; color: var(--ew-stone); }
body.single-product .woocommerce-product-details__short-description p { margin: 0 0 16px; }
body.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
body.single-product .summary .ew-product-facts { gap: 8px; margin: 16px 0 0; }
body.single-product .summary .ew-product-facts > div { padding: 12px; background: var(--ew-white); border-color: var(--ew-line); border-radius: var(--ew-radius-frame); box-shadow: none; }
body.single-product .ew-px-fit { gap: 8px 16px; margin: 16px 0 24px; font-size: 14px; }
body.single-product .ew-px-fit p { color: var(--ew-stone); font-size: 13px; }
body.single-product.ew-design-v2.woocommerce div.product form.cart { margin: 0 0 24px; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .variations { margin: 0 0 8px; border: 0; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .variations :is(th,td) { display: block; width: 100%; padding: 0; border: 0; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .variations th { margin: 0 0 12px; text-align: left; font-size: 13px; font-weight: 650; line-height: 1.5; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .variations td { padding-bottom: 24px; }
body.single-product.ew-design-v2 .ew-choice-help { color: var(--ew-stone); font-size: 13px; line-height: 1.6; margin: 0 0 24px; }
body.single-product.ew-design-v2 .ew-choices { gap: 8px; }
body.single-product.ew-design-v2 .ew-choice { min-width: 48px; min-height: 48px; padding: 12px 16px; border: 1px solid var(--ew-line); border-radius: var(--ew-radius-control); background: var(--ew-white); color: var(--ew-ink); font-family: var(--font-body); font-size: 14px; line-height: 1.5; box-shadow: none; }
body.single-product.ew-design-v2 .ew-choice:hover:not(:disabled) { border-color: var(--ew-focus); box-shadow: none; }
body.single-product.ew-design-v2 .ew-choice[aria-pressed=true] { background: var(--ew-ink); color: var(--ew-white); border-color: var(--ew-ink); box-shadow: inset 0 0 0 1px var(--ew-white); }
body.single-product.ew-design-v2 .ew-choice:disabled { background: #e8e4dd; color: var(--ew-stone); opacity: .65; text-decoration: line-through; cursor: not-allowed; }
body.single-product.ew-design-v2 .reset_variations { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: var(--ew-stone); font-size: 13px; text-underline-offset: 4px; }
body.single-product.ew-design-v2 .woocommerce-variation-description { max-height: 280px; padding-right: 8px; overflow: auto; overscroll-behavior: contain; font-size: 14px; line-height: 1.7; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .quantity { margin-right: 12px; }
body.single-product.ew-design-v2 .quantity .qty { width: 72px; min-height: 56px; height: 56px; padding: 12px 8px; border: 1px solid var(--ew-line); border-radius: var(--ew-radius-control); background: var(--ew-white); color: var(--ew-ink); font-family: var(--font-body); font-size: 16px; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .single_add_to_cart_button { width: calc(100% - 84px); min-width: 0; min-height: 56px; padding: 16px 20px; border: 1px solid var(--ew-ink); border-radius: var(--ew-radius-control); background: var(--ew-ink); color: var(--ew-white); font-family: var(--font-body); font-size: 15px; font-weight: 650; line-height: 1.5; box-shadow: none; transform: none; }
body.single-product.ew-design-v2.woocommerce div.product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):hover { border-color: var(--ew-amber); background: var(--ew-amber); color: var(--ew-ink); }
body.single-product.ew-design-v2.woocommerce div.product form.cart .single_add_to_cart_button:is(.disabled,:disabled) { border-color: var(--ew-line); background: #e8e4dd; color: var(--ew-stone); opacity: 1; cursor: not-allowed; }
body.single-product .ew-px-delivery { margin: 24px 0 12px; border-color: var(--ew-line); }
body.single-product .ew-px-delivery summary { min-height: 56px; font-size: 13px; }
body.single-product.ew-design-v2 .summary > .ew-favorite { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 16px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--ew-line); border-radius: 0; background: transparent; color: var(--ew-ink); font-size: 13px; }
body.single-product.ew-design-v2 .summary > .ew-favorite[aria-pressed=true] { border-color: var(--ew-ink); }
body.single-product .ew-product-notes { font-size: 13px; line-height: 1.7; }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin: 24px 0 0; padding: 32px 0 0; border-top: 1px solid var(--ew-line); }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 16px 32px; margin: 0 0 32px; padding: 0; overflow: visible; border: 0; }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: var(--ew-ink); }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 0; color: var(--ew-stone); font-family: var(--font-body); font-size: 14px; font-weight: 600; }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ew-ink); }
body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs .panel { max-width: 960px; color: var(--ew-stone); font-size: 15px; line-height: 1.8; }
body.single-product .woocommerce-tabs :is(h2,h3) { color: var(--ew-ink); font-family: var(--font-display); letter-spacing: -.035em; }
body.single-product .woocommerce-tabs h2 { font-size: 28px; }
body.single-product .woocommerce-tabs table { background: var(--ew-white); }
body.single-product.ew-design-v2 .related { grid-column: 1 / -1; margin-top: 48px; }
body.single-product.ew-design-v2 .related > h2 { font-family: var(--font-display); font-size: clamp(30px,3.4vw,48px); letter-spacing: -.05em; margin-bottom: 32px; }
body.single-product .ew-px-collection { margin-block: 48px; }
body.single-product .ew-px-collection-grid > a { border-radius: var(--ew-radius-frame); border-color: var(--ew-line); }
body.single-product .ew-px-collection-grid img { mix-blend-mode: normal; border-radius: 0; }
body.single-product.ew-design-v2 .ew-pack .ew-pack-card { border-radius: var(--ew-radius-frame); border-color: var(--ew-line); background: var(--ew-white); box-shadow: none; }
body.single-product.ew-design-v2 .ew-pack .ew-pack-card:has(input:checked) { border-color: var(--ew-focus); background: var(--ew-white); box-shadow: 0 0 0 1px var(--ew-focus); }
body.single-product.ew-design-v2 .ew-pack .ew-pack-photo img { mix-blend-mode: normal; }
body.single-product.ew-design-v2 .ew-personalization[data-ew-personalization] { border-radius: var(--ew-radius-frame); border-color: var(--ew-line); background: var(--ew-white); }
body.single-product.ew-design-v2 .ew-personalization .ew-layout-editor { border-radius: var(--ew-radius-frame); background: var(--ew-bone); }
body.single-product.ew-design-v2 .ew-personalization-studio-link.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 22px; border: 1px solid var(--ew-ink); border-radius: var(--ew-radius-control); background: var(--ew-ink); color: var(--ew-white); font-family: var(--font-body); font-size: 14px; font-weight: 650; }
body.single-product.ew-design-v2 .ew-personalization-studio-link.button:hover { background: var(--ew-amber); border-color: var(--ew-amber); color: var(--ew-ink); }
body.single-product .ew-mobile-buy { background: var(--ew-white); border-color: var(--ew-line); }
body.single-product .ew-mobile-buy-button { border-radius: var(--ew-radius-control); font-family: var(--font-body); }
body.single-product .ew-mobile-buy-price { font-family: var(--font-body); }
body.single-product :is(.summary,.woocommerce-tabs,.woocommerce-product-gallery,.ew-mobile-buy) :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--ew-focus); outline-offset: 4px; }
body.single-product.ew-design-v2 .ew-footer-brand-block { min-height: 0; padding-bottom: 0; }
body.single-product .ew-footer-studio { --font-display: 'Manrope', Arial, sans-serif; }
@media (max-width:1100px) {
  body.single-product.ew-design-v2 .shop-main { width: calc(100% - 48px); }
  body.single-product.ew-design-v2 .shop-main > div.product { column-gap: 32px; }
}
@media (max-width:900px) {
  body.single-product.ew-design-v2 .shop-main > div.product { grid-template-columns: 1fr; }
  body.single-product.ew-design-v2.woocommerce div.product div.images { max-width: 680px; justify-self: center; margin-bottom: 32px; }
  body.single-product.ew-design-v2.woocommerce div.product div.images .woocommerce-product-gallery__image img { aspect-ratio: 1.15; }
  body.single-product.ew-design-v2.woocommerce div.product .product_title { font-size: clamp(32px,5vw,44px); }
}
@media (max-width:767px) {
  body.single-product.ew-design-v2 .shop-main { width: calc(100% - 32px); padding-bottom: 40px; }
  body.single-product .woocommerce-breadcrumb { margin-block: 20px 24px; font-size: 11px; }
  body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; gap: 8px; padding: 10px 12px; scrollbar-width: thin; }
  body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 72px; width: 72px; max-width: 72px; margin: 0; scroll-snap-align: center; }
  body.single-product.ew-design-v2.woocommerce div.product div.images .flex-control-thumbs img { width: 72px; height: 72px; }

  body.single-product.ew-design-v2.woocommerce div.product div.images { margin-bottom: 24px; }
  body.single-product.ew-design-v2.woocommerce div.product div.summary { margin-bottom: 32px; }
  body.single-product .ew-product-category { margin-bottom: 12px; font-size: 9px; }
  body.single-product.ew-design-v2.woocommerce div.product .product_title { font-size: 32px; margin-bottom: 20px; }
  body.single-product.ew-design-v2.woocommerce div.product .summary > .price { font-size: 24px; margin-bottom: 20px; }
  body.single-product.ew-design-v2 .woocommerce-product-details__short-description { font-size: 14px; padding-bottom: 20px; margin-bottom: 20px; }
  body.single-product.ew-design-v2 .quantity .qty { width: 64px; }
  body.single-product.ew-design-v2.woocommerce div.product form.cart .single_add_to_cart_button { width: calc(100% - 76px); padding-inline: 12px; font-size: 14px; }
  body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs { margin-top: 0; padding-top: 24px; }
  body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 12px 24px; margin-bottom: 24px; }
  body.single-product.ew-design-v2.woocommerce div.product .woocommerce-tabs .panel { font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  body.single-product :is(.woocommerce-product-gallery,.summary,.ew-mobile-buy) * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}


/* One stable frame during native FlexSlider setup, with a usable no-JS rail. */
body.single-product.ew-design-v2.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin:0; }
body.single-product.ew-design-v2.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image { flex:0 0 100%; width:100%; scroll-snap-align:start; }
body.single-product.ew-design-v2.woocommerce div.product div.images .flex-viewport { aspect-ratio:4 / 5; height:auto !important; }
body.single-product.ew-design-v2.woocommerce div.product div.images:has(> .woocommerce-product-gallery__wrapper) { opacity:1 !important; }
@media(max-width:900px) {
 body.single-product.ew-design-v2.woocommerce div.product div.images .flex-viewport { aspect-ratio:1.15; }
}
@media(max-width:767px) {
 body.single-product.ew-design-v2.woocommerce div.product div.images:has(> .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(2)) { padding-bottom:93px; }
}
