/* Underoutfit-inspired commerce presentation. Existing WooCommerce markup, totals and actions remain authoritative. */
.htw-site-header .htw-site-header__panel.htw-site-header__mini-cart:not([hidden]) {
  display:flex; flex-direction:column; width:min(544px,90vw); max-width:100%;
  height:100dvh; max-height:100dvh; padding:0; overflow:hidden; background:#fff; color:#252525;
}
.htw-site-header .htw-site-header__mini-cart .storefront-drawer-heading {
  display:grid; grid-template-columns:48px minmax(0,1fr) 48px; flex:none; gap:0;
  min-height:52px; margin:0; padding:0 12px; border-bottom:1px solid #ddd;
}
.htw-site-header .htw-site-header__mini-cart .storefront-drawer-heading h2 {
  grid-column:2; grid-row:1; margin:0; text-align:center; color:#555;
  font:500 16px/1.3 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; overflow-wrap:anywhere;
}
.htw-site-header .htw-site-header__mini-cart .storefront-drawer-close {
  grid-column:1; grid-row:1; width:44px; height:44px; min-height:44px;
  border-radius:0; font-size:0; color:#191919;
}
.htw-site-header .htw-site-header__mini-cart .storefront-drawer-close::before {content:'\2190';font:400 27px/1 Arial,sans-serif}
.htw-site-header .htw-site-header__mini-cart .widget_shopping_cart_content {
  display:flex; flex:1 1 auto; flex-direction:column; min-height:0; min-width:0; overflow:hidden; padding:0 20px;
}
.htw-site-header .htw-site-header__mini-cart .woocommerce-mini-cart {
  flex:1 1 auto; min-height:0; min-width:0; overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain; scrollbar-gutter:stable; margin:0; padding:20px 4px 0 0;
}
.htw-site-header .htw-site-header__mini-cart .ux-mini-cart-footer {
  flex:0 1 auto; min-height:0; max-height:45%; overflow-y:auto; padding:14px 0 20px;
  border-top:1px solid #dedede; background:#fff;
}
.htw-site-header .htw-site-header__mini-cart ul.product_list_widget li {
  min-width:0; min-height:100px; padding:0 38px 22px 90px; margin:0 0 20px;
  overflow:visible; overflow-wrap:anywhere; word-break:normal;
}
.htw-site-header .htw-site-header__mini-cart ul.product_list_widget li img {width:76px;height:92px;object-fit:cover;left:0;top:0}
.htw-site-header .htw-site-header__mini-cart ul.product_list_widget li a:not(.remove),
.htw-site-header .htw-site-header__mini-cart .variation,
.htw-site-header .htw-site-header__mini-cart .quantity,
.htw-site-header .htw-site-header__mini-cart .amount,
.htw-site-header .htw-site-header__mini-cart .product-subtotal {
  min-width:0; max-width:100%; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; line-height:1.45;
}
.htw-site-header .htw-site-header__mini-cart ul.product_list_widget li a.remove {right:0;top:0;left:auto;width:30px;height:30px}
.htw-site-header .htw-site-header__mini-cart .ux-mini-cart-qty {min-width:0;margin-right:0!important;gap:8px}
.htw-site-header .htw-site-header__mini-cart .woocommerce-mini-cart__total {display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:0 0 16px;overflow-wrap:anywhere}
.htw-site-header .htw-site-header__mini-cart .woocommerce-mini-cart__buttons a.button {height:auto;white-space:normal;overflow-wrap:anywhere;border-radius:0;letter-spacing:.08em;text-transform:uppercase}
.htw-site-header .htw-site-header__mini-cart .ux-mini-cart-empty {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;padding:28px 0!important;text-align:center}
.htw-site-header .htw-site-header__mini-cart .ux-mini-cart-empty-icon {display:none}
.htw-site-header .htw-site-header__mini-cart .woocommerce-mini-cart__empty-message {margin:0 0 20px;color:#555;font:400 13px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.htw-site-header .htw-site-header__mini-cart .return-to-shop {margin:0}
.htw-site-header .htw-site-header__mini-cart .return-to-shop .button {width:auto;min-width:140px;min-height:48px;border-radius:0;letter-spacing:.12em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
/* The detail provider continues to use the native gallery, variation form and WooCommerce tabs. */
.single-product .sf-pdp {--pdp-ink:#252525;--pdp-muted:#656565;--pdp-line:#d9d6d1;--pdp-surface:#f7f4ef;background:#f8f5f1}
.single-product .sf-pdp__main {grid-template-columns:minmax(0, 2fr) minmax(320px, 1fr);gap:0;background:#f8f5f1}
.single-product .sf-pdp__gallery,.single-product .sf-pdp__gallery .product-images,.single-product .sf-pdp__gallery .woocommerce-product-gallery {background:#f1f1f1}
.single-product .sf-pdp__details {max-width:560px;padding:48px clamp(24px,4vw,60px) 56px}
.single-product .sf-pdp__summary>.product_title {grid-column:1 / -1;grid-row:auto;margin:0 0 12px;font:500 clamp(20px,1.6vw,26px)/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;overflow-wrap:anywhere}
.single-product .sf-pdp__summary>.price-wrapper {grid-column:1 / -1;grid-row:auto;justify-self:start;padding:0;text-align:left}
.single-product .sf-pdp__summary>.price-wrapper .price {justify-content:flex-start;gap:8px;font:400 18px/1.5 Arial,sans-serif;letter-spacing:.04em;white-space:normal}
.single-product .sf-pdp__summary form.variations_form .variations tr {padding:16px 0;margin:0;border-top:1px solid #d9d6d1}
.single-product .sf-pdp__summary form.variations_form .variations label {font:500 13px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.single-product .sf-pdp__variant-options {gap:8px}
.single-product .sf-pdp__variant-option {min-width:46px;min-height:42px;max-width:100%;height:auto;padding:8px 11px;border:1px solid #cfcfcf;border-radius:0;background:#fff;color:#333;font:400 14px/1.3 Arial,sans-serif;white-space:normal;overflow-wrap:anywhere}
.single-product .sf-pdp__variant-option:hover,.single-product .sf-pdp__variant-option[aria-pressed=true] {border-color:#111;background:#111;color:#fff}
.single-product .sf-pdp__variant-option:disabled {opacity:.55;text-decoration:line-through}
.single-product .sf-pdp__variant-options.has-image-swatches .sf-pdp__variant-option {width:42px;height:42px;min-width:42px;padding:2px;border-radius:50%}
.single-product .sf-pdp__variant-options.has-image-swatches .sf-pdp__variant-option img {object-fit:cover;border-radius:50%}
.single-product .sf-pdp__summary form.cart .single_add_to_cart_button,
.single-product .sf-pdp__summary form.cart .ux-buy-now-button {border-radius:0;min-height:52px;white-space:normal;overflow-wrap:anywhere;letter-spacing:.1em;text-transform:uppercase}
.single-product .sf-pdp__accordion summary {min-height:58px;font:500 13px/1.45 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.single-product .sf-pdp__accordion-content,.single-product .sf-pdp__summary .product_meta {overflow-wrap:anywhere}
.single-product .sf-pdp__summary .product_meta .tagged_as a {display:inline-block;margin:3px 4px 3px 0;color:#374d3e;text-decoration:underline;text-underline-offset:3px}
.single-product .sf-pdp__sticky-copy strong {white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
/* Compact source-style quick shop, retaining Flatsome's live product, gallery and form hooks. */
.mfp-content:has(.product-quick-view-container) {max-width:520px}
.product-quick-view-container {width:min(520px,calc(100vw - 32px));max-width:100%;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:10px;color:#222}
.product-quick-view-container .product.row {display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;width:100%;max-width:none;margin:0;padding:18px}
.product-quick-view-container .product-gallery {grid-column:1;grid-row:1;min-width:0;width:100%;max-width:none;padding:0;background:#f1f1f1}
.product-quick-view-container .product-gallery img {display:block;width:100%;height:auto;object-fit:cover}
.product-quick-view-container .product-info {grid-column:2;grid-row:1;min-width:0;width:100%;max-width:none;padding:0}
.product-quick-view-container .product-lightbox-inner {padding:0!important}
.product-quick-view-container h1 {padding-right:30px;margin:0 0 8px;font:500 17px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.product-quick-view-container .price {margin:0 0 16px;font:400 16px/1.4 Arial,sans-serif;white-space:normal;overflow-wrap:anywhere}
.product-quick-view-container .woocommerce-product-details__short-description,.product-quick-view-container .product_meta {white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.product-quick-view-container form.cart {margin-top:16px}
.product-quick-view-container form.cart select {width:100%;min-width:0;max-width:100%;min-height:44px;white-space:normal}
.product-quick-view-container form.cart .single_add_to_cart_button {width:100%;height:auto;min-height:48px;white-space:normal;overflow-wrap:anywhere;letter-spacing:.1em;text-transform:uppercase}
.mfp-content:has(.product-quick-view-container) .mfp-close {top:2px;right:3px;z-index:5;opacity:1;color:#111}
@media (hover:hover) and (pointer:fine) {
 .wgm-native-card .wgm-native-card__actions a.quick-view {opacity:0;pointer-events:none!important}
 .wgm-native-card:hover .wgm-native-card__actions a.quick-view,.wgm-native-card:focus-within .wgm-native-card__actions a.quick-view {opacity:1;pointer-events:auto!important}
}
@media (hover:none) {.wgm-native-card .wgm-native-card__actions a.quick-view {display:none!important}}
@media(max-width:849px) {
 .single-product .sf-pdp__main {grid-template-columns:minmax(0,1fr)}
 .single-product .sf-pdp__details {max-width:none;padding:24px 20px 42px}
 .single-product .sf-pdp__summary>.product_title {font-size:21px;line-height:1.4}
}
@media(max-width:360px) {
 .htw-site-header .htw-site-header__mini-cart .widget_shopping_cart_content {padding-left:14px;padding-right:14px}
 .htw-site-header .htw-site-header__mini-cart ul.product_list_widget li {padding-left:72px;padding-right:34px}
 .htw-site-header .htw-site-header__mini-cart ul.product_list_widget li img {width:60px;height:76px}
 .product-quick-view-container .product.row {grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px}
}
/* Keep subtotal and actions visible; only unusually tall totals scroll within their own region. */
.htw-site-header .htw-site-header__mini-cart .ux-mini-cart-footer {flex:0 0 auto;max-height:45dvh;overflow-y:auto}
.mfp-content:has(.product-quick-view-container) {width:min(520px,calc(100vw - 32px))!important}
.product-quick-view-container {width:100%}
.product-quick-view-container .product-gallery {align-self:start}
.mfp-content:has(.product-quick-view-container) button.mfp-close {color:#171717!important;background:#fff!important;opacity:1!important;box-shadow:none!important}
/* Magnific Popup already reserves horizontal padding; size against its content box. */
.mfp-container:has(.product-quick-view-container) {padding:16px}
.mfp-content:has(.product-quick-view-container) {width:100%!important;max-width:520px}
.mfp-content:has(.product-quick-view-container) button.mfp-close {mix-blend-mode:normal!important}
/* Keep the real quick-view gallery and purchase form, while allowing controls to span the modal. */
.mfp-content:has(.product-quick-view-container) .product-lightbox.lightbox-content {background:transparent!important;border-radius:10px}
.product-quick-view-container .product.row {column-gap:16px;row-gap:0;align-content:start}
.product-quick-view-container .product-gallery {grid-column:1;grid-row:1 / span 2}
.product-quick-view-container .product-info,.product-quick-view-container .product-lightbox-inner {display:contents}
.product-quick-view-container .product-lightbox-inner > a.plain {grid-column:2;grid-row:1;align-self:start}
.product-quick-view-container .product-lightbox-inner > .price {grid-column:2;grid-row:2;align-self:start}
.product-quick-view-container .product-lightbox-inner > :not(a.plain):not(.price):not(.is-divider) {grid-column:1 / -1;min-width:0}
.product-quick-view-container .product-lightbox-inner > .is-divider {display:none}
.product-quick-view-container .uf-quick-native-select {position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-quick-view-container .uf-quick-variant-options {display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.product-quick-view-container .uf-quick-variant-option {display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;max-width:100%;margin:0;padding:7px 11px;border:1px solid #ccc;border-radius:0;background:#fff;color:#333;font:400 14px/1.3 Arial,sans-serif;text-align:center;white-space:normal;overflow-wrap:anywhere;text-transform:none;box-shadow:none}
.product-quick-view-container .uf-quick-variant-option:hover,.product-quick-view-container .uf-quick-variant-option[aria-pressed=true] {border-color:#171717;background:#171717;color:#fff}
.product-quick-view-container .uf-quick-variant-option:disabled {opacity:.5;text-decoration:line-through;cursor:not-allowed}
.product-quick-view-container .uf-quick-variant-option:focus-visible {outline:2px solid #171717;outline-offset:2px}
.product-quick-view-container .product-lightbox-inner > .price-wrapper {grid-column:2!important;grid-row:2!important;align-self:start;min-width:0}
@media(min-width:850px){
.single-product .sf-pdp__gallery.uf-pdp-two-up .woocommerce-product-gallery__wrapper>.flickity-viewport{height:clamp(280px,32vw,850px)!important}
.single-product .sf-pdp__gallery.uf-pdp-two-up .woocommerce-product-gallery__image{width:calc(50% - 8px)!important;margin-right:16px}
}
