/**
 * Playora Reels — WooCommerce shop, cart & checkout (dark, token-based).
 * Inherits the theme design tokens (--playora-*, --r-*, --s-*, gradients) from
 * main.css so the shop matches the casino theme and the customizer colors.
 */

.woocommerce, .woocommerce-page { color: var(--playora-text); }
.woocommerce a, .woocommerce-page a { color: var(--playora-secondary); }
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3 { color: var(--playora-heading); }

/* Page heading */
.woocommerce-products-header { margin-bottom: var(--s-4); }
.woocommerce-products-header__title { font-size: var(--t-2xl); }
.term-description, .woocommerce-result-count { color: var(--playora-muted); }

/* ---------------------------------------------------------------- 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 #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	padding: 0.72em 1.4em;
	border: 1px solid transparent;
	border-radius: var(--r-pill);
	background: color-mix(in srgb, var(--playora-card) 70%, transparent);
	border-color: var(--playora-border);
	color: var(--playora-heading);
	font-family: var(--playora-font-ui); font-weight: 800; font-size: var(--t-sm); line-height: 1;
	cursor: pointer; text-transform: none;
	transition: transform 0.16s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { transform: translateY(-2px); border-color: var(--playora-primary); color: var(--playora-heading); }

/* Primary / call-to-action buttons (add to cart, place order, proceed) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .single_add_to_cart_button,
.woocommerce a.add_to_cart_button,
.woocommerce a.checkout-button {
	background: var(--green-grad);
	border-color: transparent;
	color: #04130d;
	box-shadow: var(--glow-primary);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.add_to_cart_button:hover,
.woocommerce a.checkout-button:hover { color: #04130d; transform: translateY(-2px); filter: brightness(1.05); }
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: 0.5; transform: none; box-shadow: none; }

.woocommerce .added_to_cart { margin-left: 0.5em; color: var(--playora-secondary); font-weight: 700; }

.reels-topbar__actions .playora-cart-link,
.reels-topbar__actions .playora-cart-link:hover {
	color: #fff;
}

.reels-topbar__actions .playora-cart-link svg {
	fill: none;
	stroke: currentColor;
}

.reels-topbar__actions .playora-cart-link svg path {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

/* ---------------------------------------------------------------- Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-no-products-found p {
	background: var(--playora-card);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--playora-primary);
	border-radius: var(--r-md);
	color: var(--playora-text);
	padding: var(--s-3);
}
.woocommerce-message { border-left-color: var(--playora-green); }
.woocommerce-info { border-left-color: var(--playora-secondary); }
.woocommerce-error { border-left-color: var(--playora-pink); }
.woocommerce-message .button, .woocommerce-info .button { padding: 0.45em 1em; }

/* ---------------------------------------------------------------- Shop loop */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--s-3); margin: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; float: none; text-align: left; display: flex; flex-direction: column; background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-xs); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--playora-primary) 45%, transparent); box-shadow: var(--glow-primary); }
.woocommerce ul.products li.product a img { margin: 0; border-radius: 0; aspect-ratio: 1; object-fit: cover; background: var(--surface-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: var(--s-3) var(--s-3) 0; font-size: var(--t-base); color: var(--playora-heading); }
.woocommerce ul.products li.product .price { padding: 0 var(--s-3); color: var(--playora-accent); font-weight: 800; }
.woocommerce ul.products li.product .price del { color: var(--playora-muted); font-weight: 500; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.playora-product-prices { display: flex; flex-wrap: wrap; gap: var(--s-1); margin: var(--s-2) var(--s-3) 0; }
.playora-currency-pill { align-items: center; background: rgba(255,255,255,.08); border: 1px solid var(--playora-border); border-radius: 999px; color: var(--playora-text); display: inline-flex; font-size: .75rem; font-weight: 900; gap: 6px; min-height: 28px; padding: 0 10px 0 7px; }
.playora-currency-pill i,
.playora-wallet-option i { align-items: center; border-radius: 50%; display: inline-flex; font-style: normal; font-weight: 950; justify-content: center; }
.playora-currency-pill i { font-size: .62rem; height: 18px; width: 18px; }
.playora-currency-pill i:has( .playora-currency-icon ),
.playora-wallet-option i:has( .playora-currency-icon ) { overflow: hidden; }
.playora-currency-pill .playora-currency-icon,
.playora-wallet-option .playora-currency-icon { height: 100%; object-fit: cover; width: 100%; }
.playora-currency-pill--coins i,
.playora-wallet-option--coins i { background: #ffd95f; color: #473700; }
.playora-currency-pill--gems i,
.playora-wallet-option--gems i { background: #b8f3ff; color: #064d68; }
.woocommerce ul.products li.product .star-rating { margin: 0.4em var(--s-3); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin: auto var(--s-3) var(--s-3); }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	background: var(--gold-grad); color: #1c1304; border: 0;
	min-height: 0; min-width: 0; padding: 0.3em 0.7em; border-radius: var(--r-pill);
	font-weight: 800; font-size: var(--t-xs); line-height: 1.6;
	position: absolute; top: 10px; left: 10px; margin: 0;
}

/* Star ratings */
.woocommerce .star-rating { color: var(--playora-accent); }
.woocommerce .star-rating::before { color: color-mix(in srgb, var(--playora-muted) 60%, transparent); }

/* ---------------------------------------------------------------- Single product */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); }
.woocommerce div.product .summary { background: rgba(255,255,255,.06); border: 1px solid var(--playora-border); border-radius: var(--r-lg); padding: var(--s-4); }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: var(--r-lg); border: 1px solid var(--hairline); }
.woocommerce div.product .product_title { font-size: var(--t-2xl); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--playora-accent); font-size: var(--t-xl); font-weight: 800; }
.woocommerce div.product .woocommerce-product-rating { color: var(--playora-muted); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--playora-text); }
.playora-wallet-purchase { background: rgba(255,255,255,.06); border: 1px solid var(--playora-border); border-radius: var(--r-md); margin: var(--s-4) 0; padding: var(--s-3); }
.playora-wallet-purchase__header { align-items: flex-start; display: flex; gap: var(--s-2); justify-content: space-between; margin-bottom: var(--s-3); }
.playora-wallet-purchase__header > span { color: var(--playora-text); font-weight: 950; }
.playora-wallet-purchase__header strong { color: var(--playora-muted); font-size: .75rem; text-align: right; }
.playora-wallet-purchase__options { display: grid; gap: var(--s-2); }
.playora-wallet-option { align-items: center; background: rgba(255,255,255,.08); border: 1px solid var(--playora-border); border-radius: var(--r-md); color: var(--playora-text); cursor: pointer; display: flex; gap: var(--s-2); min-height: 66px; padding: var(--s-2) var(--s-3); text-align: left; width: 100%; }
.playora-wallet-option:hover:not(:disabled) { border-color: var(--playora-accent); }
.playora-wallet-option:disabled { cursor: not-allowed; opacity: .62; }
.playora-wallet-option i { flex: 0 0 auto; font-size: .8rem; height: 34px; width: 34px; }
.playora-wallet-option span { display: grid; gap: 3px; min-width: 0; }
.playora-wallet-option strong { line-height: 1.2; }
.playora-wallet-option small { color: var(--playora-muted); font-size: .76rem; font-weight: 750; line-height: 1.25; }
.woocommerce div.product form.cart { display: flex; gap: var(--s-2); align-items: center; flex-wrap: wrap; margin: var(--s-3) 0; }
.woocommerce .quantity input.qty {
	width: 4.5em; padding: 0.6em; text-align: center;
	background: var(--surface-soft); border: 1px solid var(--hairline);
	border-radius: var(--r-sm); color: var(--playora-text); font: inherit;
}
.woocommerce div.product .product_meta { color: var(--playora-muted); font-size: var(--t-sm); border-top: 1px solid var(--hairline); padding-top: var(--s-3); margin-top: var(--s-3); }
.woocommerce div.product .product_meta a { color: var(--playora-secondary); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 var(--s-3); border: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: color-mix(in srgb, var(--playora-card) 70%, transparent); border: 1px solid var(--hairline); border-radius: var(--r-pill); 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 { color: var(--playora-muted); padding: 0.55em 1.1em; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--tint-primary); border-color: color-mix(in srgb, var(--playora-primary) 45%, transparent); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--playora-heading); }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s-4); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { background: var(--surface-soft); border: 1px solid var(--hairline); border-radius: var(--r-md); }

.woocommerce .related, .woocommerce .upsells { grid-column: 1 / -1; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: var(--t-xl); margin-bottom: var(--s-3); }

/* ---------------------------------------------------------------- Tables (cart, account) */
.woocommerce table.shop_table {
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--playora-card);
}
.woocommerce table.shop_table th { color: var(--playora-heading); background: color-mix(in srgb, var(--playora-card) 88%, #fff 4%); padding: var(--s-3); }
.woocommerce table.shop_table td { border-top: 1px solid var(--hairline); padding: var(--s-3); color: var(--playora-text); }
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
.woocommerce-cart table.cart img { width: 56px; border-radius: var(--r-sm); border: 1px solid var(--hairline); }
.woocommerce .product-remove a.remove { color: var(--playora-pink) !important; border: 1px solid var(--hairline); background: var(--surface-soft) !important; }
.woocommerce .product-remove a.remove:hover { background: var(--playora-pink) !important; color: #fff !important; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce .cart_totals { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s-2) var(--s-3); }
.woocommerce-cart .actions .coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce #order_comments,
.select2-container--default .select2-selection--single {
	background: var(--surface-soft) !important;
	border: 1px solid var(--hairline) !important;
	border-radius: var(--r-sm) !important;
	color: var(--playora-text) !important;
	padding: 0.7em 0.9em;
	font: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--playora-text); line-height: 1.6; }
.woocommerce form .form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label { color: var(--playora-text); }
.woocommerce-input-wrapper .description { color: var(--playora-muted); }

/* ---------------------------------------------------------------- Checkout */
.woocommerce-checkout #payment { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--hairline); }
.woocommerce-checkout #payment div.payment_box { background: var(--surface-soft); color: var(--playora-text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--surface-soft); }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 { color: var(--playora-heading); }
#add_payment_method #payment, .woocommerce-checkout #order_review { border-radius: var(--r-lg); }

/* ---------------------------------------------------------------- Cart & Checkout blocks */
.wc-block-cart, .wc-block-checkout { color: var(--playora-text); }
.wc-block-cart a, .wc-block-checkout a { color: var(--playora-secondary); }
.wc-block-components-title, .wc-block-checkout__main h2, .wc-block-cart__totals-title { color: var(--playora-heading); }
.wc-block-cart table.wc-block-cart-items, .wc-block-cart-items { background: transparent; }
.wc-block-cart-items__row { border-bottom: 1px solid var(--hairline); }
.wc-block-components-product-name { color: var(--playora-heading); }
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-sidebar {
	background: var(--playora-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	padding: var(--s-3);
}
.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item { color: var(--playora-heading); }
.wc-block-components-text-input input, .wc-block-components-text-input input.input-text,
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-components-select .components-form-token-field__input,
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: var(--surface-soft);
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	color: var(--playora-text);
}
.wc-block-components-text-input label, .wc-block-checkout label { color: var(--playora-text); }
.wc-block-components-checkout-step__description, .wc-block-components-validation-error { color: var(--playora-muted); }
.wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout__shipping-option { background: var(--surface-soft); border: 1px solid var(--hairline); border-radius: var(--r-md); }
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	background: var(--green-grad);
	color: #04130d;
	border: 0;
	border-radius: var(--r-pill);
	font-family: var(--playora-font-ui);
	font-weight: 800;
	box-shadow: var(--glow-primary);
}
.wc-block-components-button:hover { transform: translateY(-2px); }

/* ---------------------------------------------------------------- My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active { background: var(--tint-primary); border-color: color-mix(in srgb, var(--playora-primary) 45%, transparent); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.7em 1em; color: var(--playora-text); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--playora-heading); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s-4); }

/* ---------------------------------------------------------------- Misc */
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	border-radius: var(--r-sm); background: color-mix(in srgb, var(--playora-card) 70%, transparent);
	border: 1px solid var(--hairline); color: var(--playora-text); padding: 0.5em 0.9em;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--green-grad); color: #04130d; border-color: transparent; }
.woocommerce-breadcrumb { color: var(--playora-muted); font-size: var(--t-sm); margin-bottom: var(--s-4); }
.woocommerce-breadcrumb a { color: var(--playora-muted); }
.woocommerce-breadcrumb a:hover { color: var(--playora-primary); }
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select { background: var(--surface-soft); border: 1px solid var(--hairline); border-radius: var(--r-sm); color: var(--playora-text); padding: 0.5em 0.8em; }

/* ---------------------------------------------------------------- Playora store wrapper */
.playora-commerce-container { display: flex; flex-direction: column; gap: var(--s-5); padding-top: var(--s-2); }
.playora-commerce-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; }
.playora-commerce-hero h1 { font-size: var(--t-2xl); margin: 0.2em 0 0; }
.playora-commerce-hero p, .playora-commerce-hero__description { color: var(--playora-muted); margin: 0.4em 0 0; max-width: 60ch; }
.playora-commerce-hero__cart {
	display: inline-flex; align-items: center; gap: 0.55em;
	padding: 0.7em 1.3em; border-radius: var(--r-pill);
	background: var(--green-grad); color: #04130d; font-weight: 800; font-size: var(--t-sm);
	box-shadow: var(--glow-primary);
}
.playora-commerce-hero__cart:hover { color: #04130d; transform: translateY(-2px); }
.playora-commerce-hero__cart span { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--r-pill); background: rgba(4, 19, 13, 0.22); color: #04130d; font-size: var(--t-xs); }
.playora-shop-categories { display: flex; flex-wrap: wrap; gap: 8px; margin-top: calc(-1 * var(--s-3)); }
.playora-shop-categories a { border: 1px solid var(--hairline); border-radius: var(--r-pill); color: var(--playora-muted); font-size: var(--t-sm); font-weight: 800; padding: 0.55em 0.95em; }
.playora-shop-categories a:hover,
.playora-shop-categories a.is-active { background: var(--tint-primary); border-color: color-mix(in srgb, var(--playora-primary) 45%, transparent); color: var(--playora-heading); }

/* Coin shop (digital rewards bought with coins) */
.playora-coin-shop { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-xl); background: linear-gradient(135deg, color-mix(in srgb, var(--playora-primary) 12%, var(--playora-card)), var(--playora-card)); border: 1px solid var(--hairline); box-shadow: var(--shadow-sm); }
.playora-coin-shop__header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; }
.playora-coin-shop__header h2 { margin: 0.15em 0 0; }
.playora-coin-shop__header p { color: var(--playora-muted); margin: 0.3em 0 0; max-width: 52ch; }
.playora-coin-shop__eyebrow { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.14em; font-weight: 700; color: var(--playora-primary); }
.playora-coin-shop__wallet { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; padding: var(--s-2) var(--s-3); border-radius: var(--r-lg); background: color-mix(in srgb, var(--playora-accent) 14%, transparent); border: 1px solid color-mix(in srgb, var(--playora-accent) 35%, var(--hairline)); }
.playora-coin-shop__wallet span { font-size: var(--t-xs); color: var(--playora-muted); text-transform: uppercase; letter-spacing: 0.07em; }
.playora-coin-shop__wallet strong { display: inline-flex; align-items: center; gap: 0.35em; color: var(--playora-accent); font-size: var(--t-lg); }
.playora-coin-shop__wallet strong i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--gold-grad); color: #1c1304; font-style: normal; font-size: 11px; }
.playora-coin-shop__wallet a { font-size: var(--t-xs); color: var(--playora-secondary); font-weight: 600; }
.playora-coin-shop__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--s-3); }
.playora-coin-shop__item p { color: var(--playora-muted); font-size: var(--t-sm); margin: 0; }
.playora-coin-shop__item .playora-price-button { margin-top: auto; align-self: flex-start; }

/* Gift recipient field (product / checkout) */
.playora-gift-recipient { display: grid; gap: 6px; margin: var(--s-2) 0; padding: var(--s-3); border-radius: var(--r-md); background: var(--surface-soft); border: 1px solid var(--hairline); }
.playora-gift-recipient label { color: var(--playora-text); font-weight: 600; }
.playora-gift-recipient input { background: var(--playora-card); border: 1px solid var(--hairline); border-radius: var(--r-sm); color: var(--playora-text); padding: 0.6em 0.9em; font: inherit; }

@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
}
