/*
 * WBP WooCommerce layer — v7.7.5
 * 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;
  }
}

/* ---------- v7.7.5: empty Basket rebuild ----------
 * Woo's stock Empty Cart block is intentionally very opinionated: a huge sad
 * face, oversized centred headings and an unstyled product block. Rebuild the
 * presentation here so the empty state belongs to the WBP shop.
 */
body.woocommerce-cart .prose-wbp{
  max-width:80rem!important;
}
body.woocommerce-cart .prose-wbp > h1{
  margin-bottom:2.5rem!important;
  font-size:clamp(3rem,7vw,5rem)!important;
  line-height:.95!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  max-width:80rem!important;
  margin:0 auto!important;
  padding:0!important;
}

/* Empty state card. */
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  position:relative!important;
  box-sizing:border-box!important;
  max-width:48rem!important;
  margin:0 auto 4rem!important;
  padding:8.25rem 2rem 2.4rem!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:1.75rem!important;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;
  color:#fff!important;
  font-size:clamp(1.85rem,4vw,2.8rem)!important;
  font-weight:950!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  text-align:center!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

/* Replace Woo's enormous sad face with a compact WBP-red shopping bag mark. */
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{
  content:""!important;
  position:absolute!important;
  top:2rem!important;
  left:50%!important;
  display:block!important;
  width:76px!important;
  height:76px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  border:1px solid rgba(248,113,113,.4)!important;
  border-radius:50%!important;
  -webkit-mask:none!important;
  mask:none!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
  overflow:visible!important;
  background-color:rgba(220,38,38,.16)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 13H5L6 8Z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:36px 36px!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::after{
  content:none!important;
  display:none!important;
}

/* The recommendation heading should lead into a product grid, not float in
 * the middle of the page like a second hero heading. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title){
  max-width:none!important;
  margin:0 0 1.4rem!important;
  color:#fff!important;
  font-size:clamp(1.7rem,3vw,2.35rem)!important;
  font-weight:950!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
}

/* Older Woo Product Grid markup used by the default "New in store" block. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.35rem!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 1.15rem!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:1.5rem!important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  text-align:left!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(248,113,113,.28)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image{
  width:100%!important;
  margin:0 0 1rem!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#111827!important;
  object-fit:cover!important;
  box-shadow:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link{
  color:#fff!important;
  text-decoration:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title{
  margin:0!important;
  padding:0 1.1rem!important;
  color:#fff!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-rating{
  margin:.6rem 1.1rem 0!important;
  color:#fca5a5!important;
  font-weight:900!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart{
  margin:auto 1.1rem 0!important;
  padding-top:1rem!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  padding:.72rem 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;
}

/* Current Product Collection block markup: style it to match the archive
 * cards too, so the empty state survives WooCommerce block updates. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wp-block-post-template{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.35rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.wp-block-post{
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:1.5rem!important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;
  padding-bottom:1.1rem!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image{
  margin:0 0 1rem!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  box-shadow:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-rating{
  margin-left:1.1rem!important;
  margin-right:1.1rem!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-post-title a{
  color:#fff!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  line-height:1.35!important;
  text-decoration:none!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-price{
  color:#fca5a5!important;
  font-weight:900!important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-button .wp-block-button__link{
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  padding:.72rem 1rem!important;
  font-size:.8rem!important;
  font-weight:900!important;
  text-decoration:none!important;
}

@media(max-width:900px){
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wp-block-post-template{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:639px){
  body.woocommerce-cart .prose-wbp > h1{
    margin-bottom:1.75rem!important;
    font-size:clamp(2.8rem,15vw,4rem)!important;
  }
  body.woocommerce-cart .wc-block-cart__empty-cart__title{
    margin-bottom:2.75rem!important;
    padding:7.2rem 1.2rem 1.75rem!important;
    border-radius:1.4rem!important;
    font-size:1.8rem!important;
  }
  body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{
    top:1.6rem!important;
    width:68px!important;
    height:68px!important;
    background-size:32px 32px!important;
  }
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wp-block-post-template{
    grid-template-columns:1fr!important;
  }
}

/* v7.7.7: calmer storefront typography */
.wbp-shop-hero h1{font-size:clamp(2.35rem,5.5vw,4.5rem)!important}
.wbp-shop-lead{font-size:1rem!important;line-height:1.65!important}
.woocommerce .wbp-shop-content div.product .product_title{font-size:clamp(2rem,4vw,3.35rem)!important}
.woocommerce .wbp-shop-content div.product span.price{font-size:1.25rem!important}
.woocommerce .wbp-shop-content .related.products>h2,
.woocommerce .wbp-shop-content .upsells>h2{font-size:clamp(1.45rem,2.5vw,2rem)!important}
.woocommerce .wbp-shop-content ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important}
@media(max-width:640px){
  .wbp-shop-hero h1{font-size:clamp(2.15rem,11vw,3rem)!important}
  .woocommerce .wbp-shop-content div.product .product_title{font-size:clamp(1.9rem,9vw,2.65rem)!important}
}


/* ---------- v7.7.8: shop card and checkout polish ---------- */
.woocommerce .wbp-shop-content ul.products li.product{padding:0 0 1rem!important;border-radius:1.45rem!important}
.woocommerce .wbp-shop-content ul.products li.product > a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;height:100%}
.woocommerce .wbp-shop-content ul.products li.product a img{aspect-ratio:1/1;margin:0 0 .95rem!important;background:#0f172a}
.woocommerce .wbp-shop-content ul.products li.product .woocommerce-loop-product__title{padding:0 1rem!important;font-size:1rem!important}
.woocommerce .wbp-shop-content ul.products li.product .price{margin:.55rem 1rem 0!important;font-size:.96rem!important}
.woocommerce .wbp-shop-content ul.products li.product .button,
.woocommerce .wbp-shop-content ul.products li.product .added_to_cart{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;margin-left:1rem!important;margin-right:1rem!important;padding:.75rem .95rem!important;font-size:.8rem!important}
.woocommerce .wbp-shop-content ul.products li.product .button{margin-top:1rem!important}
.woocommerce .wbp-shop-content ul.products li.product .added_to_cart{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important}
.woocommerce .wbp-shop-content ul.products li.product .added_to_cart:hover{background:rgba(255,255,255,.10)!important}

body.woocommerce-checkout .wc-block-checkout__express-payment-fieldset,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  border-radius:1.2rem!important;
}
body.woocommerce-checkout .wc-block-checkout__express-payment-fieldset{
  border:1px solid rgba(255,255,255,.1)!important;
  background:rgba(255,255,255,.025)!important;
  padding:1.1rem 1.15rem 1.2rem!important;
}
body.woocommerce-checkout .wc-block-checkout__express-payment__title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-title .wc-block-components-title__text{
  color:#fff!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
}
body.woocommerce-checkout .wc-block-checkout__express-payment__title{font-size:clamp(1.7rem,3vw,2.4rem)!important}
body.woocommerce-checkout .wc-block-components-order-summary-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  grid-template-areas:'image description price' 'image meta price'!important;
  align-items:start!important;
  column-gap:.9rem!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image{grid-area:image!important;position:relative!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__description{grid-area:description!important;min-width:0!important;padding:0!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{grid-area:meta!important;min-width:0!important;margin:.35rem 0 0!important;padding:0!important;color:#cbd5e1!important;font-size:.92rem!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price{grid-area:price!important;align-self:start!important;justify-self:end!important;white-space:nowrap!important;margin:0!important;padding:0!important;color:#fff!important;font-size:1rem!important;font-weight:900!important}
body.woocommerce-checkout .wc-block-components-product-name{display:block!important;max-width:none!important;color:#fff!important;font-size:1rem!important;line-height:1.18!important;font-weight:850!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata__description{color:#cbd5e1!important;font-size:.84rem!important;line-height:1.45!important}
body.woocommerce-checkout .wc-block-components-product-metadata p{margin:.15rem 0 0!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity{top:-6px!important;right:-6px!important}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .components-form-token-field__input,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-payment-method-icons,
body.woocommerce-checkout .wc-block-components-payment-method-label{
  color:#fff!important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-address-card{
  border-color:rgba(255,255,255,.12)!important;
  border-radius:1rem!important;
  background:rgba(255,255,255,.025)!important;
}
body.woocommerce-checkout .wc-block-components-order-summary{padding:1.15rem 1rem .35rem!important}
body.woocommerce-checkout .wc-block-components-order-summary__content,
body.woocommerce-checkout .wc-block-components-totals-wrapper{padding-left:1rem!important;padding-right:1rem!important}
body.woocommerce-checkout .wc-block-checkout__actions_row{padding-top:1.1rem!important}
@media(max-width:782px){
  .woocommerce .wbp-shop-content ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .woocommerce .wbp-shop-content ul.products{grid-template-columns:1fr!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item{grid-template-columns:56px minmax(0,1fr) auto!important;column-gap:.75rem!important}
  body.woocommerce-checkout .wc-block-components-product-name{font-size:.95rem!important}
}


/* ---------- v7.7.9: checkout summary and payment card tidy ---------- */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  border-radius:1.3rem!important;
  overflow:hidden!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{
  padding:1.25rem 1.5rem .15rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  box-sizing:border-box!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  padding:.8rem 1.5rem .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  padding-left:1.5rem!important;
  padding-right:1.5rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{
  width:100%!important;
  padding:.2rem 0 .95rem!important;
  grid-template-columns:64px minmax(0,1fr) max-content!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices{
  width:100%!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  font-size:1.2rem!important;
  font-weight:900!important;
}
body.woocommerce-checkout .wc-block-components-payment-method,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-payment-method .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-payment-method .wc-block-components-radio-control-accordion-content{
  border-radius:1rem!important;
}
body.woocommerce-checkout .wc-block-components-payment-method,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.025)!important;
}
body.woocommerce-checkout .wc-block-components-payment-method .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-payment-method .wc-block-components-radio-control-accordion-content{
  border:0!important;
  background:transparent!important;
}


/* ---------- v7.8.0: tighter order summary heading/content alignment ---------- */
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:1.4rem 1.75rem .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  font-size:1.35rem!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  padding:.5rem 1.75rem .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  padding-left:1.75rem!important;
  padding-right:1.75rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{
  width:100%!important;
  margin:0!important;
  padding:.1rem 0 1rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price{
  align-self:start!important;
}


/* ---------- v7.8.1: make the checkout product row genuinely full-width ----------
 * Woo Blocks applies layout rules deeper inside the summary than the wrapper.
 * Reset the content inset and make each product row own the exact same inset as
 * the card heading. This stops the product details sitting in a narrow centred
 * column and prevents words such as "Calendar" being split mid-word.
 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  padding:.35rem 0 .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{
  box-sizing:border-box!important;
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:.9rem 1.75rem 1.15rem!important;
  grid-template-columns:64px minmax(0,1fr) max-content!important;
  grid-template-areas:
    "image description price"
    "image meta price"!important;
  column-gap:.9rem!important;
  row-gap:.2rem!important;
  align-items:start!important;
  justify-items:stretch!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image{
  grid-area:image!important;
  justify-self:start!important;
  margin:0!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description{
  grid-area:description!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  justify-self:stretch!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:1rem!important;
  line-height:1.22!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices{
  grid-area:meta!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:.35rem 0 0!important;
  padding:0!important;
  justify-self:stretch!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price{
  grid-area:price!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  justify-self:end!important;
  align-self:start!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media(max-width:480px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{
    padding:.8rem 1.25rem 1rem!important;
    grid-template-columns:56px minmax(0,1fr) max-content!important;
    column-gap:.75rem!important;
  }
}


/* ---------- v7.8.2: match the intended compact order-summary card ----------
 * Heading gets a real inset of its own. Product row stays full width, with a
 * compact one-line title, details below it and the line total pinned right.
 */
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.35rem 0 .3rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:0 1.5rem!important;
  font-size:1.2rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{
  width:100%!important;
  margin:0!important;
  padding:.45rem 0 .35rem!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{
  box-sizing:border-box!important;
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:1rem 1.5rem 1.15rem!important;
  grid-template-columns:64px minmax(0,1fr) max-content!important;
  grid-template-areas:
    "image description price"
    "image meta price"!important;
  column-gap:.75rem!important;
  row-gap:.2rem!important;
  align-items:start!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image{
  grid-area:image!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  margin:0!important;
  justify-self:start!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description{
  grid-area:description!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:.9rem!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices{
  grid-area:meta!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:.5rem 0 0!important;
  padding:0!important;
  color:#e5e7eb!important;
  font-size:.83rem!important;
  line-height:1.45!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price{
  grid-area:price!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  justify-self:end!important;
  align-self:start!important;
  color:#fff!important;
  font-size:.9rem!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p{
  margin:.35rem 0 0!important;
  color:#cbd5e1!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{
  padding-left:1.5rem!important;
  padding-right:1.5rem!important;
}
@media(max-width:480px){
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__button-text{padding:0 1.1rem!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item{padding:.85rem 1.1rem 1rem!important;grid-template-columns:56px minmax(0,1fr) max-content!important;column-gap:.65rem!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image{width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name{font-size:.84rem!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price{font-size:.84rem!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{padding-left:1.1rem!important;padding-right:1.1rem!important}
}


/* ---------- v7.8.3: exact Woo checkout order-summary title padding ---------- */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  padding-left:1.75rem!important;
  padding-right:1.75rem!important;
}


/* ---------- v7.8.6: single-product mobile containment ----------
 * Woo's product columns use content-box sizing in places. Once our summary
 * padding is added, that can make the mobile card wider than the viewport.
 * Make every layer participate in the available width instead of overflowing.
 */
@media(max-width:767px){
  body.single-product,
  body.single-product .site,
  body.single-product .wbp-shop-shell,
  body.single-product .wbp-shop-content{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.single-product .wbp-shop-shell{
    box-sizing:border-box!important;
    width:100%!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  .woocommerce .wbp-shop-content div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:1rem!important;
    margin:0!important;
  }
  .woocommerce .wbp-shop-content div.product div.images,
  .woocommerce .wbp-shop-content div.product div.summary{
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  /* The gallery's outer box must fit the viewport. Do NOT force a width
     on the FlexSlider track (__wrapper), slide (__image), or its anchor:
     WooCommerce sets their widths inline to move between product photos. */
  .woocommerce .wbp-shop-content div.product div.images .woocommerce-product-gallery,
  .woocommerce .wbp-shop-content div.product div.images .flex-viewport{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .woocommerce .wbp-shop-content div.product div.images .flex-viewport{
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.1);
    border-radius:1.35rem;
    background:rgba(255,255,255,.04);
  }
  .woocommerce .wbp-shop-content div.product div.images .woocommerce-product-gallery__wrapper{
    /* Preserve FlexSlider's calculated inline track width and transform. */
    max-width:none!important;
    overflow:visible;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .woocommerce .wbp-shop-content div.product div.images img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  .woocommerce .wbp-shop-content div.product .summary{
    padding:1.25rem!important;
    border-radius:1.35rem!important;
  }
  .woocommerce .wbp-shop-content div.product .product_title{
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(1.9rem,9.5vw,2.55rem)!important;
    line-height:1.02!important;
    overflow-wrap:anywhere!important;
  }
  .woocommerce .wbp-shop-content div.product p.price,
  .woocommerce .wbp-shop-content div.product span.price{
    font-size:1.15rem!important;
  }
  .woocommerce .wbp-shop-content div.product .woocommerce-product-details__short-description,
  .woocommerce .wbp-shop-content div.product .woocommerce-product-details__short-description *{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .woocommerce .wbp-shop-content div.product form.cart{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:.65rem!important;
  }
  .woocommerce .wbp-shop-content div.product form.cart .quantity{
    margin:0!important;
  }
  .woocommerce .wbp-shop-content div.product .single_add_to_cart_button{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
  .woocommerce .wbp-shop-content div.product .woocommerce-tabs,
  .woocommerce .wbp-shop-content .related,
  .woocommerce .wbp-shop-content .upsells,
  .woocommerce .wbp-shop-content div.product .woocommerce-Tabs-panel{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .wbp-preorder-notice{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
  }
}
@media(max-width:420px){
  .woocommerce .wbp-shop-content div.product form.cart{
    grid-template-columns:1fr!important;
  }
  .woocommerce .wbp-shop-content .quantity .qty{
    width:100%!important;
  }
}


/* ---------- v7.9.0: safe account-create cosmetics only ----------
 * Do not alter Woo's checkout grid/flex sizing here. */
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox{
  margin-top:1rem!important;
  padding:.9rem 1rem!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:1rem!important;
  background:rgba(255,255,255,.025)!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__label{
  color:#fff!important;
  font-weight:700!important;
  line-height:1.45!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__input{
  accent-color:#dc2626!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout__contact-fields p{
  color:#cbd5e1!important;
}
@media(max-width:640px){
  body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox{
    padding:.8rem .85rem!important;
    border-radius:.9rem!important;
  }
}


/* ---------- v7.9.1: center checkout and tidy account signup box ---------- */
body.woocommerce-checkout .prose-wbp > .wp-block-woocommerce-checkout,
body.woocommerce-checkout .prose-wbp > .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout{
  max-width:68rem!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout{
  max-width:68rem!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-checkout__create-account{
  display:flex!important;
  align-items:center!important;
  gap:.85rem!important;
  margin-top:1rem!important;
  padding:1rem 1.05rem!important;
  min-height:4.5rem!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:1rem!important;
  background:rgba(255,255,255,.025)!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-checkout__create-account label{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:.96rem!important;
  font-weight:700!important;
  line-height:1.4!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__input,
body.woocommerce-checkout .wc-block-checkout__contact-fields input[type="checkbox"]{
  flex:0 0 auto!important;
  width:1.15rem!important;
  height:1.15rem!important;
  margin:0!important;
  accent-color:#dc2626!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout__contact-fields p{
  color:#cbd5e1!important;
}
@media(max-width:900px){
  body.woocommerce-checkout .prose-wbp > .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .prose-wbp > .wc-block-checkout,
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout{
    max-width:100%!important;
  }
}
@media(max-width:640px){
  body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox,
  body.woocommerce-checkout .wc-block-checkout__create-account{
    align-items:flex-start!important;
    gap:.75rem!important;
    padding:.85rem .9rem!important;
    min-height:0!important;
  }
  body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox label,
  body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__label,
  body.woocommerce-checkout .wc-block-checkout__create-account label{
    font-size:.92rem!important;
  }
}


/* ---------- v7.9.2: actual checkout centring + proper account checkbox ----------
 * The Checkout block carries alignwide, and the theme's generic .alignwide
 * rule uses margin-left:50% + translateX(-50%). Undo that ONLY here. */
body.woocommerce-checkout .prose-wbp .wp-block-woocommerce-checkout.alignwide,
body.woocommerce-checkout .prose-wbp .wc-block-checkout.alignwide,
body.woocommerce-checkout .prose-wbp .wp-block-woocommerce-checkout,
body.woocommerce-checkout .prose-wbp .wc-block-checkout{
  box-sizing:border-box!important;
  width:min(100%,72rem)!important;
  max-width:72rem!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
}

/* Keep the page title on the same centred measure as checkout. */
body.woocommerce-checkout .prose-wbp > h1{
  width:min(100%,72rem)!important;
  max-width:72rem!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Account creation card. */
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox{
  display:flex!important;
  align-items:center!important;
  gap:.8rem!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:0!important;
  margin:1rem 0 0!important;
  padding:.9rem 1rem!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:1rem!important;
  background:rgba(255,255,255,.025)!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__label{
  flex:1 1 auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:.95rem!important;
  font-weight:750!important;
  line-height:1.4!important;
}

/* Fully own the checkbox rendering so the OS/browser cannot give us a
 * giant dark control with a black tick. */
body.woocommerce-checkout .wc-block-checkout__contact-fields input[type="checkbox"].wc-block-components-checkbox__input{
  -webkit-appearance:none!important;
  appearance:none!important;
  flex:0 0 20px!important;
  box-sizing:border-box!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:6px!important;
  background:#111827!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:13px 13px!important;
  box-shadow:none!important;
  outline:none!important;
  cursor:pointer!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields input[type="checkbox"].wc-block-components-checkbox__input:hover{
  border-color:rgba(248,113,113,.8)!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields input[type="checkbox"].wc-block-components-checkbox__input:focus-visible{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.22)!important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields input[type="checkbox"].wc-block-components-checkbox__input:checked{
  border-color:#dc2626!important;
  background-color:#dc2626!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.3 8.2 14 15.8 6.4' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
/* Hide Woo's own overlaid mark: our checked background includes the tick. */
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox__mark{
  display:none!important;
}

@media(max-width:760px){
  body.woocommerce-checkout .prose-wbp .wp-block-woocommerce-checkout.alignwide,
  body.woocommerce-checkout .prose-wbp .wc-block-checkout.alignwide,
  body.woocommerce-checkout .prose-wbp .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .prose-wbp .wc-block-checkout,
  body.woocommerce-checkout .prose-wbp > h1{
    width:100%!important;
    max-width:100%!important;
  }
  body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox{
    align-items:flex-start!important;
    gap:.7rem!important;
    padding:.85rem .9rem!important;
  }
}
