/*
Theme Name: NYS Outfits
Theme URI: https://nysoutfits.com
Author: NYS Outfits
Description: Custom WooCommerce storefront theme for NYS Outfits (New York Style) — leather jackets, coats and outfits for men and women.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nysoutfits
WC tested up to: 11.1
*/

/* ============ Tokens ============ */
:root {
	/* NYS brand: orange #d86917 + charcoal #282828 (from the logo). --mw-red keeps its name as the accent token. */
	--mw-red: #d86917;
	--mw-red-dark: #b4530c;
	--mw-nav: #282828;
	--mw-black: #1c1c1c;
	--mw-footer: #232628;
	--mw-footer-bottom: #232628;
	--mw-yellow: #f5a300;
	--mw-promo: #fff;
	--mw-hot: #ffe600;
	--mw-text: #333;
	--mw-muted: #777;
	--mw-border: #e7e7e7;
	--mw-light: #f5f5f5;
	--mw-white: #fff;
	--mw-radius: 4px;
	--mw-shadow: 0 1px 3px -2px rgba(0,0,0,.12), 0 1px 4px rgba(0,0,0,.12);
	--mw-shadow-hover: 0 3px 6px -4px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
	--mw-container: 1366px;
	--mw-font: 'Poppins', -apple-system, 'Segoe UI', Arial, sans-serif;
	--mw-font-head: 'Montserrat', 'Poppins', -apple-system, 'Segoe UI', Arial, sans-serif;
}

/* ============ Base ============ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--mw-font); font-size: 15px; line-height: 1.6; color: var(--mw-text); background: var(--mw-white); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--mw-black); text-decoration: none; transition: color .2s; }
a:hover { color: var(--mw-red); }
h1, h2, h3, h4, h5, h6 { font-family: var(--mw-font-head); color: var(--mw-black); line-height: 1.25; margin: 0 0 .6em; font-weight: 800; }
h1 { font-size: 30px; } h2 { font-size: 26px; } h3 { font-size: 20px; } h4 { font-size: 17px; }
p { margin: 0 0 1em; }
ul { margin: 0 0 1em; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100000; background: #fff; padding: 10px 16px; clip: auto; width: auto; height: auto; }
.mw-container { max-width: var(--mw-container); margin: 0 auto; padding: 0 clamp(16px, 2.2vw, 30px); }
.mw-icon { width: 22px; height: 22px; display: inline-block; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ============ Buttons ============ */
.mw-btn, .button, button.button, a.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wp-element-button {
	display: inline-block; background: var(--mw-black); color: #fff; border: 0; border-radius: var(--mw-radius);
	padding: 11px 26px; font-size: 14px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
	cursor: pointer; transition: background .2s, color .2s; line-height: 1.4; text-align: center;
}
.mw-btn:hover, .button:hover, a.button:hover, button.button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--mw-red); color: #fff; }
.mw-btn--red, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .single_add_to_cart_button, .woocommerce #place_order, .woocommerce a.checkout-button { background: var(--mw-red-dark) !important; color: #fff !important; }
.mw-btn--red:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover, .woocommerce a.checkout-button:hover { background: var(--mw-black) !important; }
.mw-btn--outline { background: transparent; color: var(--mw-black); box-shadow: inset 0 0 0 2px var(--mw-black); }
.mw-btn--outline:hover { background: var(--mw-black); color: #fff; }
.mw-btn--white { background: #fff; color: var(--mw-black); }
.mw-btn--white:hover { background: var(--mw-red); color: #fff; }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], input[type="url"], select, textarea {
	width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: var(--mw-radius); background: #fff; color: var(--mw-text); box-shadow: inset 0 1px 2px rgba(0,0,0,.06);
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--mw-nav); }

/* ============ Top bar ============ */
.mw-topbar { background: var(--mw-red); color: var(--mw-black); font-size: 13.5px; font-weight: 500; padding: 7px 0; text-align: center; letter-spacing: .01em; }
.mw-topbar strong { color: var(--mw-black); font-weight: 700; text-transform: uppercase; }
.mw-topbar .mw-container { overflow: hidden; }
.mw-topbar__track { display: inline-block; white-space: nowrap; }

/* ============ Header main ============ */
.mw-header { position: relative; z-index: 50; background: #fff; }
.mw-header__main { height: 76px; }
.mw-header__main .mw-container { display: flex; align-items: center; gap: 28px; height: 100%; }
.mw-logo { flex: 0 0 auto; }
.mw-logo img { max-height: 58px; width: auto; }
.mw-logo__text { display: flex; flex-direction: column; line-height: 1; color: var(--mw-black); }
.mw-logo__text b { font-size: 28px; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; }
.mw-logo__text b span { color: var(--mw-red); }
.mw-logo__text small { font-size: 10.5px; letter-spacing: .32em; text-transform: uppercase; color: var(--mw-muted); margin-top: 5px; }
.mw-search { flex: 1 1 auto; max-width: 520px; margin: 0 auto; }
.mw-search form { display: flex; border: 1px solid #cfcfcf; border-radius: 24px; overflow: hidden; background: #fff; transition: border-color .2s, box-shadow .2s; }
.mw-search form:focus-within { border-color: var(--mw-red); box-shadow: 0 0 0 3px rgba(216,105,23,.15); }
.mw-search input[type="search"] { border: 0; box-shadow: none; border-radius: 0; padding: 10px 18px; font-size: 14px; background: transparent; }
.mw-search input[type="search"]::placeholder { font-style: italic; color: #999; }
.mw-search button { background: transparent; color: var(--mw-red); border: 0; border-left: 1px solid #cfcfcf; padding: 0 18px; cursor: pointer; transition: background .2s, color .2s; }
.mw-search button:hover { background: var(--mw-red); color: #fff; }
/* Free shipping badge */
.mw-ship-badge { display: flex; align-items: center; gap: 10px; flex: none; line-height: 1.1; }
.mw-ship-badge .mw-icon { width: 40px; height: 40px; color: var(--mw-black); stroke-width: 1.4; }
.mw-ship-badge b { display: block; font-family: var(--mw-font-head); font-size: 19px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mw-black); }
.mw-ship-badge small { display: block; margin-top: 3px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--mw-red-dark); font-weight: 600; }
.mw-header__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.mw-header__actions a { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--mw-black); }
.mw-header__actions a:hover { color: var(--mw-red); }
.mw-cart-link { position: relative; }
.mw-cart-count { position: absolute; top: -7px; left: 13px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--mw-red); color: #fff; font-size: 11px; line-height: 18px; text-align: center; font-weight: 700; }
.mw-cart-total { font-size: 13px; }
.mw-burger { display: none; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--mw-black); }

/* Currency switcher */
.mw-currency { position: relative; }
.mw-currency__btn { display: flex; align-items: center; gap: 6px; background: none; border: 1px solid #ddd; border-radius: var(--mw-radius); padding: 7px 10px; font: inherit; font-size: 13px; font-weight: 700; color: var(--mw-black); cursor: pointer; white-space: nowrap; }
.mw-currency__btn::after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); margin-left: 2px; }
.mw-currency__btn:hover, .mw-currency.is-open .mw-currency__btn { border-color: var(--mw-red); color: var(--mw-red); }
.mw-currency__btn .mw-icon { width: 17px; height: 17px; }
.mw-flag { display: block; flex: none; width: 24px; height: 16px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); }
.mw-currency__list a { align-items: center; }
.mw-currency__list { display: none; position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 130px; margin: 0; padding: 6px 0; list-style: none; background: #fff; border: 1px solid #e5e5e5; border-radius: var(--mw-radius); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.mw-currency.is-open .mw-currency__list { display: block; }
.mw-header__actions .mw-currency__list a, .mw-currency__list a { display: flex; gap: 10px; padding: 8px 14px; font-size: 13px; font-weight: 700; text-transform: none; color: var(--mw-black); }
.mw-currency__list a b { min-width: 22px; color: var(--mw-muted); }
.mw-currency__list a:hover, .mw-currency__list a[aria-current] { background: #f5f5f5; color: var(--mw-red); }
.mw-currency--drawer { padding: 14px 16px; }
.mw-currency--drawer .mw-currency__btn { width: 100%; justify-content: flex-start; }
.mw-currency--drawer .mw-currency__btn::after { margin-left: auto; }
.mw-currency--drawer .mw-currency__list { position: static; box-shadow: none; margin-top: 6px; }

/* Live search suggestions */
.mw-search--live { position: relative; }
.mw-search form.is-loading button { opacity: .6; }
.mw-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 70; max-height: 70vh; overflow-y: auto; background: #fff; border: 1px solid #e5e5e5; border-radius: var(--mw-radius); box-shadow: 0 12px 34px rgba(0,0,0,.15); text-align: left; }
.mw-suggest[hidden] { display: none; }
.mw-suggest__head { padding: 10px 14px 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mw-muted); }
.mw-suggest a { display: flex; align-items: center; gap: 12px; padding: 8px 14px; color: var(--mw-black); font-size: 14px; }
.mw-suggest a:hover, .mw-suggest a.is-active { background: #f5f5f5; }
.mw-suggest__cat small { color: var(--mw-muted); }
.mw-suggest__item img { width: 48px; height: 48px; object-fit: cover; border-radius: 3px; flex: none; background: #f2f2f2; }
.mw-suggest__item > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mw-suggest__item b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mw-suggest__item .price { font-size: 13px; color: var(--mw-red); font-weight: 700; }
.mw-suggest__item .price del { color: var(--mw-muted); font-weight: 400; margin-right: 4px; }
.mw-suggest__item .price ins { text-decoration: none; }
.mw-suggest a.mw-suggest__all { justify-content: center; border-top: 1px solid #eee; font-weight: 700; font-size: 13px; text-transform: uppercase; color: var(--mw-red); padding: 12px 14px; }
.mw-suggest__empty { padding: 14px; font-size: 14px; color: var(--mw-muted); }

/* ============ Nav bar ============ */
.mw-nav { background: var(--mw-nav); }
.mw-nav > .mw-container { display: flex; justify-content: center; }
.mw-menu, .mw-menu ul { list-style: none; margin: 0; padding: 0; }
.mw-menu { display: flex; flex-wrap: wrap; justify-content: center; }
.mw-menu > li { position: relative; }

/* Halloween menu item: wobbling jack-o'-lantern with flickering face, glowing text, a bat flying over */
.mw-halloween > a { position: relative; }
.mw-mobile-menu .mw-halloween > a { display: flex; align-items: center; gap: 6px; }
.mw-pumpkin { flex: none; transform-origin: 50% 90%; animation: mwPumpkin 2.6s ease-in-out infinite; }
.mw-pumpkin__face { animation: mwFlicker 2.2s steps(1, end) infinite; }
.mw-halloween__text { color: #ffb347; animation: mwGlow 2.6s ease-in-out infinite; }
.mw-mobile-menu .mw-halloween__text { color: #e8690b; }
.mw-bat { position: absolute; top: 1px; right: 4px; color: #ffb347; pointer-events: none; animation: mwBatFly 5s ease-in-out infinite; }
.mw-mobile-menu .mw-bat { position: static; color: #333; animation: none; }
.mw-bat__wings { transform-origin: 50% 40%; animation: mwBatFlap .22s ease-in-out infinite alternate; }
@keyframes mwPumpkin { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-10deg); } 40% { transform: rotate(8deg); } 55% { transform: rotate(-4deg); } 70% { transform: rotate(0); } }
@keyframes mwFlicker { 0%, 100% { opacity: 1; } 12% { opacity: .45; } 16% { opacity: 1; } 48% { opacity: .7; } 52% { opacity: 1; } 80% { opacity: .5; } 84% { opacity: 1; } }
@keyframes mwGlow { 0%, 100% { text-shadow: 0 0 0 rgba(255,140,0,0); } 50% { text-shadow: 0 0 8px rgba(255,140,0,.9), 0 0 2px rgba(255,140,0,.6); } }
@keyframes mwBatFly { 0% { transform: translate(-90px, 6px) scale(.7); opacity: 0; } 15% { opacity: 1; } 50% { transform: translate(-40px, -4px) scale(1); } 85% { opacity: 1; } 100% { transform: translate(10px, 4px) scale(.8); opacity: 0; } }
@keyframes mwBatFlap { from { transform: scaleY(1); } to { transform: scaleY(.35); } }
@media (prefers-reduced-motion: reduce) {
	.mw-pumpkin, .mw-pumpkin__face, .mw-halloween__text, .mw-bat, .mw-bat__wings { animation: none; }
}
.mw-menu { flex-wrap: nowrap; }
.mw-menu > li > a { display: flex; align-items: center; gap: 5px; height: 48px; padding: 0 17px; white-space: nowrap; color: #fff; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; position: relative; }
.mw-menu > li + li > a::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 1px; background: rgba(255,255,255,.14); }
.mw-hot-badge { position: absolute; top: 2px; right: 6px; padding: 1px 6px; border-radius: 2px; background: var(--mw-red); color: #fff; font-size: 9.5px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; animation: mwHot 1.6s ease-in-out infinite; }
.mw-hot-badge::after { content: ""; position: absolute; left: 50%; bottom: -4px; margin-left: -4px; border: 4px solid transparent; border-bottom: 0; border-top-color: var(--mw-red); }
@keyframes mwHot { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
.mw-mobile-menu .mw-hot-badge { position: static; display: inline-block; margin-left: 8px; animation: none; }
.mw-mobile-menu .mw-hot-badge::after { display: none; }
@media (prefers-reduced-motion: reduce) { .mw-hot-badge { animation: none; } }
.mw-menu > li:hover > a, .mw-menu > li.current-menu-item > a, .mw-menu > li.current-menu-ancestor > a { background: var(--mw-red); color: #fff; }
.mw-menu > li.menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: 3px; }
.mw-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 240px; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.15); border-radius: 0 0 var(--mw-radius) var(--mw-radius); padding: 12px 22px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 60; }
.mw-menu > li:hover > .sub-menu, .mw-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.mw-menu .sub-menu a { display: block; padding: 8px 0; font-size: 14px; color: var(--mw-text); border-bottom: 1px solid #f1f1f1; }
.mw-menu .sub-menu li:last-child > a { border-bottom: 0; }
.mw-menu .sub-menu a:hover { color: var(--mw-red); padding-left: 4px; }
/* Mega-style columns when a dropdown holds nested lists */
.mw-menu > li.mw-mega > .sub-menu { display: flex; gap: 36px; min-width: 560px; padding: 20px 28px; }
.mw-menu > li.mw-mega > .sub-menu > li { flex: 1; }
.mw-menu > li.mw-mega > .sub-menu > li > a { font-weight: 800; text-transform: uppercase; font-size: 13px; color: var(--mw-black); border-bottom: 2px solid var(--mw-red); margin-bottom: 6px; }
.mw-menu > li.mw-mega > .sub-menu .sub-menu { position: static; opacity: 1; visibility: inherit; transform: none; box-shadow: none; padding: 0; min-width: 0; }
.mw-menu > li:nth-last-child(-n+2) > .sub-menu { left: auto; right: 0; }

.mw-header.is-stuck .mw-header__sticky { position: fixed; top: 0; left: 0; right: 0; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.18); animation: mwSlide .3s; }
@keyframes mwSlide { from { transform: translateY(-100%); } to { transform: none; } }

/* ============ Mobile drawer ============ */
.mw-drawer { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.mw-drawer.is-open { visibility: visible; }
.mw-drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); opacity: 0; transition: opacity .3s; }
.mw-drawer.is-open .mw-drawer__overlay { opacity: 1; }
.mw-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: 300px; max-width: 85vw; background: #fff; overflow-y: auto; transform: translateX(-100%); transition: transform .3s; }
.mw-drawer.is-open .mw-drawer__panel { transform: none; }
.mw-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: var(--mw-nav); color: #fff; font-weight: 700; text-transform: uppercase; }
.mw-drawer__close { background: none; border: 0; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.mw-drawer .mw-search { padding: 14px 16px; max-width: none; }
/* Side cart */
.mw-drawer--cart .mw-drawer__panel { left: auto; right: 0; width: 380px; display: flex; flex-direction: column; transform: translateX(100%); }
.mw-drawer--cart.is-open .mw-drawer__panel { transform: none; }
.mw-drawer--cart .widget_shopping_cart_content { flex: 1; display: flex; flex-direction: column; min-height: 0; }
#mw-cart-drawer .woocommerce-mini-cart { flex: 1; margin: 0; padding: 0 18px; list-style: none; overflow-y: auto; }
#mw-cart-drawer .woocommerce-mini-cart-item { position: relative; display: block; min-height: 96px; padding: 16px 24px 16px 76px; border-bottom: 1px solid var(--mw-border); font-size: 14px; line-height: 1.4; }
#mw-cart-drawer .woocommerce-mini-cart-item img { position: absolute; top: 16px; left: 0; width: 62px; height: 82px; margin: 0; object-fit: cover; background: var(--mw-light); }
#mw-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { display: block; font-weight: 700; color: var(--mw-black); }
#mw-cart-drawer .woocommerce-mini-cart-item a.remove { position: absolute; top: 14px; right: 0; width: 22px; height: 22px; border-radius: 50%; color: #999 !important; font-size: 20px; line-height: 20px; text-align: center; }
#mw-cart-drawer .woocommerce-mini-cart-item a.remove:hover { background: var(--mw-red); color: #fff !important; }
#mw-cart-drawer .woocommerce-mini-cart-item dl.variation { margin: 4px 0; padding: 0; border: 0;font-size: 12.5px; color: var(--mw-muted); }
#mw-cart-drawer .woocommerce-mini-cart-item dl.variation dt, #mw-cart-drawer .woocommerce-mini-cart-item dl.variation dd { display: inline; margin: 0; }
#mw-cart-drawer .woocommerce-mini-cart-item dl.variation dd p { display: inline; margin: 0; }
#mw-cart-drawer .woocommerce-mini-cart-item dl.variation dd::after { content: ""; display: block; }
#mw-cart-drawer .woocommerce-mini-cart-item .quantity { display: block; margin-top: 4px; color: #555; }
#mw-cart-drawer .woocommerce-mini-cart-item .quantity .amount { font-weight: 700; color: #131315; }
#mw-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0; padding: 16px 18px; border-top: 1px solid var(--mw-border); font-size: 16px; }
#mw-cart-drawer .woocommerce-mini-cart__total .amount { font-weight: 900; color: #131315; }
#mw-cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; padding: 0 18px 18px; }
#mw-cart-drawer .woocommerce-mini-cart__buttons .button { display: block; margin: 0 !important; padding: 13px !important; border-radius: 2px; background: var(--mw-black) !important; color: #fff !important; font-weight: 700; text-align: center; text-transform: uppercase; letter-spacing: .04em; }
#mw-cart-drawer .woocommerce-mini-cart__buttons .button.checkout { background: var(--mw-red-dark) !important; }
#mw-cart-drawer .woocommerce-mini-cart__empty-message { padding: 40px 18px; text-align: center; color: var(--mw-muted); }
.mw-mobile-menu, .mw-mobile-menu ul { list-style: none; margin: 0; padding: 0; }
.mw-mobile-menu li { position: relative; border-bottom: 1px solid #eee; }
.mw-mobile-menu a { display: block; padding: 13px 48px 13px 16px; font-weight: 700; font-size: 14px; text-transform: uppercase; }
.mw-mobile-menu .sub-menu { display: none; background: var(--mw-light); }
.mw-mobile-menu .sub-menu a { text-transform: none; font-weight: 400; padding-left: 28px; }
.mw-mobile-menu .sub-menu .sub-menu a { padding-left: 40px; }
.mw-mobile-menu li.is-open > .sub-menu { display: block; }
.mw-sub-toggle { position: absolute; right: 0; top: 0; width: 48px; height: 47px; background: none; border: 0; border-left: 1px solid #eee; cursor: pointer; }
.mw-sub-toggle::before { content: ""; display: block; width: 8px; height: 8px; margin: auto; border-right: 2px solid #333; border-bottom: 2px solid #333; transform: rotate(45deg); transition: transform .2s; }
.mw-mobile-menu li.is-open > .mw-sub-toggle::before { transform: rotate(-135deg); }
body.mw-lock { overflow: hidden; }

/* ============ Section titles ============ */
.mw-section { padding: 42px 0; }
.mw-section--grey { background: var(--mw-light); }
.mw-section--dark { background: var(--mw-black); color: #ddd; }
.mw-section--dark h2, .mw-section--dark h3 { color: #fff; }
.mw-title { display: flex; align-items: center; gap: 18px; margin: 0 0 28px; text-align: center; }
.mw-title::before, .mw-title::after { content: ""; flex: 1; height: 1px; background: var(--mw-black); }
.mw-title h2 { margin: 0; font-size: 27px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; }
.mw-title--left { justify-content: space-between; }
.mw-title--left::before { display: none; }
.mw-title--left::after { order: 2; }
.mw-title--left a { order: 3; font-size: 13px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.mw-section-intro { max-width: 860px; margin: -12px auto 28px; text-align: center; color: var(--mw-muted); }

/* ============ Hero slider ============ */
.mw-slider { position: relative; overflow: hidden; background: var(--mw-black); aspect-ratio: 16 / 7; max-height: 640px; width: 100%; }
.mw-slider__track { position: absolute; inset: 0; }
.mw-slide { position: absolute; inset: 0; display: block; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; color: #fff; }
.mw-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.mw-slide img { width: 100%; height: 100%; object-fit: cover; object-position: right center; transform: scale(1.04); transition: transform 6s ease-out; }
.mw-slide.is-active img { transform: none; }
.mw-slide__text { position: absolute; inset: 0; display: flex; align-items: center; background: linear-gradient(90deg, rgba(20,20,20,.72) 0%, rgba(20,20,20,.35) 45%, rgba(20,20,20,0) 70%); }
.mw-slide__text .mw-container { width: 100%; padding-left: 6%; padding-right: 6%; }
.mw-slide__text .mw-container > * { max-width: 620px; }
.mw-slide__eyebrow { display: inline-block; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #fff; background: var(--mw-red-dark); padding: 5px 14px; margin-bottom: 18px; }
.mw-slide__title { display: block; font-family: var(--mw-font-head); font-size: clamp(30px, 4.4vw, 64px); font-weight: 800; line-height: 1.02; text-transform: uppercase; letter-spacing: -.01em; text-shadow: 0 3px 18px rgba(0,0,0,.45); }
.mw-slide__title span { display: block; color: var(--mw-red); }
.mw-slide__sub { display: block; margin-top: 14px; font-size: clamp(14px, 1.3vw, 19px); color: #eee; }
.mw-slide__btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; padding: 13px 28px; background: var(--mw-red-dark); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: 30px; transition: background .25s, gap .25s; }
.mw-slide__btn .mw-icon { width: 17px; height: 17px; stroke-width: 2.4; }
.mw-slide:hover .mw-slide__btn { background: #fff; color: var(--mw-black); gap: 12px; }
.mw-slide.is-active .mw-slide__text .mw-container > * { animation: mwSlideIn .8s both; }
.mw-slide.is-active .mw-slide__title { animation-delay: .1s; }
.mw-slide.is-active .mw-slide__sub { animation-delay: .2s; }
.mw-slide.is-active .mw-slide__btn { animation-delay: .3s; }
@keyframes mwSlideIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.mw-slider__arrow { position: absolute; top: 50%; z-index: 3; width: 46px; height: 46px; margin-top: -23px; display: flex; align-items: center; justify-content: center; background: transparent; color: #fff; border: 0; cursor: pointer; opacity: .85; transition: opacity .2s, background .2s; }
.mw-slider__arrow .mw-icon { width: 34px; height: 34px; stroke-width: 1.4; }
.mw-slider__arrow:hover { opacity: 1; background: rgba(0,0,0,.35); }
.mw-slider__arrow--prev { left: 14px; }
.mw-slider__arrow--prev .mw-icon { transform: rotate(180deg); }
.mw-slider__arrow--next { right: 14px; }
.mw-slider__dots { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 3; display: flex; justify-content: center; gap: 10px; }
.mw-slider__dots button { width: 11px; height: 11px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; transition: background .2s, width .2s; }
.mw-slider__dots button[aria-current] { background: var(--mw-red); border-color: var(--mw-red); width: 28px; border-radius: 6px; }
.mw-slider.is-single .mw-slider__arrow, .mw-slider.is-single .mw-slider__dots { display: none; }
@media (prefers-reduced-motion: reduce) { .mw-slide, .mw-slide img { transition: none; } .mw-slide.is-active .mw-slide__text .mw-container > * { animation: none; } }

/* ============ Product grid / cards ============ */
.mw-products, .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(var(--mw-cols, 4), minmax(0, 1fr)); gap: 24px 28px; list-style: none; margin: 0 0 24px !important; padding: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.mw-products--5 { --mw-cols: 5; }
.mw-products--4, .woocommerce ul.products.columns-4 { --mw-cols: 4; }
.woocommerce ul.products.columns-3 { --mw-cols: 3; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.mw-card { position: relative; background: #fff; border: 1px dotted #9a9a9a; transition: box-shadow .3s; display: flex; flex-direction: column; }
.mw-card:hover { box-shadow: 0 10px 24px -14px rgba(0,0,0,.35); }
.mw-card:hover .mw-card__title a { color: var(--mw-red); }
.mw-card__media { position: relative; display: block; overflow: hidden; background: #fff; aspect-ratio: 4 / 5; }
.mw-card__media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .5s, transform .5s; margin: 0 !important; }
.mw-card__media .mw-card__back { position: absolute; inset: 0; opacity: 0; }
.mw-card:hover .mw-card__media .mw-card__back { opacity: 1; }
.mw-card:hover .mw-card__media.no-back img { transform: scale(1.05); }
.mw-badge, .woocommerce span.onsale { position: absolute; top: 0; right: 0; left: auto; z-index: 5; min-width: 0; min-height: 0; margin: 0; padding: 2px 8px; border-radius: 0; background: var(--mw-red-dark); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; }
.woocommerce ul.products li.product .onsale, .mw-products li.product .onsale { top: 0; right: 0; left: auto; margin: 0; }
.mw-badge--new { right: auto; left: 0; background: var(--mw-black); }
/* Card discount badge: round "EXTRA / 25% / OFF" disc, top-right */
.woocommerce ul.products li.mw-card > .onsale, .mw-card > .onsale { top: 10px; right: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 60px; height: 60px; padding: 0; border-radius: 50%; background: var(--mw-red); color: #fff; font-size: 10px; font-weight: 600; line-height: 1.05; text-transform: uppercase; text-align: center; }
.mw-card > .onsale small { font-size: 11px; font-weight: 700; }
.mw-card > .onsale b { font-size: 12px; font-weight: 700; color: var(--mw-hot); }
.mw-card > .onsale small:last-child { font-size: 9.5px; font-weight: 600; }
.mw-card__img { position: relative; overflow: hidden; }
.mw-best-seller { position: absolute; top: 10px; left: 10px; z-index: 5; padding: 3px 10px; background: var(--mw-hot); color: var(--mw-red-dark); font-size: 9.5px; font-weight: 700; line-height: 1.5; letter-spacing: .03em; text-transform: uppercase; pointer-events: none; }
.single-product .woocommerce-product-gallery::before { content: "Best Seller"; position: absolute; top: 0; left: 96px; z-index: 9; padding: 2px 7px; background: #fcb900; color: #000; font-size: 13px; line-height: 1.5; pointer-events: none; }
.single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs))::before { left: 0; }
.mw-card__quick { position: absolute; left: 0; right: 0; bottom: 0; transform: translateY(100%); transition: transform .3s; z-index: 4; }
.mw-card:hover .mw-card__quick { transform: none; }
.mw-card__quick a.button { display: block; width: 100%; border-radius: 0; padding: 10px; font-size: 12.5px; background: rgba(19,19,21,.92); }
.mw-card__quick a.button:hover { background: var(--mw-red); }
.mw-card__quick a.added_to_cart { display: block; background: #fff; text-align: center; padding: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.mw-card__body { padding: 16px 12px 16px; background: #f9f9f9; text-align: center; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.mw-card__cat { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--mw-muted); }
.mw-card__title { margin: 0; font-family: var(--mw-font); font-size: 15px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; text-transform: uppercase; color: #000; }
.mw-card__title a { color: inherit; }
.mw-card__title a:hover { color: var(--mw-red); }
.mw-card .price { font-size: 18px; font-weight: 600; color: var(--mw-black); }
.price del { color: #999; font-weight: 400; margin-right: 6px; font-size: .92em; }
.price ins { text-decoration: none; color: var(--mw-red-dark); }

/* Stars */
.mw-stars, .star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; font-size: 13px; line-height: 1; letter-spacing: .1em; overflow: hidden; font-family: Arial, sans-serif !important; float: none !important; margin: 2px auto !important; }
.mw-stars::before, .star-rating::before { content: "\2605\2605\2605\2605\2605" !important; font-family: Arial, sans-serif !important; color: #d6d6d6 !important; position: absolute; top: 0; left: 0; float: none !important; opacity: 1 !important; }
.mw-stars > span, .star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.2em; height: 1em; }
.mw-stars > span::before, .star-rating span::before { content: "\2605\2605\2605\2605\2605" !important; font-family: Arial, sans-serif !important; color: var(--mw-yellow) !important; position: absolute; top: 0; left: 0; }
.mw-rating-row { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mw-muted); }

.mw-center { text-align: center; }
.mw-card__action { margin-top: auto; padding-top: 8px; }
.mw-card .mw-card__action a.button { height: 36px; padding: 0 12px; border: 1px solid #ddd; border-radius: 0; background: #fff; color: #333; font-size: 12px; font-weight: 600; line-height: 34px; letter-spacing: 0; text-transform: uppercase; }
.mw-card .mw-card__action a.button:hover { border-color: var(--mw-red); background: var(--mw-red); color: #fff; }
.mw-section--hot { padding-bottom: 30px; }

/* ============ Customize banner ============ */
/* One slim row: title left, tagline centre, button right */
.mw-custom { position: relative; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 30px; min-height: 160px; margin: 10px 0; padding: 24px 40px; overflow: hidden; background: var(--mw-black) center / cover no-repeat; color: #fff; text-align: left; isolation: isolate; }
.mw-custom::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(28,28,28,.82), rgba(28,28,28,.5) 50%, rgba(28,28,28,.82)); transition: background .3s; }
.mw-custom:hover { color: #fff; }
.mw-custom:hover::before { background: rgba(28,28,28,.6); }
.mw-custom__title { flex: none; font-family: var(--mw-font-head); font-size: clamp(28px, 3.3vw, 48px); font-weight: 800; line-height: 1.02; text-transform: uppercase; letter-spacing: .02em; color: var(--mw-red); }
.mw-custom__title span { display: block; color: #fff; font-size: .82em; letter-spacing: .06em; }
.mw-custom__text { flex: 1; max-width: 460px; font-size: clamp(16px, 1.6vw, 22px); line-height: 1.45; text-align: center; color: #f2f2f2; letter-spacing: .02em; }
.mw-custom__btn { flex: none; padding: 16px 30px; background: rgba(20,12,6,.75); color: var(--mw-red); font-size: 15px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; border-radius: 40px; outline: 2px dashed rgba(216,105,23,.75); outline-offset: -6px; transition: background .25s, color .25s; }
.mw-custom:hover .mw-custom__btn { background: var(--mw-red); color: #fff; outline-color: rgba(255,255,255,.7); }

/* ============ About blocks ============ */
.mw-about__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 90px); align-items: center; }
.mw-about__row--reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.mw-about__row + .mw-about__row { margin-top: 70px; }
.mw-about__text { max-width: 640px; }
.mw-about__row--reverse .mw-about__text { justify-self: end; }
.mw-about__text h1, .mw-about__text h2 { position: relative; margin: 0 0 26px; padding-bottom: 20px; font-size: clamp(26px, 2.9vw, 42px); font-weight: 700; line-height: 1.15; letter-spacing: -.005em; text-transform: uppercase; color: #000; }
.mw-about__text h1::after, .mw-about__text h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 70px; height: 4px; background: var(--mw-red); }
.mw-about__text p { font-size: 17px; color: #3c3c3c; line-height: 1.8; }
.mw-about__text p:last-child { margin-bottom: 0; }
/* Image with two offset brackets behind it: a charcoal frame (with short end stubs) and an accent "]" on the outer side */
.mw-about__media { position: relative; justify-self: center; width: 100%; max-width: 440px; margin: 24px 0 40px; }
.mw-about__media img { display: block; width: 100%; aspect-ratio: 5 / 6; object-fit: cover; box-shadow: 0 18px 40px -22px rgba(0,0,0,.45); }
.mw-about__media::before, .mw-about__media::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.mw-about__media::before { top: 70px; bottom: -36px; border-bottom: 3px solid var(--mw-nav); background: linear-gradient(var(--mw-nav), var(--mw-nav)) no-repeat, linear-gradient(var(--mw-nav), var(--mw-nav)) no-repeat; }
.mw-about__media::after { top: 40px; bottom: 40px; width: 24px; border: 3px solid var(--mw-red); }
.mw-about__media--right::before { left: -36px; right: 50px; border-left: 3px solid var(--mw-nav); background-position: left top, right bottom; background-size: 36px 3px, 3px 36px; }
.mw-about__media--right::after { right: -38px; border-left: 0; }
.mw-about__media--left::before { left: 50px; right: -36px; border-right: 3px solid var(--mw-nav); background-position: right top, left bottom; background-size: 36px 3px, 3px 36px; }
.mw-about__media--left::after { left: -38px; border-right: 0; }
.mw-about { position: relative; z-index: 0; overflow-x: clip; }

/* ============ Trust bar ============ */
.mw-trust { background: var(--mw-nav); color: #fff; }
.mw-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mw-trust__item { display: flex; align-items: center; gap: 14px; padding: 22px 18px; border-right: 1px solid rgba(255,255,255,.1); }
.mw-trust__item:last-child { border-right: 0; }
.mw-trust__item svg { flex: 0 0 auto; width: 38px; height: 38px; color: var(--mw-yellow); stroke-width: 1.5; }
.mw-trust__item strong { display: block; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; color: #fff; }
.mw-trust__item span { font-size: 13px; color: #bbb; }

/* ============ Story / text blocks ============ */
.mw-story { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.mw-story__media { position: relative; }
.mw-story__media img { border-radius: var(--mw-radius); box-shadow: var(--mw-shadow-hover); }
.mw-story__media::after { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 3px solid var(--mw-red); border-radius: var(--mw-radius); z-index: -1; }
.mw-eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--mw-red); margin-bottom: 8px; }
.mw-story h1, .mw-story h2 { font-size: 30px; }
.mw-story__sub { font-size: 20px; color: var(--mw-red-dark); }
.mw-story--reverse .mw-story__media img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: center 30%; }
.mw-story--reverse .mw-story__media::after { inset: 18px 18px -18px -18px; }
.mw-stats { display: flex; gap: 32px; margin: 22px 0 26px; }
.mw-stats b { display: block; font-size: 28px; font-weight: 900; color: var(--mw-black); line-height: 1; }
.mw-stats span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--mw-muted); }

/* Category tiles */
.mw-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.mw-cat { text-align: center; }
.mw-cat__img { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 3px solid #fff; box-shadow: 0 0 0 2px var(--mw-border); margin-bottom: 12px; transition: box-shadow .3s; }
.mw-cat:hover .mw-cat__img { box-shadow: 0 0 0 3px var(--mw-red); }
.mw-cat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mw-cat:hover .mw-cat__img img { transform: scale(1.08); }
.mw-cat strong { display: block; font-size: 14px; text-transform: uppercase; color: var(--mw-black); }
.mw-cat small { color: var(--mw-muted); font-size: 12px; }

/* Collection blocks (category text + products) */
.mw-collection + .mw-collection { margin-top: 44px; }
.mw-collection__text { max-width: 900px; margin: -14px auto 24px; text-align: center; color: #555; }

/* Benefits */
.mw-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mw-benefit { background: #fff; padding: 28px 22px; border-radius: var(--mw-radius); box-shadow: var(--mw-shadow); border-top: 3px solid var(--mw-red); transition: transform .3s, box-shadow .3s; }
.mw-benefit:hover { transform: translateY(-4px); box-shadow: var(--mw-shadow-hover); }
.mw-benefit svg { width: 40px; height: 40px; color: var(--mw-red); margin-bottom: 12px; stroke-width: 1.5; }
.mw-benefit h3 { font-size: 16px; text-transform: uppercase; margin-bottom: 8px; }
.mw-benefit p { margin: 0; font-size: 14px; color: #555; }

/* Seasonal */
.mw-seasonal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mw-seasonal .mw-banner { aspect-ratio: 4 / 3; }

/* CTA band */
.mw-cta { position: relative; background: var(--mw-black) center / cover no-repeat; color: #fff; text-align: center; padding: 70px 0; overflow: hidden; }
.mw-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19,19,21,.92), rgba(185,29,33,.75)); }
.mw-cta .mw-container { position: relative; }
.mw-cta h2 { color: #fff; font-size: 34px; text-transform: uppercase; }
.mw-cta p { max-width: 640px; margin: 0 auto 24px; color: #e5e5e5; font-size: 16px; }
.mw-cta .mw-btn + .mw-btn { margin-left: 10px; }

/* FAQ */
.mw-faq { max-width: 920px; margin: 0 auto; }
.mw-faq details { background: #fff; border: 1px solid var(--mw-border); border-radius: var(--mw-radius); margin-bottom: 10px; }
.mw-faq summary { list-style: none; cursor: pointer; padding: 16px 52px 16px 20px; font-weight: 700; color: var(--mw-black); position: relative; }
.mw-faq summary::-webkit-details-marker { display: none; }
.mw-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--mw-light); text-align: center; line-height: 26px; font-size: 18px; color: var(--mw-red); transition: transform .2s; }
.mw-faq details[open] summary::after { content: "\2212"; background: var(--mw-red); color: #fff; }
.mw-faq details[open] summary { border-bottom: 1px solid var(--mw-border); }
.mw-faq__a { padding: 14px 20px 18px; color: #555; }
.mw-faq__a p:last-child { margin: 0; }

/* Blog cards */
.mw-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mw-post { background: #fff; box-shadow: var(--mw-shadow); transition: box-shadow .3s; display: flex; flex-direction: column; }
.mw-post:hover { box-shadow: var(--mw-shadow-hover); }
.mw-post__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mw-light); }
.mw-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mw-post:hover .mw-post__media img { transform: scale(1.05); }
.mw-post__date { position: absolute; top: 0; left: 10px; background: #ad2424; color: #fff; text-align: center; padding: 6px 10px; font-weight: 700; line-height: 1.1; font-size: 12px; text-transform: uppercase; }
.mw-post__date b { display: block; font-size: 20px; }
.mw-post__body { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; }
.mw-post__body h3 { font-size: 17px; margin-bottom: 8px; }
.mw-post__body p { font-size: 14px; color: #666; flex: 1; }
.mw-post__more { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--mw-red); }

/* Newsletter */
.mw-newsletter { background: var(--mw-red-dark); color: #fff; padding: 30px 0; }
.mw-newsletter .mw-container { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mw-newsletter h3 { color: #fff; margin: 0 0 4px; text-transform: uppercase; font-size: 20px; }
.mw-newsletter p { margin: 0; color: #f3d0d1; font-size: 14px; }
.mw-newsletter form { display: flex; flex: 0 1 460px; }
.mw-newsletter input { border: 0; border-radius: var(--mw-radius) 0 0 var(--mw-radius); }
.mw-newsletter button { border-radius: 0 var(--mw-radius) var(--mw-radius) 0 !important; white-space: nowrap; }

/* ============ Footer ============ */
.mw-footer { background: var(--mw-footer); color: #bdbdbd; font-size: 14px; }
.mw-footer__top { padding: 50px 0 30px; }
.mw-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
.mw-footer h4 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 18px; padding-bottom: 10px; position: relative; }
.mw-footer h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--mw-red); }
.mw-footer a { color: #bdbdbd; }
.mw-footer a:hover { color: #fff; }
.mw-footer ul { list-style: none; padding: 0; margin: 0; }
.mw-footer li { margin-bottom: 9px; }
.mw-footer li a::before { content: "\203A"; margin-right: 8px; color: var(--mw-red); font-weight: 700; }
.mw-footer .mw-logo__text { color: #fff; margin-bottom: 14px; }
.mw-footer .mw-logo__text small { color: #999; }
.mw-footer .mw-logo img { max-height: 54px; margin-bottom: 14px; }
.mw-footer__col { min-width: 0; }
.mw-footer__logo { display: inline-block; margin-bottom: 22px; }
.mw-footer__logo img { display: block; width: auto; max-width: 180px; max-height: 66px; }
.mw-footer h4.mw-footer__sub { margin-top: 26px; }
.mw-footer__ship { margin: 0; color: #bdbdbd; }
.mw-footer__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.mw-footer a.mw-footer__btn { display: inline-block; padding: 8px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: var(--mw-radius); color: #fff; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; transition: background .2s, border-color .2s; }
.mw-footer a.mw-footer__btn:hover { background: var(--mw-red); border-color: var(--mw-red); }
.mw-contact-line { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.mw-contact-line svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--mw-red); margin-top: 3px; }
.mw-social { display: flex; gap: 8px; margin-top: 18px; }
.mw-social a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; color: #fff; transition: background .2s; }
.mw-social a:hover { background: var(--mw-red); }
.mw-social svg { width: 17px; height: 17px; fill: currentColor; stroke: none; }
.mw-footer__bottom { background: var(--mw-footer-bottom); padding: 16px 0; font-size: 13px; color: #8a8a8a; }
.mw-footer__bottom .mw-container { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.mw-pay { display: flex; gap: 6px; flex-wrap: wrap; }
.mw-paycards { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mw-paycard { display: block; flex: none; width: 46px; height: 30px; }
.mw-sp-safe .mw-paycards { margin-top: 8px; }
.mw-checkout-trust__pay .mw-paycards { justify-content: center; }

.mw-to-top { position: fixed; right: 18px; bottom: 18px; width: 42px; height: 42px; border-radius: 50%; background: var(--mw-black); color: #fff; border: 0; cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .3s, background .2s; z-index: 90; display: flex; align-items: center; justify-content: center; }
.mw-to-top.is-visible { opacity: 1; visibility: visible; }
.mw-to-top:hover { background: var(--mw-red); }

/* ============ Inner pages ============ */
/* Centred title over the content, no band (reference layout) */
.mw-page-head { padding: 36px 0 4px; margin-bottom: 30px; text-align: center; }
.mw-page-head h1 { margin: 0 0 6px; font-size: clamp(24px, 2.6vw, 34px); font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.mw-page-head .woocommerce-breadcrumb, .mw-page-head .mw-breadcrumb { font-size: 12px; }
.woocommerce-breadcrumb, .mw-breadcrumb { font-size: 13px; color: var(--mw-muted) !important; margin: 0 !important; text-transform: uppercase; letter-spacing: .03em; }
.woocommerce-breadcrumb a { color: var(--mw-muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--mw-red) !important; }
.mw-main { padding-bottom: 50px; }
/* Shop sidebar on the right (it stays first in the markup so the mobile Filter toggle opens it above the products). */
.mw-content-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 34px; align-items: start; }
.mw-content-wrap > .mw-sidebar { grid-column: 2; grid-row: 1; }
.mw-content-wrap > .mw-shop-main { grid-column: 1; grid-row: 1; min-width: 0; }
.mw-content-wrap--full { grid-template-columns: 1fr; }
.mw-sidebar .widget { margin-bottom: 30px; }
.mw-sidebar .widget-title, .mw-sidebar h2 { font-size: 15px; text-transform: uppercase; letter-spacing: .04em; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 2px solid var(--mw-border); position: relative; }
.mw-sidebar .widget-title::after, .mw-sidebar h2::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 34px; height: 2px; background: var(--mw-red); }
.mw-sidebar ul { list-style: none; padding: 0; margin: 0; }
.mw-sidebar li { padding: 7px 0; border-bottom: 1px solid #f2f2f2; font-size: 14px; }
.mw-sidebar li .count { float: right; color: var(--mw-muted); font-size: 12px; }
.mw-sidebar .children { padding-left: 14px; margin-top: 6px; }
.mw-sidebar .children li { border: 0; padding: 4px 0; }
.mw-sidebar .current-cat > a { color: var(--mw-red); font-weight: 700; }
/* Archive toolbar + collapsible filter panel */
.mw-shop-bar { display: flex; align-items: center; gap: 16px; margin: 0 0 22px; padding: 0 0 14px; border-bottom: 1px solid var(--mw-border); }
.mw-filter-toggle { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border: 1px solid #ddd; background: #fff; color: var(--mw-black); font: inherit; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; transition: border-color .2s, color .2s; }
.mw-filter-toggle .mw-icon { width: 17px; height: 17px; }
.mw-filter-toggle:hover, .mw-filter-toggle[aria-expanded="true"] { border-color: var(--mw-red); color: var(--mw-red); }
.woocommerce .mw-shop-bar .woocommerce-result-count { float: none; margin: 0; font-size: 14px; color: var(--mw-muted); }
.woocommerce .mw-shop-bar .woocommerce-ordering { float: none; margin: 0 0 0 auto; }
.woocommerce .woocommerce-ordering select { width: auto; height: 38px; padding: 0 34px 0 12px; font-size: 14px; }
.mw-shop-main > .mw-sidebar { display: none; margin: 0 0 26px; padding: 22px 24px 0; border: 1px solid var(--mw-border); background: #fcfcfc; }
.mw-shop-main > .mw-sidebar.is-open { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 40px; }
.mw-shop-main > .mw-sidebar .widget { margin-bottom: 22px; }
.mw-shop-main > .mw-sidebar .product_list_widget { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 24px; }
.mw-archive-desc { margin: 24px 0 0; padding: 22px; background: var(--mw-light); border-radius: var(--mw-radius); font-size: 14px; color: #555; }
.woocommerce nav.woocommerce-pagination { margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--mw-border); text-align: right; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 34px; height: 34px; line-height: 32px; padding: 0 8px !important; border: 1px solid #ddd; border-radius: 0; font-size: 14px; font-weight: 700; color: var(--mw-black); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: #fff !important; border-color: var(--mw-red); color: var(--mw-red) !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--mw-red) !important; border-color: var(--mw-red); color: #fff !important; }
.widget_price_filter .ui-slider .ui-slider-range, .widget_price_filter .ui-slider .ui-slider-handle { background: var(--mw-red) !important; }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: #ddd !important; }

/* Single product — reference layout: gallery (5/12) | info + boxed buy panel (7/12) */
.mw-main--product { padding-top: 30px; }
.woocommerce div.product { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce div.product > * { min-width: 0; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
/* Round "EXTRA / 25% / OFF" disc on the main image's top-left corner (right of the 82px thumb column) */
.woocommerce div.product > span.onsale { position: absolute; z-index: 9; top: 12px; left: 108px; right: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 66px; height: 66px; min-width: 0; min-height: 0; margin: 0; padding: 0; border-radius: 50%; background: var(--mw-red); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.05; text-transform: uppercase; text-align: center; }
.woocommerce div.product > span.onsale b { font-size: 14px; color: var(--mw-hot); }
.woocommerce div.product > span.onsale small:last-child { font-size: 10px; }
.single-product .woocommerce-product-gallery::before { display: none; }

/* Gallery: thumbnails in a column on the left, 3:4 main image */
.woocommerce div.product div.images.woocommerce-product-gallery { position: relative; display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: start; }
.woocommerce div.product div.images .flex-viewport, .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; }
.woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr) !important; }
.woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper { grid-column: 1 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0; max-height: 560px; overflow-y: auto; scrollbar-width: thin; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 100% !important; float: none !important; margin: 0 !important; flex: none; }
.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio: 3 / 4; object-fit: cover; border: 1px solid transparent; opacity: .6; transition: opacity .2s, border-color .2s; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active, .woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: #bbb; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: auto; bottom: 12px; left: 108px; right: auto; width: 38px; height: 38px; border: 1px solid #ccc; background: #fff; box-shadow: none; }
.woocommerce-product-gallery .flex-direction-nav { position: absolute; top: 50%; left: 96px; right: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .flex-direction-nav { left: 0; }
.woocommerce-product-gallery .flex-direction-nav li { margin: 0; }
.woocommerce-product-gallery .flex-direction-nav a { position: absolute; top: -20px; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: 0 0 18px -6px #000; font-size: 0; pointer-events: auto; }
.woocommerce-product-gallery .flex-direction-nav a::before { content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 10px; border: solid #222; border-width: 2.5px 2.5px 0 0; }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 12px; }
.woocommerce-product-gallery .flex-direction-nav .flex-prev::before { transform: translateX(2px) rotate(-135deg); }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: 12px; }
.woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: translateX(-2px) rotate(45deg); }
.woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: .35; pointer-events: none; }

/* Summary: breadcrumb, title, price + stock, rating */
.woocommerce div.product .summary > .woocommerce-breadcrumb { margin: 0 0 10px !important; font-size: 14px; }
.woocommerce div.product .product_title { margin: 0 0 10px; font-size: 29px; line-height: 1.25; font-weight: 700; color: #131315; }
.mw-sp-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 50px; }
.woocommerce div.product .mw-sp-price p.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-size: 24px !important; font-weight: 700; color: #131315 !important; }
.woocommerce div.product p.price del, .woocommerce div.product .woocommerce-variation-price .price del { order: 0; font-size: inherit; font-weight: 400; color: #8a8a8a; opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product .woocommerce-variation-price .price ins { color: #131315; font-weight: 700; text-decoration: none; }
.mw-sp-stock { padding: 3px 8px; border-radius: 2px; background: #3f9a1f; color: #fff; font-size: 13px; font-weight: 900; line-height: 1.3; text-transform: uppercase; letter-spacing: .03em; }
.mw-sp-stock--out { background: #555; }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 6px; margin: 10px 0 12px; font-size: 14px; }
.woocommerce div.product .woocommerce-product-rating .star-rating { margin: 0 !important; color: #f5b301; }
.woocommerce div.product .woocommerce-product-rating a { color: #444; }

/* Under the price: buy box (sizes, qty, full-width add to cart) first, then specs, size chart, safe checkout */
.mw-sp-cols { display: flex; flex-direction: column; gap: 22px; margin-top: 6px; padding-top: 18px; border-top: 1px solid var(--mw-border); }
.mw-sp-info { order: 2; min-width: 0; }
.mw-sp-buy { order: 1; min-width: 0; }
.woocommerce-product-details__short-description { font-size: 15px; line-height: 1.55; color: #333; }
.woocommerce-product-details__short-description p { margin: 0 0 4px; }
.woocommerce-product-details__short-description ul { margin: 0 0 12px; padding-left: 20px; }
.woocommerce-product-details__short-description li { margin-bottom: 2px; }
.mw-sp-chart { margin: 16px 0 14px; }
.mw-sp-chart .mw-size-guide { display: inline-block; padding: 7px 11px; border-radius: 3px; background: #000; color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; }
.mw-sp-chart .mw-size-guide:hover { background: #333; color: #fff; }
.mw-sp-safe { padding: 8px 12px 11px; border: 1px solid #bdbdbd; border-radius: 5px; color: #333; font-size: 15px; }
.mw-sp-safe .mw-checkout-trust__pay { justify-content: flex-start; gap: 6px; margin-top: 7px; }
.mw-sp-safe .mw-checkout-trust__pay b { padding: 4px 7px; font-size: 10px; }

/* Buy box: attribute buttons, variation price, quantity + add to cart */
.woocommerce div.product form.cart { margin: 0 !important; }
.woocommerce div.product form.cart .variations { width: 100%; margin: 0; border: 0; }
.woocommerce div.product form.cart .variations tbody, .woocommerce div.product form.cart .variations tr { display: block; }
.woocommerce div.product form.cart .variations tr { position: relative; margin-bottom: 12px; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart .variations th.label { padding: 0 60px 8px 0; }
.woocommerce div.product form.cart .variations th.label label { margin: 0; font-size: 17px; font-weight: 700; color: #131315; }
.mw-attr-value { font-weight: 400; }
.woocommerce div.product form.cart .reset_variations { position: absolute; top: 3px; right: 0; margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--mw-muted); }
.mw-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.mw-swatch { display: inline-flex; align-items: center; gap: 6px; min-width: 42px; height: 36px; padding: 0 11px; border: 1px solid #c8c8c8; border-radius: 2px; background: #fff; color: #131315; font: inherit; font-size: 14px; font-weight: 400; cursor: pointer; transition: border-color .15s, box-shadow .15s; justify-content: center; }
.mw-swatch:hover { border-color: #777; }
.mw-swatch.is-active { border-color: var(--mw-red-dark); box-shadow: inset 0 0 0 1px var(--mw-red-dark); }
.mw-swatch.is-disabled { color: #bbb; background: repeating-linear-gradient(135deg, #fff 0 6px, #f3f3f3 6px 7px); cursor: not-allowed; }
.mw-swatch__dot { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); flex: none; }
.mw-swatch small { font-size: 12px; color: var(--mw-red-dark); }
.mw-swatches__select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.woocommerce div.product .single_variation_wrap { width: 100%; }
.woocommerce div.product .woocommerce-variation-price .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 10px; font-size: 21px !important; font-weight: 700; color: #131315 !important; }
.woocommerce div.product .woocommerce-variation-availability p { margin: 0 0 8px; font-size: 14px; }
.woocommerce div.product form.cart:not(.variations_form), .woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: nowrap; gap: 10px; }
.mw-qty { display: flex; flex: none; height: 44px; border: 1px solid #ddd; border-radius: 2px; }
.mw-qty button { width: 26px; border: 0; background: #f6f6f6; color: #444; font-size: 16px; cursor: pointer; }
.mw-qty button:hover { background: #eee; }
.woocommerce div.product form.cart .mw-qty .quantity { margin: 0 !important; }
.woocommerce div.product form.cart .mw-qty .qty { width: 40px; height: 42px; padding: 0; border: 0; border-radius: 0; font-weight: 700; -moz-appearance: textfield; }
.mw-qty .qty::-webkit-outer-spin-button, .mw-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 16px; border-radius: 2px; background: var(--mw-red-dark) !important; font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--mw-black) !important; }
.mw-sp-notes { display: flex; flex-direction: column; gap: 7px; padding-top: 14px; font-size: 14px; color: #333; }
.mw-sp-notes span { display: flex; align-items: center; gap: 9px; }
.mw-sp-notes svg { width: 20px; height: 20px; flex: none; color: var(--mw-red); }
.mw-sp-notes b { color: #131315; }

/* WooCommerce block product grids (empty cart "New in store", etc.) styled like .mw-card */
.wc-block-grid .wc-block-grid__products { gap: 24px 28px; margin: 0 !important; }
.wc-block-grid .wc-block-grid__product { position: relative; display: flex; flex-direction: column; margin: 0 !important; padding: 0 !important; border: 1px dotted #9a9a9a !important; background: #f9f9f9; text-align: center; }
.wc-block-grid .wc-block-grid__product-link { display: block; color: inherit; }
.wc-block-grid .wc-block-grid__product-image { margin: 0 !important; background: #fff; }
.wc-block-grid .wc-block-grid__product-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.wc-block-grid .wc-block-grid__product-title { margin: 16px 12px 6px !important; font-family: var(--mw-font); font-size: 15px !important; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; text-transform: uppercase; color: #000; }
.wc-block-grid .wc-block-grid__product-price { margin: 0 0 6px !important; font-size: 18px !important; font-weight: 600; }
.wc-block-grid .wc-block-grid__product-price del { color: #999; font-weight: 400; margin-right: 6px; }
.wc-block-grid .wc-block-grid__product-price ins { text-decoration: none; color: var(--mw-red-dark); }
.wc-block-grid .wc-block-grid__product-rating { margin: 0 0 6px !important; }
.wc-block-grid .wc-block-grid__product-add-to-cart { margin: auto 0 16px !important; padding-top: 8px; }
.wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link { display: inline-block; height: 36px; padding: 0 12px !important; border: 1px solid #ddd; border-radius: 0 !important; background: #fff !important; color: #333 !important; font-size: 12px !important; font-weight: 600; line-height: 34px; text-transform: uppercase; }
.wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { border-color: var(--mw-red); background: var(--mw-red) !important; color: #fff !important; }
.wc-block-grid .wc-block-grid__product-onsale { top: 10px !important; right: 10px !important; left: auto !important; margin: 0 !important; padding: 3px 9px !important; border: 0 !important; border-radius: 30px !important; background: var(--mw-red) !important; color: #fff !important; font-size: 11px !important; font-weight: 700; text-transform: uppercase; }

/* Promise strip (six icons) between summary and tabs */
.mw-promise { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 30px 0 0; padding: 22px 0; list-style: none; box-shadow: 0 -14px 20px -16px rgba(0,0,0,.18); }
.mw-promise li { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 12px; text-align: center; border-right: 1px solid var(--mw-border); }
.mw-promise li:last-child { border-right: 0; }
.mw-promise__icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 8px; border-radius: 50%; background: var(--mw-red); color: #fff; }
.mw-promise__icon .mw-icon { width: 22px; height: 22px; }
.mw-promise b { font-family: var(--mw-font-head); font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--mw-black); }
.mw-promise small { font-size: 13px; line-height: 1.4; color: #555; }

/* Tabs and related */
.woocommerce div.product .woocommerce-tabs { margin-top: 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 28px; padding: 0 !important; margin: 0 0 24px !important; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 0 0 8px !important; border-bottom: 2px solid #d8d8d8; font-size: 16px; font-weight: 700 !important; text-transform: uppercase; color: #a5a5a5 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #131315 !important; border-bottom-color: var(--mw-red); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; font-size: 16px; line-height: 1.65; color: #333; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 27px; font-weight: 700; color: #131315; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 21px; color: #131315; }
.woocommerce-Tabs-panel--description table { width: 100%; max-width: 640px; border-collapse: collapse; margin-bottom: 1.5em; }
.woocommerce-Tabs-panel--description th, .woocommerce-Tabs-panel--description td { border: 1px solid var(--mw-border); padding: 9px 12px; text-align: left; }
.woocommerce-Tabs-panel--description th { background: var(--mw-light); width: 34%; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { text-align: center; text-transform: uppercase; font-size: 22px; margin: 30px 0 24px; }
.woocommerce ul.products.columns-5 { --mw-cols: 5; }
.mw-rating-summary { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 30px; align-items: center; margin: 0 0 30px; padding: 24px; background: var(--mw-light); border-radius: 6px; }
.mw-rating-summary__score { text-align: center; }
.mw-rating-summary__score b { display: block; font-size: 48px; line-height: 1; font-weight: 900; color: var(--mw-black); }
.mw-rating-summary__score .star-rating { float: none; margin: 10px auto 6px !important; color: #f5a623; }
.mw-rating-summary__score span { font-size: 13px; color: var(--mw-muted); }
.mw-rating-summary__bars { display: grid; gap: 7px; }
.mw-rating-summary__bars div { display: grid; grid-template-columns: 34px minmax(0, 1fr) 30px; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; }
.mw-rating-summary__bars i { height: 8px; border-radius: 4px; background: #ddd; overflow: hidden; }
.mw-rating-summary__bars em { display: block; height: 100%; background: #f5a623; }
.mw-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 10px 0; background: #fff; box-shadow: 0 -6px 20px rgba(0,0,0,.12); transform: translateY(110%); transition: transform .3s; }
.mw-sticky-atc.is-visible { transform: none; }
.mw-sticky-atc .mw-container { display: flex; align-items: center; gap: 14px; }
.mw-sticky-atc img { width: 39px; height: 52px; object-fit: cover; border-radius: 3px; background: var(--mw-light); }
.mw-sticky-atc__info { flex: 1; min-width: 0; }
.mw-sticky-atc__info strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 15px; color: var(--mw-black); }
.mw-sticky-atc__info .price { font-size: 15px; font-weight: 700; color: #131315; }
.mw-sticky-atc__info .price del { margin-right: 6px; font-weight: 400; color: #8a8a8a; }
.mw-sticky-atc__info .price ins { text-decoration: none; }
.mw-sticky-atc .button { flex: none; height: 46px; padding: 0 30px !important; background: var(--mw-red-dark) !important; text-transform: capitalize; }
.mw-has-sticky-atc .mw-to-top { bottom: 90px; }
.single-product .mw-footer { padding-bottom: 72px; }

/* Scrollable SEO content box (homepage + category pages) */
.term-description, .mw-content-box { max-height: 376px; overflow-y: auto; margin: 30px 0; padding: 30px; border: 1px solid #e7e7e7; background: #fff; font-size: 15px; line-height: 1.7; color: #444; scrollbar-width: thin; }
.mw-content-box { max-height: 430px; }
.term-description > :first-child, .mw-content-box > :first-child { margin-top: 0; }
.term-description > :last-child, .mw-content-box > :last-child { margin-bottom: 0; }
.term-description h1, .term-description h2, .mw-content-box h1, .mw-content-box h2 { font-size: 22px; color: #131315; }
.term-description h3, .mw-content-box h3 { font-size: 18px; color: #131315; }
.term-description a, .mw-content-box a { color: var(--mw-red); text-decoration: underline; }
.mw-section--content { padding-top: 10px; padding-bottom: 10px; }

/* Cart / checkout / account */
.woocommerce table.shop_table { border-radius: var(--mw-radius); border-collapse: collapse !important; }
.woocommerce table.shop_table th { text-transform: uppercase; font-size: 13px; letter-spacing: .04em; background: var(--mw-light); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--mw-red) !important; background: var(--mw-light) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--mw-red) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--mw-border); border-radius: var(--mw-radius); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 16px; border-bottom: 1px solid var(--mw-border); font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--mw-red); color: #fff; }
.wc-block-components-button:not(.is-link) { background: var(--mw-red-dark) !important; color: #fff !important; border-radius: var(--mw-radius) !important; }

/* Checkout steps bar */
.mw-steps { padding: 22px 0; }
.mw-steps__list { display: flex; justify-content: center; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.mw-steps__list li { display: flex; align-items: center; font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: #aaa; }
.mw-steps__list li + li::before { content: ""; width: 54px; height: 2px; margin: 0 18px; background: #d5d5d5; }
.mw-steps__list li.is-done + li::before, .mw-steps__list li.is-done::before { background: var(--mw-red); }
.mw-steps__list a { display: flex; align-items: center; color: var(--mw-black); }
.mw-steps__list a:hover { color: var(--mw-red); }
.mw-steps__list .is-current { color: var(--mw-black); }
.mw-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-right: 10px; border-radius: 50%; background: #d5d5d5; color: #fff; font-size: 14px; }
.mw-steps__list .is-current .mw-steps__num, .mw-steps__list .is-done .mw-steps__num { background: var(--mw-red); }

/* Highlights strip (help pages, cart & checkout) */
.mw-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin: 0 0 26px; }
.mw-highlights__item { display: flex; gap: 12px; align-items: center; padding: 16px; background: var(--mw-light); border-radius: 6px; }
.mw-highlights__item > svg { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: #fff; color: var(--mw-red); stroke-width: 1.7; box-shadow: var(--mw-shadow); }
.mw-highlights__item strong { display: block; font-size: 14px; color: var(--mw-black); text-transform: uppercase; letter-spacing: .02em; }
.mw-highlights__item span { display: block; font-size: 13px; color: var(--mw-muted); line-height: 1.4; }

/* Cart & checkout (WooCommerce blocks) */
.mw-checkout-flow { padding-top: 6px; }
.mw-checkout-flow .wp-block-woocommerce-cart, .mw-checkout-flow .wp-block-woocommerce-checkout { margin: 0 !important; max-width: none; }
.mw-checkout-flow a { text-decoration: none; }
.mw-checkout-flow .wc-block-components-sidebar-layout { margin-bottom: 0; }
.mw-checkout-flow .wc-block-cart__main, .mw-checkout-flow .wc-block-checkout__main { padding-right: 0; }
.wc-block-cart .wc-block-cart__main { background: #fff; border: 1px solid var(--mw-border); border-radius: 6px; padding: 6px 26px 10px; }
.wc-block-cart .wc-block-cart-items { margin: 0; }
.wc-block-cart .wc-block-cart-items th, .wc-block-cart .wc-block-cart__totals-title { font-size: 13px !important; font-weight: 900 !important; text-transform: uppercase; letter-spacing: .05em; color: var(--mw-black) !important; }
.wc-block-cart .wc-block-cart-items td { padding-top: 22px !important; padding-bottom: 22px !important; }
.wc-block-cart .wc-block-cart-items__row:last-child td { border-bottom: 0 !important; }
.wc-block-cart .wc-block-cart-item__image img { width: 100%; border-radius: 6px; background: var(--mw-light); }
.wc-block-components-product-name { color: var(--mw-black) !important; font-size: 15px !important; font-weight: 700; line-height: 1.35; text-decoration: none !important; }
.wc-block-components-product-name:hover { color: var(--mw-red) !important; }
.wc-block-components-product-price ins, .wc-block-components-product-price__value.is-discounted { color: var(--mw-red-dark); font-weight: 700; text-decoration: none; }
.wc-block-components-product-price del { color: #999; }
.wc-block-components-product-metadata { font-size: 13px !important; color: var(--mw-muted); }
.wc-block-components-sale-badge { background: var(--mw-red-dark) !important; color: #fff !important; border: 0 !important; border-radius: 3px !important; font-weight: 700; }
.wc-block-components-quantity-selector { border-radius: var(--mw-radius) !important; }
.wc-block-components-quantity-selector::after { border-color: #ccc !important; border-radius: var(--mw-radius) !important; }
.wc-block-components-quantity-selector input { font-weight: 700; box-shadow: none; }
.wc-block-components-quantity-selector button:hover { color: var(--mw-red) !important; }
.wc-block-cart-item__remove-link:hover { color: var(--mw-red) !important; }
.wc-block-cart.is-large .wc-block-cart__main, .wc-block-cart.is-medium .wc-block-cart__main { width: calc(65% - 30px) !important; margin-right: 30px; }
.wc-block-cart .wc-block-cart-items { border-bottom: 0 !important; }
.wc-block-cart .wp-block-woocommerce-cart-totals-block { background: var(--mw-light); border: 1px solid var(--mw-border); border-radius: 6px; padding: 20px 22px 24px; }
.wc-block-cart .wc-block-cart__totals-title { display: block !important; padding: 0 0 14px !important; margin: 0 !important; border-bottom: 2px solid var(--mw-black); text-align: left !important; }
.wc-block-components-totals-wrapper { border-color: #ddd !important; }
.wc-block-components-totals-item__label { font-size: 14px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 20px !important; font-weight: 900 !important; color: var(--mw-black); }
.wc-block-components-panel__button { font-weight: 700; }
.wc-block-cart__submit { margin: 18px 0 0 !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; min-height: 54px; font-size: 16px !important; font-weight: 900 !important; letter-spacing: .05em; text-transform: uppercase; text-decoration: none !important; box-shadow: 0 6px 16px rgba(184,29,33,.25); transition: background .2s, transform .2s !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--mw-black) !important; transform: translateY(-1px); }
.wc-block-components-button .wc-block-components-button__text { text-decoration: none; }
.wc-block-cart__payment-options, .wc-block-cart__submit-container + * { text-align: center; }

/* Checkout form */
.wc-block-checkout__form { counter-reset: mwstep; }
.wc-block-checkout .wc-block-components-checkout-step { background: #fff; border: 1px solid var(--mw-border); border-radius: 6px; padding: 22px 24px 8px !important; margin: 0 0 18px !important; }
.wc-block-checkout .wc-block-components-checkout-step::after { display: none !important; }
.wc-block-components-checkout-step__heading { margin: 0 0 14px !important; }
.wc-block-components-checkout-step__title { display: flex !important; align-items: center; gap: 10px; font-size: 18px !important; font-weight: 900 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--mw-black); }
.wc-block-components-checkout-step__title::before { counter-increment: mwstep; content: counter(mwstep); display: inline-flex; align-items: center; justify-content: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--mw-red); color: #fff; font-size: 14px; }
.wc-block-components-checkout-step__container::after { display: none !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea { border: 1px solid #cfcfcf !important; border-radius: var(--mw-radius) !important; background: #fff !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s; }
.wc-block-components-text-input input:focus, .wc-block-components-combobox .wc-block-components-combobox-control input:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus, .wc-block-components-textarea:focus { border-color: var(--mw-red) !important; box-shadow: 0 0 0 3px rgba(217,18,31,.12) !important; outline: none !important; }
.wc-block-components-text-input.has-error input { border-color: var(--mw-red) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option { border-radius: var(--mw-radius); }
.wc-block-components-radio-control--highlight-checked::after { border-color: #cfcfcf !important; border-radius: var(--mw-radius) !important; }
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--mw-red) !important; border-radius: var(--mw-radius) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--mw-red) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--mw-red) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--mw-red) !important; border-color: var(--mw-red) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; }
.wc-block-checkout__terms { font-size: 13px; color: var(--mw-muted); }
.wc-block-checkout__terms a { color: var(--mw-red); text-decoration: underline; }
.wc-block-checkout__actions { padding-top: 6px; }
.wc-block-checkout__actions_row { align-items: center; }
.wc-block-components-checkout-return-to-cart-button { font-weight: 700; color: var(--mw-black) !important; }
.wc-block-checkout .wc-block-checkout__sidebar { padding-left: 34px; }
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { background: var(--mw-light); border: 1px solid var(--mw-border) !important; border-radius: 6px !important; }
@media (max-width: 760px) {
	.wc-block-components-checkout-order-summary__title { padding: 14px 16px !important; }
}
.wc-block-components-checkout-order-summary__title-text { font-size: 18px !important; font-weight: 900 !important; text-transform: uppercase; letter-spacing: .02em; color: var(--mw-black); }
.wc-block-components-order-summary-item__quantity { background: var(--mw-black) !important; color: #fff !important; border: 2px solid #fff !important; box-shadow: none !important; }
.wc-block-components-order-summary-item__image img { border-radius: 6px; }

/* Trust strip under cart & checkout */
.mw-checkout-trust { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--mw-border); }
.mw-checkout-trust .mw-highlights { margin-bottom: 18px; }
.mw-checkout-trust__pay { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; font-size: 13px; color: var(--mw-muted); }
.mw-checkout-trust__pay span { margin-right: 4px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.mw-checkout-trust__pay b { padding: 5px 10px; border: 1px solid var(--mw-border); border-radius: 3px; font-size: 11px; color: var(--mw-black); background: #fff; }

/* Help & Information pages */
.mw-help { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 36px; align-items: start; }
.mw-help__aside { position: sticky; top: 90px; display: grid; gap: 18px; }
.mw-help__nav { border: 1px solid var(--mw-border); border-radius: 6px; overflow: hidden; }
.mw-help__nav h3 { margin: 0; padding: 14px 18px; background: var(--mw-nav); color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .05em; }
.mw-help__menu { list-style: none; margin: 0; padding: 6px 0; }
.mw-help__menu a { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; font-size: 14px; font-weight: 700; color: var(--mw-text); border-left: 3px solid transparent; }
.mw-help__menu a::after { content: ""; width: 6px; height: 6px; border-top: 2px solid #bbb; border-right: 2px solid #bbb; transform: rotate(45deg); }
.mw-help__menu a:hover { color: var(--mw-red); background: #fafafa; }
.mw-help__menu .current-menu-item > a { color: var(--mw-red); background: #fff5f5; border-left-color: var(--mw-red); }
.mw-help__menu .current-menu-item > a::after { border-color: var(--mw-red); }
.mw-help__card { padding: 22px 20px; background: var(--mw-light); border-radius: 6px; text-align: center; }
.mw-help__card > svg { width: 44px; height: 44px; color: var(--mw-red); stroke-width: 1.5; margin-bottom: 6px; }
.mw-help__card strong { display: block; font-size: 17px; color: var(--mw-black); margin-bottom: 6px; }
.mw-help__card p { font-size: 13.5px; color: var(--mw-muted); margin-bottom: 14px; }
.mw-help__card .mw-btn { display: block; }
.mw-help__mail { display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 12px; font-size: 13.5px; font-weight: 700; word-break: break-all; }
.mw-help__mail svg { width: 18px; height: 18px; color: var(--mw-red); flex: none; }
.mw-help__body { min-width: 0; }
.mw-help__content { font-size: 15.5px; line-height: 1.75; color: #444; }
.mw-help__content > *:first-child { margin-top: 0; }
.mw-help__content h2 { position: relative; margin: 1.6em 0 .7em; padding-bottom: 10px; font-size: 21px; text-transform: uppercase; letter-spacing: .02em; }
.mw-help__content h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: var(--mw-red); }
.mw-help__content h3 { font-size: 17px; margin-top: 1.4em; }
.mw-help__content a { color: var(--mw-red); text-decoration: underline; }
.mw-help__content ul { list-style: none; padding: 0; }
.mw-help__content ul li { position: relative; padding: 6px 0 6px 30px; }
.mw-help__content ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; border-radius: 50%; background: var(--mw-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat; }
.mw-help__content table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 0 1.6em; border: 1px solid var(--mw-border); border-radius: 6px; overflow: hidden; font-size: 14.5px; }
.mw-help__content th, .mw-help__content td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--mw-border); }
.mw-help__content tr:last-child th, .mw-help__content tr:last-child td { border-bottom: 0; }
.mw-help__content th { background: var(--mw-light); color: var(--mw-black); width: 30%; }
.mw-help__content tr:first-child:not(:has(td)) th { width: auto; background: var(--mw-nav); color: #fff; text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }
.mw-help__content tr:nth-child(even) td { background: #fafafa; }
.mw-help--size-chart .mw-help__content td:first-child { font-weight: 900; color: var(--mw-black); }
.mw-help__updated { display: inline-block; margin: 0 0 20px; padding: 4px 12px; background: var(--mw-light); border-radius: 20px; font-size: 12.5px; color: var(--mw-muted); text-transform: uppercase; letter-spacing: .04em; }
.mw-help__hero { position: relative; display: flex; align-items: flex-end; min-height: 300px; margin-bottom: 30px; padding: 30px; border-radius: 6px; overflow: hidden; background: var(--mw-nav) center / cover no-repeat; }
.mw-help__hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.05) 70%); }
.mw-help__hero > div { position: relative; color: #fff; }
.mw-help__hero em { display: block; font-style: normal; font-size: 13px; font-weight: 700; color: var(--mw-yellow); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 6px; }
.mw-help__hero strong { display: block; font-size: 32px; line-height: 1.15; font-weight: 900; text-transform: uppercase; max-width: 560px; }
.mw-help--about-us .mw-highlights { margin-top: 30px; }
.mw-help__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 30px; padding: 22px 26px; border-radius: 6px; background: var(--mw-black); color: #fff; }
.mw-help__cta span { font-size: 17px; font-weight: 700; }
.mw-help__cta .mw-btn:hover { background: #fff !important; color: var(--mw-black) !important; }
.mw-help--faqs .mw-faq { max-width: none; }
.mw-help--faqs .mw-help__content h2 { margin-top: 1.4em; }
.mw-help--faqs .mw-help__content h2:first-child { margin-top: 0; }

/* Contact page */
.mw-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 30px; align-items: start; }
.mw-contact__info h2:first-child { margin-top: 0; }
.mw-contact__line { display: flex; align-items: center; gap: 14px; margin-top: 12px; padding: 14px 16px; border: 1px solid var(--mw-border); border-radius: 6px; color: var(--mw-black); text-decoration: none !important; }
.mw-contact__line svg { flex: none; width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--mw-light); color: var(--mw-red); }
.mw-contact__line small { display: block; font-size: 12px; color: var(--mw-muted); text-transform: uppercase; letter-spacing: .05em; }
.mw-contact__line span { font-weight: 700; word-break: break-word; }
a.mw-contact__line:hover { border-color: var(--mw-red); }
.mw-contact-form { padding: 26px; background: var(--mw-light); border-radius: 6px; }
.mw-contact-form h2 { font-size: 21px; text-transform: uppercase; margin-bottom: 18px; }
.mw-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.mw-contact-form p { margin: 0 0 14px; }
.mw-contact-form label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 700; color: var(--mw-black); text-transform: uppercase; letter-spacing: .03em; }
.mw-contact-form abbr { color: var(--mw-red); text-decoration: none; }
.mw-contact-form input, .mw-contact-form textarea { box-shadow: none; }
.mw-contact-form input:focus, .mw-contact-form textarea:focus { border-color: var(--mw-red); box-shadow: 0 0 0 3px rgba(217,18,31,.12); }
.mw-contact-form button { width: 100%; padding: 14px; font-size: 15px; }
.mw-hp { position: absolute !important; left: -9999px; }
.mw-notice { padding: 12px 16px; border-radius: var(--mw-radius); font-size: 14px; font-weight: 700; }
.mw-notice--success { background: #e9f7ef; color: #1e7b45; border-left: 4px solid #1e7b45; }
.mw-notice--error { background: #fdecec; color: var(--mw-red-dark); border-left: 4px solid var(--mw-red); }

/* Blog / page content */
/* Blog (reference layout): boxed posts on the left, sidebar on the right */
.mw-main--blog { padding-top: 30px; }
.mw-blog { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 30px; align-items: start; }
.mw-blog-main { min-width: 0; }
.mw-blog-entry { margin-bottom: 30px; background: #fff; box-shadow: 0 1px 3px -2px rgba(0,0,0,.12), 0 1px 10px rgba(0,0,0,.12); }
.mw-blog-entry__head { padding: 22px 30px 26px; text-align: center; }
.mw-blog-entry__cats { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.mw-blog-entry__cats a, .mw-blog-entry__byline a, .mw-blog-entry__foot a { color: var(--mw-red-dark); }
.mw-blog-entry__title { margin: 6px 0 0; font-size: 26px; line-height: 1.3; font-weight: 700; color: #131315; }
.mw-blog-entry__title a { color: inherit; }
.mw-blog-entry__title a:hover { color: var(--mw-red-dark); }
.mw-blog-entry__divider { display: block; width: 30px; height: 3px; margin: 14px auto 0; background: rgba(0,0,0,.1); }
.mw-blog-entry__byline { margin-top: 18px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #333; }
.mw-blog-entry__media { position: relative; }
.mw-blog-entry__media img { display: block; width: 100%; height: auto; }
.mw-blog-entry__date { position: absolute; top: 30px; left: -5px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 42px; height: 42px; border: 2px solid var(--mw-red-dark); background: #fff; color: var(--mw-red-dark); font-size: 11px; line-height: 1; }
.mw-blog-entry__date b { font-size: 15px; font-weight: 700; }
.mw-blog-entry__body { padding: 26px 24px 4px; font-size: 15px; line-height: 1.75; color: #333; }
.mw-blog-entry__more { text-align: center; }
.mw-blog-entry__more a { display: inline-block; padding: 4px 12px; border: 2px solid var(--mw-red-dark); color: var(--mw-red-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.mw-blog-entry__more a:hover { background: var(--mw-red-dark); color: #fff; }
.mw-blog-entry__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 12px 20px; border-top: 1px solid #ececec; font-size: 12px; line-height: 1.6; color: #444; }
.mw-blog-entry__foot > span { flex: 1 1 60%; }
.mw-blog-comments { padding: 24px; margin-bottom: 30px; background: #fff; box-shadow: 0 1px 10px rgba(0,0,0,.12); }
.mw-blog-side .widget { margin-bottom: 34px; }
.mw-blog-side .widget-title, .mw-blog-side h2 { margin: 0 0 22px; padding-bottom: 14px; position: relative; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #222; }
.mw-blog-side .widget-title::after, .mw-blog-side h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 3px; background: rgba(0,0,0,.1); }
.mw-blog-side ul { margin: 0; padding: 0; list-style: none; }
.mw-blog-side li { padding: 7px 0; border-bottom: 1px solid #ececec; font-size: 14px; }
.mw-blog-side li a { color: var(--mw-red-dark); }
.mw-blog-search { display: flex; }
.mw-blog-search input[type="search"] { flex: 1; min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--mw-red-dark); border-right: 0; border-radius: 0; color: var(--mw-red-dark); }
.mw-blog-search button { width: 38px; border: 0; background: var(--mw-red-dark); color: #fff; cursor: pointer; }
.mw-blog-search button svg { width: 18px; height: 18px; }
.mw-side-list li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; }
.mw-side-list__img { flex: none; width: 45px; }
.mw-side-list__img img { display: block; width: 45px; height: 45px; object-fit: cover; }
.mw-side-list--products .mw-side-list__img, .mw-side-list--products .mw-side-list__img img { width: 52px; height: 66px; }
.mw-side-list li > span { min-width: 0; line-height: 1.35; }
.mw-side-list small { display: block; margin-top: 4px; font-size: 11px; color: var(--mw-muted); }
.mw-side-list .price { display: block; margin-top: 4px; font-weight: 700; color: #131315; }
.mw-side-list .price del { margin-right: 4px; font-weight: 400; color: #8a8a8a; }
.mw-side-list .price ins { text-decoration: none; }
.mw-entry { max-width: 860px; margin: 0 auto; }
.mw-entry__thumb { margin-bottom: 24px; border-radius: var(--mw-radius); overflow: hidden; }
.mw-entry__meta { font-size: 13px; color: var(--mw-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 18px; }
.mw-entry__content { font-size: 16px; line-height: 1.75; }
.mw-entry__content h2 { margin-top: 1.4em; }
.mw-entry__content a { color: var(--mw-red); text-decoration: underline; }
.mw-entry__content img { border-radius: var(--mw-radius); }
.mw-entry__content table { width: 100%; border-collapse: collapse; margin-bottom: 1.5em; }
.mw-entry__content th, .mw-entry__content td { border: 1px solid var(--mw-border); padding: 10px 12px; text-align: left; }
.mw-entry__content th { background: var(--mw-light); }
.mw-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 30px; }
.mw-pagination .page-numbers { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--mw-border); border-radius: 50%; font-weight: 700; }
.mw-pagination .page-numbers.current, .mw-pagination a.page-numbers:hover { background: var(--mw-red); border-color: var(--mw-red); color: #fff; }
.mw-pagination .prev, .mw-pagination .next { width: auto; padding: 0 16px; border-radius: 19px; }
.mw-404 { text-align: center; padding: 60px 0; }
.mw-404 b { display: block; font-size: 120px; line-height: 1; font-weight: 900; color: var(--mw-red); }

/* ============ Responsive ============ */
/* The category menu needs ~1,270px on one line; below that it wraps instead of spilling off both edges. */
@media (max-width: 1279px) {
	.mw-menu { flex-wrap: wrap; }
}
@media (max-width: 1100px) {
	.mw-ship-badge { display: none; }
	.mw-products--5, .woocommerce ul.products.columns-5 { --mw-cols: 4; }
	.mw-cats { grid-template-columns: repeat(3, 1fr); }
	.mw-benefits { grid-template-columns: repeat(2, 1fr); }
	.mw-menu > li > a { padding: 0 9px; font-size: 12.5px; }
	.mw-promise { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 22px; }
	.mw-promise li:nth-child(3n) { border-right: 0; }
}
@media (max-width: 900px) {
	.mw-header__main { height: 66px; }
	.mw-header__main .mw-container { gap: 10px; }
	.mw-burger { display: block; }
	.mw-logo { margin: 0 auto; }
	.mw-logo__text b { font-size: 21px; }
	.mw-logo__text small { font-size: 8.5px; }
	.mw-logo img { max-height: 46px; }
	.mw-header .mw-search, .mw-header__actions .mw-hide-sm, .mw-cart-total { display: none; }
	.mw-header__actions { margin-left: 0; gap: 12px; }
	.mw-nav { display: none; }
	.mw-mobile-search { display: block !important; padding: 8px 16px; background: var(--mw-nav); }
	.mw-mobile-search .mw-search { max-width: none; display: block; }
	.mw-mobile-search .mw-search form { border-color: var(--mw-nav); }
	.mw-hero__grid, .mw-hero__row2 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
	.mw-topbar__track { white-space: normal; font-size: 12.5px; line-height: 1.4; }
	.mw-hero__grid > .mw-banner--main { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 5 / 4; height: auto; }
	.mw-hero--full .mw-hero__grid { height: auto; min-height: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
	.mw-hero--full .mw-hero__grid > .mw-banner--main { aspect-ratio: auto; height: calc(100svh - 160px); min-height: 420px; }
	.mw-hero--full .mw-hero__col { grid-template-rows: none; }
	.mw-hero--full .mw-hero__col .mw-banner { aspect-ratio: 10 / 7; height: auto; }
	.mw-hero__row2 > .mw-banner { aspect-ratio: 3 / 4; height: auto; min-height: 0; }
	.mw-hero__mid .mw-banner--wide { aspect-ratio: 2 / 1; }
	.mw-hero__row2 > .mw-hero__mid { grid-column: 1 / -1; grid-row: 1; }
	.mw-products--5, .mw-products--4, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3 { --mw-cols: 3; }
	.mw-trust__grid { grid-template-columns: 1fr 1fr; }
	.mw-trust__item:nth-child(2) { border-right: 0; }
	.mw-trust__item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
	.mw-story { grid-template-columns: 1fr; gap: 36px; }
	.mw-about__row { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.mw-about__row + .mw-about__row { margin-top: 56px; }
	.mw-about__media { margin: 0 auto 20px; }
	.mw-about__media::after { display: none; }
	.mw-about__media::before { top: 30px; bottom: -14px; }
	.mw-about__media--right::before { left: -14px; right: 16px; }
	.mw-about__media--left::before { left: 16px; right: -14px; }
	.mw-custom { flex-direction: column; justify-content: center; gap: 14px; padding: 28px 20px; text-align: center; }
	.mw-custom__text { flex: none; }
	.mw-story--reverse .mw-story__media { order: -1; }
	.mw-posts, .mw-seasonal { grid-template-columns: 1fr 1fr; }
	.mw-footer__grid { grid-template-columns: 1fr 1fr; }
	.mw-content-wrap { grid-template-columns: 1fr; }
	.mw-content-wrap > .mw-sidebar, .mw-content-wrap > .mw-shop-main { grid-column: 1; grid-row: auto; }
	.mw-blog { grid-template-columns: minmax(0, 1fr); }
	.mw-main--blog { padding-top: 16px; }
	.mw-blog-entry__head { padding: 18px 16px 20px; }
	.mw-blog-entry__title { font-size: 21px; }
	.mw-blog-entry__body { padding: 20px 16px 4px; }
	.mw-blog-entry__date { top: 14px; left: 10px; }
	.mw-sidebar { display: none; }
	.mw-sidebar.is-open { display: block; }
	.mw-main--product { padding-top: 16px; }
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.woocommerce div.product > span.onsale { left: auto; right: 10px; }
	.woocommerce div.product div.images.woocommerce-product-gallery { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 520px; width: 100% !important; margin: 0 auto !important; }
	.woocommerce div.product div.images .flex-viewport, .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { grid-column: 1; }
	.woocommerce div.product div.images .flex-control-thumbs { grid-row: 2; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; }
	.woocommerce div.product div.images .flex-control-thumbs li { width: 64px !important; }
	.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: auto; bottom: 12px; left: auto; right: 12px; }
	.woocommerce-product-gallery .flex-direction-nav { left: 0; }
	.single-product .woocommerce-product-gallery::before { left: 0; }
	.woocommerce div.product .summary > .woocommerce-breadcrumb { display: none; }
	.woocommerce-Tabs-panel--description table { display: block; overflow-x: auto; }
	.woocommerce ul.products.columns-5 { --mw-cols: 3; }
	.mw-rating-summary { grid-template-columns: 1fr; gap: 18px; }
	.mw-help { grid-template-columns: 1fr; gap: 28px; }
	.mw-help__aside { position: static; order: 2; grid-template-columns: 1fr 1fr; }
	.mw-contact { grid-template-columns: 1fr; }
	.wc-block-cart .wc-block-cart__sidebar, .wc-block-checkout .wc-block-checkout__sidebar { padding-left: 0; }
	.mw-steps__list li { font-size: 14px; }
	.mw-steps__list li + li::before { width: 28px; margin: 0 10px; }
}
@media (max-width: 600px) {
	body { font-size: 14px; }
	h1, .mw-story h1, .mw-story h2 { font-size: 24px; }
	.mw-story__media::after { inset: 12px -12px -12px 12px; }
	.mw-story--reverse .mw-story__media::after { inset: 12px 12px -12px -12px; }
	.mw-section { padding: 32px 0; }
	.mw-title h2 { font-size: 19px; }
	.mw-products--5, .mw-products--4, .woocommerce ul.products.columns-5, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3 { --mw-cols: 2; gap: 14px 10px; }
	.mw-shop-bar { flex-wrap: wrap; gap: 10px; }
	.woocommerce .mw-shop-bar .woocommerce-result-count { order: 3; width: 100%; font-size: 13px; }
	.mw-shop-main > .mw-sidebar { padding: 18px 16px 0; }
	.mw-shop-main > .mw-sidebar.is-open { grid-template-columns: minmax(0, 1fr); }
	.mw-promise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mw-promise li, .mw-promise li:nth-child(3n) { border-right: 1px solid var(--mw-border); }
	.mw-promise li:nth-child(2n) { border-right: 0; }
	.mw-promise small { font-size: 12px; }
	.mw-card__title { font-size: 13px; }
	.mw-card .price { font-size: 13.5px; }
	.mw-card__quick { display: none; }
	.woocommerce ul.products li.mw-card > .onsale, .mw-card > .onsale { top: 6px; right: 6px; width: 46px; height: 46px; font-size: 8px; }
	.mw-card > .onsale small { font-size: 8.5px; }
	.mw-card > .onsale b { font-size: 10px; }
	.mw-card > .onsale small:last-child { font-size: 7.5px; }
	.mw-best-seller { top: 6px; left: 6px; padding: 2px 7px; }
	.mw-steps { padding: 16px 0; }
	.mw-steps__list li, .mw-steps__list a { flex-direction: column; gap: 4px; font-size: 11px; text-align: center; }
	.mw-steps__list li + li::before { display: none; }
	.mw-steps__list { justify-content: space-around; }
	.mw-steps__num { margin: 0; }
	.mw-help__aside { grid-template-columns: 1fr; }
	.mw-help__hero { min-height: 220px; padding: 20px; }
	.mw-help__hero strong { font-size: 23px; }
	.mw-contact-form { padding: 18px; }
	.mw-contact-form__row { grid-template-columns: 1fr; }
	.wc-block-cart .wc-block-cart__main { padding: 4px 14px 6px; }
	.wc-block-checkout .wc-block-components-checkout-step { padding: 18px 16px 4px !important; }
	.mw-help__content table { display: block; overflow-x: auto; }
	.mw-hero__grid, .mw-hero__row2 { gap: 10px; }
	.mw-hero__col, .mw-hero__mid { gap: 10px; }
	.mw-banner__label { padding: 12px; }
	.mw-banner__label strong { font-size: 14px; }
	.mw-banner__eyebrow { font-size: 9px; padding: 2px 6px; margin-bottom: 5px; letter-spacing: .14em; }
	.mw-banner__cta { margin-top: 7px; padding: 5px 10px; font-size: 10px; }
	.mw-banner--main .mw-banner__label { padding: 18px; }
	.mw-banner--main .mw-banner__label strong { font-size: 24px; }
	.mw-cats { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.mw-cat strong { font-size: 12px; }
	.mw-benefits, .mw-posts, .mw-seasonal { grid-template-columns: 1fr; }
	.mw-trust__item { padding: 16px 10px; gap: 10px; }
	.mw-trust__item svg { width: 30px; height: 30px; }
	.mw-trust__item strong { font-size: 12px; }
	.mw-trust__item span { font-size: 11.5px; }
	.mw-footer__grid { grid-template-columns: 1fr; gap: 26px; }
	.mw-footer__bottom .mw-container { justify-content: center; text-align: center; }
	.mw-cta h2 { font-size: 24px; }
	.mw-cta .mw-btn { display: block; margin: 0 0 10px !important; }
	.mw-newsletter form { flex-basis: 100%; }
	.mw-stats { gap: 20px; }
	.mw-product-trust { grid-template-columns: 1fr; }
	.woocommerce ul.products.columns-5 { --mw-cols: 2; }
	.woocommerce div.product .product_title { font-size: 21px; }
	.woocommerce div.product .mw-sp-price p.price { font-size: 21px !important; }
	.mw-sp-price { gap: 8px 20px; }
	.mw-sp-buy { padding: 12px 13px; }
	.term-description, .mw-content-box { padding: 18px; }
	.mw-sticky-atc img { display: none; }
	.mw-sticky-atc .button { padding: 0 18px !important; font-size: 13px; }
	.mw-sticky-atc__info strong { font-size: 13px; }
}

/* ============ Blog: hero, cards, single post, homepage section ============ */
.mw-blog-hero { margin-bottom: 40px; padding: 60px 0 50px; background: linear-gradient(rgba(20,20,20,.78), rgba(20,20,20,.88)), url("assets/img/banner-2.jpg") center 30% / cover, var(--mw-black); color: #fff; text-align: center; }
.mw-blog-hero__eyebrow { display: inline-block; margin-bottom: 16px; padding: 5px 14px; background: var(--mw-red-dark); font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.mw-blog-hero h1 { max-width: 780px; margin: 0 auto 12px; font-family: var(--mw-font-head); font-size: clamp(28px, 4vw, 46px); font-weight: 800; line-height: 1.1; text-transform: uppercase; color: #fff; }
.mw-blog-hero p { max-width: 560px; margin: 0 auto; font-size: 16px; color: #ddd; }
.mw-blog-hero__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.mw-blog-hero__cats a { padding: 7px 18px; border: 1px solid rgba(255,255,255,.4); border-radius: 30px; color: #fff; font-size: 13px; font-weight: 600; transition: background .2s, border-color .2s; }
.mw-blog-hero__cats a:hover, .mw-blog-hero__cats a.is-active { background: var(--mw-red); border-color: var(--mw-red); color: #fff; }

.mw-posts--blog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mw-post { border-radius: 6px; overflow: hidden; }
.mw-post__media img { display: block; }
.mw-post__date { background: var(--mw-red-dark); }
.mw-post__cat { align-self: flex-start; margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mw-red-dark); }
.mw-post__body h2, .mw-post__body h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.35; }
.mw-post__body h2 a, .mw-post__body h3 a { color: #131315; }
.mw-post__body h2 a:hover, .mw-post__body h3 a:hover { color: var(--mw-red-dark); }
.mw-post__body p { margin: 0 0 16px; line-height: 1.65; }
.mw-post__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--mw-border); }
.mw-post__meta { font-size: 12px; color: var(--mw-muted); }
.mw-post--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; }
.mw-post--featured .mw-post__media { aspect-ratio: auto; min-height: 340px; }
.mw-post--featured .mw-post__body { padding: 34px 36px; justify-content: center; }
.mw-post--featured .mw-post__body h2 { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.25; }
.mw-post--featured .mw-post__body p { flex: none; font-size: 15px; }

.mw-section--blog { background: var(--mw-light); }
.mw-section--blog .mw-center { margin-top: 32px; }

.mw-blog-entry__byline span { margin: 0 6px; }
.mw-blog-entry .mw-entry__content { max-width: 760px; margin: 0 auto; }
.mw-entry__content h2 { position: relative; padding-left: 14px; font-size: 22px; line-height: 1.3; }
.mw-entry__content h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 4px; border-radius: 2px; background: var(--mw-red); }
.mw-entry__content ul { padding-left: 0; list-style: none; }
.mw-entry__content ul li { position: relative; margin-bottom: 8px; padding-left: 22px; }
.mw-entry__content ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--mw-red); }
.mw-entry__content table { font-size: 15px; }
.mw-entry__content th { background: var(--mw-black); color: #fff; }
.mw-entry__content tr:nth-child(even) td { background: #fafafa; }
.mw-blog-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; padding: 26px 30px; border-radius: 6px; background: var(--mw-black); color: #fff; }
.mw-blog-cta strong { display: block; font-family: var(--mw-font-head); font-size: 20px; text-transform: uppercase; }
.mw-blog-cta span { display: block; margin-top: 4px; font-size: 14px; color: #ccc; }
.mw-blog-cta .mw-btn { flex: none; }
.mw-related-posts { margin-bottom: 30px; }

@media (max-width: 1024px) {
	.mw-post--featured { grid-template-columns: 1fr; }
	.mw-post--featured .mw-post__media { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
	.mw-blog-hero { margin-bottom: 24px; padding: 40px 0 34px; }
	.mw-blog-hero p { font-size: 14px; }
	.mw-posts--blog { grid-template-columns: 1fr; }
	.mw-post--featured .mw-post__body { padding: 18px 20px 22px; }
	.mw-entry__content h2 { font-size: 20px; }
	.mw-entry__content table { font-size: 13px; }
	.mw-blog-cta { flex-direction: column; align-items: flex-start; padding: 22px 20px; }
}

/* ============ Single product: full-width layout ============ */
/* Content, header and menu run edge to edge (small gutter) instead of stopping at the 1366px container. Gallery images are 600px
   originals, so the gallery column is capped to keep them sharp and the summary takes the remaining width. */
.mw-main--product > .mw-container,
.single-product .mw-header__main > .mw-container,
.single-product .mw-nav > .mw-container { max-width: none; padding-left: clamp(16px, 2.6vw, 50px); padding-right: clamp(16px, 2.6vw, 50px); }
@media (min-width: 1025px) {
	.woocommerce div.product { gap: 50px; }
	.woocommerce div.product .summary { max-width: 980px; }
}
@media (min-width: 1600px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 760px) minmax(0, 1fr); gap: 70px; }
	.woocommerce div.product .product_title { font-size: 34px; }
}

/* ============ Homepage: lower sections ============ */
/* CTA band in the NYS orange instead of the inherited red */
.mw-cta::before { background: linear-gradient(90deg, rgba(28,28,28,.92), rgba(180,83,12,.82)); }
/* SEO content box: about 15 lines of text visible, the rest scrolls */
.mw-section--content { padding-bottom: 40px; }
.mw-content-box { box-sizing: border-box; max-height: calc(15 * 1.7em + 60px); scrollbar-width: thin; scrollbar-color: var(--mw-red) #eee; }
@media (max-width: 767px) {
	.mw-content-box { max-height: calc(15 * 1.7em + 36px); }
}

/* ============ Navigation: underline hover + mega dropdown with feature card ============ */
.mw-menu > li > a { height: 50px; font-weight: 600; letter-spacing: .05em; transition: color .2s, background .2s; }
.mw-menu > li > a::before, .mw-menu > li + li > a::before { content: ""; position: absolute; top: auto; bottom: 0; left: 14px; right: 14px; width: auto; height: 3px; border-radius: 3px 3px 0 0; background: var(--mw-red); transform: scaleX(0); transition: transform .25s ease; }
.mw-menu > li:hover > a, .mw-menu > li.current-menu-item > a, .mw-menu > li.current-menu-ancestor > a { background: rgba(255,255,255,.06); color: #fff; }
.mw-menu > li:hover > a::before, .mw-menu > li:focus-within > a::before, .mw-menu > li.current-menu-item > a::before, .mw-menu > li.current-menu-ancestor > a::before { transform: scaleX(1); }
.mw-menu > li.menu-item-has-children > a::after { transition: transform .25s; }
.mw-menu > li.menu-item-has-children:hover > a::after { transform: rotate(225deg) translate(-2px, -2px); }

.mw-menu .sub-menu { z-index: 50; padding: 12px 10px; border-top: 3px solid var(--mw-red); border-radius: 0 0 10px 10px; box-shadow: 0 24px 48px -14px rgba(0,0,0,.4); transform: translateY(14px); transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.mw-menu > li > .sub-menu::before { content: ""; position: absolute; top: -9px; left: 26px; border: 6px solid transparent; border-bottom-color: var(--mw-red); }
.mw-menu > li:nth-last-child(-n+2) > .sub-menu::before { left: auto; right: 26px; }
.mw-menu .sub-menu a { position: relative; padding: 9px 12px; border-bottom: 0; border-radius: 6px; transition: background .2s, color .2s, padding .2s; }
.mw-menu .sub-menu a::after { content: "\2192"; position: absolute; top: 50%; right: 12px; color: var(--mw-red); opacity: 0; transform: translate(-6px, -50%); transition: opacity .2s, transform .2s; }
.mw-menu .sub-menu a:hover { padding-left: 16px; background: #fff4ec; color: var(--mw-red-dark); }
.mw-menu .sub-menu a:hover::after { opacity: 1; transform: translate(0, -50%); }

.mw-menu > li.mw-mega > .sub-menu { gap: 28px; min-width: 760px; padding: 26px 26px 26px 28px; }
.mw-menu > li.mw-mega > .sub-menu > li { flex: 1 1 0; min-width: 0; }
.mw-menu > li.mw-mega > .sub-menu > li > a { margin-bottom: 8px; padding: 0 0 10px; border-bottom: 1px solid var(--mw-border); border-radius: 0; background: none; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; color: var(--mw-red-dark); }
.mw-menu > li.mw-mega > .sub-menu > li > a::after { display: none; }
.mw-menu > li.mw-mega > .sub-menu > li > a:hover { padding-left: 0; background: none; }
.mw-menu > li.mw-mega > .sub-menu .sub-menu { border-top: 0; border-radius: 0; }
.mw-menu > li.mw-mega > .sub-menu .sub-menu a { margin: 0 -12px; }

/* Image card added by main.js as the last mega column, linking to the parent category */
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature { flex: 0 0 220px; }
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature > a { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: 230px; margin: 0; padding: 18px; border: 0; border-radius: 8px; background-color: var(--mw-black); font-size: 14px; letter-spacing: normal; background-position: center top; background-size: cover; color: #fff; overflow: hidden; }
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature > a::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,0) 25%, rgba(20,20,20,.92)); }
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature > a::after { display: none; }
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature > a > * { position: relative; }
.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature > a:hover { padding-left: 18px; background-color: var(--mw-black); color: #fff; }
.mw-mega__feature small { font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mw-yellow); }
.mw-mega__feature strong { margin: 4px 0 12px; font-family: var(--mw-font-head); font-size: 20px; line-height: 1.1; text-transform: uppercase; }
.mw-mega__feature span { align-self: flex-start; padding: 6px 14px; border-radius: 20px; background: var(--mw-red); font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: background .2s, color .2s; }
.mw-mega__feature a:hover span { background: #fff; color: var(--mw-black); }

@media (max-width: 1100px) {
	.mw-menu > li > a::before, .mw-menu > li + li > a::before { left: 9px; right: 9px; }
	.mw-menu > li.mw-mega > .sub-menu { min-width: 640px; }
	.mw-menu > li.mw-mega > .sub-menu > li.mw-mega__feature { flex-basis: 180px; }
}

/* Mobile drawer: accent the open branch */
.mw-mobile-menu li.is-open > a { color: var(--mw-red-dark); }
.mw-mobile-menu .sub-menu { border-left: 3px solid var(--mw-red); }
