/* BV Lifestyle – Collection page (Shopify Horizon look) */
.bvc-page{--bvc-fg:#072733;--bvc-muted:rgba(7,39,51,.8);--bvc-line:rgba(7,39,51,.12);--bvc-gutter:40px;color:var(--bvc-fg);font-family:Inter,sans-serif;font-size:14px;line-height:1.6;background:#fff}
.bvc-page *,.bvc-page *::before,.bvc-page *::after{box-sizing:border-box}
.bvc-wrap{width:100%;max-width:none;margin:0 auto;padding:0 var(--bvc-gutter)}
.bvc-page a{color:inherit;text-decoration:none}
.bvc-page button{font-family:inherit}
.bvc-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}

/* Header */
.bvc-header{padding:34px 0}
.bvc-title{margin:0;font-family:Inter,sans-serif;font-weight:700;font-size:clamp(2.25rem,4.8vw,3.5rem);line-height:1;letter-spacing:normal;color:var(--bvc-fg)}
.bvc-desc{margin-top:12px;width:100%;max-width:455px;font-size:14px;line-height:1.6;color:var(--bvc-fg)}
.bvc-desc p{margin:0;padding:12px 13px;border-bottom:1px solid var(--bvc-line)}
.bvc-desc p+p{padding-top:0}
.bvc-desc table{width:100%;border-collapse:collapse;margin:0}
.bvc-desc td,.bvc-desc th{padding:12px 13px;border:0;border-bottom:1px solid var(--bvc-line);background:none;text-align:left;font-size:14px}

/* Toolbar */
.bvc-results{padding:0 0 32px}
.bvc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:8px 0 16px;position:relative;z-index:5}
.bvc-filters,.bvc-tools{display:flex;align-items:center;gap:16px}
.bvc-dd{position:relative}
.bvc-dd>summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;padding:11px 0;font-size:14px;color:var(--bvc-fg);user-select:none}
.bvc-dd>summary::-webkit-details-marker{display:none}
.bvc-dd>summary .bvc-chev{color:var(--bvc-muted);transition:transform .2s ease}
.bvc-dd[open]>summary .bvc-chev{transform:rotate(180deg)}
.bvc-pop{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;background:#fff;border:1px solid var(--bvc-line);border-radius:8px;box-shadow:0 10px 30px rgba(7,39,51,.12);padding:16px;display:flex;flex-direction:column;gap:12px}
.bvc-dd--right .bvc-pop{left:auto;right:0}
.bvc-check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.bvc-check input{width:18px;height:18px;margin:0;accent-color:#072733}
.bvc-check input:disabled+span{opacity:.45}
.bvc-pop-note{margin:0;font-size:13px;color:var(--bvc-muted)}
.bvc-price-fields{display:flex;align-items:center;gap:10px}
.bvc-price-fields label{display:flex;align-items:center;gap:6px;border:1px solid var(--bvc-line);border-radius:8px;padding:0 10px;flex:1}
.bvc-price-fields label span{font-size:13px;color:var(--bvc-muted)}
.bvc-price-fields input{width:100%;border:0!important;outline:0;box-shadow:none!important;padding:10px 0!important;font:inherit;background:transparent;color:var(--bvc-fg);-moz-appearance:textfield}
.bvc-price-fields input::-webkit-outer-spin-button,.bvc-price-fields input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bvc-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}
.bvc-link{font-size:14px;text-decoration:underline!important;text-underline-offset:3px;color:var(--bvc-fg)}
.bvc-apply{background:#072733!important;color:#fff!important;border:0!important;border-radius:14px!important;padding:10px 20px!important;font-size:14px;cursor:pointer;line-height:1.4}
.bvc-apply:hover{opacity:.9}
.bvc-pop--sort{min-width:220px;gap:2px;padding:8px}
.bvc-sort-opt{display:block;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--bvc-fg)}
.bvc-sort-opt:hover{background:rgba(7,39,51,.06)}
.bvc-sort-opt.is-active{font-weight:600}
.bvc-count{font-size:14px;color:var(--bvc-muted);white-space:nowrap}
.bvc-view{display:flex;align-items:center;gap:4px}
.bvc-view-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0!important;border-radius:6px!important;background:transparent!important;color:rgba(7,39,51,.45)!important;padding:0!important;cursor:pointer}
.bvc-view-btn.is-active{background:rgba(7,39,51,.08)!important;color:var(--bvc-fg)!important}
.bvc-view-btn:hover{color:var(--bvc-fg)!important}

.bvc-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px}
.bvc-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:100px;background:rgba(7,39,51,.06);font-size:13px}
.bvc-chip:hover{background:rgba(7,39,51,.12)}

/* Grid */
.bvc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px 16px}
.bvc-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:0}
.bvc-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f5f5f5}
.bvc-slides{position:absolute;inset:0;display:block}
.bvc-slide{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;opacity:0;transition:opacity .35s ease;border-radius:0!important}
.bvc-slide.is-active{opacity:1}
.bvc-badge{position:absolute;top:8px;right:8px;z-index:2;background:#fff;color:var(--bvc-fg);font-size:13px;line-height:20.8px;padding:4px 10px;border-radius:100px;pointer-events:none}
.bvc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:60px;height:44px;display:flex;align-items:center;border:0!important;background:transparent!important;color:#fff!important;padding:0 20px!important;cursor:pointer;opacity:0;transition:opacity .2s ease;filter:drop-shadow(0 0 3px rgba(0,0,0,.35))}
.bvc-arrow--prev{left:0;justify-content:flex-start}
.bvc-arrow--next{right:0;justify-content:flex-end}
.bvc-quick-add{position:absolute;right:14px;bottom:13px;z-index:3;height:36px;min-width:36px;padding:0 10px!important;display:inline-flex;align-items:center;justify-content:center;gap:0;border:0!important;border-radius:50px!important;background:#fff!important;color:var(--bvc-fg)!important;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(7,39,51,.12);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,gap .2s ease,background .2s ease}
.bvc-qa-label{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .25s ease}
.bvc-quick-add:hover,.bvc-quick-add:focus-visible{gap:6px}
.bvc-quick-add:hover .bvc-qa-label,.bvc-quick-add:focus-visible .bvc-qa-label{max-width:80px}
.bvc-qa-check{display:none}
.bvc-quick-add.is-added .bvc-qa-plus{display:none}
.bvc-quick-add.is-added .bvc-qa-check{display:block}
.bvc-quick-add.is-loading{opacity:.6!important;pointer-events:none}
.bvc-card:hover .bvc-arrow,.bvc-card:focus-within .bvc-arrow,.bvc-card:hover .bvc-quick-add,.bvc-card:focus-within .bvc-quick-add{opacity:1;transform:none}
.bvc-card:hover .bvc-arrow{transform:translateY(-50%)}
@media (hover:none){.bvc-quick-add{opacity:1;transform:none}.bvc-arrow{opacity:.9}}

.bvc-info{display:flex;flex-direction:column;padding-top:8px}
.bvc-name{font-size:14px;font-weight:400;line-height:1.6;color:var(--bvc-fg)!important}
.bvc-name:hover{text-decoration:underline!important;text-underline-offset:3px}
.bvc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;margin-top:3px;font-size:12px;font-weight:500;line-height:1.2;color:var(--bvc-fg)}
.bvc-price-was{color:var(--bvc-muted);text-decoration:line-through}

/* Zoom-out view – image + title only (Shopify Horizon) */
.bvc-grid[data-view="zoom-out"]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:24px 16px}
.bvc-grid[data-view="zoom-out"] .bvc-badge,.bvc-grid[data-view="zoom-out"] .bvc-quick-add,.bvc-grid[data-view="zoom-out"] .bvc-price{display:none}
.bvc-grid[data-view="zoom-out"] .bvc-info{display:flex;padding-top:8px}
.bvc-grid[data-view="zoom-out"] .bvc-name{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;word-break:break-word}

/* Pagination */
.bvc-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:40px}
.bvc-pagination .page-numbers{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:8px;font-size:14px;color:var(--bvc-fg)}
.bvc-pagination .page-numbers.current{background:rgba(7,39,51,.08);font-weight:600}
.bvc-pagination a.page-numbers:hover{background:rgba(7,39,51,.06)}
.bvc-empty{padding:60px 0;text-align:center}
.bvc-empty p{margin:0 0 12px;font-size:16px}

@media (max-width:749px){
	.bvc-page{--bvc-gutter:20px}
	.bvc-desc{max-width:none}
	.bvc-header{padding:28px 0}
	.bvc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
	.bvc-grid[data-view="zoom-out"]{grid-template-columns:1fr}
	.bvc-grid[data-view="zoom-out"] .bvc-info{display:flex}
	.bvc-count{display:none}
	.bvc-filters,.bvc-tools{gap:12px}
	.bvc-pop{min-width:240px}
	.bvc-dd--right .bvc-pop{right:-40px}
}


/* ===== Card hover, hover image slide & arrows (Shopify Horizon parity) ===== */
.bvc-card{transition:transform .25s ease-out,box-shadow .25s ease-out;transform-origin:center}
@media (any-pointer:fine) and (prefers-reduced-motion:no-preference){.bvc-card:hover{transform:scale(1.03)}}
/* slides sit side by side and slide horizontally (index set by JS in --bvc-i) */
.bvc-slides{display:flex;overflow:hidden}
.bvc-slide{position:relative!important;inset:auto!important;flex:0 0 100%;opacity:1!important;transform:translateX(calc(var(--bvc-i,0) * -100%));transition:transform .4s ease-in-out}
@media (prefers-reduced-motion:reduce){.bvc-slide{transition:none}}
/* arrows: thin white arrow icon, slide + fade in on hover */
.bvc-arrow{width:60px;height:44px;min-width:44px;min-height:44px;padding:0 20px!important;color:#fff!important;filter:none;opacity:0;transition:color .125s ease-in-out}
.bvc-arrow svg{display:none}
.bvc-arrow::before{content:"";display:block;width:20px;height:20px;flex:0 0 20px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M4.25 10h11.5m0 0-4-4m4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M4.25 10h11.5m0 0-4-4m4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat}
.bvc-arrow--prev::before{transform:rotate(180deg)}
.bvc-card:hover .bvc-arrow,.bvc-card:focus-within .bvc-arrow{animation:bvcArrowIn .125s ease-in-out forwards}
.bvc-card:hover .bvc-arrow--prev,.bvc-card:focus-within .bvc-arrow--prev{animation-name:bvcArrowInPrev}
@keyframes bvcArrowIn{0%{opacity:0;transform:translate(.7rem,-50%)}100%{opacity:1;transform:translate(0,-50%)}}
@keyframes bvcArrowInPrev{0%{opacity:0;transform:translate(-.7rem,-50%)}100%{opacity:1;transform:translate(0,-50%)}}
/* zoom-out view keeps the arrows, sized for small tiles */
.bvc-grid[data-view="zoom-out"] .bvc-arrow{width:32px;min-width:32px;padding:0 6px!important}
.bvc-grid[data-view="zoom-out"] .bvc-arrow::before{width:16px;height:16px;flex-basis:16px}
@media (hover:none){.bvc-arrow{opacity:1;animation:none}}
@media (max-width:749px){.bvc-arrow{display:none}}

/* Hover image change is instant (no slide) – arrows still slide */
.bvc-slides.is-instant .bvc-slide{transition:none!important}

/* ===== Category page: Qty + Add to cart row ===== */
.bvc-grid > li.bvc-card{ display:flex; flex-direction:column; }
.bvc-card .bvc-info{ display:flex; flex-direction:column; flex:1 1 auto; }
.bvc-cart-row{
  display:flex; align-items:center; gap:8px;
  margin-top:auto !important; padding-top:16px; width:100%;
}
.bvc-qty{
  flex:0 0 88px; width:88px; height:52px;
  display:flex; align-items:center;
  border:1px solid rgba(7,39,51,.45); box-sizing:border-box;
}
.bvc-qty button{
  flex:0 0 28px; width:28px; height:44px; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:#072733 !important; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.bvc-qty button:disabled{ opacity:.35; cursor:default; }
.bvc-qty input{
  flex:0 0 30px; width:30px !important; min-width:0; height:28px;
  border:0 !important; padding:0 !important; box-shadow:none !important;
  background:transparent !important; text-align:center;
  font:400 15px Inter,sans-serif; color:#072733;
  -moz-appearance:textfield;
}
.bvc-qty input::-webkit-inner-spin-button,
.bvc-qty input::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }

.bvc-add{
  flex:1 1 0; min-width:0; height:52px; padding:0 8px !important;
  display:flex; align-items:center; justify-content:center; gap:6px;
  background:transparent !important; color:#072733 !important;
  border:0 !important; border-radius:14px !important;
  box-shadow:inset 0 0 0 1px #072733 !important;
  font:400 14px Inter,sans-serif; white-space:nowrap; cursor:pointer;
  transition:background .2s,color .2s;
}
.bvc-add svg{ width:20px; height:20px; flex:0 0 20px; }
.bvc-add:hover,
.bvc-add.is-added{ background:#072733 !important; color:#fff !important; }
.bvc-add.is-loading{ opacity:.6; pointer-events:none; }

/* Tablet / small laptop */
@media (max-width:1100px){
  .bvc-add svg{ display:none; }
}

/* Mobile */
@media (max-width:767px){
  .bvc-cart-row{ gap:6px; padding-top:12px; }
  .bvc-qty{ flex-basis:72px; width:72px; height:40px; }
  .bvc-qty button{ flex-basis:22px; width:22px; height:38px; }
  .bvc-qty input{ flex-basis:26px; width:26px !important; height:24px; font-size:14px; }
  .bvc-add{ height:40px; padding:0 4px !important; font-size:12px; gap:4px; }
  .bvc-add svg{ display:none; }
}

/* Very small phones */
@media (max-width:380px){
  .bvc-qty{ flex-basis:64px; width:64px; }
  .bvc-qty button{ flex-basis:20px; width:20px; }
  .bvc-qty input{ flex-basis:22px; width:22px !important; font-size:13px; }
  .bvc-add{ font-size:11px; }
}
a.added_to_cart.wc-forward{ display:none};