/*
 * WBP WooCommerce layer — v7.7.4
 * Kept separate from the core theme stylesheet so the main WBP site stays
 * untouched when WooCommerce is not active.
 */

/* ---------- Shop section shell ---------- */
.wbp-shop-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:65vh;
  background:
    radial-gradient(circle at 88% 0%,rgba(29,78,216,.12),transparent 30rem),
    linear-gradient(180deg,#030712 0%,#070b15 48%,#030712 100%);
  padding:4rem 1.25rem 6rem;
}
.wbp-shop-content{position:relative;z-index:2;max-width:80rem;margin:0 auto}
.wbp-shop-glow{position:absolute;z-index:0;width:34rem;height:34rem;border-radius:999px;filter:blur(100px);opacity:.14;pointer-events:none}
.wbp-shop-glow-red{top:-18rem;left:-15rem;background:#d71920}
.wbp-shop-glow-blue{right:-18rem;top:12rem;background:#2563eb}

.wbp-shop-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
  margin:0 0 2rem;padding:2.5rem;
  border:1px solid rgba(255,255,255,.1);border-radius:2rem;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 30px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
.wbp-shop-hero-copy{max-width:52rem}
.wbp-shop-eyebrow{margin:0 0 .7rem!important;color:#f87171!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.wbp-shop-hero h1{margin:0!important;color:#fff!important;font-size:clamp(2.75rem,7vw,5.8rem)!important;line-height:.94!important;font-weight:950!important;letter-spacing:-.06em!important}
.wbp-shop-lead{max-width:48rem;margin:1.15rem 0 0!important;color:#cbd5e1!important;font-size:clamp(1rem,1.5vw,1.18rem)!important;line-height:1.75!important}
.wbp-shop-hero-cart,.wbp-shop-cart{
  display:inline-flex;align-items:center;justify-content:center;gap:.65rem;
  border:1px solid rgba(255,255,255,.13);border-radius:999px;
  background:rgba(255,255,255,.08);color:#fff!important;text-decoration:none!important;
  font-weight:900;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.wbp-shop-hero-cart{padding:.9rem 1.15rem}
.wbp-shop-hero-cart:hover,.wbp-shop-cart:hover{transform:translateY(-2px);background:rgba(255,255,255,.13);border-color:rgba(248,113,113,.42)}
.wbp-shop-cart{padding:.68rem .85rem;font-size:.82rem}
.wbp-shop-cart i,.wbp-shop-hero-cart i{font-size:1rem;line-height:1}
.wbp-shop-cart-count{display:grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:950}

.wbp-shop-category-nav{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 2rem}
.wbp-shop-category-nav a{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.045);padding:.7rem .9rem;color:#e5e7eb!important;text-decoration:none!important;font-size:.82rem;font-weight:850;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.wbp-shop-category-nav a:hover,.wbp-shop-category-nav a.is-current{transform:translateY(-1px);border-color:rgba(248,113,113,.38);background:rgba(220,38,38,.16);color:#fff!important}
.wbp-shop-category-nav a span{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;border-radius:999px;background:rgba(255,255,255,.09);color:#fca5a5;font-size:.68rem}

/* ---------- Woo archive controls ---------- */
.woocommerce .wbp-shop-content .woocommerce-breadcrumb{margin:0 0 1.8rem;color:#64748b;font-size:.82rem}
.woocommerce .wbp-shop-content .woocommerce-breadcrumb a{color:#cbd5e1;text-decoration:none}
.woocommerce .wbp-shop-content .woocommerce-breadcrumb a:hover{color:#fff}
.woocommerce .wbp-shop-content .term-description,
.woocommerce .wbp-shop-content .woocommerce-products-header__description{margin:0 0 2rem;border-left:3px solid #dc2626;padding:.2rem 0 .2rem 1rem;color:#cbd5e1}
.woocommerce .wbp-shop-content .term-description p,
.woocommerce .wbp-shop-content .woocommerce-products-header__description p{margin:.4rem 0;color:#cbd5e1;line-height:1.75}

.woocommerce .wbp-shop-content .woocommerce-result-count{margin:.5rem 0 1.5rem;color:#94a3b8;font-size:.86rem}
.woocommerce .wbp-shop-content .woocommerce-ordering{margin:0 0 1.5rem}
.woocommerce .wbp-shop-content .woocommerce-ordering select{
  min-height:44px;border:1px solid rgba(255,255,255,.12);border-radius:999px;
  background:#111827;color:#fff;padding:.65rem 2.5rem .65rem 1rem;font-family:inherit;font-weight:750;
}

/* ---------- Product cards ---------- */
.woocommerce .wbp-shop-content ul.products{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;
  clear:both!important;margin:0!important;padding:0!important;list-style:none!important;
}
.woocommerce .wbp-shop-content ul.products::before,
.woocommerce .wbp-shop-content ul.products::after{display:none!important}
.woocommerce .wbp-shop-content ul.products li.product{
  position:relative!important;display:flex!important;float:none!important;flex-direction:column!important;
  width:auto!important;height:100%;margin:0!important;padding:0 0 1.25rem!important;
  overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:1.6rem;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
  box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.woocommerce .wbp-shop-content ul.products li.product:hover{transform:translateY(-4px);border-color:rgba(248,113,113,.28);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035))}
.woocommerce .wbp-shop-content ul.products li.product > a.woocommerce-LoopProduct-link{display:block;text-decoration:none!important}
.woocommerce .wbp-shop-content ul.products li.product a img{width:100%!important;aspect-ratio:4/3;object-fit:cover;margin:0 0 1.1rem!important;border-radius:0!important;background:#111827;transition:transform .35s ease,filter .35s ease}
.woocommerce .wbp-shop-content ul.products li.product:hover a img{filter:saturate(1.05) contrast(1.03)}
.woocommerce .wbp-shop-content ul.products li.product .woocommerce-loop-product__title{margin:0!important;padding:0 1.2rem!important;color:#fff!important;font-size:1.08rem!important;line-height:1.35!important;font-weight:900!important;letter-spacing:-.025em!important}
.woocommerce .wbp-shop-content ul.products li.product .price{display:block;margin:.65rem 1.2rem 0!important;color:#fca5a5!important;font-size:1rem!important;font-weight:900!important}
.woocommerce .wbp-shop-content ul.products li.product .price del{color:#64748b!important;opacity:1!important}
.woocommerce .wbp-shop-content ul.products li.product .price ins{color:#fca5a5!important;text-decoration:none!important}
.woocommerce .wbp-shop-content ul.products li.product .star-rating{margin:.65rem 1.2rem 0!important;color:#fbbf24}
.woocommerce .wbp-shop-content ul.products li.product .button,
.woocommerce .wbp-shop-content ul.products li.product .added_to_cart{
  align-self:flex-start;margin:auto 1.2rem 0!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:999px!important;
  background:#dc2626!important;color:#fff!important;padding:.78rem 1rem!important;font-family:inherit!important;font-size:.8rem!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;
  box-shadow:none!important;transition:background .18s ease,transform .18s ease!important;
}
.woocommerce .wbp-shop-content ul.products li.product .button{margin-top:1rem!important}
.woocommerce .wbp-shop-content ul.products li.product .button:hover,
.woocommerce .wbp-shop-content ul.products li.product .added_to_cart:hover{background:#ef4444!important;transform:translateY(-1px)}
.woocommerce .wbp-shop-content ul.products li.product .onsale{
  z-index:3;top:.8rem!important;right:.8rem!important;left:auto!important;min-width:0!important;min-height:0!important;
  margin:0!important;border:1px solid rgba(255,255,255,.2);border-radius:999px!important;background:#dc2626!important;
  padding:.45rem .65rem!important;color:#fff!important;font-size:.68rem!important;font-weight:950!important;line-height:1!important;
}

/* ---------- Single product ---------- */
.woocommerce .wbp-shop-content div.product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(18rem,.92fr);gap:3rem;align-items:start;margin-top:1rem}
.woocommerce .wbp-shop-content div.product div.images,
.woocommerce .wbp-shop-content div.product div.summary{float:none!important;width:auto!important;margin:0!important}
.woocommerce .wbp-shop-content div.product div.images .woocommerce-product-gallery__wrapper{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:1.8rem;background:rgba(255,255,255,.04);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.woocommerce .wbp-shop-content div.product div.images img{border-radius:0!important}
.woocommerce .wbp-shop-content .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:.65rem;margin:.75rem 0 0!important;padding:0!important}
.woocommerce .wbp-shop-content .flex-control-thumbs li{float:none!important;width:auto!important;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:.85rem}
.woocommerce .wbp-shop-content div.product .summary{border:1px solid rgba(255,255,255,.1);border-radius:1.8rem;background:rgba(255,255,255,.045);padding:2rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.woocommerce .wbp-shop-content div.product .product_title{margin:0!important;color:#fff;font-size:clamp(2.2rem,5vw,4.2rem)!important;line-height:.96!important;font-weight:950!important;letter-spacing:-.055em!important}
.woocommerce .wbp-shop-content div.product p.price,
.woocommerce .wbp-shop-content div.product span.price{margin:1.25rem 0!important;color:#fca5a5!important;font-size:1.45rem!important;font-weight:950!important}
.woocommerce .wbp-shop-content div.product .woocommerce-product-details__short-description{margin:1.25rem 0;color:#cbd5e1;font-size:1rem;line-height:1.75}
.woocommerce .wbp-shop-content div.product form.cart{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1.5rem 0!important}
.woocommerce .wbp-shop-content .quantity .qty{width:5rem!important;min-height:48px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#111827;color:#fff;padding:.5rem;text-align:center;font-family:inherit;font-weight:850}
.woocommerce .wbp-shop-content div.product .single_add_to_cart_button,
.woocommerce .wbp-shop-content .button.alt{
  min-height:48px;border:0!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;padding:.85rem 1.25rem!important;font-family:inherit!important;font-weight:950!important;box-shadow:none!important;
}
.woocommerce .wbp-shop-content div.product .single_add_to_cart_button:hover,
.woocommerce .wbp-shop-content .button.alt:hover{background:#ef4444!important}
.woocommerce .wbp-shop-content div.product .stock{color:#86efac!important;font-weight:850}
.woocommerce .wbp-shop-content div.product .out-of-stock{color:#fca5a5!important}
.woocommerce .wbp-shop-content div.product .product_meta{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.09);padding-top:1rem;color:#64748b;font-size:.82rem;line-height:1.8}
.woocommerce .wbp-shop-content div.product .product_meta a{color:#cbd5e1;text-decoration:none}

.woocommerce .wbp-shop-content div.product .woocommerce-tabs,
.woocommerce .wbp-shop-content .related,
.woocommerce .wbp-shop-content .upsells{grid-column:1/-1;clear:both!important;width:100%;margin-top:1rem}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem!important;padding:0!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li{margin:0!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important;padding:0!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li a{padding:.7rem 1rem!important;color:#cbd5e1!important;font-weight:850!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li.active{border-color:rgba(248,113,113,.35)!important;background:rgba(220,38,38,.15)!important}
.woocommerce .wbp-shop-content div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce .wbp-shop-content div.product .woocommerce-Tabs-panel{border:1px solid rgba(255,255,255,.09);border-radius:1.4rem;background:rgba(255,255,255,.035);padding:1.5rem;color:#cbd5e1;line-height:1.75}
.woocommerce .wbp-shop-content div.product .woocommerce-Tabs-panel h2,
.woocommerce .wbp-shop-content .related > h2,
.woocommerce .wbp-shop-content .upsells > h2{color:#fff!important;font-size:clamp(1.6rem,3vw,2.4rem)!important;font-weight:950!important;letter-spacing:-.04em!important}

/* ---------- Notices ---------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error{
  border:1px solid rgba(255,255,255,.11)!important;border-top:0!important;border-radius:1.15rem!important;background:#111827!important;color:#e5e7eb!important;padding:1rem 1.1rem 1rem 3rem!important;box-shadow:inset 3px 0 0 #dc2626!important;
}
.woocommerce .woocommerce-message::before{color:#86efac!important}
.woocommerce .woocommerce-info::before{color:#93c5fd!important}
.woocommerce .woocommerce-error::before{color:#fca5a5!important}
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-error a{color:#fff!important;font-weight:850}

/* ---------- Cart, checkout and My Account pages ---------- */
body.woocommerce-cart .prose-wbp,
body.woocommerce-checkout .prose-wbp,
body.woocommerce-account .prose-wbp{max-width:80rem!important}
body.woocommerce-cart .prose-wbp > h1,
body.woocommerce-checkout .prose-wbp > h1,
body.woocommerce-account .prose-wbp > h1{max-width:60rem}

.woocommerce table.shop_table{border:1px solid rgba(255,255,255,.1)!important;border-collapse:separate!important;border-spacing:0!important;border-radius:1.25rem!important;background:rgba(255,255,255,.035)!important;color:#e5e7eb!important;overflow:hidden}
.woocommerce table.shop_table th{color:#fff!important;font-weight:900!important}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:rgba(255,255,255,.08)!important;padding:1rem!important}
.woocommerce table.shop_table a{color:#fff!important}
.woocommerce table.shop_table img{width:72px!important;border-radius:.75rem!important}
.woocommerce .cart_totals,
.woocommerce .checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce-checkout #payment{
  border:1px solid rgba(255,255,255,.1)!important;border-radius:1.4rem!important;background:rgba(255,255,255,.045)!important;padding:1.25rem!important;color:#e5e7eb!important;
}
.woocommerce-checkout #payment div.payment_box{background:#111827!important;color:#cbd5e1!important}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#111827!important}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:0!important}
.woocommerce .woocommerce-MyAccount-navigation li{margin:.25rem 0!important;padding:0!important}
.woocommerce .woocommerce-MyAccount-navigation a{display:block;border-radius:.8rem;padding:.7rem .8rem;color:#cbd5e1!important;text-decoration:none!important}
.woocommerce .woocommerce-MyAccount-navigation .is-active a,
.woocommerce .woocommerce-MyAccount-navigation a:hover{background:rgba(220,38,38,.14);color:#fff!important}

.woocommerce form .form-row label{color:#e5e7eb!important;font-size:.85rem;font-weight:800}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single{
  min-height:46px;border:1px solid rgba(255,255,255,.13)!important;border-radius:.85rem!important;background:#111827!important;color:#fff!important;padding:.7rem .85rem!important;font-family:inherit!important;
}
.woocommerce form .form-row textarea{min-height:8rem}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important;line-height:1.5!important;padding:0!important}
.woocommerce .select2-dropdown{border-color:rgba(255,255,255,.12)!important;background:#111827!important;color:#fff!important}
.woocommerce .select2-results__option--highlighted[aria-selected]{background:#dc2626!important}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border:0!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;padding:.8rem 1.05rem!important;font-family:inherit!important;font-weight:900!important;text-decoration:none!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#ef4444!important;color:#fff!important}

/* WooCommerce Cart / Checkout blocks used by newer installs. */
.wc-block-cart,.wc-block-checkout{color:#e5e7eb}
.wc-block-cart a,.wc-block-checkout a{color:#fff}
.wc-block-components-sidebar,
.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-checkout__main .wc-block-components-checkout-step{
  border-color:rgba(255,255,255,.1)!important;
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{
  border-color:rgba(255,255,255,.13)!important;background:#111827!important;color:#fff!important;border-radius:.85rem!important;
}
.wc-block-components-button:not(.is-link){border-radius:999px!important;background:#dc2626!important;color:#fff!important;font-weight:900!important}
.wc-block-components-order-summary-item__image img{border-radius:.75rem!important}

/* ---------- Pagination / empty shop ---------- */
.woocommerce .wbp-shop-content nav.woocommerce-pagination{margin-top:2.5rem}
.woocommerce .wbp-shop-content nav.woocommerce-pagination ul{display:flex!important;justify-content:center;gap:.5rem;border:0!important;margin:0!important}
.woocommerce .wbp-shop-content nav.woocommerce-pagination ul li{border:0!important}
.woocommerce .wbp-shop-content nav.woocommerce-pagination ul li a,
.woocommerce .wbp-shop-content nav.woocommerce-pagination ul li span{display:grid!important;place-items:center!important;min-width:44px!important;height:44px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important;color:#fff!important;font-weight:850!important}
.woocommerce .wbp-shop-content nav.woocommerce-pagination ul li span.current{border-color:rgba(248,113,113,.4)!important;background:rgba(220,38,38,.2)!important}
.woocommerce .wbp-shop-content .woocommerce-no-products-found{clear:both}

@media(max-width:1023px){
  .woocommerce .wbp-shop-content ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce .wbp-shop-content div.product{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:639px){
  .wbp-shop-shell{padding:2.5rem 1rem 4.5rem}
  .wbp-shop-hero{align-items:flex-start;flex-direction:column;padding:1.5rem;border-radius:1.5rem}
  .wbp-shop-hero h1{font-size:clamp(2.55rem,15vw,4rem)!important}
  .wbp-shop-category-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}
  .wbp-shop-category-nav::-webkit-scrollbar{display:none}
  .wbp-shop-category-nav a{flex:0 0 auto}
  .woocommerce .wbp-shop-content ul.products{grid-template-columns:1fr}
  .woocommerce .wbp-shop-content div.product .summary{padding:1.35rem}
  .woocommerce .wbp-shop-content .flex-control-thumbs{grid-template-columns:repeat(4,1fr)}
  .wbp-shop-cart-label{display:none}
}

/* ---------- v7.7.1: WooCommerce Blocks checkout polish ----------
 * Newer WooCommerce installs use the Checkout block rather than the classic
 * shortcode. Its controls have their own component classes, so these rules
 * deliberately sit after the generic Woo rules above.
 */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wc-block-cart{
  color-scheme:dark;
  --wbp-wc-field:#111827;
  --wbp-wc-border:rgba(255,255,255,.14);
  --wbp-wc-muted:#94a3b8;
}

/* Stop the site's long-form prose rules adding article spacing inside Woo blocks. */
body.woocommerce-checkout .prose-wbp :where(.wc-block-checkout p),
body.woocommerce-cart .prose-wbp :where(.wc-block-cart p){
  margin:0!important;
  line-height:1.5!important;
}
body.woocommerce-checkout .prose-wbp :where(.wc-block-checkout h2,.wc-block-checkout h3,.wc-block-checkout h4),
body.woocommerce-cart .prose-wbp :where(.wc-block-cart h2,.wc-block-cart h3,.wc-block-cart h4){
  margin-top:0!important;
  letter-spacing:-.025em!important;
}

/* Text inputs, country/region combobox and native select fallbacks. */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select,
body.woocommerce-cart .wc-block-components-text-input input{
  min-height:48px!important;
  box-sizing:border-box!important;
  border:1px solid var(--wbp-wc-border)!important;
  border-radius:.85rem!important;
  background:var(--wbp-wc-field)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
  font-family:inherit!important;
}
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__container{
  border-radius:.85rem!important;
  background:var(--wbp-wc-field)!important;
  color:#fff!important;
}
body.woocommerce-checkout .wc-block-components-address-form select option,
body.woocommerce-checkout .wc-block-components-select select option{
  background:#111827!important;
  color:#fff!important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
body.woocommerce-checkout .wc-block-components-select label{
  color:var(--wbp-wc-muted)!important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus{
  border-color:rgba(248,113,113,.7)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.14)!important;
}
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input::placeholder,
body.woocommerce-checkout .wc-block-components-text-input input::placeholder{
  color:#64748b!important;
  opacity:1!important;
}

/* Browser autofill otherwise flashes bright white/yellow against the dark checkout. */
body.woocommerce-checkout input:-webkit-autofill,
body.woocommerce-checkout input:-webkit-autofill:hover,
body.woocommerce-checkout input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #111827 inset!important;
  box-shadow:0 0 0 1000px #111827 inset!important;
  caret-color:#fff!important;
}

/* Address/country suggestion menus. */
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control .components-autocomplete__results,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control ul[role="listbox"]{
  border:1px solid var(--wbp-wc-border)!important;
  border-radius:.85rem!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 18px 45px rgba(0,0,0,.45)!important;
}
body.woocommerce-checkout .wc-block-components-combobox [role="option"]{
  background:#111827!important;
  color:#e5e7eb!important;
}
body.woocommerce-checkout .wc-block-components-combobox [role="option"]:hover,
body.woocommerce-checkout .wc-block-components-combobox [role="option"][aria-selected="true"]{
  background:#7f1d1d!important;
  color:#fff!important;
}

/* Make block notices belong to the dark theme instead of Woo's pale pink/white card. */
body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-cart .wc-block-components-notice-banner{
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:1rem!important;
  background:#111827!important;
  color:#e5e7eb!important;
  box-shadow:none!important;
  padding:1rem!important;
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-error,
body.woocommerce-cart .wc-block-components-notice-banner.is-error{
  border-color:rgba(248,113,113,.42)!important;
  background:rgba(127,29,29,.24)!important;
  color:#fecaca!important;
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-success,
body.woocommerce-cart .wc-block-components-notice-banner.is-success{
  border-color:rgba(134,239,172,.32)!important;
  background:rgba(20,83,45,.22)!important;
  color:#bbf7d0!important;
}
body.woocommerce-checkout .wc-block-components-notice-banner__content,
body.woocommerce-cart .wc-block-components-notice-banner__content,
body.woocommerce-checkout .wc-block-components-notice-banner__content p,
body.woocommerce-cart .wc-block-components-notice-banner__content p{
  color:inherit!important;
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-error > svg,
body.woocommerce-cart .wc-block-components-notice-banner.is-error > svg{
  background:#dc2626!important;
  fill:#fff!important;
}

/* Order summary / checkout details: soften the default block chrome. */
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-checkout-step{
  border-color:rgba(255,255,255,.1)!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image{
  border-radius:.75rem!important;
  background:#111827!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  background:#111827!important;
  border-radius:.7rem!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value{
  color:#e5e7eb!important;
}
body.woocommerce-checkout .wc-block-components-product-name{color:#fff!important}
body.woocommerce-checkout .wc-block-components-product-metadata{color:#cbd5e1!important}

/* Accordion rows such as coupons. */
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-totals-coupon__button{
  color:#fff!important;
}

/* Checkboxes/radios and the final checkout button. */
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"]{accent-color:#dc2626}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  min-height:52px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-family:inherit!important;
  font-weight:900!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  background:#ef4444!important;
}

@media(max-width:639px){
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-cart .wc-block-cart{font-size:.96rem}
  body.woocommerce-checkout .wc-block-components-notice-banner,
  body.woocommerce-cart .wc-block-components-notice-banner{padding:.85rem!important}
}


/* ---------- v7.7.3: checkout summary + product reviews ----------
 * WooCommerce Blocks and the classic review form ship with light-theme
 * assumptions. These rules finish the WBP dark treatment and deliberately
 * stay scoped to WooCommerce pages.
 */

/* Give the checkout sidebar proper internal breathing room while preserving
 * the full-width divider lines between the summary sections. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:.45rem!important;
  background:rgba(3,7,18,.28)!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  padding:1.15rem 1rem .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  margin:0!important;
  padding:0!important;
  color:#e5e7eb!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  display:block!important;
  font-size:1.15rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content{
  padding-top:1rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  padding-left:1rem!important;
  padding-right:1rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item{
  padding-top:1rem!important;
  padding-bottom:1rem!important;
}

/* Checkout product thumbnail: the wrapper must not stretch into a dark
 * vertical bar. Keep it a fixed square and let the description take the row. */
body.woocommerce-checkout .wc-block-components-order-summary-item{
  align-items:start!important;
  column-gap:.9rem!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image{
  align-self:start!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:.8rem!important;
  background:transparent!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image > img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  display:block!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:.8rem!important;
  background:#f8fafc!important;
  object-fit:cover!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description{
  min-width:0!important;
  padding-left:0!important;
}

/* WBP red quantity badge on the checkout thumbnail. Woo documents this
 * selector specifically for theming the Order summary quantity badge. */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  z-index:3!important;
  background:#dc2626!important;
  border-color:#dc2626!important;
  box-shadow:0 0 0 2px #030712!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Product reviews: dark form controls, cleaner spacing and WBP buttons. */
.woocommerce .wbp-shop-content #reviews{
  color:#cbd5e1!important;
}
.woocommerce .wbp-shop-content #reviews #comments,
.woocommerce .wbp-shop-content #review_form_wrapper{
  width:100%!important;
}
.woocommerce .wbp-shop-content #reviews #comments h2,
.woocommerce .wbp-shop-content #review_form #respond .comment-reply-title{
  display:block!important;
  margin:0 0 1rem!important;
  color:#fff!important;
  font-size:clamp(1.45rem,2.5vw,2rem)!important;
  font-weight:950!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
.woocommerce .wbp-shop-content #review_form_wrapper{
  margin-top:1.5rem!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  padding-top:1.5rem!important;
}
.woocommerce .wbp-shop-content #review_form #respond{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#cbd5e1!important;
}
.woocommerce .wbp-shop-content #review_form #respond p{
  margin:0 0 1rem!important;
  color:#cbd5e1!important;
}
.woocommerce .wbp-shop-content #review_form #respond label{
  display:block!important;
  margin:0 0 .45rem!important;
  color:#e5e7eb!important;
  font-weight:800!important;
}
.woocommerce .wbp-shop-content #review_form #respond textarea,
.woocommerce .wbp-shop-content #review_form #respond input[type="text"],
.woocommerce .wbp-shop-content #review_form #respond input[type="email"]{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:.9rem!important;
  background:#111827!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  padding:.85rem 1rem!important;
  font:inherit!important;
  box-shadow:none!important;
  outline:0!important;
}
.woocommerce .wbp-shop-content #review_form #respond textarea{
  min-height:150px!important;
  resize:vertical!important;
}
.woocommerce .wbp-shop-content #review_form #respond textarea:focus,
.woocommerce .wbp-shop-content #review_form #respond input[type="text"]:focus,
.woocommerce .wbp-shop-content #review_form #respond input[type="email"]:focus{
  border-color:rgba(248,113,113,.7)!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.14)!important;
}
.woocommerce .wbp-shop-content #review_form #respond .comment-form-rating{
  margin-bottom:1.1rem!important;
}
.woocommerce .wbp-shop-content #review_form #respond p.stars{
  margin:.35rem 0 0!important;
  line-height:1!important;
}
.woocommerce .wbp-shop-content #review_form #respond p.stars a{
  color:#f87171!important;
  font-size:1.25rem!important;
}
.woocommerce .wbp-shop-content #review_form #respond p.stars a:hover,
.woocommerce .wbp-shop-content #review_form #respond p.stars a.active,
.woocommerce .wbp-shop-content #review_form #respond p.stars a:focus{
  color:#ef4444!important;
}
.woocommerce .wbp-shop-content #review_form #respond .form-submit{
  margin:1.1rem 0 0!important;
}
.woocommerce .wbp-shop-content #review_form #respond #submit{
  min-height:46px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  padding:.8rem 1.2rem!important;
  font-family:inherit!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.woocommerce .wbp-shop-content #review_form #respond #submit:hover,
.woocommerce .wbp-shop-content #review_form #respond #submit:focus{
  background:#ef4444!important;
  color:#fff!important;
}
.woocommerce .wbp-shop-content #reviews #comments ol.commentlist{
  margin:0!important;
  padding:0!important;
}
.woocommerce .wbp-shop-content #reviews #comments ol.commentlist li{
  margin:0 0 1rem!important;
}
.woocommerce .wbp-shop-content #reviews #comments ol.commentlist li .comment-text{
  margin:0 0 0 4.25rem!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:1rem!important;
  background:#111827!important;
  color:#cbd5e1!important;
  padding:1rem!important;
}
.woocommerce .wbp-shop-content #reviews #comments ol.commentlist li img.avatar{
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:999px!important;
  background:#111827!important;
  padding:2px!important;
}
.woocommerce .wbp-shop-content #reviews #comments .meta,
.woocommerce .wbp-shop-content #reviews #comments .description,
.woocommerce .wbp-shop-content #reviews #comments .description p{
  color:#cbd5e1!important;
}
.woocommerce .wbp-shop-content #reviews .star-rating{
  color:#f87171!important;
}

@media(max-width:639px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
    padding:1rem .85rem .25rem!important;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
    padding-left:.85rem!important;
    padding-right:.85rem!important;
  }
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image > img,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
  }
}


/* ---------- v7.7.4: checkout alignment + country field shell ----------
 * Woo Blocks places the Order Summary heading outside the padded summary
 * content and builds the Country/Region combobox from several nested layers.
 * Style the actual outer layers so neither can leak Woo's light defaults.
 */

/* Align the Order summary heading with the product row and total rows. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-order-summary__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:1.15rem 2rem 0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#e5e7eb!important;
  font-size:1.15rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}

/* Keep the summary's first row on the same left-hand grid as its heading. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  box-sizing:border-box!important;
  padding:1rem 2rem .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  box-sizing:border-box!important;
  padding-left:2rem!important;
  padding-right:2rem!important;
}

/* Country/Region is a nested React combobox. Remove the light background,
 * focus ring and border from every shell, then let one dark outer shell own
 * the visible border/radius. This prevents the white crescent/edge artefacts. */
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .components-base-control,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .components-base-control__field,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .components-combobox-control__suggestions-container{
  box-sizing:border-box!important;
  background:#111827!important;
  border:0!important;
  border-radius:.85rem!important;
  outline:0!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control{
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control::before,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control::after,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .components-base-control__field::before,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .components-base-control__field::after{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control input{
  min-height:48px!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:.85rem!important;
  outline:0!important;
  background:#111827!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control:focus-within{
  border-color:rgba(248,113,113,.7)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.14)!important;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control input:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

@media(max-width:639px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-order-summary__button,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button{
    padding:1rem 1.25rem 0!important;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
    padding:.9rem 1.25rem .25rem!important;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
    padding-left:1.25rem!important;
    padding-right:1.25rem!important;
  }
}
