/* ==========================================================================
   McGuire Outfitters — WooCommerce screens
   Loaded after WooCommerce's own CSS and refines it (so core features such
   as the gallery and star ratings keep working). Product cards live in main.css.
   ========================================================================== */

.woocommerce .shop-wrap, .shop-wrap { padding-block: clamp(1.5rem, 3vw, 2.5rem) var(--section); }

/* ---------- Department banner ---------- */
.shop-banner { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(260px, 30vw, 380px); overflow: hidden; color: var(--paper); background: var(--ink); }
.shop-banner__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.shop-banner__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(8 7 6 / .85), rgb(8 7 6 / .35)), linear-gradient(0deg, rgb(8 7 6 / .7), transparent 60%); }
.shop-banner__inner { padding-block: 3rem 2.4rem; }
.shop-banner__title { margin: 0; font-size: var(--step-5); color: var(--brand-white); line-height: 1; }
.shop-banner__text { max-width: 40rem; margin-top: .9rem; font-size: var(--step-1); color: #E2D9C8; }
.shop-banner__text p { margin: 0; }
.shop-banner .breadcrumb { margin-bottom: 1rem; }

.chip-row { display: flex; gap: .5rem; padding-block: 1.2rem 0; overflow-x: auto; scrollbar-width: none; }
.chip-row::-webkit-scrollbar { display: none; }
.chip { flex: none; padding: .55rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--text); font-size: .9rem; font-weight: 600; text-decoration: none; transition: all .2s var(--ease); }
.chip:hover { border-color: var(--ink); background: var(--ink); color: var(--gold-200); }

/* ---------- Layout with filters ---------- */
.shop-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.shop-layout__filters { position: sticky; top: calc(var(--header-h) + 72px); max-height: calc(100vh - 180px); overflow-y: auto; padding-right: .5rem; scrollbar-width: thin; }
.filters__head { display: none; }
.filter-group { padding-block: 1.1rem; border-bottom: 1px solid var(--line); }
.filter-group:first-child { padding-top: 0; }
.filter-group__title { margin: 0 0 .7rem; font: 700 .74rem/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--stone); }
.filter-list { margin: 0; padding: 0; list-style: none; }
.filter-list a { display: flex; justify-content: space-between; gap: .5rem; padding: .35rem 0; color: var(--text); text-decoration: none; font-size: .96rem; }
.filter-list a:hover { color: var(--gold-700); }
.filter-list a.is-active { font-weight: 700; color: var(--gold-700); }
.filter-count { color: var(--sand); font-size: .82rem; }
.filter-list--checks a { justify-content: flex-start; align-items: center; gap: .6rem; }
.filter-list--checks a::before { content: ""; flex: none; width: 18px; height: 18px; border: 1px solid var(--sand); border-radius: 2px; background: var(--paper) center / 12px no-repeat; }
.filter-list--checks a.is-active::before { border-color: var(--ink); background-color: var(--ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EED39F' stroke-width='3'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E"); }
.price-range { display: flex; align-items: center; gap: .4rem; margin-top: .8rem; }
.price-range input { min-height: 38px; padding: .4rem .55rem; font-size: .9rem; }
.price-range label { flex: 1; }
.filters__clear { display: inline-block; margin-top: 1rem; font-size: .85rem; font-weight: 700; color: var(--danger); }

.shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.shop-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }
.shop-toolbar .woocommerce-notices-wrapper:empty { display: none; }
.shop-toolbar__filters { display: none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; margin: 0; }
.woocommerce-result-count { color: var(--stone); font-size: .92rem; }
.woocommerce-ordering select { min-height: 42px; padding-right: 2rem; font-size: .92rem; }
.mcguire-per-page { display: flex; align-items: center; gap: .5rem; margin: 0 0 0 auto; }
.mcguire-per-page label { font-size: .92rem; font-weight: 600; }
.mcguire-per-page select { min-height: 42px; padding-right: 2rem; font-size: .92rem; }
@media (max-width: 600px) { .mcguire-per-page, .woocommerce .woocommerce-ordering { flex: 1 1 45%; } .mcguire-per-page select, .woocommerce-ordering select { width: 100%; } }

/* WooCommerce's float grid → our CSS grid */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto !important; margin: 0 !important; padding: 0; text-align: left; }
.woocommerce ul.products li.product a img { margin: 0; }
.woocommerce ul.products li.product .button { margin-top: 0; }
.woocommerce span.onsale { display: none; } /* replaced by .badge--sale */

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 2.5rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: .4rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--text); font-weight: 600; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--ink); color: var(--gold-200); border-color: var(--ink); }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 1.5rem; padding: 1rem 1.2rem 1rem 3.2rem; border: 1px solid var(--line); border-top: 0; border-left: 3px solid var(--gold-500); border-radius: var(--radius); background: var(--paper); color: var(--text); font-size: .96rem; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--gold-700); top: 1rem; left: 1.2rem; }
.woocommerce-error { border-left-color: var(--danger); }
.woocommerce-error::before { color: var(--danger); top: 1rem; left: 1.2rem; }
.woocommerce-message .button, .woocommerce-info .button { float: right; min-height: 36px; padding: .5rem 1rem; background: var(--ink); color: var(--gold-200); font-size: .72rem; }

/* ---------- Buttons inside WooCommerce ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	min-height: 48px; padding: .85rem 1.5rem; border-radius: var(--radius); background: var(--ink); color: var(--gold-200);
	font: 700 .8rem/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--brand-black); color: var(--brand-white); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #place_order, .woocommerce .single_add_to_cart_button, .woocommerce .checkout-button {
	background: var(--brand-orange) !important; color: var(--brand-black) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover {
	background: var(--gold-500) !important; color: var(--brand-black) !important;
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; }

/* ---------- Single product ---------- */
.single-product .shop-wrap { padding-top: 1.5rem; }
.single-product .breadcrumb { color: var(--stone); }
.single-product .breadcrumb a { color: var(--gold-700); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images { position: sticky; top: calc(var(--header-h) + 72px); }
.woocommerce div.product div.images img { border-radius: var(--radius-lg); background: var(--bone); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: .6rem; margin-top: .6rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--radius); opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; outline: 2px solid var(--gold-500); }
.product-eyebrow { margin-bottom: .6rem; }
.woocommerce div.product .product_title { margin-bottom: .8rem; font-size: var(--step-4); line-height: 1.02; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 1.4rem; font: 700 1.7rem/1.2 var(--font-body); color: var(--text); }
.woocommerce div.product p.price del { font-weight: 400; font-size: 1.1rem; color: var(--stone); opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; color: #B85600; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 1.6rem; font-size: 1.08rem; color: var(--text); }
.woocommerce div.product .stock { font-weight: 700; color: var(--success); }
.woocommerce div.product .stock.out-of-stock { color: var(--danger); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 1.6rem; padding: 1.4rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; flex: 1; min-height: 54px; font-size: .86rem; }
.woocommerce .quantity .qty { width: 5rem; min-height: 54px; text-align: center; font-weight: 700; }
.product-note { display: flex; gap: .9rem; align-items: flex-start; margin: 0 0 1rem; padding: 1rem 1.2rem; border-radius: var(--radius); font-size: .95rem; line-height: 1.5; }
.product-note .icon { width: 22px; height: 22px; flex: none; margin-top: .1rem; }
.product-note p { margin: 0; }
.product-note--ffl { background: var(--ink); color: #E2D9C8; }
.product-note--ffl strong { color: var(--brand-white); }
.product-note--ffl .icon { color: var(--gold-500); }
.product-note--ffl a { color: var(--gold-300); }
.product-note--demo { background: #FFF3DD; border: 1px dashed var(--brand-orange); color: #5a3300; }
.product-note--demo .icon { color: var(--brand-orange); }
.product-assurances { display: grid; gap: .6rem; margin: 1.4rem 0; padding: 0; list-style: none; font-size: .95rem; color: var(--stone); }
.product-assurances li { display: flex; align-items: center; gap: .6rem; }
.product-assurances .icon { width: 18px; color: var(--gold-700); }
.product-assurances a { color: var(--text); font-weight: 700; text-decoration: none; }
.woocommerce div.product .product_meta { padding-top: 1.2rem; border-top: 1px solid var(--line); font-size: .88rem; color: var(--stone); }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: .3rem; }
.woocommerce div.product .product_meta a { color: var(--gold-700); }

.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 2rem; margin: 0 0 2rem; padding: 0; border-bottom: 1px solid var(--line); overflow-x: auto; }
.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; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 0 0 1rem; font: 700 .8rem/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--stone); border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--text); border-color: var(--brand-orange); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 50rem; margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce table.shop_attributes { border-top: 1px solid var(--line); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: .7rem 1rem; border-bottom: 1px solid var(--line); font-style: normal; background: none !important; }
.related.products > h2, .upsells.products > h2 { margin: 3rem 0 1.6rem; font-size: var(--step-3); }

/* ---------- Cart ---------- */
.store-page .woocommerce { display: block; }
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .cart-empty, .woocommerce-cart .woocommerce > .return-to-shop, .woocommerce-cart .woocommerce > .wc-empty-cart-message { grid-column: 1 / -1; }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--radius-lg); border-collapse: separate; background: var(--paper); }
.woocommerce table.shop_table th { padding: 1rem; font: 700 .72rem/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--stone); }
.woocommerce table.shop_table td { padding: 1rem; border-top: 1px solid var(--line); }
.woocommerce table.shop_table td.product-name a { color: var(--text); font: 600 1.2rem/1.2 var(--font-display); text-decoration: none; }
.woocommerce table.shop_table td.product-name dl.variation { margin-top: .4rem; font-size: .85rem; color: var(--gold-700); }
.woocommerce table.cart img { width: 72px; border-radius: var(--radius); }
.woocommerce a.remove { color: var(--stone) !important; font-weight: 400; }
.woocommerce a.remove:hover { background: var(--danger); color: #fff !important; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; min-height: 48px; margin-right: .5rem; border: 1px solid var(--line); padding: .6rem .8rem; }
.woocommerce .cart-collaterals { width: auto; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; position: sticky; top: calc(var(--header-h) + 72px); padding: 1.6rem; background: var(--ink); color: var(--paper); border-radius: var(--radius-lg); }
.woocommerce .cart_totals h2 { color: var(--brand-white); font-size: var(--step-2); }
.woocommerce .cart_totals table.shop_table { background: none; border: 0; }
.woocommerce .cart_totals table.shop_table th, .woocommerce .cart_totals table.shop_table td { color: #E2D9C8; border-top-color: rgb(255 255 255 / .1); padding-inline: 0; }
.woocommerce .cart_totals .order-total .amount { color: var(--gold-300); font-size: 1.3rem; }
.woocommerce .cart_totals a { color: var(--gold-300); }
.woocommerce .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; font-size: .9rem; }

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 clamp(1.5rem, 4vw, 4rem); align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { grid-row: 1; margin: 0 0 1rem; font-size: var(--step-2); }
.woocommerce-checkout #order_review { grid-row: 2 / span 3; position: sticky; top: calc(var(--header-h) + 72px); padding: 1.6rem; background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--gold-500); border-radius: var(--radius-lg); }
.woocommerce-checkout h3 { font-size: var(--step-2); margin: 1.5rem 0 1rem; }
.woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
.woocommerce form .form-row label { font: 700 .74rem/1.4 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }
.woocommerce form .form-row .required { color: var(--brand-orange); text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 48px; padding: .7rem .9rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--danger); }
.select2-container--default .select2-selection--single { height: 48px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: .9rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout #payment { background: var(--bone); border-radius: var(--radius-lg); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line); }
.woocommerce-checkout #payment div.payment_box { background: var(--paper); color: var(--text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--paper); }
.woocommerce #place_order { width: 100%; min-height: 58px; font-size: .9rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .85rem; color: var(--stone); }

/* ---------- Order received + My account ---------- */
.woocommerce-order .woocommerce-thankyou-order-received { padding: 1.4rem; background: var(--ink); color: var(--gold-200); font: 600 var(--step-2)/1.2 var(--font-display); border-radius: var(--radius-lg); }
.woocommerce ul.order_details { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; padding: 0; }
.woocommerce ul.order_details li { border: 1px solid var(--line); background: var(--paper); padding: 1rem 1.2rem; margin: 0; float: none; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); overflow: hidden; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .9rem 1.1rem; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; font-weight: 600; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: var(--gold-200); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.woocommerce-account .u-columns .col-1, .woocommerce-account .u-columns .col-2 { float: none; width: auto; }
.woocommerce form.login, .woocommerce form.register { margin: 0; padding: 1.8rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.woocommerce .cart-collaterals .cart_totals { position: static; }
}
@media (max-width: 960px) {
	.shop-layout { grid-template-columns: 1fr; }
	.shop-toolbar__filters { display: inline-flex; }
	.shop-layout__filters { position: fixed; inset: 0 auto 0 0; z-index: 120; width: min(88vw, 360px); max-height: none; padding: 0 1.4rem 2rem; background: var(--bg); box-shadow: var(--shadow); transform: translateX(-105%); transition: transform .3s var(--ease); visibility: hidden; }
	.shop-layout__filters.is-open { transform: none; visibility: visible; }
	.filters-open::after { content: ""; position: fixed; inset: 0; z-index: 110; background: rgb(0 0 0 / .5); }
	.filters__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; margin: 0 -1.4rem 1rem; padding: .8rem 1rem .8rem 1.4rem; background: var(--ink); }
	.filters__head .eyebrow { margin: 0; color: var(--gold-300); }
	.filters__close { color: var(--paper); }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product div.images { position: static; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-account .woocommerce, .woocommerce-account .u-columns { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.woocommerce table.shop_table_responsive tr td::before { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }
	.woocommerce table.cart td.actions .coupon .input-text { width: 100%; margin-bottom: .5rem; }
	.woocommerce div.product form.cart { padding: 1rem; }
}

/* Receiving FFL dealer on order view (from McGuire Core) */
.woocommerce .mto-ffl-order { margin-top: 2.5rem; }
.woocommerce .mto-ffl-order address { margin-bottom: .75rem; }

/* Specification table on imported products */
.woocommerce .mto-specs { width: 100%; border-collapse: collapse; margin: 0 0 1.5rem; font-size: .95rem; }
.woocommerce .mto-specs th, .woocommerce .mto-specs td { padding: .55rem .75rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.woocommerce .mto-specs th { width: 38%; color: var(--stone); font-weight: 600; }

/* Shipping promise (McGuire Core) */
.woocommerce .mto-ship-promise { margin: .75rem 0; font-size: .9rem; color: var(--stone); }
.woocommerce .mto-ship-promise-row td { padding-top: .25rem; padding-bottom: .25rem; border: 0; }

/* Compliance, eligibility, stock alerts, wishlist (McGuire Core) */
.woocommerce .mto-restrict { margin: .75rem 0; padding: .6rem .8rem; border-left: 3px solid var(--brand-orange, #fd8000); background: var(--parchment, #f7f3ea); font-size: .9rem; }
.woocommerce-checkout form.checkout > .mto-eligibility { grid-column: 1; }
.mto-eligibility { margin: 0 0 1.5rem; padding: clamp(1.1rem, 3vw, 1.6rem); background: var(--paper, #fffdf8); border: 1px solid var(--line); border-top: 3px solid var(--gold-500, #dda94f); border-radius: var(--radius-lg, 10px); }
.mto-eligibility h3 { margin: 0 0 .4rem; }
.mto-eligibility > p:first-of-type { color: var(--stone); }
.mto-eligibility input[type="date"] { max-width: 260px; min-height: 44px; }
.woocommerce-checkout .mto-eligibility label.checkbox { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .95rem; line-height: 1.45; text-transform: none; letter-spacing: normal; color: inherit; }
.mto-eligibility label.checkbox input { margin-top: .25rem; flex: none; }
.mto-alert-form { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--radius, 6px); background: var(--parchment, #f7f3ea); }
.mto-alert-form__title { margin: 0 0 .5rem; }
.mto-alert-form__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.mto-alert-form__row input { flex: 1 1 200px; min-height: 44px; }
.mto-alert-form small { display: block; margin-top: .4rem; color: var(--stone); }
.mto-alert-form--done { font-weight: 600; }
.mto-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mto-wish { margin: .5rem 0 1rem; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.mto-wish__btn { display: inline-flex; gap: .4rem; align-items: center; min-height: 44px; color: inherit; text-decoration: none; font-weight: 600; }
.mto-wish__btn .icon { width: 20px; height: 20px; }
.mto-wish__btn.is-saved .icon { fill: var(--brand-orange, #fd8000); stroke: var(--brand-orange, #fd8000); }
.mto-wishlist { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.mto-wishlist__item { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .8rem; border: 1px solid var(--line); border-radius: var(--radius, 6px); background: var(--paper, #fffdf8); }
.mto-wishlist__img img { width: 88px; height: 88px; object-fit: contain; background: #fff; border-radius: 4px; }
.mto-wishlist__body { display: flex; flex-direction: column; gap: .2rem; }
.mto-wishlist__name { font-weight: 600; color: inherit; }
.mto-wishlist__stock { font-size: .85rem; color: var(--stone); }
.mto-wishlist__stock.is-in { color: #2f6b3a; }
.mto-wishlist__actions { display: flex; flex-direction: column; gap: .4rem; align-items: flex-end; }
.mto-wishlist__remove { font-size: .85rem; color: var(--stone); }
@media (max-width: 600px) {
	.mto-wishlist__item { grid-template-columns: 64px minmax(0, 1fr); }
	.mto-wishlist__img img { width: 64px; height: 64px; }
	.mto-wishlist__actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
}

/* Layaway, rewards, price match (McGuire Core) */
.mto-layaway { margin: 0 0 2rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid var(--line); border-top: 3px solid var(--brand-gold, #dda94f); border-radius: var(--radius-lg, 10px); background: var(--paper, #fffdf8); }
.mto-layaway h2 { margin-top: 0; }
.mto-layaway__nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .75rem; margin: 0 0 1rem; }
.mto-layaway__nums dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--stone); }
.mto-layaway__nums dd { margin: 0; font-size: 1.25rem; font-weight: 700; }
.mto-layaway__pay label { display: block; font-weight: 600; margin-bottom: .35rem; }
.mto-layaway__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.mto-layaway__row input { max-width: 180px; min-height: 44px; }
.mto-layaway__terms { margin: 1rem 0 0; font-size: .88rem; color: var(--stone); }
.woocommerce .mto-points-note { margin: .25rem 0 .75rem; font-size: .9rem; color: var(--stone); }
.mto-points-box { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin: 0 0 1.25rem; padding: .8rem 1rem; border: 1px dashed var(--brand-gold, #dda94f); border-radius: var(--radius, 6px); background: var(--parchment, #f7f3ea); }
.mto-points-account { margin-top: 2rem; }
.mto-points-account__bal { font-size: 1.3rem; font-weight: 700; }
.mto-pm { margin: 1rem 0; border: 1px solid var(--line); border-radius: var(--radius, 6px); background: var(--paper, #fffdf8); }
.mto-pm summary { cursor: pointer; padding: .8rem 1rem; font-weight: 600; min-height: 44px; }
.mto-pm form { padding: 0 1rem 1rem; }
.mto-pm label { display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; font-weight: 600; }
.mto-pm input, .mto-pm textarea { width: 100%; min-height: 42px; font-weight: 400; }
.mto-pm__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 .8rem; }
.mto-pm__terms { font-size: .85rem; color: var(--stone); }
.mto-pm--done { padding: .8rem 1rem; font-weight: 600; }
