
/* Balkan Kings BPC Store v1.9.0 — mockup-matched storefront */
:root{
  --bk-red:#c51c14;
  --bk-red-bright:#ef2b20;
  --bk-red-dark:#820b07;
  --bk-orange:#ff8a00;
  --bk-green:#42dc62;
  --bk-text:#f4f1eb;
  --bk-muted:#b8b8b8;
  --bk-panel:rgba(4,6,8,.96);
}

/* Full cinematic page */
body:has(.bk-store-stage){
  background:#050607!important;
}
body:has(.bk-store-stage) .site,
body:has(.bk-store-stage) .site-content,
body:has(.bk-store-stage) .content-area,
body:has(.bk-store-stage) main,
body:has(.bk-store-stage) article,
body:has(.bk-store-stage) .entry-content,
body:has(.bk-store-stage) .wp-site-blocks{
  background:transparent!important;
}
body:has(.bk-store-stage) .entry-content,
body:has(.bk-store-stage) .site-main{
  max-width:none!important;
  width:100%!important;
}

.bk-store-stage{
  position:relative;
  width:100%;
  min-height:900px;
  padding:34px 18px 38px;
  color:var(--bk-text);
  font-family:Arial,Helvetica,sans-serif;
  isolation:isolate;
}
.bk-store-stage:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.28)),
    url("balkan-kings-store-bg.jpg") center top/cover no-repeat fixed;
}
.bk-store-stage:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 28%,transparent 0 32%,rgba(0,0,0,.16) 54%,rgba(0,0,0,.64) 100%),
    linear-gradient(90deg,rgba(0,0,0,.22),transparent 20%,transparent 80%,rgba(0,0,0,.22));
}

/* Hero/title */
.bk-store-hero{
  width:min(1000px,95%);
  margin:0 auto 14px;
  text-align:center;
}
.bk-hero-rule,.bk-footer-rule{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto 4px;
  color:var(--bk-red);
}
.bk-hero-rule span,.bk-footer-rule span{
  display:block;
  width:min(34vw,300px);
  height:1px;
  background:linear-gradient(90deg,transparent,var(--bk-red));
}
.bk-hero-rule span:last-child,.bk-footer-rule span:last-child{
  background:linear-gradient(90deg,var(--bk-red),transparent);
}
.bk-hero-rule b,.bk-footer-rule b{
  color:var(--bk-red-bright);
  font-size:28px;
  line-height:1;
}
.bk-hero-title{
  color:#ece9e2;
  font-size:clamp(40px,5vw,66px);
  font-weight:800;
  line-height:1;
  letter-spacing:-1.5px;
  text-shadow:0 2px 2px #000,0 0 14px rgba(255,255,255,.08);
}
.bk-hero-subtitle{
  margin-top:10px;
  color:var(--bk-red-bright);
  font-size:15px;
  font-weight:700;
  letter-spacing:5px;
}

/* Main composition: side banner + store panel */
.bk-store-layout{
  display:block;
  width:min(1080px,100%);
  margin:0 auto;
}
.bk-side-brand{display:none!important}

.bk-bpc-store{
  width:100%;
  max-width:1080px;
  margin:0 auto;
  padding:22px 22px 18px;
  color:#fff;
  background:linear-gradient(150deg,rgba(3,5,7,.975),rgba(2,4,6,.93));
  border:1px solid var(--bk-red);
  border-radius:7px;
  box-shadow:0 24px 70px rgba(0,0,0,.68),inset 0 0 38px rgba(0,0,0,.42);
  font-family:Arial,Helvetica,sans-serif;
}
.bk-bpc-store,.bk-bpc-store *{box-sizing:border-box}
.bk-bpc-store a{color:#f1eeee;text-decoration:none}
.bk-bpc-store a:hover{color:var(--bk-red-bright)}

.bk-store-heading{
  margin:0 0 7px!important;
  color:#f4f1eb!important;
  font-size:30px!important;
  line-height:1.15!important;
  font-weight:800!important;
}
.bk-store-intro{
  margin:0 0 4px;
  color:#f3f3f3;
  font-size:16px;
}
.bk-store-intro p{margin:0}

/* Cart / checkout */
.bk-store-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:13px;
  margin:-36px 0 20px;
}
.bk-button,.bk-card button,.bk-add,.bk-search button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin:0;
  padding:9px 15px;
  border:1px solid #d92b21;
  border-radius:4px;
  background:linear-gradient(#b81710,#8d0d08);
  color:#fff!important;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  text-decoration:none!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 12px rgba(0,0,0,.32);
  transition:.15s ease;
}
.bk-button:hover,.bk-card button:hover,.bk-add:hover,.bk-search button:hover{
  background:linear-gradient(#dc261c,#a50f09);
  border-color:#ef3b30;
  transform:translateY(-1px);
}
.bk-secondary{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:16px!important;
}
.bk-secondary:hover{color:var(--bk-red-bright)!important;transform:none}

/* Store body */
.bk-shop{display:flex;gap:18px;align-items:flex-start}
.bk-shop aside,.bk-bpc-categories{
  width:170px!important;
  flex:0 0 170px!important;
  padding:8px 14px 14px 0;
  border-right:1px solid rgba(255,255,255,.08);
}
.bk-shop aside h4,.bk-bpc-categories h4{
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.15!important;
}
.bk-shop aside a,.bk-bpc-categories a{
  display:block;
  margin:0;
  padding:7px 5px 7px 7px;
  border-left:2px solid transparent;
  color:#f2f2f2;
  font-size:16px!important;
  font-weight:600;
  line-height:1.28;
}
.bk-shop aside a:hover,.bk-bpc-categories a:hover{
  color:var(--bk-red-bright);
  border-left-color:var(--bk-red-bright);
  background:linear-gradient(90deg,rgba(197,28,20,.13),transparent);
}
.bk-bpc-products{min-width:0;flex:1}

.bk-search{
  display:flex;
  gap:8px;
  margin:0 0 14px;
}
.bk-search input,.bk-buy-row input,.bk-checkout input,.bk-cart input{
  color:#fff!important;
  background:#0b0d0f!important;
  border:1px solid #5a5a5a!important;
  border-radius:3px!important;
  outline:none;
}
.bk-search input{
  flex:1;
  padding:10px 12px;
  font-size:14px;
}
.bk-search input:focus,.bk-buy-row input:focus,.bk-checkout input:focus,.bk-cart input:focus{
  border-color:var(--bk-red-bright)!important;
  box-shadow:0 0 0 2px rgba(239,43,32,.12);
}

/* Cards */
.bk-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.bk-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:365px;
  padding:11px!important;
  color:#fff;
  background:linear-gradient(160deg,#080a0c,#020304 80%);
  border:1px solid var(--bk-red)!important;
  border-radius:4px!important;
  box-shadow:inset 0 0 28px rgba(0,0,0,.42);
}
.bk-card:hover{
  border-color:var(--bk-red-bright)!important;
  box-shadow:0 0 16px rgba(197,28,20,.15),inset 0 0 28px rgba(0,0,0,.42);
}
.bk-card img{
  display:block;
  width:100%!important;
  height:112px!important;
  margin:0 auto 10px;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.55));
}
.bk-card h2{
  min-height:46px;
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.16!important;
  font-weight:800!important;
}
.bk-card p{
  margin:5px 0;
  color:#f4f4f4;
  font-size:14px;
  line-height:1.42;
}
.bk-card p:first-of-type{
  color:var(--bk-orange)!important;
  font-weight:800;
}
.bk-card p b{font-weight:800}

/* Force Availability green regardless of markup around it */
.bk-card p:nth-of-type(2),
.bk-card p:nth-of-type(2) b{
  color:var(--bk-green)!important;
  font-size:16px!important;
  font-weight:800!important;
}
.bk-card h3{
  margin:7px 0 6px!important;
  color:var(--bk-green)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.bk-card .bk-details{color:#ddd}

/* Qty larger and clearer */
.bk-buy-row{
  display:flex;
  align-items:flex-end;
  gap:7px;
  flex-wrap:nowrap;
  margin-top:auto;
  padding-top:5px;
}
.bk-buy-row label{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:5px;
  color:#fff;
  font-size:14px!important;
  font-weight:700;
}
.bk-buy-row input{
  width:100%;
  min-width:48px;
  padding:8px;
  font-size:16px!important;
  font-weight:700;
}
.bk-buy-row .bk-add{
  flex:0 0 auto;
  padding:9px 11px;
  font-size:12px;
}

/* Other store pages */
.bk-detail,.bk-cart,.bk-checkout,.bk-success{
  color:#fff;
  background:rgba(3,5,7,.96);
  border:1px solid var(--bk-red);
  border-radius:6px;
  padding:22px;
}
.bk-detail{margin-top:28px}
.bk-detail img{max-width:128px}
.bk-cart table,.bk-orders table{width:100%;border-collapse:collapse}
.bk-cart th,.bk-cart td,.bk-orders th,.bk-orders td{
  padding:10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  text-align:left;
}
.bk-checkout input{display:block;width:100%;max-width:500px;padding:10px;margin:8px 0 20px}
.bk-success{padding:20px}

/* Footer exactly in the approved direction */
.bk-store-footer{
  width:min(1040px,95%);
  margin:10px auto 0;
  padding:0 10px;
  text-align:center;
}
.bk-footer-main{
  color:var(--bk-red-bright);
  font-size:clamp(20px,2.5vw,32px);
  font-weight:500;
  letter-spacing:10px;
  line-height:1.25;
}
.bk-footer-sub{
  margin-top:7px;
  color:#d5d2ce;
  font-size:12px;
  letter-spacing:4px;
}

@media(max-width:1100px){
  .bk-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .bk-store-stage{padding:24px 10px 30px}
  .bk-store-layout{display:block}
  .bk-bpc-store{padding:18px}
  .bk-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bk-store-toolbar{margin:0 0 16px;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:650px){
  .bk-shop{display:block}
  .bk-shop aside,.bk-bpc-categories{
    width:auto!important;
    flex-basis:auto!important;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
    margin-bottom:16px;
  }
  .bk-grid{grid-template-columns:1fr!important}
  .bk-cart{overflow-x:auto}
  .bk-store-stage:before{background-attachment:scroll}
  .bk-hero-subtitle{letter-spacing:3px;font-size:12px}
  .bk-footer-main{letter-spacing:5px}
  .bk-footer-sub{letter-spacing:2px}
}

.bk-empty-category{
  grid-column:1/-1;
  margin:18px 0;
  padding:18px 20px;
  color:#ddd!important;
  background:rgba(8,10,12,.9);
  border:1px solid rgba(197,28,20,.45);
  border-radius:4px;
  font-size:16px!important;
}

/* v1.9.7 category hierarchy and product meta */
.bk-all-blueprints{
  color:var(--bk-red-bright)!important;
  font-size:19px!important;
  font-weight:800!important;
}
.bk-cat-group{margin:6px 0}
.bk-cat-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  padding:7px 5px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-size:17px;
  font-weight:800;
}
.bk-cat-toggle:hover .bk-cat-parent,
.bk-cat-toggle:hover .bk-cat-icon{color:#ffad3b!important}
.bk-cat-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  color:var(--bk-orange)!important;
  font-size:18px;
  line-height:1;
}
.bk-cat-parent{
  color:var(--bk-orange)!important;
  font-size:17px!important;
  font-weight:800!important;
}
.bk-cat-children{padding-left:18px}
.bk-cat-children[hidden]{display:none!important}
.bk-cat-child{
  color:#fff!important;
  font-size:15px!important;
  font-weight:600!important;
}
.bk-cat-child:hover,.bk-cat-child.is-active{
  color:#fff!important;
  border-left-color:var(--bk-red-bright)!important;
  background:linear-gradient(90deg,rgba(197,28,20,.13),transparent);
}
.bk-meta-lines{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:5px 0;
  color:var(--bk-orange)!important;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}
.bk-meta-lines span{
  display:block;
  color:var(--bk-orange)!important;
}
.bk-buy-row label{font-size:15px!important}

/* v1.9.8 */
.bk-card .bk-available,
.bk-card .bk-available b,
.bk-detail .bk-available,
.bk-detail .bk-available b{
  color:var(--bk-green)!important;
  font-size:16px!important;
  font-weight:800!important;
}

/* v1.9.9 checkout delivery location */
.bk-checkout select{
  display:block;
  width:100%;
  max-width:500px;
  padding:10px;
  margin:8px 0 20px;
  color:#fff!important;
  background:#0b0d0f!important;
  border:1px solid #5a5a5a!important;
  border-radius:3px!important;
}
.bk-checkout select:focus{
  border-color:var(--bk-red-bright)!important;
  box-shadow:0 0 0 2px rgba(239,43,32,.12);
  outline:none;
}

/* v1.10.0 cart / checkout navigation */
.bk-cart-actions,
.bk-checkout-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.bk-cart-actions form{margin:0}
.bk-button.bk-danger{
  background:linear-gradient(#7f0c08,#5f0805);
  border-color:#a81812;
}
.bk-button.bk-danger:hover{
  background:linear-gradient(#a5140d,#790a06);
  border-color:#d3261c;
}
.bk-button.bk-secondary-action{
  background:transparent!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.bk-button.bk-secondary-action:hover{
  border-color:var(--bk-red-bright)!important;
  color:var(--bk-red-bright)!important;
}

/* v1.11.0 Store News */
.bk-news-banner{
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:min(1080px,100%);
  margin:0 auto 14px;
  padding:14px 18px;
  color:#f7f2ec;
  background:
    linear-gradient(135deg,rgba(8,10,12,.96),rgba(20,5,4,.92)),
    radial-gradient(circle at 15% 50%,rgba(197,28,20,.18),transparent 38%);
  border:1px solid rgba(239,43,32,.78);
  border-left:4px solid var(--bk-red-bright);
  border-radius:6px;
  box-shadow:0 10px 30px rgba(0,0,0,.42),inset 0 0 24px rgba(0,0,0,.32);
}
.bk-news-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  min-height:30px;
  padding:5px 9px;
  color:#fff;
  background:linear-gradient(#d9271c,#8f0d08);
  border:1px solid #f23b30;
  border-radius:4px;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.5px;
  box-shadow:0 0 0 0 rgba(239,43,32,.55);
  animation:bkNewsPulse 1.45s ease-in-out infinite;
}
.bk-news-copy{min-width:0;flex:1}
.bk-news-title{
  margin:0 0 4px;
  color:var(--bk-orange);
  font-size:17px;
  line-height:1.25;
  font-weight:800;
}
.bk-news-content{
  color:#f2f2f2;
  font-size:14px;
  line-height:1.45;
}
.bk-news-content p{margin:0 0 6px}
.bk-news-content p:last-child{margin-bottom:0}
.bk-news-content a{color:var(--bk-red-bright)!important;text-decoration:underline}
@keyframes bkNewsPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(239,43,32,.42);filter:brightness(1)}
  50%{box-shadow:0 0 0 7px rgba(239,43,32,0);filter:brightness(1.22)}
}
@media(prefers-reduced-motion:reduce){
  .bk-news-badge{animation:none}
}
@media(max-width:650px){
  .bk-news-banner{padding:12px 13px;gap:10px}
  .bk-news-badge{min-width:48px;font-size:12px}
}

/* v1.12.0 splash screen */
.bk-store-splash{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  visibility:visible;
  transition:opacity .55s ease,visibility .55s ease;
  background:
    linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.28)),
    url("balkan-kings-store-bg.jpg") center top/cover no-repeat fixed;
}
.bk-store-splash:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 35%,rgba(0,0,0,.06),rgba(0,0,0,.48) 72%,rgba(0,0,0,.72) 100%);
}
.bk-splash-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  padding:28px 36px;
  text-align:center;
}
.bk-splash-title{
  color:#f0ece5;
  font-size:clamp(30px,4vw,54px);
  font-weight:800;
  letter-spacing:1px;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
}
.bk-splash-spinner{
  width:58px;
  height:58px;
  border:5px solid rgba(255,255,255,.18);
  border-top-color:var(--bk-red-bright);
  border-right-color:var(--bk-orange);
  border-radius:50%;
  animation:bkSplashSpin .9s linear infinite;
  box-shadow:0 0 18px rgba(197,28,20,.22);
}
.bk-store-splash.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.bk-store-stage-waiting{opacity:0}
.bk-store-stage{transition:opacity .5s ease}
.bk-store-stage.is-ready{opacity:1}
@keyframes bkSplashSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .bk-splash-spinner{animation:none}
  .bk-store-splash,.bk-store-stage{transition:none}
}

/* v1.12.1 alignment / horizontal overflow fix */

/* Prevent theme/plugin width calculations from creating 1–20px horizontal scroll. */
html,
body:has(.bk-store-stage){
  max-width:100%;
  overflow-x:hidden!important;
}

body:has(.bk-store-stage) .site,
body:has(.bk-store-stage) .site-content,
body:has(.bk-store-stage) .content-area,
body:has(.bk-store-stage) .site-main,
body:has(.bk-store-stage) article,
body:has(.bk-store-stage) .entry-content,
body:has(.bk-store-stage) .wp-site-blocks{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}

/* Keep every storefront layer on the same center axis. */
.bk-store-stage{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}

.bk-store-hero,
.bk-news-banner,
.bk-store-layout,
.bk-store-footer{
  position:relative;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Main panel aligned exactly with the hero/banner center. */
.bk-store-layout{
  width:min(1080px,calc(100% - 24px))!important;
  max-width:1080px!important;
}

.bk-bpc-store{
  width:100%!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Hero/footer/news use same visual width as store where possible. */
.bk-store-hero,
.bk-news-banner,
.bk-store-footer{
  width:min(1080px,calc(100% - 24px))!important;
  max-width:1080px!important;
}

/* Avoid grid/card children forcing parent wider than viewport. */
.bk-shop,
.bk-bpc-products,
.bk-grid,
.bk-card,
.bk-search,
.bk-store-toolbar{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.bk-search input,
.bk-buy-row input,
.bk-checkout input,
.bk-checkout select{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Mobile/tablet breathing room without pushing viewport width. */
@media(max-width:850px){
  .bk-store-layout,
  .bk-store-hero,
  .bk-news-banner,
  .bk-store-footer{
    width:calc(100% - 12px)!important;
  }
}

/* v1.13.0 checkout promotional panels */
.bk-checkout-promos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:min(1080px,calc(100% - 24px));
  max-width:1080px;
  margin:22px auto 0;
  box-sizing:border-box;
}
.bk-promo-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:260px;
  padding:22px;
  color:#f3f1ec;
  background:
    linear-gradient(145deg,rgba(5,7,9,.97),rgba(18,4,4,.93)),
    radial-gradient(circle at 10% 10%,rgba(197,28,20,.16),transparent 42%);
  border:1px solid rgba(239,43,32,.72);
  border-radius:7px;
  box-shadow:0 14px 34px rgba(0,0,0,.45),inset 0 0 26px rgba(0,0,0,.3);
}
.bk-promo-card:before{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  right:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--bk-red-bright),transparent);
}
.bk-promo-kicker{
  margin-bottom:7px;
  color:var(--bk-red-bright);
  font-size:12px;
  font-weight:900;
  letter-spacing:2.4px;
}
.bk-promo-card h2{
  margin:0 0 11px!important;
  color:var(--bk-orange)!important;
  font-size:23px!important;
  line-height:1.2!important;
}
.bk-promo-card p{
  margin:0 0 11px;
  color:#eee;
  font-size:15px;
  line-height:1.48;
}
.bk-promo-card ul{
  margin:0 0 16px 20px;
  padding:0;
  color:#eee;
  font-size:14px;
  line-height:1.55;
}
.bk-promo-card li{margin:3px 0}
.bk-promo-button{
  align-self:flex-start;
  margin-top:auto!important;
}
@media(max-width:760px){
  .bk-checkout-promos{
    grid-template-columns:1fr;
    width:calc(100% - 12px);
  }
  .bk-promo-card{min-height:0}
}
