/* WooCommerce + WordPress adaptations of the Boom Room USA Shopify theme */
.site-header nav a.active{border-color:var(--red)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.cart-count:empty{display:none}

/* Shared buttons: WooCommerce buttons take the site's look */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--red);color:#fff;border-radius:0;font-weight:700;font-size:14px;padding:14px 23px;border:1px solid transparent;transition:background .2s,transform .2s;line-height:1.3}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#b72129;color:#fff;transform:translateY(-2px)}
.woocommerce button.button:disabled,.woocommerce button.button.disabled,.woocommerce button.button:disabled[disabled],.woocommerce a.button.disabled{background:#9aa1ac;color:#fff;opacity:1;padding:14px 23px}
.woocommerce button.button[name="update_cart"],.woocommerce button.button[name="apply_coupon"]{background:#fff;color:var(--navy);border-color:#a4acb8}
.woocommerce button.button[name="update_cart"]:hover,.woocommerce button.button[name="apply_coupon"]:hover{background:#fff;color:var(--navy)}

/* Notices */
.woocommerce-notices-wrapper{width:min(1200px,90%);margin:0 auto}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--red);background:var(--paper);color:var(--ink);font-size:14px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)}
.woocommerce-message .button,.woocommerce-info .button{padding:9px 16px!important;font-size:13px!important}
.coupon-banner{color:#fff}

/* Product page */
.product-gallery{display:block}
.product-gallery .gallery-main{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}
.gallery-thumbs button{background:var(--paper);border:1px solid transparent;padding:6px;aspect-ratio:1/1}
.gallery-thumbs button.is-active,.gallery-thumbs button:hover{border-color:var(--navy)}
.gallery-thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.product-description ul{padding-left:20px}
.product-form form.cart{margin:0}
.product-form .variations{width:100%;border:0;margin:0}
.product-form .variations th,.product-form .variations td{display:block;padding:0;text-align:left;border:0;background:none}
.product-form .variations th label{margin:18px 0 7px}
.product-form .variations select{width:100%;border:1px solid var(--line);padding:13px;background:#fff;font-size:15px;color:var(--ink);border-radius:0;min-width:0}
.product-form .reset_variations{display:inline-block;margin-top:8px;font-size:12px;color:var(--muted);text-decoration:underline}
.product-form .woocommerce-variation-price{margin:14px 0 0;font-size:18px;font-weight:700}
.product-form .woocommerce-variation-price del{color:var(--muted);font-weight:400}
.product-form .woocommerce-variation-availability p.stock{font-size:13px;color:var(--muted);margin:6px 0 0}
.woocommerce div.product .product-form form.cart div.quantity,.product-form .quantity{float:none;margin:0;display:grid;grid-template-columns:44px 72px 44px;width:max-content;border:1px solid var(--line)}
.product-form .quantity input.qty{width:72px;border:0!important;text-align:center;background:#fff;padding:10px!important;-moz-appearance:textfield;font-size:15px}
.product-form .quantity input.qty::-webkit-inner-spin-button,.product-form .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.product-form .quantity button{border:0;background:#fff;padding:10px;font-size:16px}
.product-form .quantity .screen-reader-text+input{border:0}
.woocommerce div.product .product-form form.cart .button.single_add_to_cart_button,.product-form .single_add_to_cart_button{
  float:none;display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:18px;padding:14px 23px}
.product-form .single_add_to_cart_button::after{content:"→"}
.woocommerce div.product .product-form form.cart .woocommerce-variation-add-to-cart,.product-form .woocommerce-variation-add-to-cart{display:block}
.product-form p.stock.out-of-stock{color:var(--red);font-weight:700}
.product-form .wc-block-components-notice-banner{margin-top:12px}

/* Product cards (also used in related/upsell lists) */
.product-card a.added_to_cart{display:none}
.product-price del{color:var(--muted);font-weight:400}

/* Collection pages */
.collection .section-heading h1{margin:0}
.collection .woocommerce-result-count,.collection .woocommerce-ordering{display:none}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;justify-content:center;gap:8px;margin-top:45px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);padding:0}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff}

/* Cart (classic) */
.cart-page .woocommerce{font-size:15px}
.woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th{text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:12px;border-bottom:1px solid var(--line)}
.woocommerce table.shop_table td{padding:18px 12px;border-top:0;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce-cart table.cart img{width:90px;height:90px;object-fit:contain;background:var(--paper)}
.woocommerce-cart table.cart td.product-name a{font-weight:700}
.woocommerce a.remove{color:var(--red)!important}
.woocommerce a.remove:hover{background:var(--red);color:#fff!important}
.woocommerce .quantity input.qty{border:1px solid var(--line);padding:10px;width:72px;text-align:center}
.woocommerce-cart table.cart td.actions .coupon .input-text{border:1px solid var(--line);padding:12px;width:170px;margin-right:6px}
.cart-collaterals .cart_totals h2,.woocommerce-checkout h3{font-size:22px;letter-spacing:-.4px;margin-bottom:14px}
.cart_totals .order-total .amount{font-size:25px}
.wc-proceed-to-checkout a.checkout-button{display:flex!important;justify-content:space-between;align-items:center;font-size:16px!important}
.wc-proceed-to-checkout a.checkout-button::after{content:"→"}
.cart-note{color:var(--muted);font-size:13px}

/* Checkout (classic) */
.woocommerce form .form-row label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--ink)}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.select2-container .select2-selection--single{border:1px solid var(--line);border-radius:0;padding:12px;background:#fff;font-size:15px;height:auto}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:10px}
.woocommerce-checkout #payment{background:var(--paper);border-radius:0}
.woocommerce-checkout #payment div.payment_box{background:#fff}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce #payment #place_order{width:100%;font-size:16px;padding:16px 23px}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border-radius:0;border-color:var(--line)}

/* Contact form */
.contact-form{max-width:640px;margin-top:30px}
.contact-form label{display:block;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:18px 0 7px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);padding:13px;font:inherit}
.contact-form textarea{min-height:160px}
.contact-form .button{margin-top:20px}
.contact-form .hp{position:absolute;left:-9999px}
.form-status{padding:14px 18px;background:var(--paper);border-left:3px solid var(--red);margin:20px 0}

/* Basic pages */
.page-width .rte h2{font-size:24px;margin:30px 0 10px}
.page-width .rte a{text-decoration:underline}

@media(max-width:800px){
  .woocommerce table.shop_table_responsive tr td::before{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr)}
}

/* wc_price() wraps prices in spans; keep them at full price styling */
.product-price .woocommerce-Price-amount,.product-price .woocommerce-Price-amount *,.price .woocommerce-Price-amount,.price .woocommerce-Price-amount *{font-size:inherit;font-weight:inherit;color:inherit;margin:0;letter-spacing:inherit}
