/**
 * PizzaTier Demo Theme — Comprehensive WooCommerce styling.
 *
 * Loaded ONLY on WooCommerce pages (see functions.php), after the main
 * stylesheet, so it can refine baseline rules without bloating every page.
 *
 * Everything here is derived from the theme's existing dark-pizzeria tokens
 * (defined in :root in style.css):
 *   --pt-void #0d0d0d  --pt-surface #141414  --pt-orange #ff6b35
 *   --pt-text #f0ece6  --pt-muted rgba(240,236,230,.45)  --pt-border rgba(255,255,255,.07)
 *   body: DM Sans   headings: Bungee Inline   data/mono: DM Mono
 *
 * This sheet covers the surface area the main stylesheet did not yet style:
 * buttons baseline, sale badges, ratings, result-count/ordering, pagination,
 * variation forms, quantity steppers, notices, My Account (nav + orders +
 * addresses + forms), order received, select2 dropdowns, reviews, validation,
 * cross-sells, store notice, and a defensive WooCommerce Blocks pass.
 */

/* Local aliases so the file reads cleanly even if a token is missing. */
.woocommerce,
.woocommerce-page {
	--pt-input-bg: #1a1a1a;
	--pt-input-border: rgba(255, 255, 255, 0.12);
	--pt-radius: 10px;
	--pt-radius-pill: 999px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   1. BUTTON SYSTEM — clear hierarchy
   Primary CTAs (add to cart, place order, checkout, pay) are solid orange.
   Everything else WooCommerce renders as .button (update cart, apply coupon,
   view order…) becomes a quiet outline button so the real CTA stands out.
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
	display: inline-block;
	background: transparent;
	color: var(--pt-text);
	border: 1px solid var(--pt-input-border);
	border-radius: var(--pt-radius-pill);
	padding: 10px 22px;
	font-family: var(--pt-font-body);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	text-shadow: none;
	transition: background 0.15s, border-color 0.15s, color 0.15s, opacity 0.15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.22);
	color: var(--pt-text);
}

/* Primary / solid orange — the actual calls to action. */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button.button,
.woocommerce #place_order,
.woocommerce a.checkout-button,
.woocommerce .wc-forward.button:not(.added_to_cart),
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
	background: var(--pt-orange);
	border: 1px solid var(--pt-orange);
	color: #0d0d0d;
	font-weight: 700;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce #place_order:hover,
.woocommerce a.checkout-button:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
	background: var(--pt-orange-dark);
	border-color: var(--pt-orange-dark);
	color: #0d0d0d;
}

/* Disabled / loading */
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* The little "View cart" link that appears after an AJAX add-to-cart. */
.woocommerce a.added_to_cart {
	display: inline-block;
	margin-left: 10px;
	padding: 6px 14px;
	border-radius: var(--pt-radius-pill);
	border: 1px solid var(--pt-orange);
	color: var(--pt-orange);
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
	vertical-align: middle;
}
.woocommerce a.added_to_cart:hover {
	background: rgba(255, 107, 53, 0.12);
}

/* ─────────────────────────────────────────────────────────────────────────────
   2. SALE BADGE
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 5;
	min-height: auto;
	min-width: auto;
	margin: 0;
	padding: 4px 11px;
	background: var(--pt-orange);
	color: #0d0d0d;
	border-radius: var(--pt-radius-pill);
	font-family: var(--pt-font-mono);
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.4;
}
ul.products li.product {
	position: relative;
}
.woocommerce div.product span.onsale {
	top: 14px;
	left: 14px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   3. STAR RATINGS  (loop ratings stay hidden via the main sheet)
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce .star-rating {
	font-size: 0.9em;
	color: var(--pt-orange);
	letter-spacing: 1px;
}
.woocommerce .star-rating::before {
	color: rgba(255, 255, 255, 0.18);
}
.woocommerce .woocommerce-product-rating {
	margin-bottom: 14px;
}
.woocommerce .woocommerce-product-rating a.woocommerce-review-link {
	color: var(--pt-muted);
	font-size: 0.8rem;
	text-decoration: none;
}
.woocommerce .woocommerce-product-rating a.woocommerce-review-link:hover {
	color: var(--pt-orange);
}

/* ─────────────────────────────────────────────────────────────────────────────
   4. SHOP TOOLBAR — result count + ordering
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	float: none;
	margin: 0;
	color: var(--pt-muted);
	font-size: 0.82rem;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	float: none;
	margin: 0;
}
.pt-shop-page .woocommerce-result-count,
.pt-shop-page .woocommerce-ordering {
	display: inline-block;
	vertical-align: middle;
}
.pt-shop-page form.woocommerce-ordering {
	margin-left: 14px;
}
/* A tidy toolbar row sitting above the grid. */
.pt-shop-page .woocommerce-result-count {
	margin-bottom: 18px;
}
.woocommerce .woocommerce-ordering select {
	min-width: 200px;
	font-size: 0.82rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   5. PAGINATION
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination {
	margin: 36px 0 0;
	text-align: center;
}
.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	border: none;
	margin: 0;
	padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	margin: 0;
	overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	background: var(--pt-surface);
	border: 1px solid var(--pt-border);
	border-radius: 8px;
	color: var(--pt-text);
	font-size: 0.85rem;
	font-weight: 600;
	transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: rgba(255, 107, 53, 0.5);
	color: var(--pt-orange);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--pt-orange);
	border-color: var(--pt-orange);
	color: #0d0d0d;
}

/* ─────────────────────────────────────────────────────────────────────────────
   6. QUANTITY STEPPER
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce .quantity {
	display: inline-flex;
	align-items: center;
	background: var(--pt-input-bg);
	border: 1px solid var(--pt-input-border);
	border-radius: 8px;
	overflow: hidden;
}
.woocommerce .quantity input.qty {
	width: 56px !important;
	border: none !important;
	background: transparent !important;
	color: var(--pt-text) !important;
	text-align: center;
	font-weight: 600;
	-moz-appearance: textfield;
	box-shadow: none !important;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   7. VARIABLE PRODUCTS — variation form
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce table.variations {
	border: none;
	margin: 0 0 16px;
	background: transparent;
}
.woocommerce table.variations th,
.woocommerce table.variations td {
	border: none;
	padding: 6px 0;
	background: transparent;
	vertical-align: middle;
}
.woocommerce table.variations th.label {
	color: var(--pt-text);
	font-weight: 600;
	font-size: 0.85rem;
	text-align: left;
	padding-right: 16px;
	width: 1%;
	white-space: nowrap;
}
.woocommerce table.variations td.value select {
	min-width: 220px;
}
.woocommerce a.reset_variations {
	display: inline-block;
	margin-left: 10px;
	color: var(--pt-muted);
	font-size: 0.78rem;
	text-decoration: none;
}
.woocommerce a.reset_variations:hover {
	color: var(--pt-orange);
}
.woocommerce .single_variation_wrap .woocommerce-variation-price .price,
.woocommerce .woocommerce-variation-price .price {
	color: var(--pt-orange);
	font-size: 1.4rem;
	font-weight: 700;
}
.woocommerce .woocommerce-variation-availability p {
	color: var(--pt-muted);
	font-size: 0.85rem;
}

/* In/out of stock pills */
.woocommerce p.stock {
	display: inline-block;
	padding: 3px 10px;
	border-radius: var(--pt-radius-pill);
	font-size: 0.72rem;
	font-weight: 600;
	font-family: var(--pt-font-mono);
}
.woocommerce p.stock.in-stock {
	background: rgba(72, 187, 120, 0.14);
	color: #6ee7a0;
}
.woocommerce p.stock.out-of-stock {
	background: rgba(255, 107, 53, 0.14);
	color: var(--pt-orange);
}

/* ─────────────────────────────────────────────────────────────────────────────
   8. NOTICES — success / info / error banners
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-NoticeGroup .woocommerce-error li {
	background: var(--pt-surface);
	border: 1px solid var(--pt-border);
	border-left: 3px solid var(--pt-orange);
	border-radius: 8px;
	color: var(--pt-text);
	padding: 14px 18px;
	margin: 0 0 22px;
	list-style: none;
	font-size: 0.88rem;
	line-height: 1.5;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 14px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: static;
	margin-right: 4px;
	font-size: 1rem;
}
.woocommerce-message {
	border-left-color: #48bb78;
}
.woocommerce-message::before {
	color: #48bb78;
}
.woocommerce-info {
	border-left-color: #60a5fa;
}
.woocommerce-info::before {
	color: #60a5fa;
}
.woocommerce-error {
	border-left-color: #f87171;
}
.woocommerce-error::before {
	color: #f87171;
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	margin-left: auto;
	padding: 6px 16px;
	font-size: 0.78rem;
}

/* Store / demo notice bar */
.woocommerce-store-notice,
p.demo_store {
	background: var(--pt-orange);
	color: #0d0d0d;
	font-weight: 600;
	font-size: 0.85rem;
	padding: 12px 18px;
}
.woocommerce-store-notice a {
	color: #0d0d0d;
	text-decoration: underline;
}

/* ─────────────────────────────────────────────────────────────────────────────
   9. FORM VALIDATION STATES
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: #f87171 !important;
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: #48bb78 !important;
}
.woocommerce .woocommerce-error li,
.woocommerce ul.woocommerce-error {
	margin: 0;
}
ul.woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
}

/* Password strength meter */
.woocommerce-password-strength {
	margin-top: 6px;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: left;
}
.woocommerce-password-strength.strong { background: rgba(72, 187, 120, 0.14); color: #6ee7a0; }
.woocommerce-password-strength.good   { background: rgba(96, 165, 250, 0.14); color: #93c5fd; }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad    { background: rgba(248, 113, 113, 0.14); color: #fca5a5; }
.woocommerce-password-hint { color: var(--pt-muted); font-size: 0.75rem; }

/* ─────────────────────────────────────────────────────────────────────────────
   10. CHECKOUT — payment box, terms, refinements
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce-checkout #payment {
	background: var(--pt-surface);
	border-radius: 12px;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 18px;
}
.woocommerce-checkout #payment div.payment_box {
	background: var(--pt-void);
	color: var(--pt-muted);
	border-radius: 8px;
	font-size: 0.83rem;
	line-height: 1.5;
}
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--pt-void);
}
.woocommerce-checkout #payment .payment_methods li input[type="radio"] {
	accent-color: var(--pt-orange);
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	padding: 0 18px 12px;
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	background: var(--pt-surface);
	padding: 22px;
}
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
#order_review_heading {
	font-family: var(--pt-font-head);
	font-size: 1.15rem;
	color: var(--pt-text);
	margin: 0 0 18px;
}
#ship-to-different-address {
	font-family: var(--pt-font-head);
	font-size: 1.05rem;
}
.woocommerce form .form-row label {
	color: var(--pt-text);
	font-size: 0.82rem;
	font-weight: 500;
	margin-bottom: 5px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   11. ORDER RECEIVED + ORDER DETAILS + CUSTOMER DETAILS
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce ul.woocommerce-order-overview.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 28px 0;
	padding: 0;
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	background: var(--pt-surface);
	list-style: none;
}
.woocommerce ul.woocommerce-order-overview.order_details li {
	flex: 1 1 auto;
	border: none !important;
	border-right: 1px solid var(--pt-border) !important;
	padding: 18px 22px;
	margin: 0;
	text-transform: none;
	color: var(--pt-muted);
	font-size: 0.72rem;
	text-align: left;
}
.woocommerce ul.woocommerce-order-overview.order_details li:last-child {
	border-right: none !important;
}
.woocommerce ul.woocommerce-order-overview.order_details li strong {
	display: block;
	margin-top: 4px;
	color: var(--pt-text);
	font-size: 0.95rem;
	font-family: var(--pt-font-mono);
}
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-customer-details {
	margin-top: 36px;
}
.woocommerce .woocommerce-order-details__title,
.woocommerce .woocommerce-column__title {
	font-family: var(--pt-font-head);
	font-size: 1.15rem;
	color: var(--pt-text);
	margin-bottom: 16px;
}
.woocommerce .woocommerce-customer-details address {
	border: 1px solid var(--pt-border);
	border-radius: 10px;
	padding: 16px 18px;
	color: var(--pt-muted);
	font-style: normal;
	line-height: 1.6;
}

/* ─────────────────────────────────────────────────────────────────────────────
   12. MY ACCOUNT — nav + content layout, orders, addresses, forms
   ───────────────────────────────────────────────────────────────────────────── */
.pt-account-page {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 0 36px;
	align-items: start;
}
.pt-account-page > .pt-wc-page-title {
	grid-column: 1 / -1;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 6px;
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	background: var(--pt-surface);
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 14px;
	border-radius: 8px;
	color: var(--pt-muted);
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.14s, color 0.14s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
	background: rgba(255, 255, 255, 0.05);
	color: var(--pt-text);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
	background: rgba(255, 107, 53, 0.12);
	color: var(--pt-orange);
}
.woocommerce-MyAccount-content {
	min-width: 0;
	color: var(--pt-muted);
	line-height: 1.7;
}
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content a:not(.button) {
	color: var(--pt-muted);
}
.woocommerce-MyAccount-content a:not(.button):hover {
	color: var(--pt-orange);
}
.woocommerce-MyAccount-content mark {
	background: rgba(255, 107, 53, 0.18);
	color: var(--pt-text);
	padding: 0 4px;
	border-radius: 3px;
}

/* Orders + downloads tables */
.woocommerce-orders-table,
.woocommerce-table--order-downloads,
.shop_table.order_details {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	overflow: hidden;
}
.woocommerce-orders-table thead th,
.shop_table.order_details thead th {
	background: rgba(255, 255, 255, 0.03);
	color: var(--pt-muted);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid var(--pt-border);
}
.woocommerce-orders-table tbody td,
.shop_table.order_details tbody td,
.shop_table.order_details tfoot td,
.shop_table.order_details tfoot th {
	padding: 12px 14px;
	border-bottom: 1px solid var(--pt-border);
	color: var(--pt-text);
	font-size: 0.85rem;
}
.woocommerce-orders-table tbody tr:last-child td {
	border-bottom: none;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	color: var(--pt-orange);
	font-weight: 600;
}
.shop_table.order_details tfoot tr:last-child th,
.shop_table.order_details tfoot tr:last-child td {
	color: var(--pt-orange);
	font-weight: 700;
}

/* Addresses */
.woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: 8px;
}
.woocommerce-Address {
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	padding: 20px;
	background: var(--pt-surface);
}
.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.woocommerce-Address-title h3 {
	font-family: var(--pt-font-head);
	font-size: 1rem;
	color: var(--pt-text);
	margin: 0;
}
.woocommerce-Address address {
	font-style: normal;
	color: var(--pt-muted);
	line-height: 1.7;
	font-size: 0.88rem;
}

/* Login / register two-up */
.woocommerce-account .u-columns.col2-set,
.woocommerce .customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
}
.woocommerce h2 {
	font-family: var(--pt-font-head);
	font-size: 1.2rem;
	color: var(--pt-text);
}
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
	color: var(--pt-muted);
	font-size: 0.82rem;
}
.woocommerce-form-login__rememberme input,
.woocommerce-form__input-checkbox {
	accent-color: var(--pt-orange);
}
.woocommerce-LostPassword a {
	color: var(--pt-muted);
	font-size: 0.82rem;
}
.woocommerce-LostPassword a:hover {
	color: var(--pt-orange);
}

/* ─────────────────────────────────────────────────────────────────────────────
   13. REVIEWS
   ───────────────────────────────────────────────────────────────────────────── */
#reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}
#reviews .commentlist li.review,
#reviews .commentlist li.comment {
	border: 1px solid var(--pt-border);
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 16px;
	background: var(--pt-surface);
}
#reviews .comment-text p.meta {
	color: var(--pt-muted);
	font-size: 0.8rem;
}
#reviews .comment-text strong.woocommerce-review__author {
	color: var(--pt-text);
}
#review_form_wrapper p.comment-form-author,
#review_form_wrapper p.comment-form-email {
	width: 100%;
}
/* Interactive rating stars in the review form */
.woocommerce p.stars a {
	color: var(--pt-orange);
}

/* ─────────────────────────────────────────────────────────────────────────────
   14. CROSS-SELLS + spacing tidy
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce .cross-sells {
	margin-top: 12px;
}
.woocommerce .cross-sells > h2 {
	font-family: var(--pt-font-head);
	font-size: 1.25rem;
	color: var(--pt-text);
	margin-bottom: 18px;
}
.woocommerce .cart_totals > h2 {
	font-family: var(--pt-font-head);
}

/* ─────────────────────────────────────────────────────────────────────────────
   15. SELECT2 (country / state dropdowns on checkout) — dark theme
   WooCommerce ships its own light select2 skin; recolor it to match.
   ───────────────────────────────────────────────────────────────────────────── */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container .select2-selection--single {
	background: var(--pt-input-bg) !important;
	border: 1px solid var(--pt-input-border) !important;
	border-radius: 8px !important;
	height: auto !important;
	min-height: 42px;
	display: flex;
	align-items: center;
	padding: 0 6px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--pt-text) !important;
	line-height: 1.4 !important;
	padding: 0 8px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: rgba(240, 236, 230, 0.3) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	top: 0 !important;
	right: 6px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--pt-muted) transparent transparent !important;
}
.select2-dropdown {
	background: var(--pt-input-bg) !important;
	border: 1px solid var(--pt-input-border) !important;
	color: var(--pt-text) !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	background: var(--pt-void) !important;
	border: 1px solid var(--pt-input-border) !important;
	color: var(--pt-text) !important;
	border-radius: 6px;
}
.select2-container--default .select2-results__option {
	color: var(--pt-text);
	background: transparent;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--pt-orange) !important;
	color: #0d0d0d !important;
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background: rgba(255, 107, 53, 0.16) !important;
	color: var(--pt-text);
}

/* ─────────────────────────────────────────────────────────────────────────────
   16. WOOCOMMERCE BLOCKS — defensive pass (block cart / checkout / mini-cart)
   Kept light: backgrounds, text, inputs and buttons so a block-based store
   still reads on-brand even though the demo uses the classic shortcodes.
   ───────────────────────────────────────────────────────────────────────────── */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea {
	background: var(--pt-input-bg) !important;
	border: 1px solid var(--pt-input-border) !important;
	color: var(--pt-text) !important;
	border-radius: 8px !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__title,
.wc-block-components-totals-item {
	color: var(--pt-text) !important;
}
.wc-block-components-product-name,
.wc-block-grid__product-title {
	color: var(--pt-text) !important;
}
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount,
.wc-block-components-product-price {
	color: var(--pt-orange) !important;
}
.wc-block-components-button,
.wp-block-button__link {
	background: var(--pt-orange) !important;
	color: #0d0d0d !important;
	border-radius: var(--pt-radius-pill) !important;
}
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	color: var(--pt-text);
}

/* ─────────────────────────────────────────────────────────────────────────────
   17. RESPONSIVE
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 860px) {
	.pt-account-page {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
	}
	.woocommerce-MyAccount-navigation ul li a {
		padding: 8px 12px;
	}
	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
	.woocommerce-account .u-columns.col2-set,
	.woocommerce .customer_login {
		grid-template-columns: 1fr;
	}
	.woocommerce ul.woocommerce-order-overview.order_details {
		flex-direction: column;
	}
	.woocommerce ul.woocommerce-order-overview.order_details li {
		border-right: none !important;
		border-bottom: 1px solid var(--pt-border) !important;
	}
	.woocommerce ul.woocommerce-order-overview.order_details li:last-child {
		border-bottom: none !important;
	}
}

/* ─────────────────────────────────────────────────────────────────────────────
   18. ACCESSIBILITY QUALITY FLOOR
   ───────────────────────────────────────────────────────────────────────────── */
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce-MyAccount-navigation ul li a:focus-visible,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
	outline: 2px solid var(--pt-orange);
	outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	ul.products li.product {
		transition: none !important;
	}
}
