/* Bliss Shop 5.0 — scoped commerce design system. Layout widths/padding belong to Elementor containers. */
:where(.bliss-v5-commerce,.bliss-v5-shell,.bliss-v5-surface,.bliss-v5-drawer) { --b5-ink:var(--e-global-color-primary,#142f50);--b5-muted:var(--e-global-color-text,#657487);--b5-accent:var(--e-global-color-accent,#b58e51);--b5-surface:#fff;--b5-canvas:transparent;--b5-border:#e5e4e1;--b5-radius:14px;--b5-shadow:0 12px 36px rgb(19 38 61 / 5%); font-family:var(--e-global-typography-text-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);color:var(--b5-ink);}
:where(.bliss-v5-shell,.bliss-v5-commerce) { background:var(--b5-canvas); }
:where(.bliss-v5-shell,.bliss-v5-commerce) *, :where(.bliss-v5-shell,.bliss-v5-commerce) *::before,:where(.bliss-v5-shell,.bliss-v5-commerce) *::after{box-sizing:border-box}
.bliss-v5-shell a {text-decoration:none}
.bliss-v5-shell :where(button,a,input,select) {font:inherit}
.bliss-v5-shell :where(button,a,input,select):focus-visible,.bliss-v5-drawer :where(a,button):focus-visible {outline:3px solid var(--b5-accent);outline-offset:3px}
.bliss-v5-shell :where(h1,h2,h3,h4){color:var(--b5-ink)}
.bliss-v5-shell :where(.b5-page-title,.b5-section-title,.b5-product-details .product_title) {font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);letter-spacing:-.035em;line-height:1.12}
.bliss-v5-shell .b5-page-title{font-size:clamp(2.2rem,4vw,4rem);margin:.2em 0}
.bliss-v5-shell .b5-section-title{font-size:clamp(1.6rem,2.5vw,2.6rem)}
.bliss-v5-shell .b5-eyebrow,.bliss-v5-eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--b5-accent);font-size:.7rem;font-weight:750}
.bliss-v5-shell .b5-page-intro{color:var(--b5-muted);font-size:1rem;max-width:62ch}
/* Native Elementor template containers remain authoritative. These classes only arrange owned templates. */
.bliss-v5-shell .b5-shop-layout{align-items:flex-start}
.bliss-v5-shell .b5-shop-layout>.e-con,.bliss-v5-shell .b5-product-hero>.e-con{min-width:0}
.bliss-v5-shell .b5-product-hero{align-items:flex-start}
.bliss-v5-shell .b5-product-gallery{min-width:0}
.bliss-v5-shell .b5-product-details {background:var(--b5-surface);border:1px solid var(--b5-border);border-radius:var(--b5-radius);min-width:0}
.bliss-v5-shell .b5-product-details .product_title{font-size:clamp(1.9rem,2.8vw,3rem)}
.bliss-v5-shell .b5-product-gallery img{max-width:100%;height:auto;object-fit:contain}
.bliss-v5-shell .b5-product-related{border-top:1px solid var(--b5-border)}
.bliss-v5-shell .b5-product-tabs{border-top:1px solid var(--b5-border)}
.bliss-v5-shell .b5-cart-content,.bliss-v5-shell .b5-checkout-content,.bliss-v5-shell .b5-account-content{min-width:0}
.bliss-v5-shell .b5-cart-recs{border-top:1px solid var(--b5-border)}
.bliss-v5-shell :where(.woocommerce-cart .e-cart__container,.e-woo-cart .e-cart__container){grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:clamp(18px,3vw,42px)}
.bliss-v5-shell :where(.e-cart__column,.e-checkout__column,.woocommerce-MyAccount-content){min-width:0}
.bliss-v5-shell :where(.e-cart__column-end,.cart_totals,.e-checkout__order_review){background:var(--b5-surface);border:1px solid var(--b5-border);border-radius:var(--b5-radius);box-shadow:var(--b5-shadow)}
.bliss-v5-shell :where(.e-woo-cart .elementor-button,.e-checkout .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order){border-radius:9px;min-height:42px;transition:background .18s ease,color .18s ease}
.bliss-v5-shell :where(.woocommerce-cart-form,.e-cart__column,.woocommerce-checkout-review-order-table){max-width:100%}
.bliss-v5-shell :where(.woocommerce input.input-text,.woocommerce select,.e-woo-cart input,.e-checkout input){border-radius:8px;border:1px solid var(--b5-border)}
/* Independent product cards, also used for merchandising sections across the site. */
.bliss-v5-catalog,.bliss-v5-results{min-width:0;width:100%}
.bliss-v5-results-count{font-size:.82rem;color:var(--b5-muted);margin:0 0 14px}
.bliss-v5-grid,.bliss-v5-category-grid{display:grid;grid-template-columns:repeat(var(--b5-columns,4),minmax(0,1fr));gap:clamp(12px,1.5vw,24px);min-width:0}
.bliss-v5-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--b5-surface);border:1px solid var(--b5-border);border-radius:var(--b5-radius);box-shadow:var(--b5-shadow);transition:transform .2s,box-shadow .2s}
.bliss-v5-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgb(19 38 61 / 10%)}
.bliss-v5-card-media{height:auto;aspect-ratio:4/5;background:color-mix(in srgb,var(--b5-surface),#f0ebe4 55%);position:relative;overflow:hidden}
.bliss-v5-card-media>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:16px}
.bliss-v5-card-media img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s ease}
.bliss-v5-card:hover .bliss-v5-card-media img{transform:scale(1.035)}
.bliss-v5-badge{position:absolute;left:14px;top:14px;background:var(--b5-ink);color:#fff;padding:6px 10px;border-radius:5px;font-size:.7rem;letter-spacing:.03em}
.bliss-v5-card-actions{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:7px}
.bliss-v5-card-actions button{width:37px;height:37px;border:1px solid var(--b5-border);border-radius:50%;background:var(--b5-surface);color:var(--b5-ink);display:grid;place-items:center;cursor:pointer;font-size:1.1rem;box-shadow:0 4px 12px rgb(0 0 0 / 7%)}
.bliss-v5-card-actions button:hover,.bliss-v5-card-actions button[aria-pressed="true"]{color:var(--b5-accent);border-color:var(--b5-accent)}
.bliss-v5-card-copy{padding:clamp(13px,1.25vw,20px);display:flex;flex-direction:column;flex:1;gap:8px}
.bliss-v5-card-category{color:var(--b5-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:650}
.bliss-v5-card-title{font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);font-size:clamp(.98rem,1.2vw,1.3rem);line-height:1.35;margin:0;font-weight:650}
.bliss-v5-card-title a{color:inherit}
.bliss-v5-card-price{font-size:1rem;color:var(--b5-ink);font-weight:700;margin-top:auto}
.bliss-v5-card-price del{opacity:.58;font-weight:400}.bliss-v5-card-price ins{text-decoration:none}
.bliss-v5-card-button,.bliss-v5-primary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:8px;padding:10px 15px;border:1px solid var(--b5-ink);border-radius:8px;background:var(--b5-ink);color:#fff;text-align:center;font-size:.85rem;font-weight:650;text-decoration:none;transition:background .2s,color .2s}
.bliss-v5-card-button:hover,.bliss-v5-primary-link:hover{background:var(--b5-accent);border-color:var(--b5-accent);color:#fff}
/* Filters and catalog controls */
.bliss-v5-filter{background:var(--b5-surface);border:1px solid var(--b5-border);border-radius:var(--b5-radius);padding:clamp(16px,2vw,25px);display:grid;gap:16px}
.bliss-v5-filter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.bliss-v5-filter h3{font-size:1.2rem;line-height:1.3;margin:0}
.bliss-v5-filter-heading button{border:0;background:transparent;color:var(--b5-accent);cursor:pointer;font-size:.77rem;font-weight:700}
.bliss-v5-filter label{display:grid;gap:7px;font-size:.79rem;font-weight:700;color:var(--b5-ink)}
.bliss-v5-filter :where(input,select),.bliss-v5-search input,.bliss-v5-sort select{background:var(--b5-surface);color:var(--b5-ink);border:1px solid var(--b5-border);border-radius:8px;width:100%;min-height:43px;padding:10px 12px;max-width:100%}
.bliss-v5-filter .bliss-v5-check{display:flex;align-items:center;gap:9px;font-weight:500}
.bliss-v5-check input{min-height:0;width:auto;margin:0;accent-color:var(--b5-accent)}
.bliss-v5-filter-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bliss-v5-filter-submit{border:0;background:var(--b5-ink);color:#fff;border-radius:8px;min-height:43px;cursor:pointer;font-weight:700}
.bliss-v5-search{display:flex;align-items:stretch;gap:6px;flex:1;min-width:170px}
.bliss-v5-search label{flex:1}.bliss-v5-search button{background:var(--b5-ink);color:#fff;border:0;border-radius:8px;min-width:45px;font-size:1.4rem;cursor:pointer}
.bliss-v5-sort{display:flex;align-items:center;gap:8px;color:var(--b5-muted);font-size:.83rem;min-width:200px}
.bliss-v5-sort select{width:auto;flex:1}.bliss-v5-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bliss-v5-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:26px 0}
.bliss-v5-pages button{min-width:38px;min-height:38px;background:var(--b5-surface);color:var(--b5-ink);border:1px solid var(--b5-border);border-radius:8px;cursor:pointer}
.bliss-v5-pages button[aria-current="page"]{background:var(--b5-ink);color:#fff}
.bliss-v5-empty{padding:40px 20px;text-align:center;background:var(--b5-surface);border:1px dashed var(--b5-border);border-radius:var(--b5-radius)}
.bliss-v5-legacy-layout{display:grid;grid-template-columns:minmax(220px,275px) minmax(0,1fr);gap:28px}
/* Category and promotional sections */
.bliss-v5-category{display:grid;gap:8px;background:var(--b5-surface);border:1px solid var(--b5-border);border-radius:var(--b5-radius);padding:16px;color:var(--b5-ink);text-align:center}
.bliss-v5-category img,.bliss-v5-category-fallback{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:9px;background:#f8f5f0;display:grid;place-items:center;font-size:2rem}
.bliss-v5-category>span:last-child{font-size:.78rem;color:var(--b5-muted)}
.bliss-v5-promo{background:var(--b5-ink);color:#fff;border-radius:16px;padding:clamp(30px,5vw,72px);max-width:100%;display:grid;justify-items:start;gap:12px}
.bliss-v5-promo h2{font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);font-size:clamp(2rem,4vw,3.6rem);max-width:19ch;margin:0;color:#fff}.bliss-v5-promo p{max-width:50ch;margin:0;color:#e0e5e9}
.bliss-v5-promo .bliss-v5-primary-link{background:#fff;color:var(--b5-ink);border-color:#fff}
.bliss-v5-carousel{position:relative}.bliss-v5-carousel .bliss-v5-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.bliss-v5-carousel .bliss-v5-card{scroll-snap-align:start;flex:0 0 min(280px,70%)}
.bliss-v5-carousel-arrows{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.bliss-v5-carousel-arrows button{width:38px;height:38px;border:1px solid var(--b5-border);background:var(--b5-surface);border-radius:50%;cursor:pointer;font-size:1.4rem}
/* Accessible modal */
.bliss-v5-modal{border:0;border-radius:16px;background:var(--b5-surface);color:var(--b5-ink);max-width:min(890px,calc(100vw - 30px));max-height:calc(100vh - 34px);padding:clamp(22px,3vw,42px);box-shadow:0 36px 100px #0004;overflow:auto}
.bliss-v5-modal::backdrop{background:rgb(7 18 35 / 66%)}
.bliss-v5-modal-close{position:absolute;right:16px;top:12px;font-size:1.6rem;cursor:pointer;border:0;background:transparent;color:var(--b5-ink)}
.bliss-v5-quick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.bliss-v5-quick img{max-width:100%;height:auto;object-fit:contain}.bliss-v5-quick h2{font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);font-size:clamp(1.5rem,2.7vw,2.6rem);line-height:1.2}
.bliss-v5-quick-price{font-size:1.35rem;font-weight:700}.bliss-v5-compare-scroll{max-width:100%;overflow-x:auto}.bliss-v5-compare{border-collapse:collapse;width:100%}.bliss-v5-compare :where(th,td){border-bottom:1px solid var(--b5-border);padding:15px;text-align:left;vertical-align:middle}.bliss-v5-compare img{max-width:100px}
/* Header actions and drawer, isolated from the site's own header. */
.bliss-v5-header-action a,.bliss-v5-header-action button,.bliss-v5-cart-action>button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--b5-ink);cursor:pointer;font-weight:650;padding:8px 10px;border-radius:8px;text-decoration:none}
.bliss-v5-action-icon{font-size:1.4rem}.bliss-v5-cart-count,.bliss-v5-wishlist-count{display:inline-grid;place-items:center;border-radius:50%;background:var(--b5-accent);color:#fff;font-size:.68rem;min-width:19px;height:19px;padding:0 3px}
.bliss-v5-drawer-backdrop{position:fixed;inset:0;background:rgb(8 21 35 / 57%);z-index:99997}
.bliss-v5-drawer{position:fixed;inset:0 0 0 auto;width:min(440px,100vw);height:100dvh;z-index:99998;overflow:auto;background:var(--b5-surface);box-shadow:-15px 0 70px #0002;padding:24px;display:flex;flex-direction:column}
.bliss-v5-drawer[hidden],.bliss-v5-drawer-backdrop[hidden]{display:none}
.bliss-v5-drawer-head{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--b5-border);padding-bottom:18px;margin-bottom:20px}.bliss-v5-drawer-head h2{font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);margin:3px 0;font-size:2rem}.bliss-v5-drawer-head small{color:var(--b5-accent);letter-spacing:.12em}.bliss-v5-drawer-head button{border:0;background:transparent;color:var(--b5-ink);font-size:1.8rem;cursor:pointer}
.bliss-v5-drawer-body{overflow:auto;flex:1;min-height:0}.bliss-v5-drawer .woocommerce-mini-cart-item{padding:14px 0;display:block;border-bottom:1px solid var(--b5-border)}
.bliss-v5-drawer .woocommerce-mini-cart-item img{width:65px;height:65px;object-fit:contain;float:left;margin:0 14px 8px 0}.bliss-v5-drawer .woocommerce-mini-cart__buttons{display:flex;gap:10px;flex-wrap:wrap}.bliss-v5-drawer .woocommerce-mini-cart__buttons a{flex:1;text-align:center;padding:11px 13px;background:var(--b5-ink);color:#fff;border-radius:8px}
.bliss-v5-drawer .woocommerce-mini-cart__total{font-size:1.1rem;padding:17px 0}.bliss-v5-drawer .bliss-v5-qty{display:inline-flex;align-items:center;gap:10px;margin:8px 0}.bliss-v5-drawer .bliss-v5-qty button{border:1px solid var(--b5-border);background:var(--b5-surface);min-width:28px;min-height:28px;border-radius:5px;cursor:pointer}
.bliss-v5-float-actions{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:100px;border:1px solid var(--b5-border,#e5e4e1);background:var(--b5-surface,#fff);box-shadow:0 15px 35px #0002}.bliss-v5-float-actions>a{color:var(--b5-ink);font-size:1.35rem;text-decoration:none}
@media(max-width:1024px){.bliss-v5-grid,.bliss-v5-category-grid{grid-template-columns:repeat(var(--b5-columns-tablet,2),minmax(0,1fr))}}
@media(max-width:767px){.bliss-v5-grid,.bliss-v5-category-grid{grid-template-columns:repeat(var(--b5-columns-mobile,1),minmax(0,1fr))}.bliss-v5-legacy-layout{grid-template-columns:minmax(0,1fr)}.bliss-v5-shell :where(.woocommerce-cart .e-cart__container,.e-woo-cart .e-cart__container){grid-template-columns:minmax(0,1fr)}.bliss-v5-quick{grid-template-columns:1fr}.bliss-v5-sort{min-width:150px}.bliss-v5-filter-prices{grid-template-columns:1fr 1fr}.bliss-v5-card-media{aspect-ratio:1/1}.bliss-v5-float-actions{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.bliss-v5-card,.bliss-v5-card-media img{transition:none}.bliss-v5-card:hover,.bliss-v5-card:hover img{transform:none}}
/* Consistent defaults on native WooCommerce and Elementor product listings sitewide.
   :where() keeps intentional native Elementor widget overrides authoritative. */
body.bliss-v5-commerce-active :where(.woocommerce ul.products li.product,.elementor-widget-woocommerce-products .products li.product,.elementor-widget-woocommerce-archive-products .products li.product) {background:var(--b5-surface, #fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:14px;overflow:hidden;padding:12px;box-shadow:0 12px 32px #10243b09;min-width:0}
body.bliss-v5-commerce-active :where(.woocommerce ul.products li.product img,.elementor-widget-woocommerce-products .products img,.elementor-widget-woocommerce-archive-products .products img){object-fit:contain;height:auto;max-width:100%}
body.bliss-v5-commerce-active :where(.woocommerce ul.products li.product .woocommerce-loop-product__title,.elementor-widget-woocommerce-products .woocommerce-loop-product__title){font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);color:var(--b5-ink,#142f50);line-height:1.35;font-size:1.1rem}
body.bliss-v5-commerce-active :where(.woocommerce ul.products li.product .price,.elementor-widget-woocommerce-products .price){font-weight:700;color:var(--b5-ink,#142f50)}
body.bliss-v5-commerce-active :where(.woocommerce ul.products li.product .button,.elementor-widget-woocommerce-products .products li.product .button){border-radius:8px;background:var(--b5-ink,#142f50);color:#fff;text-align:center;padding:11px 15px}

.bliss-v5-active-filters{display:flex;gap:8px;flex-wrap:wrap}.bliss-v5-filter-chip{padding:6px 10px;background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#ddd);border-radius:100px;font-size:.75rem}.bliss-v5-active-filters button{border:0;background:transparent;color:var(--b5-accent,#b58e51);cursor:pointer}
.bliss-v5-header-search{position:relative}.bliss-v5-header-search form{position:absolute;right:0;top:100%;z-index:500;min-width:300px;background:var(--b5-surface,#fff);padding:12px;border:1px solid var(--b5-border,#ddd);box-shadow:0 12px 30px #0002;display:flex;gap:7px;border-radius:9px}.bliss-v5-header-search form[hidden]{display:none}.bliss-v5-header-search input{min-width:0;flex:1;padding:10px;border:1px solid #ddd;border-radius:6px}.bliss-v5-header-search form button{background:var(--b5-ink,#142f50);color:#fff;border-radius:6px}

/* Bliss Shop 5.3 — unified commerce presentation. Native Elementor layouts remain editable.
   This section replaces the overlapping 5.1 and 5.2 finish passes rather than stacking another patch.
   The same component classes exist in Elementor's editor preview and the public product route. */
:is(.b5-hero,.b5-template,.b5-product-breadcrumb,.b5-product-tabs,.b5-product-related,.b5-cart-recs,.bliss-v5-native-product) {
  --b5-radius:14px;
  --b5-shadow:0 12px 32px rgb(20 41 54 / 5%);
  font-family:var(--e-global-typography-text-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);
  color:var(--b5-ink,#142f50);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  min-width:0;
}
:is(.b5-hero,.b5-template,.b5-product-breadcrumb,.b5-product-tabs,.b5-product-related,.b5-cart-recs) *,
:is(.b5-hero,.b5-template,.b5-product-breadcrumb,.b5-product-tabs,.b5-product-related,.b5-cart-recs) *::before,
:is(.b5-hero,.b5-template,.b5-product-breadcrumb,.b5-product-tabs,.b5-product-related,.b5-cart-recs) *::after{box-sizing:border-box;}
:is(.b5-hero,.b5-template,.b5-product-tabs,.b5-product-related,.bliss-v5-native-product) :is(h1,h2,h3,h4) {
  font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);
  color:var(--b5-ink,#142f50);
  letter-spacing:-.025em;
}
.b5-hero .b5-page-title {font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.12;letter-spacing:-.035em;margin:4px 0 8px;font-weight:650;}
.b5-hero .b5-page-intro {color:var(--b5-muted,#64718a);font-size:1rem;line-height:1.65;max-width:60ch;margin:0;}
:is(.b5-hero,.b5-product-details) .b5-eyebrow {font-size:.7rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--b5-accent,#b58e51);line-height:1.5;}
.b5-hero {min-width:0;}
.b5-shop-layout,.b5-product-hero {min-width:0;align-items:flex-start;}
.b5-shop-layout>.e-con,.b5-product-hero>.e-con {min-width:0;max-width:100%;}
.b5-shop-layout .b5-grid-column,.b5-shop-layout .elementor-widget-bliss-v5-product-grid {min-width:0;}
.b5-product-hero .b5-product-details {
  background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);
  border-radius:16px;box-shadow:0 7px 28px rgb(21 42 56 / 4%);min-width:0;
}
.b5-product-breadcrumb :is(.woocommerce-breadcrumb,.woocommerce-breadcrumb a){font-size:.81rem;line-height:1.6;color:var(--b5-muted,#64718a);text-decoration:none;}
.b5-product-breadcrumb .woocommerce-breadcrumb a:hover {color:var(--b5-ink,#142f50);}
.b5-product-hero .b5-product-gallery {min-width:0;}
.b5-product-hero .b5-product-gallery :is(.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper) {float:none;width:100%;max-width:100%;margin:0;min-width:0;}
.b5-product-hero .b5-product-gallery .woocommerce-product-gallery__image {
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);
  border-radius:16px;max-width:100%;
}
.b5-product-hero .b5-product-gallery .woocommerce-product-gallery__image img {
  display:block;width:100%;height:auto;max-height:520px;object-fit:contain;
}
.b5-product-hero .b5-product-gallery :is(.flex-control-thumbs,.flex-viewport){max-width:100%;}
.b5-product-hero .b5-product-gallery .flex-control-thumbs {display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none;}
.b5-product-hero .b5-product-gallery .flex-control-thumbs li {float:none;width:clamp(62px,19%,90px);margin:0;list-style:none;}
.b5-product-hero .b5-product-gallery .flex-control-thumbs img {border:1px solid var(--b5-border,#e5e4e1);border-radius:9px;opacity:.8;}
.b5-product-hero .b5-product-gallery .flex-control-thumbs img.flex-active {opacity:1;border-color:var(--b5-accent,#b58e51);}
.b5-product-hero .b5-product-details .elementor-widget-woocommerce-product-title :is(h1,h2,.product_title),
.b5-product-hero .b5-product-details :is(h1.product_title,h2.product_title) {
  font-family:var(--e-global-typography-primary-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);
  font-size:clamp(1.95rem,2.75vw,2.85rem);line-height:1.12;letter-spacing:-.033em;
  font-weight:650;color:var(--b5-ink,#142f50);margin:0;
}
.b5-product-hero .b5-product-details .b5-product-price :is(.price,.amount),
.b5-product-hero .b5-product-details .elementor-widget-woocommerce-product-price .price {color:var(--b5-ink,#142f50);font-size:clamp(1.45rem,1.9vw,1.85rem);font-weight:750;line-height:1.3;margin:2px 0;}
.b5-product-hero .b5-product-price del {font-size:.8em;font-weight:400;color:var(--b5-muted,#64718a);opacity:.75;}
.b5-product-hero .b5-product-price ins {text-decoration:none;background:transparent;}
.b5-product-hero .b5-product-details :is(.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-short-description) {color:var(--b5-muted,#64718a);font-size:.97rem;line-height:1.75;}
.b5-product-hero .b5-product-details .woocommerce-product-details__short-description p {margin:0 0 .6em;}
.b5-product-hero .b5-product-details .woocommerce-product-rating {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.84rem;}
.b5-product-hero .b5-product-details .star-rating {float:none;color:var(--b5-accent,#b58e51);}
.b5-product-hero .b5-product-details .b5-optional-rating:not(:has(.woocommerce-product-rating,.star-rating)) {display:none;}
.b5-product-hero .b5-product-details .b5-optional-stock:not(:has(.stock)) {display:none;}
/* Elementor may show a gray placeholder where there is no rating or no managed-stock record.
   Suppress only that empty preview; the widget stays in Navigator for editing. */
:is(.elementor-edit-mode,.elementor-editor-active) .b5-product-hero .b5-product-details :is(.b5-optional-rating,.b5-optional-stock):has(.elementor-widget-empty-icon) {display:none;}
.b5-product-hero .b5-product-details .stock {color:var(--b5-muted,#64718a);font-size:.85rem;margin:0;}
.b5-product-hero .b5-product-details .stock.in-stock {color:var(--b5-ink,#142f50);}
.b5-product-hero .b5-product-details .b5-product-purchase {margin:4px 0 0;min-width:0;}
.b5-product-hero .b5-product-details :is(form.cart,.woocommerce-variation-add-to-cart) {display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin:0;max-width:100%;}
.b5-product-hero .b5-product-details form.cart .quantity {float:none;margin:0;flex:0 0 auto;}
.b5-product-hero .b5-product-details form.cart .quantity .qty {
  box-sizing:border-box;width:80px;max-width:90px;height:50px;min-height:50px;
  border:1px solid var(--b5-border,#e5e4e1);border-radius:9px;
  background:var(--b5-surface,#fff);color:var(--b5-ink,#142f50);font-family:inherit;
  font-size:1rem;font-weight:700;text-align:center;padding:10px 8px;box-shadow:none;
}
.b5-product-hero .b5-product-details form.cart :is(button.single_add_to_cart_button,button.button.alt) {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:1 1 210px;
  min-width:0;min-height:50px;height:auto;margin:0;padding:12px 22px;
  border:1px solid var(--b5-ink,#142f50);border-radius:9px;
  background:var(--b5-ink,#142f50);color:#fff;
  font-family:var(--e-global-typography-accent-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);
  font-size:.94rem;font-weight:750;line-height:1.25;letter-spacing:.01em;text-transform:none;
  box-shadow:none;transition:background .18s,border-color .18s,color .18s;
}
.b5-product-hero .b5-product-details form.cart :is(button.single_add_to_cart_button,button.button.alt):hover {background:var(--b5-accent,#b58e51);border-color:var(--b5-accent,#b58e51);color:#fff;}
.b5-product-hero .b5-product-details form.cart :is(button.single_add_to_cart_button,button.button.alt):disabled {opacity:.55;cursor:not-allowed;}
.b5-product-hero .b5-product-details form.cart .variations {border:0;width:100%;margin:0 0 7px;}
.b5-product-hero .b5-product-details form.cart .variations :is(th,td) {border:0;background:transparent;padding:6px 9px 6px 0;text-align:left;vertical-align:middle;}
.b5-product-hero .b5-product-details form.cart .variations label {color:var(--b5-ink,#142f50);font-size:.88rem;font-weight:700;}
.b5-product-hero .b5-product-details form.cart .variations select {width:100%;max-width:100%;min-height:46px;background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:9px;color:var(--b5-ink,#142f50);padding:10px 12px;}
.b5-product-hero .b5-product-details .woocommerce-variation-price {padding-bottom:8px;}
.b5-product-hero .b5-product-details .product_meta {
  display:grid;gap:8px;padding:18px 0 0;margin-top:8px;
  border-top:1px solid var(--b5-border,#e5e4e1);font-size:.81rem;
  color:var(--b5-muted,#64718a);line-height:1.6;overflow-wrap:anywhere;font-family:inherit;font-style:normal;
}
.b5-product-hero .b5-product-details .product_meta :is(.sku_wrapper,.posted_in,.tagged_as){display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;}
.b5-product-hero .b5-product-details .product_meta a {color:var(--b5-ink,#142f50);text-decoration:none;}
.b5-product-hero .b5-product-details .product_meta a:hover {text-decoration:underline;}
.b5-product-tabs {border-top:1px solid var(--b5-border,#e5e4e1);}
.b5-product-tabs .woocommerce-tabs {width:100%;}
.b5-product-tabs .woocommerce-tabs ul.tabs {display:flex;flex-wrap:wrap;gap:4px;margin:0 0 22px;padding:0;list-style:none;border-bottom:1px solid var(--b5-border,#e5e4e1);}
.b5-product-tabs .woocommerce-tabs ul.tabs::before,
.b5-product-tabs .woocommerce-tabs ul.tabs li::before,
.b5-product-tabs .woocommerce-tabs ul.tabs li::after {display:none;}
.b5-product-tabs .woocommerce-tabs ul.tabs li {background:transparent;border:0;border-radius:0;padding:0;margin:0;list-style:none;}
.b5-product-tabs .woocommerce-tabs ul.tabs li a {display:block;padding:12px 18px;border-bottom:2px solid transparent;color:var(--b5-muted,#64718a);font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none;}
.b5-product-tabs .woocommerce-tabs ul.tabs li.active a {border-bottom-color:var(--b5-accent,#b58e51);color:var(--b5-ink,#142f50);}
.b5-product-tabs .woocommerce-Tabs-panel {color:var(--b5-muted,#64718a);line-height:1.8;max-width:90ch;}
.b5-product-related {border-top:1px solid var(--b5-border,#e5e4e1);}
.b5-product-related .b5-section-title {font-size:clamp(1.55rem,2.3vw,2.25rem);font-weight:650;line-height:1.2;margin:0;}
/* Native WooCommerce product-list cards used by related products and archive fallbacks. */
:is(.b5-product-related,.b5-product-tabs,.bliss-v5-native-product,.b5-template) .woocommerce ul.products li.product {
  box-sizing:border-box;min-width:0;max-width:100%;margin-bottom:0;
  padding:14px;background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:13px;box-shadow:0 4px 18px rgb(15 30 45 / 4%);
}
:is(.b5-product-related,.bliss-v5-native-product,.b5-template) .woocommerce ul.products li.product img {max-width:100%;height:auto;object-fit:contain;border-radius:9px;}
:is(.b5-product-related,.bliss-v5-native-product,.b5-template) .woocommerce ul.products li.product :is(.woocommerce-loop-product__title,.price) {color:var(--b5-ink,#142f50);font-family:var(--e-global-typography-text-font-family,inherit);}
:is(.b5-product-related,.bliss-v5-native-product,.b5-template) .woocommerce ul.products li.product :is(a.button,button.button) {
  box-sizing:border-box;display:inline-flex;width:100%;min-height:46px;align-items:center;justify-content:center;margin:12px 0 0;padding:11px 14px;
  background:var(--b5-ink,#142f50);border:1px solid var(--b5-ink,#142f50);border-radius:9px;
  color:#fff;text-align:center;font-family:inherit;font-size:.88rem;font-weight:700;text-transform:none;
}
:is(.b5-product-related,.bliss-v5-native-product,.b5-template) .woocommerce ul.products li.product :is(a.button,button.button):hover {background:var(--b5-accent,#b58e51);border-color:var(--b5-accent,#b58e51);color:#fff;}
/* Shop cards: product proportions and native WooCommerce .button rules normalized. */
.bliss-v5-catalog {container-type:inline-size;max-width:100%;min-width:0;}
.bliss-v5-catalog .bliss-v5-grid {grid-template-columns:repeat(var(--b5-columns,3),minmax(0,1fr));gap:clamp(13px,1.45vw,23px);}
@container (max-width:840px) {.bliss-v5-catalog .bliss-v5-grid {grid-template-columns:repeat(var(--b5-columns-tablet,2),minmax(0,1fr));}}
@container (max-width:460px) {.bliss-v5-catalog .bliss-v5-grid {grid-template-columns:repeat(var(--b5-columns-mobile,1),minmax(0,1fr));}}
.bliss-v5-card {border-radius:14px;box-shadow:0 4px 18px rgb(15 30 45 / 4%);}
.bliss-v5-card-media {aspect-ratio:1/1.04;}
.bliss-v5-card-media>a {padding:clamp(13px,2vw,23px);}
.bliss-v5-card-copy {gap:9px;padding:clamp(15px,1.5vw,21px);}
.bliss-v5-card-title {font-size:clamp(.98rem,1.15vw,1.17rem);line-height:1.35;font-weight:680;}
.bliss-v5-card-price {font-size:1.1rem;line-height:1.35;margin-top:auto;}
.bliss-v5-card .bliss-v5-card-button {
  display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;
  box-sizing:border-box;min-height:48px;height:auto;margin:13px 0 0;padding:12px 15px;
  background:var(--b5-ink,#142f50);border:1px solid var(--b5-ink,#142f50);border-radius:9px;
  color:#fff;font-family:var(--e-global-typography-accent-font-family,inherit);
  font-size:.9rem;font-weight:700;line-height:1.3;letter-spacing:.01em;text-transform:none;text-align:center;text-decoration:none;white-space:normal;
  box-shadow:none;opacity:1;
}
.bliss-v5-card .bliss-v5-card-button:hover {background:var(--b5-accent,#b58e51);border-color:var(--b5-accent,#b58e51);color:#fff;}
.bliss-v5-card .bliss-v5-card-button.loading {opacity:.7;pointer-events:none;}
.bliss-v5-card .bliss-v5-card-button.added {border-color:var(--b5-accent,#b58e51);}
.bliss-v5-card .added_to_cart {display:inline-flex;justify-content:center;align-items:center;padding:9px;color:var(--b5-ink,#142f50);font-size:.86rem;font-weight:700;}
.bliss-v5-card .star-rating {float:none;color:var(--b5-accent,#b58e51);}
/* Cart, checkout and account widgets are on native WooCommerce pages, not inside router .bliss-v5-shell. */
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) {font-family:var(--e-global-typography-text-font-family,"Avenir Next","Segoe UI",system-ui,sans-serif);color:var(--b5-ink,#142f50);}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(input.input-text,input[type="email"],input[type="tel"],input[type="password"],input[type="number"],textarea,select,.select2-selection) {
  box-sizing:border-box;max-width:100%;min-height:46px;padding:10px 13px;
  border:1px solid var(--b5-border,#e5e4e1);border-radius:9px;background:var(--b5-surface,#fff);
  color:var(--b5-ink,#142f50);font-family:inherit;font-size:.93rem;box-shadow:none;
}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(label,.form-row label) {color:var(--b5-ink,#142f50);font-family:inherit;font-size:.87rem;font-weight:650;}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(button.button,a.button,input.button,#place_order,.elementor-button) {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;height:auto;
  border:1px solid var(--b5-ink,#142f50);border-radius:9px;background:var(--b5-ink,#142f50);
  color:#fff;padding:11px 18px;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.35;text-transform:none;text-decoration:none;
  box-shadow:none;transition:background .18s,border-color .18s,color .18s;
}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(button.button,a.button,input.button,#place_order,.elementor-button):hover {background:var(--b5-accent,#b58e51);border-color:var(--b5-accent,#b58e51);color:#fff;}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(input,select,textarea,button,a):focus-visible {outline:2px solid var(--b5-accent,#b58e51);outline-offset:3px;}
body:is(.bliss-v5-cart,.bliss-v5-checkout,.bliss-v5-account) :is(.woocommerce,.e-woo-cart,.e-woo-checkout,.e-my-account-tab) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) {background:var(--b5-surface,#fff);color:var(--b5-ink,#142f50);border:1px solid var(--b5-border,#e5e4e1);border-left:4px solid var(--b5-accent,#b58e51);border-radius:10px;padding:16px 18px;}
body.bliss-v5-cart :is(.e-cart__container,.woocommerce-cart-form,.e-cart__column) {min-width:0;max-width:100%;}
body.bliss-v5-cart :is(.e-cart__column-end,.cart_totals) {background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:14px;box-shadow:var(--b5-shadow);}
body.bliss-v5-cart :is(.e-cart__table,table.shop_table) {width:100%;max-width:100%;border:1px solid var(--b5-border,#e5e4e1);border-radius:12px;}
body.bliss-v5-cart :is(.woocommerce-cart-form,.e-cart__column-start) img {max-width:105px;height:auto;border-radius:9px;object-fit:contain;}
body.bliss-v5-cart .woocommerce .product-name a {color:var(--b5-ink,#142f50);font-weight:650;text-decoration:none;}
body.bliss-v5-cart .woocommerce .coupon {display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
body.bliss-v5-cart .woocommerce .coupon #coupon_code {flex:1 1 155px;min-width:0;width:auto;}
body.bliss-v5-checkout :is(.e-checkout__container,.e-checkout__column,.woocommerce-checkout,.woocommerce-checkout-review-order) {min-width:0;max-width:100%;}
body.bliss-v5-checkout :is(.e-checkout__order_review,.woocommerce-checkout-review-order) {border:1px solid var(--b5-border,#e5e4e1);border-radius:14px;background:var(--b5-surface,#fff);box-shadow:var(--b5-shadow);}
body.bliss-v5-checkout :is(#customer_details h3,#order_review_heading,.e-checkout__column h3,.e-checkout__title) {font-family:var(--e-global-typography-primary-font-family,inherit);font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:700;letter-spacing:-.018em;color:var(--b5-ink,#142f50);}
body.bliss-v5-checkout :is(table.shop_table,table.woocommerce-checkout-review-order-table) {width:100%;border:1px solid var(--b5-border,#e5e4e1);border-radius:10px;background:var(--b5-surface,#fff);border-collapse:separate;border-spacing:0;}
body.bliss-v5-checkout :is(#payment,.e-checkout__payment) {background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:10px;}
body.bliss-v5-checkout #payment div.payment_box {background:color-mix(in srgb,var(--b5-surface,#fff),var(--b5-border,#e5e4e1) 40%);border-radius:9px;}
body.bliss-v5-checkout :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper) {color:var(--b5-muted,#64718a);font-size:.84rem;line-height:1.7;}
body.bliss-v5-account :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content) {min-width:0;max-width:100%;}
body.bliss-v5-account .woocommerce-MyAccount-navigation ul {margin:0;padding:8px;list-style:none;border:1px solid var(--b5-border,#e5e4e1);background:var(--b5-surface,#fff);border-radius:13px;display:grid;gap:4px;}
body.bliss-v5-account .woocommerce-MyAccount-navigation li {list-style:none;margin:0;}
body.bliss-v5-account .woocommerce-MyAccount-navigation a {display:block;padding:12px 14px;color:var(--b5-ink,#142f50);text-decoration:none;font-weight:650;border-radius:9px;}
body.bliss-v5-account .woocommerce-MyAccount-navigation :is(li.is-active a,a:hover) {background:color-mix(in srgb,var(--b5-accent,#b58e51) 12%,var(--b5-surface,#fff));}
body.bliss-v5-account .woocommerce-MyAccount-content :is(.woocommerce-Address,.woocommerce-orders-table,.woocommerce-customer-details) {background:var(--b5-surface,#fff);border:1px solid var(--b5-border,#e5e4e1);border-radius:12px;padding:clamp(14px,2vw,24px);}
/* Native fallback when product templates are unavailable must remain usable, never blank. */
.bliss-v5-native-product {max-width:1220px;margin-inline:auto;padding:24px;min-width:0;}
.bliss-v5-native-product .product {display:flow-root;min-width:0;}
.bliss-v5-native-product :is(.summary,.woocommerce-product-gallery) {min-width:0;max-width:100%;}
.bliss-v5-native-product .product_title {font-family:var(--e-global-typography-primary-font-family,inherit);font-size:clamp(1.9rem,3vw,3rem);line-height:1.15;letter-spacing:-.025em;color:var(--b5-ink,#142f50);}
.bliss-v5-native-product .price {font-size:1.6rem;color:var(--b5-ink,#142f50);font-weight:750;}
.bliss-v5-native-product form.cart .single_add_to_cart_button {background:var(--b5-ink,#142f50);color:#fff;min-height:50px;padding:12px 20px;border-radius:9px;}
.bliss-v5-checkout-recovery {width:100%;margin-block:12px 36px;}

/* The native WooCommerce fallback must also be a composed product layout, not raw theme floats. */
.bliss-v5-native-product.woocommerce div.product {display:grid;grid-template-columns:minmax(0,43fr) minmax(0,53fr);gap:30px;align-items:start;}
.bliss-v5-native-product.woocommerce div.product :is(.woocommerce-product-gallery,.images) {float:none;width:100%;min-width:0;max-width:100%;margin:0;}
.bliss-v5-native-product.woocommerce div.product .summary {
  float:none;width:100%;min-width:0;max-width:100%;margin:0;
  padding:clamp(22px,3vw,34px);background:var(--b5-surface,#fff);
  border:1px solid var(--b5-border,#e5e4e1);border-radius:15px;box-shadow:var(--b5-shadow);
}
.bliss-v5-native-product.woocommerce div.product .woocommerce-product-gallery__image {border:1px solid var(--b5-border,#e5e4e1);border-radius:15px;background:var(--b5-surface,#fff);overflow:hidden;}
.bliss-v5-native-product.woocommerce div.product .woocommerce-product-gallery__image img {display:block;width:100%;height:auto;max-height:520px;object-fit:contain;}
.bliss-v5-native-product.woocommerce div.product :is(.woocommerce-tabs,.related,.up-sells) {grid-column:1/-1;min-width:0;}
.bliss-v5-native-product.woocommerce div.product .summary form.cart {display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;}
.bliss-v5-native-product.woocommerce div.product .summary form.cart .quantity {margin:0;}
.bliss-v5-native-product.woocommerce div.product .summary form.cart .qty {width:82px;min-height:50px;border:1px solid var(--b5-border,#e5e4e1);border-radius:9px;}
.bliss-v5-native-product.woocommerce div.product .summary form.cart button.single_add_to_cart_button {display:inline-flex;flex:1 1 200px;align-items:center;justify-content:center;border:1px solid var(--b5-ink,#142f50);font:inherit;font-weight:700;}
.bliss-v5-native-product.woocommerce div.product .summary .product_meta {display:grid;gap:7px;margin-top:20px;padding-top:18px;border-top:1px solid var(--b5-border,#e5e4e1);font:inherit;font-size:.84rem;color:var(--b5-muted,#64718a);}
.bliss-v5-native-product.woocommerce div.product .summary .product_meta :is(.sku_wrapper,.posted_in,.tagged_as) {display:flex;flex-wrap:wrap;gap:9px;}
.bliss-v5-native-product.woocommerce div.product .summary .product_meta a {color:var(--b5-ink,#142f50);}
@media(max-width:767px){.bliss-v5-native-product.woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:20px;}.bliss-v5-native-product{padding:16px;}}
@media(max-width:980px) {
  .b5-shop-layout {flex-wrap:wrap;}
  .b5-shop-layout>.b5-filter-column,.b5-shop-layout>.b5-grid-column {min-width:0;}
  .b5-product-hero {flex-wrap:wrap;}
  .b5-product-hero>.b5-product-gallery,.b5-product-hero>.b5-product-details {min-width:0;}
}
@media(max-width:767px) {
  .b5-product-hero .b5-product-gallery .woocommerce-product-gallery__image img {max-height:420px;}
  .b5-product-hero .b5-product-details .elementor-widget-woocommerce-product-title :is(h1,h2,.product_title) {font-size:clamp(1.7rem,7vw,2.25rem);}
  .b5-product-hero .b5-product-details form.cart button.single_add_to_cart_button {flex:1 1 170px;}
  body.bliss-v5-cart :is(.e-cart__container,.e-cart__column-start,.e-cart__column-end) {min-width:0;}
  body.bliss-v5-checkout :is(.e-checkout__container,.woocommerce-checkout) {min-width:0;}
}
@media(prefers-reduced-motion:reduce){.bliss-v5-card,.bliss-v5-card *{transition:none;}}
