/* BV Lifestyle – Single product page (Shopify Horizon look) */
.bvp-page{--bvp-fg:#072733;--bvp-muted:rgba(7,39,51,.8);--bvp-accent:#82B9E8;--bvp-accent-hover:#6aa8dd;--bvp-gutter:40px;color:var(--bvp-fg);font-family:Inter,sans-serif;font-size:14px;line-height:1.6;background:#fff}
.bvp-page *,.bvp-page *::before,.bvp-page *::after{box-sizing:border-box}
.bvp-page .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bvp-page .woocommerce-notices-wrapper{padding:0 var(--bvp-gutter)}
.bvp-page .woocommerce-notices-wrapper:not(:empty){padding-top:16px}

/* Layout */
.bvp-main{padding:0 0 40px}
.bvp-wrap{display:grid;grid-template-columns:minmax(0,1fr) min(50vw,25rem);gap:0;align-items:start;padding:0 var(--bvp-gutter)}
@media (min-width:1200px){.bvp-wrap{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}

/* Media grid (desktop) */
.bvp-media{min-width:0;padding-right:24px}
.bvp-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.bvp-gallery-item{margin:0;padding:0;aspect-ratio:1/1;overflow:hidden;background:#fff}
.bvp-gallery-item:only-child{grid-column:1 / -1}
.bvp-zoom-open{display:block;width:100%;height:100%;padding:0!important;margin:0;border:0!important;background:none!important;border-radius:0!important;cursor:zoom-in}
.bvp-gallery-img,.bvp-gallery-item img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;border-radius:0!important}
.bvp-dots{display:none}

/* Info column */
.bvp-info{position:-webkit-sticky;position:sticky;top:var(--bvp-sticky-top,0px);align-self:start;padding:24px 0 24px 24px;min-width:0}
.bvp-title{margin:0;font-family:Inter,sans-serif;font-size:32px;font-weight:700;line-height:1.1;letter-spacing:normal;color:var(--bvp-fg);word-break:break-word}
.bvp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;margin-top:36px;font-size:14px;line-height:22.4px;color:var(--bvp-fg)}
.bvp-price-was{color:var(--bvp-muted);text-decoration:line-through}
.bvp-divider{border:0;border-top:1px solid var(--bvp-fg);margin:5px 0 24px;height:0;background:none;opacity:1}

/* Buy area */
.bvp-form{display:flex;flex-direction:column;gap:12px;margin:0}
.bvp-buy-row{display:flex;align-items:stretch;gap:12px}
.bvp-qty{flex:0 0 125px;height:52px;display:flex;align-items:center;justify-content:space-between;border:1px solid #E9F4FF;border-radius:14px;background:rgba(255,255,255,.78)}
.bvp-qty-btn{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;padding:0!important;border:0!important;background:transparent!important;color:var(--bvp-fg)!important;cursor:pointer;border-radius:12px!important}
.bvp-qty-btn:disabled{opacity:.35;cursor:default}
.bvp-qty input{width:36px!important;height:28px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font:400 16px Inter,sans-serif;color:var(--bvp-fg);-moz-appearance:textfield}
.bvp-qty input::-webkit-outer-spin-button,.bvp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bvp-btn{height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px!important;border:0!important;border-radius:14px!important;background:var(--bvp-accent)!important;color:#fff!important;font:400 14px/1.4 Inter,sans-serif;cursor:pointer;text-decoration:none;transition:background-color .2s ease,opacity .2s ease}
.bvp-btn:hover,.bvp-btn:focus-visible{background:var(--bvp-accent-hover)!important}
.bvp-btn:disabled{opacity:.55;cursor:not-allowed}
.bvp-btn.is-loading{opacity:.7;pointer-events:none}
.bvp-add{flex:1 1 auto;min-width:0}
.bvp-buy-now{width:100%}
.bvp-btn-icon{width:20px;height:20px;flex:0 0 20px}
.bvp-form--native .button,.bvp-form--native button[type="submit"]{height:52px;padding:16px 24px!important;border:0!important;border-radius:14px!important;background:var(--bvp-accent)!important;color:#fff!important;font:400 14px Inter,sans-serif}

/* Description */
.bvp-desc{margin-top:24px;font-size:14px;line-height:22.4px;color:var(--bvp-fg)}
.bvp-desc p{margin:0 0 14px}
.bvp-desc ul,.bvp-desc ol{margin:0 0 14px;padding-left:21px}
.bvp-desc li{margin:0}
.bvp-desc img{max-width:100%;height:auto}
.bvp-desc a{color:var(--bvp-fg);text-decoration:underline}
.bvp-desc > :last-child,.bvp-desc > :last-child > :last-child{margin-bottom:0}

/* You may also like */
.bvp-related{padding:34px 0 33px}
.bvp-related-title{margin:0 0 24px;font-family:Inter,sans-serif;font-size:24px;font-weight:700;line-height:1;color:var(--bvp-fg)}
.bvp-related .bvc-grid.bvp-related-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 12px}

/* Zoom dialog */
.bvp-zoom{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#fff;overflow:hidden}
.bvp-zoom::backdrop{background:#fff}
.bvp-zoom[open]{display:block}
.bvp-zoom-images{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;display:block;padding:0;margin:0;cursor:zoom-out;scrollbar-width:thin}
.bvp-zoom-img{display:block;flex:none;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;object-fit:contain;border-radius:0!important;cursor:zoom-out}
.bvp-zoom-close{position:fixed;top:16px;right:16px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--bvp-fg)!important;box-shadow:none!important;cursor:pointer}
.bvp-zoom-close svg{width:14px;height:14px}
.bvp-zoom-thumbs{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 140px);overflow-y:auto;padding:3px;background:none;border-radius:0;box-shadow:none;scrollbar-width:none}
.bvp-zoom-thumbs::-webkit-scrollbar{display:none}
.bvp-zoom-thumb{flex:0 0 44px;width:44px;height:44px;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:visible;background:none!important;cursor:pointer;opacity:1;outline:none}
.bvp-zoom-thumb.is-active{outline:1px solid var(--bvp-fg);outline-offset:2px}
.bvp-zoom-thumb img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important}
html.bvp-zoom-open-lock{overflow:hidden}

/* Sticky add to cart bar */
.bvp-sticky{position:fixed;left:50%;bottom:20px;z-index:999;width:min(600px,calc(100% - 40px));display:flex;align-items:center;gap:14px;padding:11px;background:#fff;border-radius:25px;box-shadow:0 4px 20px rgba(7,39,51,.15);opacity:0;visibility:hidden;transform:translate(-50%,calc(100% + 20px));transition:transform .35s ease,opacity .35s ease,visibility 0s linear .35s}
.bvp-sticky.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);transition:transform .35s ease,opacity .35s ease,visibility 0s}
.bvp-sticky-img{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:14px}
.bvp-sticky-text{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:14px}
.bvp-sticky-title{margin:0;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:22.4px;color:var(--bvp-fg)}
.bvp-sticky-price{display:flex;gap:4px;flex:0 0 auto;font-size:14px;white-space:nowrap}
.bvp-sticky-price .bvp-price-was{color:var(--bvp-muted)}
.bvp-sticky-add{flex:0 0 auto;height:52px}

/* Mobile */
@media (max-width:749px){
	.bvp-page{--bvp-gutter:20px}
	.bvp-wrap{grid-template-columns:1fr;gap:20px;padding:0}
	.bvp-media{padding-right:0}
	.bvp-info{position:static;padding:0 var(--bvp-gutter)}
	.bvp-gallery{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.bvp-gallery::-webkit-scrollbar{display:none}
	.bvp-gallery-item{flex:0 0 100%;scroll-snap-align:start}
	.bvp-dots{display:flex;justify-content:center;gap:6px;padding:12px 0 0}
	.bvp-dot{width:6px;height:6px;border-radius:50%;background:rgba(7,39,51,.25);transition:background .2s,transform .2s}
	.bvp-dot.is-active{background:var(--bvp-fg);transform:scale(1.2)}
	.bvp-price{margin-top:20px}
	.bvp-related .bvc-grid.bvp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bvp-sticky{bottom:12px;width:calc(100% - 24px);gap:10px;padding:8px;border-radius:20px}
	.bvp-sticky-img{width:44px;height:44px;flex-basis:44px;border-radius:12px}
	.bvp-sticky-text{flex-direction:column;align-items:flex-start;gap:0}
	.bvp-sticky-title{width:100%}
	.bvp-sticky-add{height:44px;padding:10px 16px!important}
	.bvp-sticky-add .bvp-btn-label{display:none}
}
