:root{
  --bv-ink:#241a12; --bv-deep:#3a2a1c; --bv-tan:#c49a6c; --bv-cream:#f4ede2; --bv-brass:#b98b5a; --bv-soft:#8a7360;
  --bv-serif:'Prata',serif; --bv-sans:'Lato',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--bv-cream); color:var(--bv-ink); font-family:var(--bv-sans); font-weight:400; line-height:1.7; letter-spacing:.01em}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:var(--bv-serif); font-weight:400; line-height:1.15; margin:0 0 .5em}
.bv-kicker{text-transform:uppercase; letter-spacing:.24em; font-size:.7rem; color:var(--bv-brass); margin:0 0 .6em}
.bv-wrap{max-width:1200px; margin:0 auto; padding:0 22px}
.bv-btn{display:inline-block; padding:.9em 1.7em; border:1px solid var(--bv-ink); background:#fff; color:var(--bv-ink); font-family:var(--bv-sans); font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; transition:.2s}
.bvbtn-fill{background:var(--bv-ink); color:var(--bv-cream); border-color:var(--bv-ink)}
.bvbtn-fill:hover{background:var(--bv-brass); border-color:var(--bv-brass)}

/* header */
.bv-head{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px}
.bv-brand{display:flex; align-items:center; gap:12px}
.bv-brand-mark{width:42px; height:42px; object-fit:contain}
.bv-brand-name{font-family:var(--bv-serif); font-size:1.5rem; letter-spacing:.03em}
.bv-nav{display:flex; gap:24px; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em}
.bv-nav a:hover{color:var(--bv-brass)}
.bv-cart{border:1px solid var(--bv-ink); padding:.55em 1.1em; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em}
.bv-cart-n{color:var(--bv-brass); margin-left:.4em}
.bv-line{background:var(--bv-deep); color:var(--bv-cream); text-align:center; padding:.6em 16px; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase}
.bv-line p{margin:0}

/* hero */
.bv-hero{position:relative; height:380px; overflow:hidden; background:var(--bv-deep)}
.bv-hero img{width:100%; height:100%; object-fit:cover; filter:saturate(.9)}
.bv-hero-copy{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 26px; max-width:620px; color:var(--bv-cream); background:linear-gradient(90deg,rgba(24,18,13,.72),rgba(24,18,13,0) 68%)}
.bv-hero-copy .bv-kicker{color:var(--bv-tan)}
.bv-hero-copy h1{font-size:2.8rem}
.bv-hero-copy p{max-width:420px; color:#e9dcc6}
.bv-hero-copy .bv-btn{margin-top:1em}

/* assurance */
.bv-assur{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--bv-cream); border-bottom:1px solid #e2d5c0}
.bv-assur>div{padding:18px 24px; border-right:1px solid #e2d5c0; background:#fff}
.bv-assur>div:last-child{border-right:0}
.bv-assur b{display:block; font-family:var(--bv-serif); margin-bottom:2px}
.bv-assur span{color:var(--bv-soft); font-size:.85rem}

/* feature */
.bv-feature{padding:56px 26px 0}
.bv-feature-card{display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; background:#fff; border:1px solid #e2d5c0; padding:26px}
.bv-feature-media{aspect-ratio:16/10; overflow:hidden; background:#ece2d2}
.bv-feature-media img{width:100%!important; height:100%!important; object-fit:cover!important}
.bv-feature-copy .bv-kicker{color:var(--bv-brass)}
.bv-feature-copy h2{font-size:2rem}
.bv-feature-copy .bv-meta{color:var(--bv-soft)}

/* categories */
.bv-cats{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; padding:2px 0; margin-top:40px}
.bv-cat{position:relative; height:250px; overflow:hidden}
.bv-cat img{width:100%; height:100%; object-fit:cover; transition:.4s}
.bv-cat:hover img{transform:scale(1.04)}
.bv-cat div{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0))}
.bv-cat .bv-kicker{color:var(--bv-tan)}
.bv-cat h2{color:#fff; font-size:1.15rem}

/* products */
.bv-products{padding:56px 22px}
.bv-sec-title{font-size:2.1rem}
.bv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px}
.bv-card{display:block}
.bv-card-media{display:block; aspect-ratio:1/1; overflow:hidden; background:#ece2d2}
.bv-card-media img{width:100%!important; height:100%!important; object-fit:cover!important}
.bv-card h3{font-size:1.05rem; margin:13px 0 2px}
.bv-meta{color:var(--bv-soft); font-size:.9rem}

/* strip */
.bv-strip{position:relative; height:190px; overflow:hidden; margin-top:30px}
.bv-strip img{width:100%; height:100%; object-fit:cover}
.bv-strip-copy{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 26px; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.5)}
.bv-strip-copy .bv-kicker{color:var(--bv-tan)}
.bv-strip-copy h2{font-size:1.8rem}

/* page */
.bv-page{padding:60px 22px}
.bv-article{max-width:800px; margin:0 auto}
.bv-page-title{font-size:2.5rem}
.bv-entry{font-size:1.02rem}
.bv-entry h2{font-size:1.7rem; margin-top:1.6em; color:var(--bv-deep)}
.bv-entry p{margin:0 0 1em}
.bv-entry ul,.bv-entry ol{margin:0 0 1.2em; padding-left:1.3em}
.bv-entry a{color:var(--bv-brass); text-decoration:underline}

/* PDP */
.bv-pdp{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; padding:60px 22px}
.bv-pdp-media img{border:1px solid #e2d5c0}
.bv-pdp-body{position:sticky; top:20px}
.bv-pdp-title{font-size:2.2rem}
.bv-pdp-price{font-size:1.3rem; color:var(--bv-brass); margin:.5em 0 1em}
.bv-buy{display:flex; flex-direction:column; gap:14px; margin-top:10px}
.bv-qty{display:inline-flex; border:1px solid var(--bv-ink); overflow:hidden; width:max-content}
.bv-qty-btn{background:none; border:0; width:46px; height:46px; font-size:1.3rem; cursor:pointer}
.bv-qty-input{width:66px; border:0; text-align:center; font-size:1rem; background:none; -moz-appearance:textfield}
.bv-qty-input::-webkit-outer-spin-button,.bv-qty-input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.bv-btn-add{width:100%; padding:1.05em}

/* PDP extras */
.bv-terms{max-width:1200px; margin:26px auto; padding:0 22px}
.bv-terms ol{display:grid; grid-template-columns:repeat(2,1fr); gap:16px 24px; margin:0; padding:0; list-style:none}
.bv-terms li{border-top:2px solid var(--bv-deep); padding-top:10px}
.bv-terms b{display:block; font-family:var(--bv-serif); color:var(--bv-deep)}
.bv-terms span{color:var(--bv-soft); font-size:.9rem}
.bv-detail{max-width:1200px; margin:20px auto; padding:0 22px}
.bv-detail h3{color:var(--bv-deep)}
.bv-detail ul{padding-left:1.2em}

/* footer */
.bv-foot{background:var(--bv-deep); color:var(--bv-cream); margin-top:60px}
.bv-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; max-width:1200px; margin:0 auto; padding:50px 22px 30px}
.bv-foot-brand{font-family:var(--bv-serif); font-size:1.5rem; margin:0 0 .2em}
.bv-foot-tag{color:#c5b49c; font-size:.9rem}
.bv-foot-h{font-family:var(--bv-serif); color:var(--bv-tan); margin:0 0 .6em}
.bv-foot a{display:block; color:#c5b49c; font-size:.9rem; padding:.2em 0}
.bv-foot a:hover{color:#fff}
.bv-foot-base{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid #55432f; max-width:1200px; margin:0 auto; padding:16px 22px; font-size:.8rem; color:#a89478}

.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1; transform:none}

@media (max-width:900px){
  .bv-head{flex-wrap:wrap}
  .bv-nav{order:3; width:100%; flex-wrap:wrap; gap:14px}
  .bv-cats{grid-template-columns:repeat(2,1fr)}
  .bv-cat{height:170px}
  .bv-grid{grid-template-columns:repeat(2,1fr); gap:16px}
  .bv-feature-card{grid-template-columns:1fr; gap:16px}
  .bv-pdp{grid-template-columns:1fr; gap:20px}
  .bv-pdp-body{position:static}
  .bv-assur{grid-template-columns:1fr}
  .bv-assur>div{border-right:0; border-bottom:1px solid #e2d5c0}
  .bv-terms ol{grid-template-columns:1fr}
  .bv-hero{height:270px}
  .bv-hero-copy h1{font-size:2rem}
  .bv-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .bv-grid{grid-template-columns:1fr}
  .bv-foot-grid{grid-template-columns:1fr}
}

/* --- Shopify-style PDP (Bagvelle: made-to-order + leather swatches) --- */
.bv-crumb{font-size:.8rem; color:#8a7360; padding:16px 22px 0}
.bv-crumb a{color:#b98b5a}
.bv-pdp{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px; align-items:start}
.bv-pdp-media{position:sticky; top:20px}
.bv-pdp-media img{border-radius:14px}
.bv-rto{background:#3a2a1c; color:#f4ede2; border-radius:8px; padding:.55em 1em; font-size:.84rem; letter-spacing:.04em; margin-bottom:12px}
.bv-rto::before{content:'✂'; margin-right:8px}
.bv-rating{display:flex; align-items:center; gap:10px; margin:6px 0 4px; flex-wrap:wrap}
.bv-stars{color:#ddd0bd}.bv-stars .on{color:#b98b5a}
.bv-rating-txt{color:#8a7360; font-size:.86rem}
.bv-reviewlink{font-size:.86rem; color:#b98b5a; text-decoration:underline}
.bv-pdp-title{font-size:2.1rem}
.bv-pdp-price{display:flex; align-items:center; gap:12px; margin:.4em 0 1em}
.bv-price-now{font-size:1.5rem}
.bv-price-now ins{text-decoration:none; color:#b98b5a}
.bv-price-now del{color:#8a7360; font-size:1rem; margin-right:8px}
.bv-sale-tag{background:#b98b5a; color:#fff; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; padding:.35em .7em; border-radius:999px}
.bv-pdp-desc{color:#8a7360; margin-bottom:14px}
.bv-finish{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:6px 0 14px}
.bv-finish-h{font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:#8a7360}
.bv-swatch{display:inline-flex; align-items:center; gap:6px; border:1px solid #e4d6c2; border-radius:999px; padding:.3em .75em; font-size:.8rem}
.bv-swatch-dot{width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.15)}
.bv-qty{display:inline-flex; border:1px solid var(--bv-ink,#241a12); border-radius:999px; overflow:hidden; width:max-content}
.bv-qty-btn{background:none; border:0; width:44px; height:44px; font-size:1.3rem; cursor:pointer}
.bv-qty-input{width:64px; border:0; text-align:center; font-size:1rem; background:none; -moz-appearance:textfield}
.bv-qty-input::-webkit-inner-spin-button,.bv-qty-input::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
.bv-btn-add{width:100%; border-radius:999px; padding:1em}
.bv-trust{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px 0 16px; border-top:1px solid #e4d6c2; padding-top:16px}
.bv-trust p{margin:0; text-align:center; border:1px solid #e4d6c2; border-radius:10px; padding:10px 6px; font-size:.72rem; color:#8a7360}
.bv-trust b{display:block; font-size:1.05rem; color:#b98b5a; margin-bottom:3px}
.bv-acc{margin-top:6px}
.bv-acc details{border-top:1px solid #e4d6c2; padding:12px 0}
.bv-acc details:last-child{border-bottom:1px solid #e4d6c2}
.bv-acc summary{cursor:pointer; font-family:var(--bv-serif,'Prata',serif); font-size:1.02rem; list-style:none; display:flex; justify-content:space-between}
.bv-acc summary::after{content:'+'; color:#b98b5a}
.bv-acc details[open] summary::after{content:'−'}
.bv-acc-body{padding:10px 0 4px; color:#8a7360; font-size:.95rem}
.bv-acc-body ul{margin:0; padding-left:1.1em}
.bv-acc-body a{color:#b98b5a; text-decoration:underline}
.bv-specs{width:100%; border-collapse:collapse}
.bv-specs td{padding:8px 4px; border-bottom:1px solid #e4d6c2; font-size:.9rem}
.bv-specs td:first-child{color:#b98b5a; width:110px}
.bv-pay{display:flex; justify-content:space-between; gap:10px; margin-top:18px; font-size:.78rem; color:#8a7360; flex-wrap:wrap}
.bv-reviews h2{font-size:1.8rem; margin-top:30px}
@media (max-width:900px){
  .bv-pdp{grid-template-columns:1fr; gap:20px}
  .bv-pdp-media{position:static}
  .bv-trust{grid-template-columns:repeat(2,1fr)}
}

/* --- WooCommerce variation form (colour select) --- */
.bv-buy{flex-direction:column; gap:12px}
.bv-buy .cart{display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.bv-buy table.variations{margin:0 0 8px}
.bv-buy table.variations td, .bv-buy table.variations th{padding:4px 8px 4px 0; text-align:left}
.bv-buy .variations label{font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#3a2a1c}
.bv-buy select{min-width:180px; padding:.55em .8em; border:1px solid #c9b394; border-radius:8px; background:#fff; font-family:inherit; font-size:.92rem}
.bv-buy .woocommerce-variation-price .price{font-size:1.4rem; color:#b98b5a; margin:4px 0}
.bv-buy .woocommerce-variation-add-to-cart{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.bv-buy .qty,.bv-buy .quantity{display:inline-flex; border:1px solid #241a12; border-radius:999px; overflow:hidden}
.bv-buy .qty .qty,.bv-buy .quantity .qty{width:64px; border:0; text-align:center; font-size:1rem; padding:.5em 0; background:none; font-family:inherit}
.bv-buy .single_add_to_cart_button{flex:1; border-radius:999px; padding:1em; background:#241a12; color:#f4ede2; border:1px solid #241a12; font-family:inherit; font-size:.95rem; cursor:pointer; text-transform:uppercase; letter-spacing:.05em}
.bv-buy .single_add_to_cart_button:hover{background:#b98b5a; border-color:#b98b5a}
.bv-buy .reset_variations{font-size:.82rem; color:#b98b5a; text-decoration:underline}
