/* Mercuno 2.5.91 storefront improvements - scoped to maintained themes. */
.mercuno-sale-badge{position:absolute;z-index:4;top:12px;left:12px;background:#b91c1c;color:#fff;border-radius:5px;font-size:11px;font-weight:800;line-height:1;padding:8px 11px;pointer-events:none;box-shadow:0 2px 8px #0002}
.default-product-card,.frame-product-card,.bloom-product-card,.default-product-media-wrap{position:relative}
.mercuno-product-price-brand-row .mercuno-product-brand-logo{display:none}
.default-product-facts .mercuno-product-brand-fact{display:flex;align-items:center;justify-content:space-between;gap:18px}
.default-product-facts .mercuno-product-brand-fact .mercuno-brand-label{font-weight:800;color:var(--mercuno-text,#222)}
.default-product-facts .mercuno-product-brand-logo{margin:0;max-width:55%;height:auto;min-height:28px;display:flex;justify-content:flex-end}
.default-product-facts .mercuno-product-brand-logo img{width:auto;max-width:140px;max-height:44px;height:auto;object-fit:contain}
.mercuno-brand-slider-track{scrollbar-width:none}.mercuno-brand-slider-track::-webkit-scrollbar{display:none}
.mercuno-brand-slider-item{min-width:0;overflow:hidden}.mercuno-brand-slider-item img{display:block;width:100%;height:64px!important;max-height:64px!important;max-width:100%;object-fit:contain!important;object-position:center}
.theme-frame .frame-hero-categories{height:auto!important;aspect-ratio:1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.theme-frame .frame-cat-tile{aspect-ratio:1;min-height:0}
.theme-frame .frame-mobile-menu-head .mercuno-mobile-drawer-brand{display:flex;align-items:center;max-width:70%;text-decoration:none;color:inherit}
.theme-frame .frame-mobile-menu-head .mercuno-mobile-drawer-brand img{display:block;width:auto;height:auto;max-height:46px;max-width:100%;object-fit:contain}
/* v2.5.108 — Timber/FRAME header state ordering. This shared sheet loads AFTER
   the theme stylesheet, so the old unconditional nav z-index (880) covered
   live search and the account/favorites panels even when categories were shut.
   Keep normal utility overlays above the closed navigation, then raise the
   actual category navigation only while its native <details> is open. */
@media (min-width:1024px) {
  body.theme-frame .frame-header-stack {position:relative;z-index:850;isolation:isolate;overflow:visible!important}
  body.theme-frame .frame-main-header {overflow:visible}
  body.theme-frame .frame-navbar {position:relative;z-index:3;overflow:visible}
  body.theme-frame .frame-catalog-nav-wrap {position:relative;z-index:1;overflow:visible!important}
  body.theme-frame .frame-navbar .frame-catalog-search:focus-within,
  body.theme-frame .frame-navbar .frame-catalog-search:has(.frame-search-suggestions:not([hidden])),
  body.theme-frame .frame-navbar .frame-tools .frame-utility[open],
  body.theme-frame .frame-navbar .frame-tools .frame-language[open] {z-index:12}
  body.theme-frame .frame-catalog-nav-wrap:has(.frame-categories-menu[open]) {z-index:15}
  body.theme-frame .frame-categories-menu {position:relative;z-index:2}
  body.theme-frame .frame-categories-dropdown,
  body.theme-frame .frame-category-node>ul {z-index:3!important}
}
/* Mobile product column count belongs to the Shop, not related carousels. */
@media(max-width:720px){body[data-mobile-products-per-row="1"] .default-shop-results .default-products-grid:not(.mercuno-related-track),body[data-mobile-products-per-row="1"] .bloom-shop-page .default-shop-results .default-products-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}body[data-mobile-products-per-row="2"] .default-shop-results .default-products-grid:not(.mercuno-related-track),body[data-mobile-products-per-row="2"] .bloom-shop-page .default-shop-results .default-products-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.mercuno-breadcrumb-message{max-width:100%;margin:10px 0 22px;padding:12px 16px;border-left:3px solid var(--mercuno-button,#444);background:var(--mercuno-surface,#f8fafc);color:var(--mercuno-text,#222);font-weight:600;font-size:13px;line-height:1.55}
.mercuno-contact-map{width:100%;max-width:1180px;margin:24px auto 32px;border-radius:12px;overflow:hidden;border:1px solid var(--mercuno-border,#ddd)}.mercuno-contact-map iframe{display:block;width:100%;height:340px;border:0}.mercuno-contact-map-header{margin:20px auto 26px}.default-contact-copy .mercuno-contact-map{width:100%}
@media(min-width:0px){body[data-shop-filters-below-categories="1"] .default-shop-layout>section{display:flex;flex-direction:column}body[data-shop-filters-below-categories="1"] .default-shop-layout>section>.mercuno-subcategory-section{order:1}body[data-shop-filters-below-categories="1"] .default-shop-layout>section>.default-shop-toolbar{order:2;margin-top:18px}body[data-shop-filters-below-categories="1"] .default-shop-layout>section>.default-shop-results{order:3}}

/* v2.5.97: universal responsive product grids and larger one-column mobile actions. */
@media(max-width:720px){
 body[data-mercuno-theme="hexa"][data-mobile-products-per-row="1"] .hexa-products,
 body[data-mercuno-theme="frame"][data-mobile-products-per-row="1"] .frame-products,
 body[data-mercuno-theme="bloom"][data-mobile-products-per-row="1"] .bloom-product-grid,
 body[data-mercuno-theme][data-mobile-products-per-row="1"] .default-shop-results .default-products-grid:not(.mercuno-related-track),
 body[data-mercuno-theme][data-mobile-products-per-row="1"] .default-products-grid:not(.mercuno-related-track):not(.mercuno-brand-slider-track){display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 body[data-mercuno-theme="hexa"][data-mobile-products-per-row="2"] .hexa-products,
 body[data-mercuno-theme="frame"][data-mobile-products-per-row="2"] .frame-products,
 body[data-mercuno-theme="bloom"][data-mobile-products-per-row="2"] .bloom-product-grid,
 body[data-mercuno-theme][data-mobile-products-per-row="2"] .default-products-grid:not(.mercuno-related-track):not(.mercuno-brand-slider-track){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body[data-mercuno-theme][data-mobile-products-per-row="1"] :is(.default-product-card,.frame-product-card,.hexa-product-card) :is(.default-product-price,.frame-price,.hexa-product-price){font-size:clamp(22px,5.5vw,28px)!important;line-height:1.2}
 body[data-mercuno-theme][data-mobile-products-per-row="1"] :is(.default-product-card,.frame-product-card,.hexa-product-card) :is(.default-add-cart,.hexa-add-to-cart){font-size:15px!important;padding:12px 17px!important;min-height:44px}
 body[data-mercuno-theme][data-mobile-products-per-row="1"] :is(.default-product-bottom,.frame-product-meta,.hexa-product-bottom){gap:10px;flex-wrap:wrap;align-items:flex-end}
}
/* Two-line titles do not leak underneath category labels. */
body[data-mercuno-theme] .default-product-title,
body[data-mercuno-theme="frame"] .frame-product-copy h3{
 display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
 line-clamp:2;overflow:hidden!important;overflow-wrap:anywhere;min-height:0!important;
 max-height:3em!important;line-height:1.5!important;text-overflow:ellipsis}
/* Strong but theme-consistent sale badge. The source price logic decides visibility. */
body[data-mercuno-theme] .mercuno-sale-badge{font-size:13px;font-weight:900;line-height:1.15;
 padding:10px 14px;border-radius:7px;background:#bd1836;color:#fff;
 box-shadow:0 4px 14px rgba(0,0,0,.25);letter-spacing:.04em}
@media(max-width:720px){body[data-mercuno-theme] .mercuno-sale-badge{font-size:11px;padding:8px 10px}}
/* Only active search outranks the desktop categories flyout. Closing search restores nav stack. */
body.mercuno-search-open [data-mercuno-search-dialog]{position:fixed!important;inset:0;z-index:1200!important;isolation:isolate}
body.mercuno-search-open [data-mercuno-search-dialog] [data-mercuno-search-results]{position:relative;z-index:2}
