/* ==========================================================================
   WooCommerce skin for Pimps on the Pokies Apparel.
   Loaded after WooCommerce's own stylesheet and only restyles it — no
   WooCommerce templates are overridden.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Product grid (homepage shortcode + shop archive + related products)
   ----------------------------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 1rem;
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none; }

@media (min-width: 768px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; }
}
@media (min-width: 1100px) {
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.woocommerce ul.products.columns-2,
	.woocommerce-page ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 1rem;
	position: relative;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--popa-line);
	border-radius: var(--popa-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015));
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: var(--popa-gold);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .5), 0 0 22px color-mix(in srgb, var(--popa-gold) 18%, transparent);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none;
	color: inherit;
}
.woocommerce ul.products li.product a img {
	margin: 0 0 .9rem;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #1d1416;
	box-shadow: none;
	border-bottom: 1px solid var(--popa-line);
	transition: filter .25s ease;
}
.woocommerce ul.products li.product:hover a img { filter: brightness(1.06) saturate(1.06); }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	padding: 0 .9rem;
	margin: 0 0 .35rem;
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.25;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff4dc;
}
.woocommerce ul.products li.product .price {
	display: block;
	padding: 0 .9rem;
	margin: 0 0 .9rem;
	color: var(--popa-amber);
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: 1.05rem;
}
.woocommerce ul.products li.product .price del { color: #a8978a; opacity: 1; font-weight: 500; margin-right: .35em; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 0 .9rem .5rem; }

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: auto .9rem 0;
	width: calc(100% - 1.8rem);
}

/* Loop buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4em;
	min-height: 46px;
	padding: .65em 1.3em;
	border: 2px solid var(--popa-gold);
	border-radius: 999px;
	background: var(--popa-gold);
	color: #170b0d;
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: .92rem;
	letter-spacing: .08em;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: center;
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .wc-block-components-button:not(.is-link):hover {
	background: var(--popa-amber);
	border-color: var(--popa-amber);
	color: #170b0d;
	box-shadow: 0 0 20px color-mix(in srgb, var(--popa-amber) 50%, transparent);
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible { outline: 3px solid #fff4dc; outline-offset: 3px; }

/* Variable products / out of stock: "Select options" / "Read more" read as secondary */
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_grouped,
.woocommerce ul.products li.product .button.product_type_external,
.woocommerce ul.products li.product.outofstock .button {
	background: transparent;
	color: var(--popa-gold);
}
.woocommerce ul.products li.product .button.product_type_variable:hover,
.woocommerce ul.products li.product.outofstock .button:hover { color: #170b0d; }

.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled {
	background: #3a2a2d;
	border-color: #3a2a2d;
	color: #cdbcae;
	opacity: .8;
	box-shadow: none;
}

/* AJAX add-to-cart states: loading spinner + added tick */
.woocommerce a.button.loading {
	opacity: .75;
	padding-right: 2.6em;
	pointer-events: none;
}
.woocommerce a.button.loading::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: popa-spin .7s linear infinite;
	font-family: inherit;
}
.woocommerce a.button { position: relative; }
.woocommerce a.button.added::after {
	content: "\2713";
	font-family: inherit;
	margin-left: .5em;
	position: static;
	border: 0;
	width: auto;
	height: auto;
	animation: none;
}
@keyframes popa-spin { to { transform: rotate(360deg); } }

.woocommerce a.added_to_cart {
	display: inline-flex;
	justify-content: center;
	padding: .55rem 0 0;
	font-family: var(--popa-font-ui);
	font-weight: 500;
	font-size: .85rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--popa-gold);
}

/* Badges */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: .7rem;
	left: .7rem;
	right: auto;
	margin: 0;
	min-width: 0;
	min-height: 0;
	padding: .35em .8em;
	border-radius: 999px;
	background: var(--popa-neon);
	color: #1a0609;
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: .78rem;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: 0 0 14px color-mix(in srgb, var(--popa-neon) 60%, transparent);
	z-index: 2;
}
.popa-soldout {
	position: absolute;
	top: .7rem;
	right: .7rem;
	z-index: 2;
	padding: .35em .8em;
	border-radius: 999px;
	background: #170b0d;
	border: 1.5px solid #cdbcae;
	color: #f1e2cf;
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.woocommerce ul.products li.product.outofstock a img { filter: grayscale(.7) brightness(.75); }

/* Homepage grid columns choice (3 columns) */
@media (min-width: 1100px) {
	.popa-cols-3 .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --------------------------------------------------------------------------
   Notices
   ----------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background: #1a1214;
	color: var(--popa-ink);
	border-top: 3px solid var(--popa-gold);
	border-radius: 0 0 8px 8px;
}
.woocommerce-message::before { color: var(--popa-gold); }
.woocommerce-info { border-top-color: var(--popa-amber); }
.woocommerce-info::before { color: var(--popa-amber); }
.woocommerce-error { border-top-color: var(--popa-neon); }
.woocommerce-error::before { color: var(--popa-neon); }
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: var(--popa-gold); }
.woocommerce-message .button,
.woocommerce-info .button { min-height: 38px; }

.woocommerce-store-notice,
p.demo_store {
	background: var(--popa-burgundy);
	color: #fff2dc;
	font-family: var(--popa-font-ui);
	letter-spacing: .08em;
}
.woocommerce-store-notice a { color: var(--popa-gold); }

/* --------------------------------------------------------------------------
   Breadcrumb, result count, ordering, pagination
   ----------------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb {
	color: var(--popa-muted);
	font-family: var(--popa-font-ui);
	font-size: .82rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--popa-gold); }
.woocommerce-products-header__title.page-title { font-size: clamp(2.2rem, 7vw, 4rem); }
.woocommerce .woocommerce-result-count { color: var(--popa-muted); }
.woocommerce .woocommerce-ordering select { width: auto; }
.woocommerce nav.woocommerce-pagination ul { border-color: var(--popa-line); }
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--popa-line); }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { color: var(--popa-ink); padding: .7em .9em; }
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--popa-gold); color: #170b0d; }

/* --------------------------------------------------------------------------
   Single product
   ----------------------------------------------------------------------- */
.woocommerce div.product { position: relative; }
.woocommerce div.product .product_title {
	font-size: clamp(2rem, 6vw, 3.4rem);
	color: #fff4dc;
	margin-bottom: .3em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--popa-amber);
	font-family: var(--popa-font-ui);
	font-weight: 700;
	font-size: 1.6rem;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: #a8978a; opacity: 1; font-size: .75em; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #eadbc9; }
.woocommerce div.product .stock { font-family: var(--popa-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce div.product .stock.in-stock { color: #7cf2c8; }
.woocommerce div.product .stock.out-of-stock { color: #ffb3c6; }

.woocommerce div.product div.images img { border-radius: var(--popa-radius); }
.woocommerce div.product div.images .flex-control-thumbs { margin-top: .6rem; display: flex; gap: .5rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 22%; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 6px; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; outline: 2px solid var(--popa-gold); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	background: var(--popa-gold);
	z-index: 3;
}

.woocommerce div.product form.cart { margin: 1.5rem 0 2rem; }
.woocommerce div.product form.cart div.quantity { margin-right: .6rem; }
.woocommerce div.product form.cart .button { min-height: 52px; padding-inline: 2em; font-size: 1rem; }

/* Variations (sizes / colours) */
.woocommerce div.product form.cart .variations { margin-bottom: 1rem; border: 0; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	display: block;
	padding: 0;
	text-align: left;
	border: 0;
	background: none;
}
.woocommerce div.product form.cart .variations th.label { padding-bottom: .35rem; }
.woocommerce div.product form.cart .variations label {
	font-family: var(--popa-font-ui);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: .85rem;
	color: var(--popa-gold);
}
.woocommerce div.product form.cart .variations td.value { padding-bottom: 1rem; }
.woocommerce div.product form.cart .variations select { min-width: 220px; width: 100%; max-width: 360px; margin-right: 0; }
.woocommerce div.product form.cart .reset_variations { color: var(--popa-muted); font-size: .85rem; margin-left: .5rem; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 1.4rem; }

.woocommerce .quantity .qty {
	width: 4.2em;
	min-height: 52px;
	text-align: center;
	padding: .5rem;
}

.woocommerce div.product .product_meta { color: var(--popa-muted); font-size: .9rem; border-top: 1px solid var(--popa-line); padding-top: 1rem; }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: .25rem; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--popa-line); overflow-x: auto; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 1.2rem 0 0;
	padding: 0;
}
.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 a {
	padding: .7rem 0;
	color: var(--popa-muted);
	font-family: var(--popa-font-ui);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-bottom: 3px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--popa-gold); border-bottom-color: var(--popa-gold); }
.woocommerce div.product .woocommerce-tabs .panel { color: #eadbc9; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type { font-size: 1.8rem; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border-color: var(--popa-line); color: var(--popa-ink); background: transparent; }
.woocommerce table.shop_attributes tr:nth-child(even) th,
.woocommerce table.shop_attributes tr:nth-child(even) td { background: rgba(255, 255, 255, .03); }

.woocommerce .related > h2,
.woocommerce .upsells > h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); margin: 1rem 0 1.5rem; }
.woocommerce .star-rating span::before,
.woocommerce p.stars a { color: var(--popa-gold); }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--popa-line); }
.woocommerce #reviews #comments ol.commentlist li img.avatar { background: #1a1214; border-color: var(--popa-line); }

/* --------------------------------------------------------------------------
   Forms (checkout, account, coupons)
   ----------------------------------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	background: #1a1214;
	color: var(--popa-ink);
	border: 1.5px solid rgba(255, 255, 255, .22);
	border-radius: 8px;
	padding: .75rem .9rem;
	line-height: 1.4;
}
.woocommerce form .form-row label { color: #eadbc9; }
.woocommerce form .form-row .required { color: var(--popa-neon); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--popa-neon); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #3fd6a4; }

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border-color: var(--popa-line);
	border-radius: var(--popa-radius);
	background: var(--popa-panel);
}

/* Select2 (country / state pickers in classic checkout) */
.select2-container--default .select2-selection--single {
	background: #1a1214;
	border: 1.5px solid rgba(255, 255, 255, .22);
	border-radius: 8px;
	height: 48px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--popa-ink); line-height: 46px; padding-left: .9rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-dropdown { background: #1a1214; border-color: rgba(255, 255, 255, .22); color: var(--popa-ink); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--popa-burgundy); color: #fff; }
.select2-search--dropdown .select2-search__field { background: #120c0d; color: var(--popa-ink); }

/* --------------------------------------------------------------------------
   Classic cart & checkout tables
   ----------------------------------------------------------------------- */
.woocommerce table.shop_table {
	border-color: var(--popa-line);
	border-radius: var(--popa-radius);
	background: var(--popa-panel);
	color: var(--popa-ink);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--popa-line); }
.woocommerce table.shop_table th { font-family: var(--popa-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce table.cart img { width: 72px; border-radius: 6px; }
.woocommerce a.remove { color: var(--popa-neon) !important; }
.woocommerce a.remove:hover { background: var(--popa-neon); color: #1a0609 !important; }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-size: 1.8rem; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 140px; min-height: 46px; }

/* Payment box: WooCommerce + the gateway render this; we only recolour. */
.woocommerce-checkout #payment,
.woocommerce #payment {
	background: #1a1214;
	border-radius: var(--popa-radius);
	border: 1px solid var(--popa-line);
}
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--popa-line); }
.woocommerce-checkout #payment div.payment_box {
	background: #251a1c;
	color: var(--popa-ink);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #251a1c; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; border: 1px solid var(--popa-line); border-radius: var(--popa-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: .8rem 1rem;
	color: #eadbc9;
	text-decoration: none;
	font-family: var(--popa-font-ui);
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--popa-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--popa-burgundy); color: #fff; }

/* --------------------------------------------------------------------------
   Cart & Checkout blocks (default on new WooCommerce installs).
   The blocks inherit text colour; these keep inputs readable on dark.
   ----------------------------------------------------------------------- */
.wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	background-color: #1a1214 !important;
	color: var(--popa-ink) !important;
	border-color: rgba(255, 255, 255, .28) !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-blocks-components-select .wc-blocks-components-select__label { color: var(--popa-muted) !important; }
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-cart-items { color: var(--popa-ink); }
.wc-block-components-product-price,
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount { color: var(--popa-amber); }
.wc-block-components-radio-control__option,
.wc-block-components-checkbox__label { color: var(--popa-ink); }
.wc-block-components-radio-control-accordion-content { color: var(--popa-ink); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { background: #1a1214; border-color: rgba(255, 255, 255, .4); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--popa-gold); }
.wc-block-components-notice-banner { color: #170b0d; }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { width: 100%; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { color: #fff4dc; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product:hover { transform: none; }
	.woocommerce a.button.loading::after { animation: none; border-right-color: currentColor; opacity: .5; }
}
