.bk-widget{
  --bk-bg:#fdfcf8; --bk-surface:#fff; --bk-ink:#1a1a1a; --bk-ink-soft:#4a4a4a;
  --bk-ink-muted:#8a8a8a; --bk-border:#e8e4dc; --bk-border-strong:#d4cec0;
  --bk-accent:#b8543d; --bk-accent-dark:#8f3f2c; --bk-success:#2d6a4f;
  --bk-discount:#c83838; --bk-radius-sm:6px; --bk-radius-md:10px; --bk-radius-lg:16px;
  --bk-shadow-md:0 4px 12px rgba(20,15,5,.06),0 2px 4px rgba(20,15,5,.04);
  --bk-font-display:'Fraunces',Georgia,serif; --bk-font-body:'Inter',-apple-system,sans-serif;
  --bk-transition:200ms cubic-bezier(.4,0,.2,1);
  font-family:var(--bk-font-body); color:var(--bk-ink); background:var(--bk-surface);
  line-height:1.5; box-sizing:border-box;
  padding:32px; border-radius:var(--bk-radius-lg); box-shadow:var(--bk-shadow-md);
  max-width:1180px; margin:0 auto;
}
.bk-widget *,.bk-widget *::before,.bk-widget *::after{box-sizing:border-box}
.bk-widget__grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:start}
.bk-gallery{position:sticky; top:24px}
.bk-gallery__main{position:relative; aspect-ratio:4/5; background:linear-gradient(135deg,#f3eee3,#e9e2d2); border-radius:var(--bk-radius-md); overflow:hidden; margin-bottom:16px}
.bk-gallery__main img{width:100%; height:100%; object-fit:contain; padding:32px; transition:opacity .2s ease}
.bk-gallery__badge{position:absolute; top:16px; left:16px; background:var(--bk-discount); color:#fff; font-size:12px; font-weight:600; padding:6px 10px; border-radius:var(--bk-radius-sm)}
.bk-gallery__thumbs{display:grid; grid-template-columns:repeat(4,1fr); gap:10px}
.bk-thumb{aspect-ratio:1; background:#f3eee3; border:2px solid transparent; border-radius:var(--bk-radius-sm); overflow:hidden; cursor:pointer; padding:0}
.bk-thumb img{width:100%; height:100%; object-fit:contain; padding:8px}
.bk-thumb:hover{border-color:var(--bk-border-strong)}
.bk-thumb.is-active{border-color:var(--bk-accent); box-shadow:0 0 0 2px rgba(184,84,61,.15)}
.bk-info{min-width:0}
.bk-info__category{font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--bk-accent); margin:0 0 12px}
.bk-info__title{font-family:var(--bk-font-display); font-weight:500; font-size:clamp(28px,3.4vw,38px); line-height:1.15; margin:0 0 8px; color:var(--bk-ink)}
.bk-info__author{font-family:var(--bk-font-display); font-style:italic; font-size:17px; color:var(--bk-ink-soft); margin:0 0 20px}
.bk-info__author strong{font-style:normal; color:var(--bk-ink)}
.bk-divider{height:1px; background:var(--bk-border); margin:24px 0; border:0}
.bk-variations__label{font-size:13px; font-weight:600; color:var(--bk-ink-soft); margin-bottom:14px}
.bk-variations__options{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.bk-widget .bk-variations__options .bk-variation{position:relative !important; display:flex !important; flex-direction:column !important; gap:10px !important; padding:22px 20px 24px !important; background:#fff !important; border:1.5px solid var(--bk-border) !important; border-radius:var(--bk-radius-md) !important; cursor:pointer !important; text-align:left !important; font-family:inherit !important; color:var(--bk-ink) !important; box-shadow:none !important; width:100% !important; transition:var(--bk-transition) !important}
.bk-widget .bk-variations__options .bk-variation:hover{border-color:var(--bk-border-strong) !important; transform:translateY(-1px) !important}
.bk-widget .bk-variations__options .bk-variation.is-active{border-color:var(--bk-accent) !important; background:#fdf5f2 !important; box-shadow:0 0 0 3px rgba(184,84,61,.10) !important}
.bk-variation__icon{width:28px !important; height:28px !important; color:var(--bk-ink-soft) !important; margin-bottom:4px !important}
.bk-variation__icon svg{width:28px; height:28px}
.bk-variation__icon i{font-size:24px}
.bk-variation.is-active .bk-variation__icon{color:var(--bk-accent) !important}
.bk-variation__name{font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bk-ink-soft); line-height:1.2}
.bk-variation.is-active .bk-variation__name{color:var(--bk-accent)}
.bk-variation__price{font-family:var(--bk-font-display); font-weight:600; font-size:clamp(24px, 2.6vw, 30px); line-height:1.05; letter-spacing:-.01em; color:var(--bk-ink); font-variant-numeric:tabular-nums; margin-top:2px}
.bk-variation__price .woocommerce-Price-amount{color:inherit !important; font-weight:inherit !important}
.bk-variation__price .woocommerce-Price-currencySymbol{font-size:.62em; font-weight:500; margin-right:4px; opacity:.7; vertical-align:.08em}
.bk-variation.is-active .bk-variation__price{color:var(--bk-accent) !important}
.bk-variation__price:has(.bk-variation__price-sale){display:flex !important; align-items:baseline !important; gap:8px !important; flex-wrap:wrap}
.bk-variation .bk-variation__price-regular{display:inline-block !important; font-size:.42em !important; font-weight:400 !important; color:#9aa0a6 !important; text-decoration:line-through !important; line-height:1 !important; opacity:.85; order:1}
.bk-variation .bk-variation__price-regular .woocommerce-Price-amount{color:#9aa0a6 !important; font-weight:400 !important}
.bk-variation .bk-variation__price-sale{display:inline-block !important; text-decoration:none !important; color:inherit; background:transparent; order:2}
.bk-variation__check{position:absolute !important; top:14px !important; right:14px !important; width:22px !important; height:22px !important; border-radius:50% !important; background:var(--bk-accent) !important; color:#fff !important; display:none !important; align-items:center !important; justify-content:center !important; box-shadow:0 2px 6px rgba(184,84,61,.35) !important}
.bk-variation.is-active .bk-variation__check{display:flex !important}
.bk-stock{display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--bk-success); margin-top:12px}
.bk-stock__dot{width:8px; height:8px; border-radius:50%; background:var(--bk-success); animation:bk-pulse 2s ease-in-out infinite}
@keyframes bk-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.bk-qty{display:flex; align-items:center; gap:16px; margin:24px 0}
.bk-qty__label{font-size:13px; font-weight:600; color:var(--bk-ink-soft)}
.bk-qty__control{display:inline-flex; align-items:center; background:var(--bk-bg); border:1.5px solid var(--bk-border); border-radius:var(--bk-radius-md); overflow:hidden}
.bk-qty__btn{width:40px; height:44px; border:0; background:transparent; cursor:pointer; font-size:18px; color:var(--bk-ink-soft)}
.bk-qty__btn:hover:not(:disabled){background:var(--bk-border); color:var(--bk-ink)}
.bk-qty__btn:disabled{opacity:.35; cursor:not-allowed}
.bk-qty__value{width:44px; text-align:center; font-weight:600; border-left:1.5px solid var(--bk-border); border-right:1.5px solid var(--bk-border); height:44px; line-height:44px}
.bk-widget .bk-actions{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px}
.bk-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:16px 20px; border-radius:var(--bk-radius-md); font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; border:1.5px solid transparent; text-decoration:none; line-height:1; transition:var(--bk-transition)}
.bk-btn svg{width:18px; height:18px; stroke:currentColor; fill:none}
.bk-btn--primary{background:var(--bk-ink); color:#fff}
.bk-btn--primary:hover{background:var(--bk-accent-dark); transform:translateY(-1px)}
.bk-btn--secondary{background:var(--bk-surface); color:var(--bk-ink); border-color:var(--bk-ink)}
.bk-btn--secondary:hover{background:var(--bk-ink); color:#fff}
.bk-btn:disabled{opacity:.6; cursor:wait}
.bk-benefits{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-top:24px; padding-top:24px; border-top:1px solid var(--bk-border)}
.bk-benefit{display:flex; align-items:flex-start; gap:10px; font-size:12px; color:var(--bk-ink-soft)}
.bk-benefit__icon{width:20px; height:20px; color:var(--bk-accent); flex-shrink:0}
.bk-benefit__icon svg, .bk-benefit__icon i{width:100%; height:100%; font-size:20px}
.bk-benefit strong{display:block; color:var(--bk-ink); font-weight:600; font-size:13px}
@media (max-width:980px){
  .bk-widget{padding:28px !important}
  .bk-widget__grid{grid-template-columns:1fr !important; gap:32px !important}
  .bk-gallery{position:static !important; max-width:480px; margin:0 auto}
}
@media (max-width:640px){
  .bk-widget{padding:20px !important}
  .bk-gallery{max-width:340px}
  .bk-info__title{font-size:22px !important}
  .bk-variation__price{font-size:22px !important}
  .bk-widget .bk-actions{grid-template-columns:1fr !important}
}
@media (max-width:420px){
  .bk-variations__options{grid-template-columns:1fr !important}
}
