/* ==========================================================================
   Bikaoo — WooCommerce: shop, product, cart, checkout, account
   Ports the Dawn product layout + "Jawad Style" product rules:
   vertical thumbnails on the left, brass save badge, stock dot,
   2-col check list, full-width uppercase submit.
   ========================================================================== */

.woocommerce-notices-wrapper{max-width:var(--page-width);margin:0 auto;padding:0 var(--page-gutter);}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none;margin:2rem 0;padding:1.6rem 2rem;border-radius:12px;font-size:1.4rem;
  background:rgba(var(--color-foreground),.04);
  border-left:3px solid var(--bk-coral);}
.woocommerce-error{background:#fff1f0;border-left-color:#b42318;color:#b42318;}
.woocommerce-message{background:#effcf4;border-left-color:#25b865;color:#176b38;}
.woocommerce-message .button,.woocommerce-info .button{margin-left:1.6rem;}

/* ============================== Shop / archive ========================== */
.bk-collection-banner{
  position:relative;padding:6rem 0 3rem;text-align:center;}
.bk-collection-banner--image{padding:0;}
.bk-collection-banner__media{position:relative;height:34rem;overflow:hidden;}
.bk-collection-banner__media img{width:100%;height:100%;object-fit:cover;}
.bk-collection-banner__overlay{position:absolute;inset:0;background:rgba(0,0,0,.28);}
.bk-collection-banner__content{position:relative;z-index:1;}
.bk-collection-banner--image .bk-collection-banner__content{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;color:#fff;padding:2rem;}
.bk-collection-banner__title{margin:0 0 1rem;}
.bk-collection-banner__description{max-width:66rem;margin:0 auto;font-size:1.6rem;line-height:1.7;opacity:.9;}

.bk-shop{max-width:var(--page-width);margin:0 auto;padding:0 var(--page-gutter) 6rem;}
.bk-shop__layout{display:flex;gap:4rem;align-items:flex-start;}
.bk-shop__sidebar{flex:0 0 26rem;width:26rem;position:sticky;top:10rem;}
.bk-shop__main{flex:1;min-width:0;}
@media screen and (max-width:989px){
  .bk-shop__layout{flex-direction:column;}
  .bk-shop__sidebar{position:static;width:100%;flex:1 1 auto;}
}
.bk-shop__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1.6rem;padding:2rem 0 2.4rem;}
.bk-shop__count{font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:0;}
.bk-shop__sort select{width:auto;min-width:20rem;padding:1.1rem 1.6rem;font-size:1.35rem;}
.bk-facets{display:flex;flex-direction:column;gap:1rem;}
.bk-facet{border:1px solid rgba(var(--color-foreground),.12);border-radius:12px;
  padding:0;overflow:hidden;background:rgb(var(--color-background));}
.bk-facet__summary{display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem 1.8rem;font-size:1.25rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;}
.bk-facet__summary svg{width:1.2rem;height:1.2rem;transition:transform .25s ease;}
.bk-facet[open] .bk-facet__summary svg{transform:rotate(180deg);}
.bk-facet__body{padding:0 1.8rem 1.8rem;display:flex;flex-direction:column;gap:1rem;}
.bk-facet__item{display:flex;align-items:center;gap:1rem;font-size:1.4rem;cursor:pointer;}
.bk-facet__item input{width:1.8rem;height:1.8rem;accent-color:var(--bk-coral);flex:0 0 auto;
  appearance:auto;padding:0;border-radius:4px;}
.bk-facet__count{margin-left:auto;opacity:.5;font-size:1.2rem;}
.bk-facet__swatches{display:flex;flex-wrap:wrap;gap:.8rem;}
.bk-facet__swatch{width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(0,0,0,.14);
  cursor:pointer;position:relative;}
.bk-facet__swatch[aria-pressed=true]{box-shadow:0 0 0 2px rgb(var(--color-foreground));}
.bk-facet__price{display:flex;gap:1rem;align-items:center;}
.bk-facet__price input{padding:1rem 1.2rem;font-size:1.3rem;}
.bk-facets__actions{display:flex;gap:1rem;margin-top:.6rem;}
.bk-active-filters{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem;}
.bk-active-filter{display:inline-flex;align-items:center;gap:.8rem;
  padding:.7rem 1.2rem;border-radius:999px;font-size:1.25rem;text-decoration:none;
  background:rgba(var(--color-foreground),.06);}
.bk-active-filter:hover{background:rgba(var(--color-foreground),.12);}
.bk-shop__empty{padding:8rem 2rem;text-align:center;}

/* product loop grid */
ul.products{display:flex;flex-wrap:wrap;column-gap:var(--grid-gap-h);row-gap:calc(var(--grid-gap-v) + 2.4rem);
  margin:0;padding:0;list-style:none;}
ul.products li.product{width:calc(25% - var(--grid-gap-h) * 3 / 4);margin:0;position:relative;}
ul.products.columns-2 li.product{width:calc(50% - var(--grid-gap-h) / 2);}
ul.products.columns-3 li.product{width:calc(33.333% - var(--grid-gap-h) * 2 / 3);}
ul.products.columns-5 li.product{width:calc(20% - var(--grid-gap-h) * 4 / 5);}
@media screen and (max-width:989px){ul.products li.product{width:calc(33.333% - var(--grid-gap-h) * 2 / 3);}}
@media screen and (max-width:749px){
  ul.products li.product,ul.products.columns-3 li.product,ul.products.columns-5 li.product{
    width:calc(50% - var(--grid-gap-h) / 2);}
}
/* quick add on cards — always visible, like Shopify's "standard" quick add */
.bk-quick-add{margin-top:1.2rem;}
.bk-quick-add .button{width:100%;padding:1.3rem 1.6rem;font-size:1.05rem;}
.bk-quick-add .button:not([disabled]):hover{transform:none;background:var(--bk-coral);
  border-color:var(--bk-coral);color:#fff;}

/* ============================== Single product ========================== */
.bk-product{max-width:var(--page-width);margin:0 auto;padding:4rem var(--page-gutter) 0;}
.bk-product__grid{display:flex;flex-wrap:wrap;gap:4rem;align-items:flex-start;}
.bk-product__media-col{flex:1 1 52%;min-width:0;}
.bk-product__info-col{flex:1 1 38%;min-width:0;max-width:60rem;}
@media screen and (min-width:990px){.bk-product__info-col{position:sticky;top:10rem;}}
@media screen and (max-width:989px){
  .bk-product__media-col,.bk-product__info-col{flex:1 1 100%;max-width:none;}
}

/* gallery — vertical thumbnails on the left at >=990px */
.bk-gallery{display:flex;flex-direction:column;gap:1.4rem;}
@media screen and (min-width:990px){
  .bk-gallery{flex-direction:row;align-items:flex-start;}
  .bk-gallery__thumbs{order:-1;flex:0 0 7.6rem;width:7.6rem;margin-top:0;}
  .bk-gallery__thumbs .bk-gallery__thumb-list{display:flex;flex-direction:column;flex-wrap:nowrap;gap:1rem;}
  .bk-gallery__thumb-item{width:100%!important;}
  .bk-gallery__stage{flex:1 1 auto;min-width:0;order:0;}
}
.bk-gallery__stage{position:relative;border-radius:16px;overflow:hidden;
  border:1px solid rgba(var(--color-foreground),.05);}
.bk-gallery__slide{display:none;}
.bk-gallery__slide.is-active{display:block;}
.bk-gallery__stage img{width:100%;height:auto;border-radius:16px;cursor:zoom-in;}
.bk-gallery__thumb-list{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0;padding:0;}
.bk-gallery__thumb-item{width:7.6rem;}
.bk-gallery__thumb{display:block;width:100%;padding:0;background:none;border-radius:12px;
  overflow:hidden;border:1px solid rgba(var(--color-foreground),.12);
  transition:border-color .25s ease,box-shadow .25s ease;}
.bk-gallery__thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;}
.bk-gallery__thumb[aria-current=true]{border-color:rgb(var(--color-foreground));
  box-shadow:0 0 0 1px rgb(var(--color-foreground));}
.bk-gallery__badge{position:absolute;bottom:1.2rem;left:1.2rem;z-index:2;}
/* lightbox */
.bk-lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);
  display:none;align-items:center;justify-content:center;padding:4rem 2rem;}
.bk-lightbox.is-open{display:flex;}
.bk-lightbox img{max-width:100%;max-height:100%;width:auto;border-radius:12px;}
.bk-lightbox__close{position:absolute;top:2rem;right:2rem;width:4.8rem;height:4.8rem;
  border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:flex;
  align-items:center;justify-content:center;}
.bk-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);
  width:5.2rem;height:5.2rem;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:2.4rem;}
.bk-lightbox__nav--prev{left:2rem;}
.bk-lightbox__nav--next{right:2rem;}

/* product info blocks (order mirrors the Shopify product template) */
.bk-product__title{margin:0 0 .6rem;}
.jw-pills{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.6rem;}
.jw-pill{display:inline-block;text-transform:uppercase;letter-spacing:.12em;
  font-size:1.05rem;font-weight:500;padding:.6rem 1.2rem;
  background:rgba(var(--jw-brass),.16);color:rgb(var(--jw-ink));}
.jw-subtitle{font-size:1.7rem;line-height:1.6;opacity:.85;margin:.4rem 0 1.4rem;}
.jw-save{display:inline-block;vertical-align:middle;margin-left:1rem;
  background:rgb(var(--jw-brass));color:#1a1a1a;font-weight:600;text-transform:uppercase;
  letter-spacing:.08em;font-size:1.1rem;padding:.5rem 1rem;}
.jw-stock{display:flex;align-items:center;gap:.7rem;font-size:1.3rem;letter-spacing:.04em;
  text-transform:uppercase;margin:1.2rem 0;font-weight:500;}
.jw-stock span{width:.9rem;height:.9rem;border-radius:50%;background:#3a9d5d;display:inline-block;}
.jw-stock--low{color:rgb(var(--jw-brass));}
.jw-stock--low span{background:rgb(var(--jw-brass));}
.jw-stock--out span{background:#b23b3b;}
.jw-checks{list-style:none;padding:0;margin:1.6rem 0 2rem;display:grid;
  grid-template-columns:1fr 1fr;gap:1rem 2rem;}
.jw-checks li{position:relative;padding-left:2.6rem;font-size:1.3rem;letter-spacing:.04em;
  text-transform:uppercase;font-weight:500;list-style:none;}
.jw-checks li:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1.8rem;height:1.8rem;border-radius:50%;background:rgba(var(--jw-brass),.18);}
.jw-checks li:after{content:'';position:absolute;left:.62rem;top:50%;width:.4rem;height:.85rem;
  border:solid rgb(var(--jw-brass));border-width:0 .22rem .22rem 0;
  transform:translateY(-68%) rotate(45deg);}
@media screen and (max-width:749px){.jw-checks{grid-template-columns:1fr;}}
.jw-section-label{text-transform:uppercase;letter-spacing:.18em;font-size:1.15rem;
  font-weight:600;text-align:center;margin:2rem 0 1rem;}
.jw-trust{text-align:center;font-size:1.2rem;letter-spacing:.04em;opacity:.7;margin-top:1.4rem;}
.bk-product .price__container .price-item,
.bk-product .price .woocommerce-Price-amount{font-size:2.6rem;letter-spacing:0;font-weight:500;}
.bk-product .price--on-sale .price-item--regular{opacity:.5;}
.bk-product__price{margin:0 0 1rem;min-height:auto;}
.bk-product__price del{opacity:.5;font-size:1.8rem;margin-right:1rem;}
.bk-product__price ins{text-decoration:none;color:rgb(var(--jw-brass));}

/* variant picker — full-width pill rows */
.product-form__input{border:0;padding:0;margin:0 0 1.6rem;}
fieldset.product-form__input--pill .form__label,
.product-form__input > .form__label{text-transform:uppercase;letter-spacing:.14em;
  font-size:1.15rem;margin-bottom:1rem;display:block;font-weight:500;}
fieldset.product-form__input--pill input[type=radio]{position:absolute;opacity:0;width:0;height:0;}
fieldset.product-form__input--pill input[type=radio]+label{
  display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 1rem;
  padding:1.4rem 1.8rem;border:1px solid rgba(var(--color-foreground),.25);
  border-radius:10px;font-size:1.4rem;letter-spacing:.02em;text-transform:none;cursor:pointer;
  transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease;}
fieldset.product-form__input--pill input[type=radio]:checked+label{
  border-color:rgb(var(--color-foreground));box-shadow:0 0 0 1px rgb(var(--color-foreground));}
fieldset.product-form__input--pill input[type=radio]:disabled+label{opacity:.4;
  text-decoration:line-through;cursor:not-allowed;}
.bk-variant__price{font-weight:600;}
.bk-variant__badge{font-size:1.05rem;text-transform:uppercase;letter-spacing:.1em;
  background:rgb(var(--jw-brass));color:#1a1a1a;padding:.3rem .8rem;margin-left:.8rem;}

/* buy buttons */
.product-form__buttons{max-width:none;display:flex;flex-direction:column;gap:1rem;}
.product-form__quantity{margin:0 0 1.6rem;}
.product-form__submit{width:100%;padding:1.9rem 2rem!important;font-size:1.3rem!important;
  letter-spacing:.18em!important;}
/* Solid dark, matching the product page and the live store. */
.bk-buy-now{width:100%;background:var(--bk-ink,#151719);border-color:var(--bk-ink,#151719);color:#fff;
  padding:1.9rem 2rem!important;font-size:1.3rem!important;letter-spacing:.18em!important;}
.bk-buy-now:hover{background:#000;border-color:#000;}

/* The two purchase options sit as a matched pair: Add to cart is the quiet
   one, Buy it now carries the weight. WooCommerce renders its own button
   markup, so both Dawn's class and Woo's are styled the same way. */
.woocommerce div.product form.cart,
form.cart{display:block;margin:0 0 1rem;}
.woocommerce div.product form.cart .quantity,
form.cart .quantity{margin:0 0 1.6rem;}

.woocommerce div.product form.cart button.single_add_to_cart_button,
button.single_add_to_cart_button{
  display:block;width:100%;float:none;margin:0;
  padding:1.9rem 2rem!important;
  font-size:1.3rem!important;letter-spacing:.18em!important;
  text-transform:uppercase;font-weight:600;
  background:transparent;color:var(--bk-ink,#151719);
  border:1px solid var(--bk-ink,#151719);
  border-radius:var(--buttons-radius,10px);
  cursor:pointer;transition:background .2s ease,color .2s ease;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover{
  background:var(--bk-ink,#151719);color:#fff;
}
.bk-buy-now-form{margin:0;}

/* product accordion (product-details section lives in sections.css) */
.bk-product__description{margin-top:2.4rem;}

/* related products */
.bk-related{max-width:var(--page-width);margin:0 auto;padding:6rem var(--page-gutter);}
.bk-related__title{text-align:center;margin-bottom:3.4rem;}

/* =================================== Cart =============================== */
.bk-cart{max-width:var(--page-width);margin:0 auto;padding:4rem var(--page-gutter) 8rem;}
.bk-cart__title{margin-bottom:3rem;}
.bk-cart__layout{display:flex;gap:4rem;align-items:flex-start;flex-wrap:wrap;}
.bk-cart__items{flex:1 1 60%;min-width:0;}
.bk-cart__summary{flex:1 1 30rem;position:sticky;top:10rem;
  border:1px solid rgba(var(--color-foreground),.12);border-radius:16px;padding:2.6rem;}
@media screen and (max-width:989px){.bk-cart__summary{position:static;flex:1 1 100%;}}
.woocommerce-cart-form table.shop_table{border:0;}
.shop_table thead th{text-align:left;font-size:1.15rem;text-transform:uppercase;
  letter-spacing:.14em;font-weight:500;padding:0 0 1.4rem;
  border-bottom:1px solid rgba(var(--color-foreground),.14);}
.shop_table td{padding:2.2rem 1rem 2.2rem 0;vertical-align:middle;
  border-bottom:1px solid rgba(var(--color-foreground),.08);font-size:1.4rem;}
.shop_table td.product-thumbnail img{width:9rem;height:9rem;object-fit:cover;border-radius:12px;}
.shop_table td.product-name a{text-decoration:none;font-weight:500;}
.shop_table td.product-remove a{display:inline-flex;align-items:center;justify-content:center;
  width:3.2rem;height:3.2rem;border-radius:50%;text-decoration:none;font-size:1.8rem;
  background:rgba(var(--color-foreground),.06);}
.cart_totals table{width:100%;}
.cart_totals th{text-align:left;font-size:1.3rem;text-transform:uppercase;letter-spacing:.1em;
  padding:1.2rem 0;font-weight:500;}
.cart_totals td{text-align:right;padding:1.2rem 0;font-size:1.5rem;}
.cart_totals .order-total th,.cart_totals .order-total td{
  border-top:1px solid rgba(var(--color-foreground),.14);font-size:1.8rem;font-weight:600;}
.wc-proceed-to-checkout{margin-top:2rem;}
.wc-proceed-to-checkout .checkout-button{width:100%;}
.coupon{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.coupon input{flex:1;min-width:16rem;}
.cart-empty-state{text-align:center;padding:8rem 2rem;}

/* ============================ Checkout / account ======================== */
.bk-checkout,.bk-account{max-width:120rem;margin:0 auto;padding:4rem var(--page-gutter) 8rem;}
.woocommerce-checkout .col2-set{display:flex;flex-wrap:wrap;gap:4rem;}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{flex:1 1 32rem;}
#order_review_heading{margin-top:4rem;}

/* Two-column checkout: the form on the left, the order summary parked in the
   empty space on the right and kept in view while the form is filled in.
   Below 990px everything falls back to the stacked order. */
@media screen and (min-width:990px){
  /* The checkout page renders inside the narrow page wrapper, which is far
     too tight for two columns. Widen it on checkout only. */
  .woocommerce-checkout .bk-page--narrow{max-width:124rem;}

  .woocommerce-checkout form.checkout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:5rem;
    align-items:start;
  }
  .woocommerce-checkout form.checkout > #customer_details{
    grid-column:1;grid-row:1 / span 2;min-width:0;
  }
  .woocommerce-checkout form.checkout > #order_review_heading{
    grid-column:2;grid-row:1;margin-top:0;
  }
  .woocommerce-checkout form.checkout > #order_review{
    grid-column:2;grid-row:2;min-width:0;
    position:sticky;top:2rem;
  }
  /* Billing and the order notes stack inside the narrower left column. */
  .woocommerce-checkout .col2-set{display:block;}
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{width:100%;flex:none;}
  .woocommerce-checkout .col2-set .col-2{margin-top:3.2rem;}
}
.woocommerce-checkout-review-order{border:1px solid rgba(var(--color-foreground),.12);
  border-radius:16px;padding:2.6rem;}
.woocommerce-checkout-payment{margin-top:2rem;}
.wc_payment_methods{list-style:none;padding:0;margin:0 0 2rem;}
.wc_payment_method{border:1px solid rgba(var(--color-foreground),.14);border-radius:12px;
  padding:1.6rem 1.8rem;margin-bottom:1rem;}
.wc_payment_method label{font-size:1.45rem;font-weight:500;cursor:pointer;}
.wc_payment_method input[type=radio]{width:auto;appearance:auto;accent-color:var(--bk-coral);
  margin-right:1rem;}
.payment_box{font-size:1.35rem;opacity:.8;margin-top:1rem;}
.form-row{margin-bottom:1.6rem;}
.form-row label{display:block;margin-bottom:.6rem;font-size:1.3rem;
  text-transform:uppercase;letter-spacing:.08em;}
.required{color:var(--bk-coral);}
#place_order{width:100%;}
.woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:3rem;
  padding:0;list-style:none;}
.woocommerce-MyAccount-navigation li a{display:block;padding:1.1rem 1.8rem;
  border:1px solid rgba(var(--color-foreground),.14);border-radius:10px;text-decoration:none;
  font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em;}
.woocommerce-MyAccount-navigation li.is-active a{
  background:rgb(var(--color-button));color:rgb(var(--color-button-text));
  border-color:rgb(var(--color-button));}
.woocommerce-form{max-width:48rem;}
.woocommerce-form-login,.woocommerce-form-register{
  border:1px solid rgba(var(--color-foreground),.12);border-radius:16px;padding:3rem;}

/* ============================= Blog / pages ============================= */
.bk-page{max-width:var(--page-width);margin:0 auto;padding:5rem var(--page-gutter) 8rem;}
.bk-page--narrow{max-width:84rem;}
.bk-page__title{margin-bottom:3rem;}
.bk-article{max-width:80rem;margin:0 auto;}
.bk-article__media img{width:100%;border-radius:16px;margin-bottom:3rem;}
.bk-article__meta{font-size:1.25rem;text-transform:uppercase;letter-spacing:.14em;
  opacity:.65;margin-bottom:1.4rem;}
.bk-article__content{font-size:1.6rem;line-height:1.8;}
.bk-blog__grid{display:flex;flex-wrap:wrap;gap:3rem;}
.bk-blog__item{flex:1 1 30rem;}
.bk-article-card__media{border-radius:15px;overflow:hidden;margin-bottom:1.4rem;}
.bk-article-card__media img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.bk-article-card__title{font-size:1.9rem;margin:0 0 .8rem;}
.bk-article-card__title a{text-decoration:none;}
.bk-article-card__excerpt{font-size:1.4rem;opacity:.8;line-height:1.7;}
.bk-404{text-align:center;padding:10rem 2rem;}
.bk-404__title{font-size:clamp(5rem,9vw,11rem);line-height:1;margin-bottom:1.6rem;}
.bk-search-form{display:flex;gap:1rem;max-width:56rem;margin:0 auto 4rem;}
.bk-search-form input{flex:1;border-radius:999px;padding:1.5rem 2.4rem;}

/* Coupon form, now living inside the order summary above the subtotal. */
.bk-coupon-row > td{padding:1.6rem 0 0;border:0;}
.bk-coupon-row .woocommerce-form-coupon-toggle{margin:0;}
.bk-coupon-row .woocommerce-form-coupon-toggle .woocommerce-info{
  margin:0;padding:1.2rem 1.4rem;font-size:1.4rem;background:rgba(var(--color-foreground),.04);
  border-left:3px solid var(--bk-coral,#ff735f);}
.bk-coupon-row form.checkout_coupon{margin:1.2rem 0 0;padding:1.6rem;
  border:1px solid rgba(var(--color-foreground),.12);border-radius:10px;}
.bk-coupon-row form.checkout_coupon .form-row{margin:0 0 1rem;}
.bk-coupon-row form.checkout_coupon .form-row:last-child{margin:0;}
.bk-coupon-row form.checkout_coupon input[type="text"],
.bk-coupon-row form.checkout_coupon button{width:100%;}
