/* Functional banner controls inherit Denuino's existing storefront appearance. */
.banner-mobile-html{display:none}
/* Authored HTML sizes its own content; never reserve an image-banner height. */
body.store-page-shop-index[data-theme-layout]:not(.admin-root) .storefront-home:not(.designer-active) :is(.nature-html-carousel[data-intro-carousel],.store-section:has(> :is(.banner-custom-html,.banner-desktop-html,.banner-mobile-html))){min-height:0!important;min-block-size:0!important;height:auto!important;block-size:auto!important;max-height:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.intro-carousel-stage{position:relative;min-width:0}
.intro-html-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none}
.intro-html-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}
.intro-carousel-controls,.intro-carousel-dots{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.intro-carousel-controls{padding:8px;gap:12px}
body.store-page-shop-index[data-theme-layout]:not(.admin-root) .intro-carousel-controls > button{flex:0 0 36px;width:36px;min-width:36px;height:44px;min-height:44px;padding:0!important;border:1px solid #d9e4f2;background:#fff;color:#1267ad;border-radius:12px;font-size:24px;line-height:1;box-shadow:none}
.intro-carousel-dots{gap:2px}
body.store-page-shop-index[data-theme-layout]:not(.admin-root) .intro-carousel-dots button{flex:0 0 28px;width:28px!important;min-width:28px!important;height:32px!important;min-height:32px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:8px}
.intro-carousel-dots button::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#b8c8dc;margin:auto}
.intro-carousel-dots button[aria-current=true]::after{width:18px;border-radius:5px;background:#1267ad}
@media(max-width:760px){
 .intro-carousel-controls{display:grid;grid-template-columns:1fr 36px 36px 1fr;gap:8px 12px}
 .intro-carousel-controls > .intro-carousel-dots{grid-column:1/-1;grid-row:1;min-width:0}
 .intro-carousel-controls > [data-intro-prev]{grid-column:2;grid-row:2}
 .intro-carousel-controls > [data-intro-next]{grid-column:3;grid-row:2}
}
/* Studio colours belong to the banner, not the surrounding theme. Apply them
   directly to text nodes: a heading's inherited colour loses to theme rules. */
body.store-page-shop-index[data-theme-layout]:not(.admin-root) section[class*="gsbe-"] :is(.gsbe-title,.gsbe-title strong,.gsbe-secondary,.gsbe-chip){color:var(--ink)!important}
body.store-page-shop-index[data-theme-layout]:not(.admin-root) section[class*="gsbe-"] :is(.gsbe-title em,.gsbe-eyebrow){color:var(--accent)!important}
body.store-page-shop-index[data-theme-layout]:not(.admin-root) section[class*="gsbe-"] :is(.gsbe-desc,.gsbe-benefits-label){color:var(--body)!important}
.product-banner-heading{font-size:1.25rem;margin:1rem 0}
@media(max-width:760px){.banner-desktop-html{display:none}.banner-mobile-html{display:block}.store-section.banner-has-mobile-override>:not(.banner-mobile-html):not(.designer-handle){display:none!important}}

/* HTML banners own their surface; image-carousel framing must not leak in. */
body.store-page-shop-index[data-theme-layout]:not(.admin-root) .storefront-home:not(.designer-active) .nature-html-carousel[data-id="gsb-intro"]{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden;min-width:0}

/* Match Greenshinebee's readable flow for older Studio exports. Keep the
   author's colours and image URL, without rewriting the saved HTML. */
body.store-page-shop-index section[class*="gsbe-"]{aspect-ratio:auto!important;min-height:46cqw!important}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-content{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:54%!important;height:auto!important;min-height:46cqw;padding:6cqw 0 4cqw!important;margin-left:var(--gsbe-content-offset,5%);display:flex!important;flex-direction:column;justify-content:center;gap:2cqw;pointer-events:auto}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-content>:is(.gsbe-eyebrow,.gsbe-title,.gsbe-desc,.gsbe-benefits,.gsbe-actions){position:static!important;height:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;margin:0!important;flex-shrink:0}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-title :is(strong,em),body.store-page-shop-index section[class*="gsbe-"] .gsbe-eyebrow,body.store-page-shop-index section[class*="gsbe-"] .gsbe-benefits-label{white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-desc{display:block!important;-webkit-line-clamp:unset!important}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-chips{max-height:none!important;overflow:visible!important}
body.store-page-shop-index section[class*="gsbe-"] .gsbe-actions{flex-wrap:wrap;white-space:normal!important;padding-block:.5cqw}
body.store-page-shop-index section[class*="gsbe-"] :is(.gsbe-button,.gsbe-secondary){height:auto!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere;padding:1.3cqw 1.6cqw;min-height:3.7cqw}
body.store-page-shop-index section[data-gsbe-image-side="left"]{--gsbe-content-offset:42%}
@media(max-width:768px){
 body.store-page-shop-index section[class*="gsbe-"]{width:100%!important;max-width:100%!important}
 body.store-page-shop-index section[class*="gsbe-"] .gsbe-content{width:56%!important;margin-left:4%;padding:5cqw 0!important;min-height:54cqw;gap:3cqw}
 body.store-page-shop-index section[class*="gsbe-"] :is(.gsbe-button,.gsbe-secondary){padding:2cqw;min-height:7cqw}
}
