/* Mobile-first behavioural fixes loaded after the base product stylesheet. */
@media(max-width:921px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:66px}
  .site-header{position:sticky;z-index:9999;top:0;height:68px!important;overflow:hidden;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}
  #ast-desktop-header{display:none!important}#ast-mobile-header{display:block!important}
  #ast-mobile-header{position:absolute!important;inset:0 0 auto 0!important;height:68px!important;background:#fff!important}
  #ast-mobile-header .ast-main-header-wrap,#ast-mobile-header .ast-primary-header-bar{height:68px!important;min-height:68px!important;background:#fff!important}
  #ast-mobile-header .menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;color:#111!important}
  #ast-mobile-header .menu-toggle svg{fill:#111!important}
  .admin-bar .site-header{top:0!important}
  .ast-primary-header-bar,.home .ast-primary-header-bar{min-height:68px!important;background:#fff!important}
  .site-branding .custom-logo-link:after{color:#111;font-size:20px}
  .opulisa-wordmark{font-size:20px!important}
  .ast-site-header-cart .ast-woo-header-cart-info-wrap,.ast-site-header-cart .ast-woo-header-cart-total,.ast-site-header-cart .ast-cart-menu-wrap .count:after{display:none!important}
  .ast-site-header-cart{width:36px!important;min-width:36px!important}
  #moderncart-floating-cart{display:none!important}
  .melanvo-mobile-nav{position:fixed;z-index:99998;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);height:66px;padding:5px 18px max(5px,env(safe-area-inset-bottom));border-top:1px solid #ddd;background:rgba(255,255,255,.97);box-shadow:0 -8px 30px rgba(0,0,0,.08);backdrop-filter:blur(10px)}
  .melanvo-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#111;font-size:10px;font-weight:700;text-decoration:none}
  .melanvo-mobile-nav span{position:relative;font-size:17px;line-height:1}.melanvo-mobile-nav b{position:absolute;top:-7px;right:-12px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#f20d16;color:#fff;font-size:9px}
  .melanvo-mobile-nav .melanvo-nav-cart{display:block;width:23px;height:21px}.melanvo-mobile-nav .melanvo-nav-cart svg{display:block;width:23px;height:21px}.melanvo-mobile-nav .melanvo-nav-cart b{right:-9px}
  body.melanvo-drawer-open{overflow:hidden!important}.melanvo-cart-backdrop{position:fixed;z-index:100000;inset:0;display:block!important;border:0;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.melanvo-cart-backdrop.is-open{opacity:1;visibility:visible}.melanvo-cart-drawer{position:fixed!important;z-index:100001;top:0;right:0;bottom:0;display:flex!important;width:min(94vw,430px)!important;max-width:none!important;margin:0!important;flex-direction:column;background:#fff;box-shadow:-20px 0 70px rgba(0,0,0,.24);transform:translateX(105%);visibility:hidden;transition:transform .3s ease,visibility .3s}.melanvo-cart-drawer.is-open{transform:none;visibility:visible}.melanvo-cart-drawer>header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:20px;border-bottom:1px solid #ddd}.melanvo-cart-drawer>header h2{margin:0;color:#111;font-size:28px;font-weight:800;line-height:1}.melanvo-cart-drawer>header h2 span{font-weight:400}.melanvo-drawer-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:#f1f1f1;color:#111;font-size:27px}.melanvo-drawer-items{flex:1;min-height:0;overflow-y:auto;padding:0 18px}.melanvo-drawer-item{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 24px;gap:11px;padding:18px 0;border-bottom:1px solid #e5e5e5}.melanvo-drawer-item.is-updating{opacity:.45;pointer-events:none}.melanvo-drawer-image{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:6px;background:#f5f1e9}.melanvo-drawer-image img{width:100%;height:100%;object-fit:cover}.melanvo-drawer-copy{min-width:0}.melanvo-drawer-copy>p{margin:0 0 5px;color:#777;font-size:8px;letter-spacing:.15em}.melanvo-drawer-copy h3{margin:0;color:#111;font-size:15px;line-height:1.2}.melanvo-drawer-copy h3 a{color:#111;text-decoration:none}.melanvo-drawer-variation{margin-top:7px;color:#555;font-size:10px}.melanvo-drawer-variation dl{display:flex;gap:4px;margin:0}.melanvo-drawer-variation dt,.melanvo-drawer-variation dd{margin:0}.melanvo-drawer-controls{margin-top:10px}.melanvo-drawer-controls .melanvo-cart-quantity{height:32px}.melanvo-drawer-controls .melanvo-cart-quantity button{width:30px}.melanvo-drawer-controls .melanvo-cart-quantity input.qty{width:38px;height:30px}.melanvo-drawer-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:8px}.melanvo-drawer-price del{color:#888;font-size:10px}.melanvo-drawer-price strong{color:#f20d16;font-size:15px}.melanvo-drawer-price span{flex-basis:100%;font-size:10px}.melanvo-drawer-remove{width:24px;height:24px;padding:0;border:0;background:transparent;color:#111;font-size:21px}.melanvo-drawer-empty{display:flex;height:100%;min-height:360px;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.melanvo-drawer-empty strong{font-size:23px}.melanvo-drawer-empty a{display:flex;min-height:46px;align-items:center;padding:0 18px;border-radius:6px;background:#f20d16;color:#fff;text-decoration:none;font-weight:800}.melanvo-cart-drawer>footer{flex:0 0 auto;padding:17px 20px max(20px,env(safe-area-inset-bottom));border-top:1px solid #ddd;background:#fff;box-shadow:0 -10px 30px rgba(0,0,0,.06)}.melanvo-drawer-saving,.melanvo-drawer-subtotal{display:flex;justify-content:space-between;font-weight:800}.melanvo-drawer-saving{color:#f20d16;font-size:17px}.melanvo-drawer-subtotal{margin-top:7px;color:#111;font-size:22px}.melanvo-cart-drawer>footer>a{display:flex;min-height:54px;align-items:center;justify-content:center;margin-top:15px;border-radius:7px;background:#f20d16;color:#fff;text-decoration:none;font-size:19px;font-weight:800}.melanvo-cart-drawer>footer small{display:block;margin-top:9px;color:#777;text-align:center}
  .melanvo-site-footer{grid-template-columns:1fr;gap:28px;padding:48px 24px 36px;text-align:left}.melanvo-site-footer small{grid-column:1}.melanvo-site-footer nav{display:grid;grid-template-columns:1fr 1fr}.melanvo-footer-brand{font-size:22px}

  .home .site-content{padding:0!important}.melanvo-hero{min-height:680px;align-items:flex-end}.melanvo-hero-media{background-position:58% center}.melanvo-hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.38) 65%,rgba(0,0,0,.12) 100%)}
  .melanvo-hero-copy{width:100%;padding:44px 22px 54px}.melanvo-hero h1{font-size:48px;line-height:.98}.melanvo-hero-copy>p:not(.melanvo-kicker){margin:20px 0 26px;font-size:15px;line-height:1.6}.melanvo-hero-actions{flex-direction:column}.melanvo-hero-actions .melanvo-btn{width:100%}
  .melanvo-benefit-bar{display:flex;margin:0;padding:20px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.melanvo-benefit-bar::-webkit-scrollbar{display:none}.melanvo-benefit-bar>div{flex:0 0 76%;padding:4px 18px;scroll-snap-align:start}.melanvo-benefit-bar>div:last-child{border-right:0}
  .melanvo-home-section{margin:72px 20px}.melanvo-section-head{margin-bottom:26px}.melanvo-section-head h2{font-size:34px}.melanvo-section-head>a{position:static;display:inline-block;margin-top:14px}.melanvo-category-grid{grid-template-columns:1fr;gap:12px}.melanvo-category-grid>a{min-height:210px;padding:25px}.melanvo-category-grid strong{font-size:26px}
  .melanvo-home-products{display:flex;gap:14px;margin-right:-20px;padding-right:20px;overflow-x:auto;scroll-snap-type:x mandatory}.melanvo-home-card{flex:0 0 82%;scroll-snap-align:start}.melanvo-home-card h3{font-size:17px}.melanvo-home-card-image{border-radius:12px}
  .melanvo-story{grid-template-columns:1fr;margin:82px 20px;border-radius:14px;overflow:hidden}.melanvo-story-image{min-height:330px}.melanvo-story-copy{padding:36px 24px}.melanvo-story-copy h2{font-size:36px}.melanvo-final-cta{margin-bottom:86px}.melanvo-final-cta h2{font-size:36px}

  .post-type-archive-product .site-content>.ast-container,.tax-product_cat .site-content>.ast-container{padding:24px 16px!important}.post-type-archive-product .site-main,.tax-product_cat .site-main{padding-top:0!important}
  .post-type-archive-product .woocommerce-result-count,.tax-product_cat .woocommerce-result-count{float:none!important;margin:0 0 12px!important;font-size:13px}.post-type-archive-product .woocommerce-ordering,.tax-product_cat .woocommerce-ordering{float:none!important;width:100%;margin:0 0 24px!important}.post-type-archive-product .woocommerce-ordering select,.tax-product_cat .woocommerce-ordering select{width:100%;height:45px;border:1px solid #ddd;border-radius:6px;background:#fff;padding:0 12px}
  .post-type-archive-product ul.products,.tax-product_cat ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 12px!important}.post-type-archive-product ul.products li.product,.tax-product_cat ul.products li.product{max-width:none;margin:0!important;width:100%}.post-type-archive-product ul.products li.product .astra-shop-thumbnail-wrap,.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap{margin-bottom:12px}.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,.tax-product_cat ul.products li.product .woocommerce-loop-product__title{min-height:3.75em!important;padding:0 2px!important;font-size:14px!important;line-height:1.25!important}.post-type-archive-product ul.products li.product .price.opulisa-loop-price,.tax-product_cat ul.products li.product .price.opulisa-loop-price{gap:5px!important;font-size:15px!important}.post-type-archive-product ul.products li.product .price.opulisa-loop-price del,.tax-product_cat ul.products li.product .price.opulisa-loop-price del{font-size:10px!important}.post-type-archive-product ul.products li.product .astra-shop-summary-wrap>a.button,.tax-product_cat ul.products li.product .astra-shop-summary-wrap>a.button{min-height:44px!important;padding:9px 5px!important;font-size:13px!important}.post-type-archive-product .opulisa-loop-brand,.tax-product_cat .opulisa-loop-brand{font-size:8px!important}.opulisa-quick-view{top:8px;right:8px}

  .single-product .ast-container{padding-left:16px!important;padding-right:16px!important}.single-product div.product{padding-top:18px}.single-product div.product .woocommerce-product-gallery{margin-bottom:26px}.single-product .woocommerce-product-gallery__wrapper{border-radius:12px}.single-product .flex-control-thumbs{gap:8px}.single-product .flex-control-thumbs li{min-width:64px!important}.single-product div.product .product_title{font-size:32px!important;line-height:1.06}.single-product .woocommerce-product-details__short-description{font-size:15px}.single-product .opulisa-trust-grid{grid-template-columns:1fr 1fr}.single-product .opulisa-details{margin-top:28px}.opulisa-reviews-block,.opulisa-promo,.opulisa-faq{margin-top:64px!important}.opulisa-reviews-block .opulisa-section-heading{text-align:left}.opulisa-no-reviews{padding:24px}.opulisa-native-reviews{margin-top:26px}.opulisa-native-reviews #review_form_wrapper{padding:0!important}.opulisa-promo{margin-left:0!important;margin-right:0!important;border-radius:12px}.opulisa-promo-copy{padding:32px 24px!important}.opulisa-promo .button{background:#111!important;color:#fff!important}.single-product .related.products{margin:72px 0 30px!important}.single-product .related.products>h2{font-size:31px}.single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.single-product .related.products li.product img{display:block!important;width:100%!important;height:auto!important}.single-product .related.products li.product .woocommerce-loop-product__title{font-size:14px!important}.single-product .related.products li.product .button{font-size:12px!important;padding:9px 7px!important}
  .comment-form-rating .stars a:before{font-family:star!important}
  .woocommerce-cart{padding-bottom:0}.woocommerce-cart .melanvo-mobile-nav{display:none!important}.woocommerce-cart .site-header{position:relative}.woocommerce-cart .site-content>.ast-container{padding:14px 10px!important}.melanvo-cart-page{min-height:calc(100vh - 110px);border-radius:10px}.melanvo-cart-header{padding:18px}.melanvo-cart-header h1{font-size:29px}.melanvo-cart-header>a{width:36px;height:36px}.melanvo-cart-form{padding:0 18px}.melanvo-cart-item{grid-template-columns:104px minmax(0,1fr) 26px;gap:12px;padding:18px 0}.melanvo-cart-brand{font-size:9px}.melanvo-cart-copy h2{font-size:17px;line-height:1.2}.melanvo-cart-variation{font-size:12px}.melanvo-cart-row{display:block;margin-top:12px}.melanvo-cart-quantity{width:max-content;height:34px}.melanvo-cart-quantity button{width:32px}.melanvo-cart-quantity input.qty{width:44px;height:32px}.melanvo-cart-price{margin-top:10px;justify-content:flex-start;text-align:left}.melanvo-cart-price strong{font-size:18px}.melanvo-cart-price span{font-size:12px}.melanvo-cart-remove{width:26px;height:26px}.melanvo-cart-update{margin-right:18px}.melanvo-cart-summary{position:sticky;z-index:50;bottom:0;margin-top:8px;padding:16px 18px 20px;box-shadow:0 -10px 32px rgba(0,0,0,.08)}.melanvo-cart-saving{font-size:18px}.melanvo-cart-subtotal{font-size:23px}.melanvo-checkout-button{min-height:56px;margin-top:18px;font-size:20px}.melanvo-cart-secure{margin-top:14px;gap:5px}.melanvo-cart-secure>span{min-width:54px;height:29px;padding:0 5px;font-size:9px}
}
@media(max-width:782px){.admin-bar .site-header{top:0!important}}
@media(max-width:480px){.single-product .opulisa-trust-grid{grid-template-columns:1fr}.single-product .woocommerce-variation-add-to-cart{grid-template-columns:68px 1fr}.single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* 2.1.7: preserve the reference cart hierarchy on narrow screens. */
@media(max-width:921px){
  .melanvo-drawer-item{grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important;padding-right:28px!important}
  .melanvo-drawer-copy h3{font-size:16px!important;font-weight:800!important;line-height:1.2!important}
  .melanvo-drawer-remove{top:17px!important;right:0!important}
  .melanvo-drawer-variation{margin-top:9px!important;font-size:11px!important}
  .melanvo-drawer-controls{grid-template-columns:max-content minmax(0,1fr)!important;gap:9px!important;margin-top:12px!important}
  .melanvo-drawer-price del{font-size:11px!important}
  .melanvo-drawer-price strong{font-size:19px!important}
  .melanvo-drawer-price>span{font-size:12px!important}
}
@media(max-width:380px){
  .melanvo-drawer-controls{grid-template-columns:1fr!important}
  .melanvo-drawer-price{justify-content:flex-start!important;text-align:left!important}
}

/* Fluid two-column card CTAs: keep labels on one line on narrow phones. */
@media(max-width:921px){
  body.post-type-archive-product,body.tax-product_cat{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .post-type-archive-product ul.products li.product>a.button,
  .tax-product_cat ul.products li.product>a.button,
  .post-type-archive-product ul.products li.product .astra-shop-summary-wrap>a.button,
  .tax-product_cat ul.products li.product .astra-shop-summary-wrap>a.button,
  .single-product .related.products li.product .button{min-height:clamp(40px,11vw,44px)!important;padding:8px clamp(3px,1.2vw,6px)!important;font-size:clamp(10.5px,3.3vw,13px)!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:340px){
  .post-type-archive-product ul.products li.product>a.button,
  .tax-product_cat ul.products li.product>a.button,
  .post-type-archive-product ul.products li.product .astra-shop-summary-wrap>a.button,
  .tax-product_cat ul.products li.product .astra-shop-summary-wrap>a.button,
  .single-product .related.products li.product .button{font-size:clamp(9px,3.125vw,10px)!important;padding-left:2px!important;padding-right:2px!important}
}

/* 1.6.0 mobile layout and contrast regression fixes. */
@media(max-width:921px){
  .site-branding .custom-logo-link:after,
  .home .site-branding .custom-logo-link:after,
  .opulisa-wordmark,
  .home .opulisa-wordmark{color:#111!important}

  .melanvo-site-footer{grid-template-columns:1fr!important;gap:30px!important;padding:48px 24px 104px!important;text-align:left}
  .melanvo-site-footer small{grid-column:1!important}
  .melanvo-footer-contact h2{font-size:25px}
  .melanvo-footer-contact p{margin-top:0}
  .melanvo-footer-menus{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px}
  .melanvo-site-footer .melanvo-footer-menus nav{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:13px}
  .melanvo-site-footer .melanvo-footer-menus nav strong{margin-bottom:10px;font-size:22px}
  .melanvo-site-footer .melanvo-footer-menus nav a{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
  .melanvo-footer-meta{grid-column:1!important;align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .melanvo-footer-meta strong{font-size:16px!important}

  .home .melanvo-benefit-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:auto!important;max-width:none!important;margin:0 16px!important;padding:20px 0!important;overflow:visible!important}
  .home .melanvo-benefit-bar>div{min-width:0!important;flex:none!important;padding:12px 10px!important;border-right:0!important;border-bottom:1px solid #e4e4e4;scroll-snap-align:none!important}
  .home .melanvo-benefit-bar>div:nth-child(odd){border-right:1px solid #e4e4e4!important}
  .home .melanvo-benefit-bar>div:nth-last-child(-n+2){border-bottom:0}

  .home .melanvo-home-section{width:auto!important;max-width:none!important;margin:72px 16px!important}
  .home .melanvo-home-products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 10px!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important}
  .home .melanvo-home-card{min-width:0!important;flex:none!important;scroll-snap-align:none!important}
  .home .melanvo-home-card h3{min-height:4.8em;font-size:clamp(13px,3.7vw,16px);overflow:hidden}
  .home .melanvo-home-brand{font-size:8px}
  .home .melanvo-home-price{gap:5px}
  .home .melanvo-home-price ins{font-size:clamp(15px,4.2vw,18px)}
  .home .melanvo-home-price del{font-size:10px}
  .home .melanvo-home-cta{min-height:clamp(40px,11vw,46px);padding:7px 3px;font-size:clamp(10.5px,3.3vw,13px);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home .melanvo-story{width:auto!important;max-width:none!important;margin:82px 16px!important}
  .home .melanvo-final-cta{margin-bottom:86px!important}
}

@media(max-width:360px){
  .melanvo-site-footer{padding-left:18px!important;padding-right:18px!important}
  .melanvo-footer-menus{gap:16px}
  .melanvo-site-footer .melanvo-footer-menus nav strong{font-size:19px}
  .melanvo-site-footer .melanvo-footer-menus nav a{font-size:12.5px}
}

/* 1.9.0 mobile header cart visibility and cart-page isolation. */
@media(max-width:921px){
  #ast-mobile-header .ast-site-header-cart a.cart-container,
  #ast-mobile-header .ast-site-header-cart a.melanvo-mobile-header-cart-trigger{display:flex!important;position:relative;min-width:42px!important;min-height:42px!important;align-items:center;justify-content:center;color:#111!important;pointer-events:auto!important;cursor:pointer!important}
  #ast-mobile-header .ast-addon-cart-wrap,
  #ast-mobile-header .ast-icon-shopping-bag,
  #ast-mobile-header .ast-icon-shopping-bag svg{color:#111!important;fill:#111!important}
  #ast-mobile-header .ast-icon-shopping-bag{display:block!important;position:relative;width:24px!important;height:24px!important;font-size:24px!important}
  #ast-mobile-header .ast-icon-shopping-bag svg{display:block!important;width:24px!important;height:24px!important}
  #ast-mobile-header .ast-icon-shopping-bag:after{top:-9px!important;right:-12px!important;display:grid!important;width:20px!important;height:20px!important;place-items:center;border:2px solid #fff!important;border-radius:999px!important;background:#f20d16!important;color:#fff!important;font-size:10px!important;font-weight:850!important;line-height:1!important;box-shadow:0 2px 7px rgba(0,0,0,.22)}
  .woocommerce-cart .melanvo-cart-page{display:block!important}
  .woocommerce-cart .melanvo-cart-header h1 .melanvo-cart-count{color:#f20d16;font-weight:850}
}
