/*
Theme Name: Play Dro Commerce
Theme URI: https://example.local/neon-lounge-commerce
Author: Codex
Description: WooCommerce theme for Play Dro: games, console rental, hookah rental, tobacco, and coal.
Version: 1.1.6
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: neon-lounge
*/

/* BEGIN PLAY DRO SITE CSS */
/* External Google Fonts import removed in 1.0.21 for faster first render. */
:root {
	--bg: #020712;
	--bg-soft: #071326;
	--panel: rgba(7, 13, 27, 0.84);
	--panel-strong: rgba(10, 18, 36, 0.95);
	--line: rgba(82, 164, 255, 0.24);
	--text: #f7f9ff;
	--muted: #aab8d4;
	--blue: #248bff;
	--cyan: #38bdf8;
	--green: #8dff3d;
	--magenta: #ff48d6;
	--violet: #8b5cff;
	--amber: #ffb45a;
	--danger: #ff4d6d;
	--radius: 8px;
	--shadow-blue: 0 0 38px rgba(56, 189, 248, 0.24);
	--shadow-magenta: 0 0 34px rgba(255, 72, 214, 0.2);
	--shadow-green: 0 0 30px rgba(141, 255, 61, 0.16);
	--font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--font-heading: "Unbounded", "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-family: var(--font-body);
	color: var(--text);
	background: var(--bg);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	max-width: 100%;
	overflow-x: hidden;
}

body {
	margin: 0;
	background:
		linear-gradient(180deg, rgba(20, 136, 255, 0.12), transparent 360px),
		linear-gradient(180deg, #05070c 0%, #080b13 48%, #04060b 100%);
	color: var(--text);
	min-height: 100vh;
	max-width: 100%;
	overflow-x: hidden;
}

body,
button,
input,
textarea,
select {
	font: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
}

button {
	cursor: pointer;
}

.site-header {
	position: sticky;
	z-index: 40;
	top: 0;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 22px;
	align-items: center;
	padding: 16px clamp(18px, 4vw, 52px);
	background: rgba(3, 6, 13, 0.82);
	border-bottom: 1px solid var(--line);
	backdrop-filter: blur(18px);
	transition: transform 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
	will-change: transform;
}

.site-header.is-scrolled {
	background: rgba(3, 6, 13, 0.94);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.26);
}

.site-header.is-hidden {
	transform: translateY(calc(-100% - 8px));
}

.brand {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	min-width: max-content;
}

.playdro-mark {
	--mark-size: 62px;
	position: relative;
	display: grid;
	place-items: center;
	width: var(--mark-size);
	height: var(--mark-size);
	flex: 0 0 var(--mark-size);
	isolation: isolate;
	color: var(--text);
}

.playdro-mark__ring {
	position: absolute;
	inset: 5%;
	border: 0;
	border-radius: 50%;
	background:
		conic-gradient(from 210deg, #ff3bdd 0 34%, transparent 34% 39%, #9ffcff 39% 75%, transparent 75% 80%, #ff3bdd 80% 100%);
	box-shadow:
		0 0 16px rgba(17, 217, 255, 0.34),
		0 0 18px rgba(255, 59, 221, 0.24);
}

.playdro-mark__ring::before {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 40%, rgba(17, 217, 255, 0.1), transparent 52%),
		rgba(5, 7, 12, 0.88);
	box-shadow: inset 0 0 13px rgba(17, 217, 255, 0.18);
}

.playdro-mark__text {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0;
	text-align: center;
	transform: rotate(-7deg);
	text-shadow:
		0 0 10px rgba(255, 59, 221, 0.52),
		0 0 12px rgba(17, 217, 255, 0.42);
}

.playdro-mark__text b {
	display: block;
	font-size: calc(var(--mark-size) * 0.2);
	font-weight: 900;
	line-height: 0.92;
	letter-spacing: 0;
}

.playdro-mark__text b:last-child {
	color: #9ffcff;
}

.playdro-mark__pad {
	position: absolute;
	z-index: 1;
	left: 50%;
	bottom: 12%;
	width: 22%;
	height: 12%;
	border: 2px solid rgba(17, 217, 255, 0.8);
	border-radius: 6px 6px 9px 9px;
	transform: translateX(-50%);
	box-shadow: 0 0 10px rgba(17, 217, 255, 0.42);
}

.playdro-mark__pad::before,
.playdro-mark__pad::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #9ffcff;
	transform: translateY(-50%);
}

.playdro-mark__pad::before {
	left: 22%;
}

.playdro-mark__pad::after {
	right: 22%;
}

.playdro-mark--nav {
	--mark-size: 52px;
}

.playdro-mark--hero {
	--mark-size: clamp(116px, 15vw, 168px);
	margin-bottom: 22px;
}

.playdro-mark--hero .playdro-mark__ring {
	box-shadow:
		0 0 22px rgba(17, 217, 255, 0.42),
		0 0 24px rgba(255, 59, 221, 0.28);
}

.brand strong,
.brand small {
	display: block;
}

.brand strong {
	font-size: 18px;
	line-height: 1.1;
}

.brand small {
	color: var(--muted);
	font-size: 11.5px;
	line-height: 1.25;
	max-width: 30ch;
}

.primary-nav ul {
	display: flex;
	justify-content: center;
	gap: 2px;
	align-items: center;
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-nav li {
	position: relative;
}

.primary-nav .menu-item-has-children::after {
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	height: 20px;
}

.primary-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 11px;
	border-radius: var(--radius);
	color: var(--muted);
	font-weight: 700;
	font-size: 15px;
	white-space: nowrap;
}

.primary-nav a:hover,
.primary-nav a:focus-visible {
	color: var(--text);
	background: rgba(20, 136, 255, 0.14);
	outline: 1px solid rgba(20, 136, 255, 0.46);
}

.primary-nav .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.72;
}

.primary-nav .menu-item-has-children {
	position: relative;
}

.primary-nav .menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 14px;
}

.primary-nav .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 8;
	display: grid;
	min-width: 220px;
	padding: 8px;
	border: 1px solid rgba(117, 159, 255, 0.28);
	border-radius: var(--radius);
	background: rgba(5, 9, 19, 0.98);
	box-shadow: 0 18px 52px rgba(0, 0, 0, 0.42), var(--shadow-blue);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.primary-nav .sub-menu a {
	justify-content: flex-start;
	width: 100%;
	color: #d8e2fa;
	white-space: nowrap;
}

.cart-dock {
	position: relative;
	justify-self: end;
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 10px;
}

.header-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(56, 189, 248, 0.34);
	border-radius: var(--radius);
	background:
		linear-gradient(135deg, rgba(255, 59, 212, 0.12), rgba(56, 189, 248, 0.08));
	color: var(--cyan);
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.cart-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(20, 136, 255, 0.48);
	border-radius: var(--radius);
	background: rgba(20, 136, 255, 0.11);
	box-shadow: var(--shadow-blue);
	color: var(--text);
	font-weight: 800;
}

.cart-link strong {
	display: grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font-size: 12px;
}

.cart-link small {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
}

.cart-panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: min(390px, calc(100vw - 32px));
	padding: 16px;
	border: 1px solid rgba(20, 136, 255, 0.36);
	border-radius: var(--radius);
	background: rgba(5, 8, 17, 0.96);
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.48), var(--shadow-blue);
	backdrop-filter: blur(18px);
}

.cart-panel[hidden] {
	display: none;
}

.cart-panel::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 26px;
	width: 12px;
	height: 12px;
	border-top: 1px solid rgba(20, 136, 255, 0.36);
	border-left: 1px solid rgba(20, 136, 255, 0.36);
	background: rgba(5, 8, 17, 0.96);
	transform: rotate(45deg);
}

.cart-panel__head {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.cart-panel__head strong {
	font-size: 18px;
	text-transform: uppercase;
}

.cart-panel__close {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.05);
	color: var(--text);
	font-size: 22px;
	line-height: 1;
}

.cart-panel__body {
	position: relative;
	z-index: 1;
}

.cart-panel__empty {
	margin: 0;
	color: var(--muted);
}

.cart-panel .woocommerce-mini-cart {
	display: grid;
	gap: 10px;
	max-height: 360px;
	margin: 0;
	padding: 0;
	overflow: auto;
	list-style: none;
}

.cart-panel .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	gap: 8px;
	align-items: start;
	padding: 12px 38px 12px 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
}

.cart-panel .woocommerce-mini-cart-item > a:not(.remove) {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	color: var(--text);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.18;
}

.cart-panel .woocommerce-mini-cart-item .remove,
.cart-panel .woocommerce-mini-cart-item .remove_from_cart_button {
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--muted) !important;
	font-size: 16px;
	line-height: 1;
}

.cart-panel .woocommerce-mini-cart-item img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 6px;
}

.cart-panel .woocommerce-mini-cart-item .quantity {
	padding-left: 68px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 800;
}

.cart-panel .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 14px 0 10px;
	color: var(--text);
	font-weight: 900;
}

.cart-panel .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0;
}

.cart-panel .woocommerce-mini-cart__buttons .button:not(.checkout) {
	display: none;
}

.cart-panel .woocommerce-mini-cart__buttons .button {
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(56, 189, 248, 0.38);
	background: rgba(56, 189, 248, 0.08);
	color: var(--text);
	box-shadow: none;
	font-size: 12px;
	text-align: center;
}

.cart-panel .woocommerce-mini-cart__buttons .checkout {
	background: var(--cyan);
	color: #020712;
}

.cart-panel .woocommerce-mini-cart__buttons .button:not(.checkout) {
	display: none;
}

.mobile-quickbar {
	display: none;
}

.mobile-quickbar.is-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translateY(calc(100% + 18px));
}

.nav-toggle {
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
}

.nav-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	margin: 0 auto;
	background: var(--text);
	transition: transform 0.22s ease, opacity 0.22s ease;
}

.nav-toggle span + span { margin-top: 5px; }

.nav-toggle.is-active span:first-child {
	transform: translateY(3.5px) rotate(45deg);
}

.nav-toggle.is-active span:last-child {
	transform: translateY(-3.5px) rotate(-45deg);
}

.hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(28px, 5vw, 80px);
	align-items: center;
	min-height: min(680px, calc(100vh - 74px));
	padding: clamp(78px, 10vw, 136px) clamp(18px, 5vw, 72px) clamp(54px, 7vw, 90px);
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(5, 7, 12, 1) 0%, rgba(5, 7, 12, 0.98) 42%, rgba(5, 7, 12, 0.76) 74%, rgba(5, 7, 12, 0.48) 100%),
		var(--hero-image) center right / cover no-repeat;
	border-bottom: 1px solid rgba(20, 136, 255, 0.36);
}

.hero::after {
	content: "";
	position: absolute;
	inset: auto 3vw 22px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 59, 212, 0.72), rgba(56, 189, 248, 0.78), transparent);
	box-shadow: 0 0 22px rgba(20, 136, 255, 0.7);
}

.hero__content {
	position: relative;
	z-index: 1;
	max-width: 760px;
	padding: 18px 0;
	transform: translateY(22px);
}

.eyebrow {
	margin: 0 0 12px;
	color: var(--cyan);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

h1,
h2,
h3,
p {
	overflow-wrap: anywhere;
}

h1 {
	max-width: 860px;
	margin: 0;
	font-size: clamp(40px, 5.8vw, 76px);
	line-height: 0.98;
	letter-spacing: 0;
	text-transform: uppercase;
	text-shadow: 0 0 28px rgba(20, 136, 255, 0.52);
}

h2 {
	margin: 0;
	font-size: clamp(30px, 4.2vw, 58px);
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hero__lead {
	max-width: 720px;
	margin: 24px 0 0;
	color: #d9def0;
	font-size: clamp(17px, 2vw, 22px);
	line-height: 1.52;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

.button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--cyan);
	color: #020712;
	box-shadow: 0 0 20px rgba(56, 189, 248, 0.22);
}

.button--ghost {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.06);
	color: var(--text);
}

.hero__stats {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 10px;
	width: min(290px, 26vw);
}

.hero__stats div {
	padding: 16px;
	border: 1px solid rgba(20, 136, 255, 0.4);
	border-radius: var(--radius);
	background: rgba(4, 8, 18, 0.78);
	box-shadow: var(--shadow-blue);
}

.hero__stats strong,
.hero__stats span {
	display: block;
}

.hero__stats strong {
	font-size: 32px;
	line-height: 1;
}

.hero__stats span {
	margin-top: 6px;
	color: var(--muted);
	font-size: 13px;
	text-transform: uppercase;
}

.trust-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	border-bottom: 1px solid rgba(20, 136, 255, 0.24);
	background: rgba(117, 159, 255, 0.2);
}

.trust-strip div {
	display: grid;
	gap: 6px;
	padding: 18px clamp(18px, 5vw, 72px);
	background: rgba(4, 8, 18, 0.94);
}

.trust-strip strong {
	color: var(--text);
	font-size: 13px;
	text-transform: uppercase;
}

.trust-strip span {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
}

.section {
	padding: clamp(44px, 6vw, 82px) clamp(18px, 5vw, 72px);
}

.section__header {
	display: grid;
	gap: 14px;
	max-width: 840px;
	margin-bottom: 28px;
}

.section__header p:not(.eyebrow) {
	margin: 0;
	color: var(--muted);
	font-size: 18px;
	line-height: 1.56;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.service-card,
.content-card,
.empty-commerce {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow-blue);
}

.service-card {
	position: relative;
	display: grid;
	gap: 14px;
	min-height: 190px;
	padding: 22px;
	overflow: hidden;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

.service-card:hover,
.service-card:focus-visible {
	transform: translateY(-4px);
	border-color: rgba(56, 189, 248, 0.52);
}

.service-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--card-accent, var(--blue));
	box-shadow: 0 0 18px var(--card-accent, var(--blue));
}

.service-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.08) 44%, transparent 72%);
	transform: translateX(-120%);
	transition: transform 0.7s ease;
}

.service-card:hover::after,
.service-card:focus-visible::after {
	transform: translateX(120%);
}

.service-card > * {
	position: relative;
	z-index: 1;
}

.service-card span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.service-card strong {
	font-size: clamp(22px, 2vw, 30px);
	line-height: 1.05;
	text-transform: uppercase;
}

.service-card small {
	align-self: end;
	color: #cdd5e8;
	font-size: 15px;
	line-height: 1.45;
}

.empty-commerce {
	display: grid;
	gap: 14px;
	padding: clamp(20px, 3vw, 30px);
}

.empty-commerce strong {
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.12;
}

.empty-commerce p {
	max-width: 720px;
	margin: 0;
	color: #cdd5e8;
	line-height: 1.55;
}

.empty-commerce__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.process-grid div {
	display: grid;
	align-content: start;
	gap: 12px;
	min-height: 190px;
	padding: 20px;
	border: 1px solid rgba(117, 159, 255, 0.25);
	border-radius: var(--radius);
	background: rgba(7, 13, 28, 0.76);
	box-shadow: var(--shadow-blue);
}

.process-grid span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: rgba(20, 136, 255, 0.13);
	color: var(--cyan);
	font-size: 12px;
	font-weight: 900;
}

.process-grid strong {
	font-size: 22px;
	text-transform: uppercase;
}

.process-grid p {
	margin: 0;
	color: #cdd5e8;
	line-height: 1.5;
}

.playdro-ready-section .process-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.playdro-ready-section .process-grid div {
	min-height: 168px;
}

.playdro-contact-strip {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(18px, 4vw, 44px);
	align-items: end;
	border-top: 1px solid rgba(117, 159, 255, 0.22);
	border-bottom: 1px solid rgba(117, 159, 255, 0.18);
	background:
		radial-gradient(520px circle at 100% 0, rgba(56, 189, 248, 0.12), transparent 64%),
		radial-gradient(460px circle at 0 100%, rgba(141, 255, 61, 0.08), transparent 62%),
		linear-gradient(135deg, rgba(4, 9, 20, 0.94), rgba(7, 18, 28, 0.9));
}

.playdro-contact-strip h2 {
	max-width: 920px;
	margin: 0;
	font-size: clamp(30px, 4.4vw, 54px);
	line-height: 0.98;
}

.playdro-contact-strip p:not(.eyebrow) {
	max-width: 760px;
	margin: 14px 0 0;
	color: #cdd5e8;
	font-size: 17px;
	line-height: 1.55;
}

.playdro-contact-strip a:not(.button) {
	color: var(--cyan);
	font-weight: 900;
}

.contact-strip__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.accent-green {
	--card-accent: var(--cyan);
}

.accent-amber {
	--card-accent: var(--amber);
}

.accent-blue {
	--card-accent: var(--blue);
}

.accent-violet {
	--card-accent: var(--violet);
}

.banner-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.banner-tile {
	position: relative;
	margin: 0;
	border: 1px solid rgba(20, 136, 255, 0.42);
	border-radius: var(--radius);
	overflow: hidden;
	background: #07101f;
	box-shadow: var(--shadow-blue);
}

.banner-tile img {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
}

.banner-tile figcaption {
	position: absolute;
	inset: auto 10px 10px;
	padding: 9px 10px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--radius);
	background: rgba(4, 7, 14, 0.72);
	backdrop-filter: blur(12px);
	font-size: 13px;
	font-weight: 900;
}

.studio-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-top: 26px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--line);
}

.studio-strip div {
	display: grid;
	gap: 6px;
	padding: 18px;
	background: rgba(7, 12, 24, 0.9);
}

.studio-strip strong {
	font-size: 13px;
	text-transform: uppercase;
}

.studio-strip span {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.4;
}

.package-lab {
	display: grid;
	grid-template-columns: 0.42fr 1fr;
	gap: 18px;
	align-items: start;
}

.package-section {
	display: none;
}

.package-tabs {
	display: grid;
	gap: 10px;
}

.package-tab {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 0 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
	font-weight: 900;
	text-align: left;
}

.package-tab span {
	color: var(--muted);
	font-size: 12px;
	text-transform: uppercase;
}

.package-tab.is-active {
	border-color: rgba(56, 189, 248, 0.72);
	background:
		linear-gradient(135deg, rgba(255, 59, 212, 0.12), rgba(56, 189, 248, 0.08));
	box-shadow: var(--shadow-blue), var(--shadow-magenta);
}

.package-panel {
	padding: clamp(20px, 3vw, 34px);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: linear-gradient(145deg, rgba(12, 20, 40, 0.96), rgba(6, 9, 18, 0.94));
	box-shadow: var(--shadow-blue);
}

.package-panel[hidden] {
	display: none;
}

.package-panel__top {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}

.package-panel h3 {
	margin: 0 0 8px;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1;
	text-transform: uppercase;
}

.package-panel p {
	margin: 0;
	color: var(--muted);
	line-height: 1.55;
}

.price-badge {
	display: grid;
	place-items: center;
	min-width: 138px;
	min-height: 82px;
	padding: 12px;
	border: 1px solid rgba(56, 189, 248, 0.54);
	border-radius: var(--radius);
	color: var(--cyan);
	box-shadow: var(--shadow-blue);
	font-size: 24px;
	font-weight: 900;
	text-align: center;
}

.package-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding: 0;
	margin: 0 0 24px;
	list-style: none;
}

.package-features li {
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	color: #d7deef;
	font-weight: 700;
	line-height: 1.35;
}

.product-showcase {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.showcase-card {
	min-height: 260px;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent),
		rgba(9, 14, 29, 0.86);
	box-shadow: var(--shadow-blue);
}

.showcase-card strong {
	display: block;
	margin-bottom: 10px;
	font-size: 24px;
	line-height: 1.05;
	text-transform: uppercase;
}

.showcase-card p {
	margin: 0 0 18px;
	color: var(--muted);
	line-height: 1.5;
}

.showcase-card ul {
	display: grid;
	gap: 9px;
	padding: 0;
	margin: 0;
	list-style: none;
	color: #d9dfef;
	font-size: 14px;
	font-weight: 700;
}

.price-groups {
	display: grid;
	gap: 12px;
}

.price-group {
	overflow: hidden;
	border: 1px solid rgba(117, 159, 255, 0.28);
	border-radius: var(--radius);
	background: rgba(6, 10, 22, 0.72);
	box-shadow: 0 0 28px rgba(20, 136, 255, 0.12);
}

.price-group summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 60px;
	padding: 0 18px;
	list-style: none;
	color: var(--text);
	font-weight: 900;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
}

.price-group summary::-webkit-details-marker {
	display: none;
}

.price-group summary::after {
	content: "";
	width: 10px;
	height: 10px;
	flex: 0 0 10px;
	border-right: 2px solid var(--cyan);
	border-bottom: 2px solid var(--cyan);
	transform: rotate(45deg);
	transition: transform 0.22s ease;
}

.price-group[open] summary::after {
	transform: rotate(225deg);
}

.price-group summary strong {
	display: inline-grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	margin-left: auto;
	border: 1px solid rgba(56, 189, 248, 0.34);
	border-radius: 999px;
	color: var(--cyan);
	font-size: 12px;
	box-shadow: 0 0 16px rgba(56, 189, 248, 0.14);
}

.price-group .rental-price-list {
	padding: 0 12px 12px;
}

.rental-price-list,
.inventory-list {
	display: grid;
	gap: 10px;
}

.rental-row,
.inventory-row {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 130px 130px;
	gap: 10px;
	align-items: center;
	min-height: 62px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(9, 14, 29, 0.82);
	box-shadow: 0 0 20px rgba(20, 136, 255, 0.13);
}

.inventory-row {
	grid-template-columns: 72px minmax(0, 1fr) 110px 120px;
}

.rental-row span,
.inventory-row span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.rental-row strong,
.inventory-row strong {
	font-size: 18px;
	line-height: 1.2;
}

.rental-row b,
.inventory-row b {
	color: var(--cyan);
	font-size: 20px;
	white-space: nowrap;
}

.rental-row--head,
.inventory-row--head {
	min-height: 42px;
	background: rgba(17, 217, 255, 0.08);
	box-shadow: none;
}

.rental-row--head strong,
.rental-row--head b,
.rental-row--head span,
.inventory-row--head strong,
.inventory-row--head b,
.inventory-row--head span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.game-filters {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	padding: 8px;
	margin-bottom: 18px;
	border: 1px solid rgba(20, 136, 255, 0.38);
	border-radius: var(--radius);
	background: rgba(6, 13, 28, 0.78);
	box-shadow: var(--shadow-blue);
}

.filter-chip {
	min-height: 48px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.05);
	color: var(--text);
	font-weight: 800;
	transition: border-color 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.filter-chip.is-active {
	border-color: rgba(56, 189, 248, 0.78);
	background:
		linear-gradient(135deg, rgba(255, 59, 212, 0.14), rgba(56, 189, 248, 0.1));
	box-shadow: var(--shadow-blue), var(--shadow-magenta);
	color: var(--cyan);
}

.game-panels {
	display: grid;
	gap: 14px;
}

.game-panel {
	display: grid;
	grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
	gap: clamp(16px, 3vw, 28px);
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid rgba(20, 136, 255, 0.3);
	border-radius: var(--radius);
	background: rgba(10, 17, 34, 0.84);
	box-shadow: inset 4px 0 0 var(--tone, var(--blue)), var(--shadow-blue);
}

.game-panel[hidden] {
	display: none;
}

.game-panel__head {
	display: grid;
	align-content: start;
	gap: 10px;
}

.game-panel__head span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.game-panel__head h3 {
	margin: 0;
	font-size: clamp(28px, 3.2vw, 44px);
	line-height: 0.98;
	text-transform: uppercase;
}

.game-panel__head p {
	margin: 0;
	color: #cdd5e8;
	line-height: 1.5;
}

.game-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.game-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 12px 14px;
	border: 1px solid rgba(117, 159, 255, 0.2);
	border-radius: var(--radius);
	background: rgba(4, 9, 20, 0.68);
}

.game-list span {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--tone, var(--blue));
	font-size: 11px;
	font-weight: 900;
}

.game-list strong {
	font-size: 16px;
	line-height: 1.2;
}

.tone-blue {
	--tone: var(--blue);
}

.tone-violet {
	--tone: var(--violet);
}

.tone-cyan {
	--tone: var(--cyan);
}

.tone-green {
	--tone: var(--magenta);
}

.tone-amber {
	--tone: var(--amber);
}

.featured-products .products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.demo-products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.demo-product {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow-blue);
}

.demo-product__media {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background:
		linear-gradient(135deg, rgba(36, 139, 255, 0.18), rgba(255, 59, 212, 0.1)),
		#07101f;
	color: var(--cyan);
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.demo-product span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.demo-product strong {
	font-size: 19px;
	line-height: 1.18;
}

.demo-product b {
	color: var(--cyan);
	font-size: 20px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: auto;
	float: none;
	clear: none !important;
	margin: 0;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow-blue);
	overflow: hidden;
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.woocommerce ul.products li.product:not(:has(img))::before,
.woocommerce-page ul.products li.product:not(:has(img))::before {
	content: "";
	display: block;
	height: 84px;
	margin-bottom: 6px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius);
	background:
		radial-gradient(circle at 18% 22%, rgba(255, 59, 221, 0.28), transparent 28%),
		radial-gradient(circle at 82% 70%, rgba(17, 217, 255, 0.22), transparent 34%),
		linear-gradient(135deg, rgba(36, 139, 255, 0.18), rgba(255, 59, 212, 0.08));
	box-shadow: inset 0 0 30px rgba(17, 217, 255, 0.09);
}

.woocommerce ul.products li.product:not(:has(img))::after,
.woocommerce-page ul.products li.product:not(:has(img))::after {
	content: "PD";
	position: absolute;
	top: 34px;
	right: 34px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	background: rgba(3, 6, 13, 0.62);
	color: var(--text);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0;
	box-shadow: 0 0 22px rgba(17, 217, 255, 0.2);
}

.woocommerce ul.products li.product.product_cat-tobacco:not(:has(img))::after,
.woocommerce-page ul.products li.product.product_cat-tobacco:not(:has(img))::after {
	content: "Т";
	color: var(--magenta);
}

.woocommerce ul.products li.product.product_cat-coal:not(:has(img))::after,
.woocommerce-page ul.products li.product.product_cat-coal:not(:has(img))::after {
	content: "В";
	color: var(--amber);
}

.woocommerce ul.products li.product.product_cat-console-rental:not(:has(img))::after,
.woocommerce-page ul.products li.product.product_cat-console-rental:not(:has(img))::after {
	content: "PS";
	color: var(--cyan);
}

.woocommerce ul.products li.product.product_cat-hookah-rental:not(:has(img))::after,
.woocommerce-page ul.products li.product.product_cat-hookah-rental:not(:has(img))::after {
	content: "К";
	color: var(--magenta);
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: rgba(56, 189, 248, 0.5);
}

.woocommerce ul.products li.product a img {
	aspect-ratio: 16 / 10;
	width: 100%;
	object-fit: cover;
	border-radius: 6px;
	background: #07101f;
}

.woocommerce ul.products li.product a img.woocommerce-placeholder {
	display: none;
}

.woocommerce ul.products li.product:has(img.woocommerce-placeholder) a.woocommerce-LoopProduct-link::before,
.woocommerce-page ul.products li.product:has(img.woocommerce-placeholder) a.woocommerce-LoopProduct-link::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	margin-bottom: 8px;
	border: 1px solid rgba(56, 189, 248, 0.16);
	border-radius: 6px;
	background:
		radial-gradient(circle at 18% 22%, rgba(255, 59, 212, 0.22), transparent 30%),
		radial-gradient(circle at 82% 70%, rgba(56, 189, 248, 0.2), transparent 34%),
		linear-gradient(135deg, rgba(36, 139, 255, 0.12), rgba(255, 59, 212, 0.08)),
		#071326;
	box-shadow: inset 0 0 30px rgba(56, 189, 248, 0.08);
}

.woocommerce ul.products li.product:has(img.woocommerce-placeholder) a.woocommerce-LoopProduct-link::after,
.woocommerce-page ul.products li.product:has(img.woocommerce-placeholder) a.woocommerce-LoopProduct-link::after {
	content: "PLAY DRO";
	position: absolute;
	top: 78px;
	right: 30px;
	padding: 7px 10px;
	border: 1px solid rgba(56, 189, 248, 0.2);
	border-radius: 999px;
	background: rgba(2, 7, 18, 0.72);
	color: var(--cyan);
	font-size: 11px;
	font-weight: 900;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--text);
	font-size: 15px;
	line-height: 1.25;
	font-weight: 800;
	/* Fixed height for up to 3 clamped lines so price/badges/button line up
	   across every card regardless of how long the product name is. */
	height: calc(1.25em * 3);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}

.woocommerce ul.products li.product .price {
	color: var(--cyan);
	font-weight: 900;
	/* Price sits just above the button, pushed toward the bottom. */
	margin-top: auto;
	padding-top: 8px;
}

/* Badges sit between title and price, never pushing the button out of line. */
.product-badges {
	min-height: 24px;
	margin-top: 2px;
}

.product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: -2px;
}

.product-badges span {
	padding: 5px 8px;
	border: 1px solid rgba(56, 189, 248, 0.24);
	border-radius: 999px;
	background: rgba(56, 189, 248, 0.08);
	color: #cfe9ff;
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.single-product div.product .product-badges {
	margin: -4px 0 16px;
}

.woocommerce ul.products li.product .button {
	width: fit-content;
	min-width: 124px;
	min-height: 40px;
	max-width: 100%;
	margin-top: 4px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--radius);
	background: linear-gradient(135deg, var(--magenta), var(--cyan));
	color: #020712;
	box-shadow: none;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	transition: filter 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible {
	background: linear-gradient(135deg, var(--magenta), var(--cyan));
	filter: brightness(1.08);
	color: #020712;
	box-shadow: 0 0 22px rgba(56, 189, 248, 0.28);
}

.woocommerce ul.products li.product .button.loading {
	opacity: 0.75;
	pointer-events: none;
}

.woocommerce ul.products li.product .button.added::after {
	content: "✓";
	margin-left: 6px;
}

.woocommerce span.onsale {
	min-width: auto;
	min-height: auto;
	padding: 7px 10px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--magenta), var(--cyan));
	color: #020712;
	font-weight: 900;
	line-height: 1;
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(9, 14, 29, 0.82);
	box-shadow: var(--shadow-blue);
}

.woocommerce table.shop_table {
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: rgba(255, 255, 255, 0.1);
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.select2-container--default .select2-selection--single {
	min-height: 46px;
	border: 1px solid rgba(117, 159, 255, 0.32);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
}

.woocommerce form .form-row label {
	color: #dbe2f3;
	font-weight: 800;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--cyan);
	border-radius: var(--radius);
	background: rgba(9, 14, 29, 0.92);
	color: var(--text);
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout,
.wc-block-components-main,
.wc-block-components-sidebar {
	color: var(--text);
}

.wc-block-components-sidebar,
.wc-block-cart__main,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step {
	border-color: rgba(117, 159, 255, 0.26) !important;
	border-radius: var(--radius);
	background: rgba(9, 14, 29, 0.82);
	box-shadow: var(--shadow-blue);
}

.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input[type="email"],
.wc-block-components-form .wc-block-components-text-input input[type="tel"],
.wc-block-components-form .wc-block-components-text-input input[type="text"] {
	border-color: rgba(117, 159, 255, 0.34) !important;
	border-radius: var(--radius) !important;
	background: rgba(255, 255, 255, 0.05) !important;
	color: var(--text) !important;
}

.wc-block-components-button:not(.is-link) {
	border-radius: var(--radius);
	background: var(--cyan);
	color: #020712;
	font-weight: 900;
	text-transform: uppercase;
	box-shadow: 0 0 20px rgba(56, 189, 248, 0.22);
}

.empty-commerce {
	padding: 24px;
	color: var(--muted);
}

.empty-commerce strong {
	display: block;
	margin-bottom: 8px;
	color: var(--text);
	font-size: 22px;
}

.checkout-promo {
	display: flex;
	justify-content: space-between;
	gap: 28px;
	align-items: center;
	border-top: 1px solid rgba(56, 189, 248, 0.22);
	border-bottom: 1px solid rgba(20, 136, 255, 0.22);
	background: linear-gradient(90deg, rgba(36, 139, 255, 0.14), rgba(255, 59, 212, 0.08));
}

.checkout-promo p:not(.eyebrow) {
	max-width: 820px;
	color: var(--muted);
	font-size: 18px;
	line-height: 1.56;
}

.site-footer {
	display: grid;
	grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.35fr);
	gap: clamp(24px, 5vw, 64px);
	padding: clamp(36px, 6vw, 72px) clamp(18px, 5vw, 72px) 28px;
	border-top: 1px solid var(--line);
	background:
		radial-gradient(circle at 12% 0, rgba(255, 59, 212, 0.1), transparent 30%),
		radial-gradient(circle at 82% 10%, rgba(56, 189, 248, 0.1), transparent 34%),
		#020712;
	color: var(--muted);
}

.footer-brand {
	display: grid;
	align-content: start;
	gap: 16px;
}

.brand--footer {
	min-width: 0;
}

.playdro-mark--footer {
	--mark-size: 54px;
}

.site-footer strong {
	color: var(--text);
}

.site-footer p {
	max-width: 640px;
	margin: 0;
	line-height: 1.55;
}

.footer-note {
	padding: 12px 14px;
	border-left: 3px solid var(--cyan);
	border-radius: 0 var(--radius) var(--radius) 0;
	background:
		linear-gradient(135deg, rgba(56, 189, 248, 0.08), rgba(255, 59, 212, 0.05));
	color: #dce5f7;
	font-size: 13px;
}

.footer-contact-cards {
	display: grid;
	gap: 10px;
}

.footer-contact-cards div {
	display: grid;
	gap: 5px;
	padding: 12px 14px;
	border: 1px solid rgba(117, 159, 255, 0.22);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.035);
}

.footer-contact-cards span {
	color: var(--green);
	font-size: 11px;
	font-weight: 950;
	text-transform: uppercase;
}

.footer-contact-cards strong {
	font-size: 14px;
	line-height: 1.35;
}

.footer-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.footer-nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	align-items: start;
}

.footer-group {
	display: grid;
	align-content: start;
	gap: 10px;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.footer-group summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	list-style: none;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--text);
	cursor: default;
	pointer-events: none;
}

.footer-group summary::-webkit-details-marker {
	display: none;
}

.footer-group summary::after {
	content: "";
	display: none;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--cyan);
	border-bottom: 2px solid var(--cyan);
	transform: rotate(45deg);
	transition: transform 0.22s ease;
}

.footer-group[open] summary::after {
	transform: rotate(225deg);
}

.footer-group:not([open]) {
	gap: 0;
}

.footer-nav a {
	display: block;
	color: #cbd5ec;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.38;
}

.footer-nav a:hover,
.footer-nav a:focus-visible {
	color: var(--cyan);
}

@media (min-width: 821px) {
	.footer-group:not([open]) > a {
		display: block;
	}
}

.footer-bottom {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 18px;
	padding-top: 20px;
	border-top: 1px solid rgba(117, 159, 255, 0.18);
	font-size: 13px;
}

.commerce-main,
.page-shell {
	min-height: 60vh;
}

.commerce-shell,
.content-card {
	width: min(1180px, calc(100% - 36px));
	margin: 0 auto;
}

.commerce-shell {
	padding: 54px 0 84px;
}

.content-card {
	padding: clamp(22px, 4vw, 42px);
}

.content-card h1 {
	margin-bottom: 18px;
	font-size: clamp(34px, 5vw, 62px);
}

.legal-page {
	display: grid;
	gap: 18px;
	color: #d7def1;
}

.legal-page > * {
	max-width: 920px;
}

.legal-lead {
	margin: 0 0 10px;
	color: #f3f7ff;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.55;
}

.legal-page h2 {
	margin: 18px 0 0;
	color: var(--text);
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
}

.legal-page p {
	margin: 0;
	line-height: 1.68;
}

.legal-page ul {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.legal-page li {
	position: relative;
	padding-left: 22px;
	line-height: 1.62;
}

.legal-page li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--cyan);
	box-shadow: 0 0 14px rgba(56, 189, 248, 0.36);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	max-width: none;
}

.contact-grid div {
	display: grid;
	gap: 10px;
	padding: 18px;
	border: 1px solid rgba(117, 159, 255, 0.25);
	border-radius: var(--radius);
	background: rgba(7, 13, 28, 0.76);
	box-shadow: var(--shadow-blue);
}

.contact-grid strong {
	color: var(--text);
	font-size: 18px;
	text-transform: uppercase;
}

@media (max-width: 1100px) {
	.service-grid,
	.banner-grid,
	.studio-strip,
	.process-grid,
	.product-showcase,
	.demo-products,
	.featured-products .products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero {
		grid-template-columns: 1fr;
	}

	.hero__stats {
		width: 100%;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.trust-strip,
	.footer-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	body {
		padding-bottom: 96px;
	}

	.site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		padding: 12px 16px;
		width: 100%;
	}

	.brand {
		min-width: 0;
	}

	.brand small {
		display: none;
	}

	.playdro-mark--nav {
		--mark-size: 46px;
	}

	.nav-toggle {
		display: grid;
		justify-self: end;
		border-color: rgba(17, 217, 255, 0.5);
		background: rgba(17, 217, 255, 0.08);
		box-shadow: 0 0 18px rgba(17, 217, 255, 0.14);
	}

	.header-actions {
		display: none;
	}

	.mobile-quickbar {
		position: fixed;
		z-index: 45;
		right: 10px;
		bottom: 8px;
		left: 10px;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px;
		padding: 5px;
		border: 1px solid rgba(17, 217, 255, 0.34);
		border-radius: var(--radius);
		background: rgba(3, 7, 15, 0.94);
		box-shadow: 0 0 30px rgba(20, 136, 255, 0.24);
		backdrop-filter: blur(16px);
		transition: opacity 0.18s ease, transform 0.18s ease;
	}

	.mobile-quickbar a,
	.mobile-quickbar .cart-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 0;
		min-height: 38px;
		padding: 0 6px;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.05);
		color: var(--text);
		font-size: 10px;
		font-weight: 900;
		text-transform: uppercase;
	}

	.mobile-quickbar .cart-link {
		gap: 6px;
		border-color: rgba(56, 189, 248, 0.42);
		color: var(--cyan);
	}

	.mobile-quickbar .cart-link strong {
		min-width: 20px;
		height: 20px;
		font-size: 10px;
	}

	.primary-nav {
		grid-column: 1 / -1;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transition: max-height 0.28s ease, opacity 0.22s ease;
	}

	.primary-nav.is-open {
		max-height: min(620px, calc(100vh - 96px));
		opacity: 1;
		overflow: auto;
		pointer-events: auto;
	}

	.primary-nav ul {
		display: grid;
		justify-content: stretch;
		gap: 8px;
		padding: 12px;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: rgba(6, 10, 20, 0.96);
		box-shadow: var(--shadow-blue);
	}

	.primary-nav a {
		width: 100%;
		justify-content: space-between;
		min-height: 48px;
	}

	.primary-nav .sub-menu {
		position: static;
		min-width: 0;
		margin-top: 4px;
		padding: 6px;
		border-color: rgba(117, 159, 255, 0.18);
		background: rgba(255, 255, 255, 0.04);
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.primary-nav .sub-menu a {
		min-height: 40px;
		padding-left: 12px;
		color: #dce6fb;
		font-size: 13px;
		white-space: normal;
	}

	.cart-dock {
		justify-self: end;
	}

	.cart-link small {
		display: none;
	}

	.cart-panel {
		position: fixed;
		top: 76px;
		right: 16px;
		left: 16px;
		width: auto;
		max-height: calc(100vh - 104px);
		overflow: auto;
	}

	.cart-panel::before {
		display: none;
	}

	.hero {
		min-height: auto;
		padding-top: 54px;
		background:
			linear-gradient(180deg, rgba(5, 7, 12, 0.98), rgba(5, 7, 12, 0.9) 58%, rgba(5, 7, 12, 0.98)),
			var(--hero-image) 62% center / cover no-repeat;
	}

	.hero__content {
		transform: none;
	}

	h1 {
		max-width: 100%;
		font-size: clamp(31px, 8.6vw, 42px);
		line-height: 1.04;
	}

	.hero__lead {
		max-width: 100%;
		font-size: 15.5px;
	}

	.hero__actions .button {
		flex: 1 1 142px;
		min-width: 0;
	}

	.hero__stats {
		display: none;
	}

	.service-grid,
	.banner-grid,
	.studio-strip,
	.trust-strip,
	.process-grid,
	.package-lab,
	.package-features,
	.product-showcase,
	.demo-products,
	.featured-products .products {
		grid-template-columns: 1fr;
	}

	.game-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.game-panel {
		grid-template-columns: 1fr;
	}

	.game-list {
		grid-template-columns: 1fr;
	}

	.package-panel__top {
		display: grid;
	}

	.rental-row,
	.inventory-row {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 6px 12px;
		align-items: start;
	}

	.rental-row span:first-child,
	.inventory-row span:first-child {
		grid-column: 1;
		grid-row: 1 / span 3;
	}

	.rental-row strong,
	.inventory-row strong {
		grid-column: 2;
		grid-row: 1;
		font-size: 17px;
	}

	.rental-row span:nth-child(3),
	.inventory-row span:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
		justify-self: start;
	}

	.rental-row b,
	.inventory-row b {
		grid-column: 2;
		grid-row: 3;
		justify-self: start;
		font-size: 20px;
	}

	.rental-row--head,
	.inventory-row--head {
		display: none;
	}

	.checkout-promo,
	.site-footer {
		display: grid;
	}

	.site-footer,
	.footer-nav {
		grid-template-columns: 1fr;
	}

	.footer-group {
		gap: 0;
		padding: 0;
		border: 1px solid rgba(82, 164, 255, 0.24);
		border-radius: var(--radius);
		background: rgba(255, 255, 255, 0.035);
	}

	.footer-group summary {
		min-height: 54px;
		padding: 0 14px;
		cursor: pointer;
		pointer-events: auto;
	}

	.footer-group summary::after {
		display: block;
	}

	.footer-group:not([open]) > a {
		display: none;
	}

	.footer-group a {
		padding: 0 14px 12px;
	}
}

@media (max-width: 480px) {
	.cart-link {
		min-width: 44px;
		padding: 0 10px;
	}

	.cart-link span {
		display: none;
	}

	.mobile-quickbar .cart-link span {
		display: inline;
	}

	.hero {
		padding-right: 24px;
		padding-left: 24px;
	}

	.playdro-mark--hero {
		--mark-size: 104px;
	}

	.section {
		padding-right: 18px;
		padding-left: 18px;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Reveal animation only applies when JS is active (html.js). Without JS the
   content is fully visible — never trap content behind opacity:0. */
.js [data-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.js [data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}



/* === Play Dro commerce cleanup v1.0.20 === */
.woocommerce-cart,
.woocommerce-checkout {
	background:
		radial-gradient(800px circle at 8% 0%, rgba(56, 189, 248, 0.08), transparent 60%),
		radial-gradient(760px circle at 92% 8%, rgba(255, 59, 212, 0.045), transparent 58%),
		#030711;
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	padding-top: clamp(24px, 4vw, 44px);
	padding-bottom: clamp(52px, 7vw, 96px);
}

.woocommerce-cart .commerce-shell,
.woocommerce-checkout .commerce-shell {
	width: min(1120px, calc(100% - 32px));
	padding-top: 0;
	padding-bottom: 0;
}

.woocommerce-cart .commerce-card,
.woocommerce-checkout .commerce-card {
	padding: clamp(18px, 3vw, 34px);
	border: 1px solid rgba(117, 159, 255, 0.22);
	border-radius: 14px;
	background:
		linear-gradient(180deg, rgba(8, 14, 29, 0.94), rgba(4, 8, 18, 0.96));
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
}

.woocommerce-cart .commerce-card > h1,
.woocommerce-checkout .commerce-card > h1 {
	margin: 0 0 clamp(18px, 3vw, 30px);
	max-width: 920px;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 0.96;
	letter-spacing: 0;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	color: var(--text);
}

.woocommerce-cart .woocommerce a,
.woocommerce-checkout .woocommerce a {
	color: var(--cyan);
	font-weight: 800;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
	margin: 0 0 18px;
	border: 1px solid rgba(56, 189, 248, 0.22);
	border-left: 4px solid var(--cyan);
	border-radius: 12px;
	background: rgba(6, 13, 26, 0.92);
	color: #dce7fb;
	box-shadow: none;
}

.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before {
	color: var(--cyan);
}

@media (max-width: 700px) {
	.woocommerce-cart .commerce-shell,
	.woocommerce-checkout .commerce-shell {
		width: min(100% - 18px, 1120px);
	}

	.woocommerce-cart .commerce-card,
	.woocommerce-checkout .commerce-card {
		padding: 14px;
		border-radius: 12px;
	}

	.woocommerce-cart .commerce-card > h1,
	.woocommerce-checkout .commerce-card > h1 {
		font-size: clamp(32px, 10vw, 42px);
		letter-spacing: 0;
	}
}


/* === Play Dro audit implementation v1.0.21 === */
:root {
	--radius: 12px;
	--shadow-blue: 0 0 24px rgba(56, 189, 248, 0.16);
	--shadow-magenta: 0 0 22px rgba(255, 72, 214, 0.12);
}

.button,
.add_to_cart_button,
.product_type_simple {
	letter-spacing: 0;
}

.button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: #38bdf8;
	color: #020712;
	box-shadow: 0 12px 28px rgba(56, 189, 248, 0.16);
}

.button--primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(56, 189, 248, 0.2);
}

.commerce-card > h1,
.woocommerce-cart .commerce-card > h1,
.woocommerce-checkout .commerce-card > h1 {
	max-width: 820px;
	font-size: clamp(32px, 4.8vw, 54px);
	line-height: 0.98;
	letter-spacing: 0;
}

.products .product,
.product-card,
.catalog-card,
.service-card {
	border-color: rgba(117, 159, 255, 0.22);
	box-shadow: 0 18px 52px rgba(0, 0, 0, 0.22);
}

.playdro-product-placeholder,
.woocommerce-placeholder.playdro-product-placeholder {
	object-fit: cover;
	background: #071326;
	border: 1px solid rgba(56, 189, 248, 0.18);
	border-radius: 12px;
}

.woocommerce ul.products li.product img.playdro-product-placeholder {
	padding: 0;
}

.primary-nav .sub-menu {
	margin-top: 0;
	padding-top: 10px;
}

.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
	pointer-events: auto;
}

.game-filter button.is-active,
.package-tabs button.is-active {
	box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.32) inset, 0 0 18px rgba(56, 189, 248, 0.14);
}

.mobile-quickbar {
	padding-bottom: max(10px, env(safe-area-inset-bottom));
}

@media (max-width: 700px) {
	.site-header {
		padding-inline: 12px;
	}

	.brand small {
		display: none;
	}

	.commerce-card > h1,
	.woocommerce-cart .commerce-card > h1,
	.woocommerce-checkout .commerce-card > h1 {
		font-size: clamp(30px, 9vw, 40px);
	}

	.hero,
	.section {
		padding-left: 12px;
		padding-right: 12px;
	}

	.button,
	.add_to_cart_button,
	.product_type_simple {
		min-height: 46px;
	}

	.mobile-quickbar a {
		min-height: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}


/* === Play Dro v1.0.22 polish === */
:root {
	--shadow-blue: 0 0 22px rgba(56, 189, 248, 0.14);
	--shadow-magenta: 0 0 20px rgba(255, 72, 214, 0.1);
}

.hero,
.section {
	scroll-margin-top: 92px;
}

.product-card .price,
.woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
}

.content-card,
.booking-card,
.product-card,
.service-card {
	backdrop-filter: blur(10px);
}

@media (max-width: 700px) {
	.content-card,
	.booking-card,
	.product-card,
	.service-card {
		backdrop-filter: none;
	}

	.hero__title,
	.section__header h2 {
		letter-spacing: 0;
	}
}


/* === Play Dro product UX v1.0.29 === */
.hero__actions .button {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
	position: relative;
	display: block;
	min-width: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 2px 0 0;
	font-size: clamp(17px, 1.35vw, 21px);
	line-height: 1.12;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .price {
	margin: 0;
	font-size: 16px;
	line-height: 1.1;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: auto;
	min-width: 104px;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 10.5px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
}

.single-product .commerce-shell {
	width: min(1180px, calc(100% - 32px));
}

.single-product .commerce-card {
	padding: clamp(18px, 3vw, 36px);
	border-color: rgba(117, 159, 255, 0.22);
	background:
		radial-gradient(900px circle at 100% 12%, rgba(56, 189, 248, 0.08), transparent 56%),
		linear-gradient(180deg, rgba(8, 14, 29, 0.94), rgba(4, 8, 18, 0.97));
}

.single-product div.product {
	display: grid;
	grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 54px);
	align-items: start;
}

.single-product div.product div.images,
.single-product div.product div.summary {
	width: auto;
	float: none;
}

.single-product div.product .product_title {
	max-width: 760px;
	margin: 0 0 16px;
	font-size: clamp(30px, 4.6vw, 52px);
	line-height: 1.02;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.single-product div.product p.price {
	margin: 0 0 20px;
	color: var(--cyan);
	font-size: clamp(24px, 2.8vw, 34px);
	font-weight: 950;
	line-height: 1;
}

.single-product div.product .woocommerce-product-details__short-description {
	max-width: 680px;
	margin: 0 0 18px;
	color: #dce7fb;
	font-size: 17px;
	line-height: 1.55;
}

.single-product div.product .stock {
	margin: 0 0 18px;
	color: var(--lime);
	font-weight: 900;
}

.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 0 0 22px;
}

.single-product div.product form.cart .button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 150px;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 11px;
	background: linear-gradient(135deg, rgba(255, 59, 212, 0.9), rgba(56, 189, 248, 0.92));
	color: #020712;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 14px 34px rgba(56, 189, 248, 0.18);
}

.single-product .product_meta,
.single-product .woocommerce-tabs ul.tabs li.reviews_tab,
.single-product .woocommerce-tabs ul.tabs li.additional_information_tab {
	display: none !important;
}

.single-product .woocommerce-tabs {
	clear: both;
	margin-top: clamp(28px, 5vw, 56px);
}

.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	border-bottom: 1px solid rgba(117, 159, 255, 0.26);
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after {
	display: none;
}

.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	border: 1px solid rgba(117, 159, 255, 0.26);
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	background: rgba(12, 18, 35, 0.88);
}

.single-product .woocommerce-tabs ul.tabs li a {
	padding: 11px 18px;
	color: #dce7fb;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

.single-product .woocommerce-Tabs-panel {
	max-width: 820px;
	color: #dce7fb;
	font-size: 17px;
	line-height: 1.6;
}

.single-product .woocommerce-Tabs-panel h2 {
	margin: 0 0 16px;
	font-size: clamp(26px, 3.4vw, 38px);
	line-height: 1.05;
	letter-spacing: 0;
}

@media (max-width: 820px) {
	.playdro-ready-section .process-grid,
	.playdro-contact-strip {
		grid-template-columns: 1fr;
	}

	.playdro-contact-strip {
		align-items: start;
	}

	.contact-strip__actions {
		justify-content: flex-start;
	}

	.hero__actions {
		gap: 10px;
	}

	.hero__actions .button {
		min-height: 42px;
		padding: 0 12px;
		font-size: 12px;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 12px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(19px, 6vw, 26px);
		line-height: 1.08;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce ul.products li.product .add_to_cart_button,
	.woocommerce-page ul.products li.product .add_to_cart_button {
		min-width: 116px;
		min-height: 34px !important;
		padding: 0 12px;
		font-size: 10.5px;
	}

	.single-product .commerce-shell {
		width: min(100% - 18px, 1180px);
	}

	.single-product .commerce-card {
		padding: 14px;
	}

	.single-product div.product {
		display: block;
	}

	.single-product div.product div.images {
		margin-bottom: 22px;
	}

	.single-product div.product .product_title {
		font-size: clamp(28px, 8.2vw, 40px);
		line-height: 1.04;
	}

	.single-product div.product .woocommerce-product-details__short-description,
	.single-product .woocommerce-Tabs-panel {
		font-size: 16px;
		line-height: 1.5;
	}
}

@media (max-width: 420px) {
	.hero__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.hero__actions .button {
		width: 100%;
		min-width: 0;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(18px, 6.1vw, 24px);
	}

	.single-product div.product .product_title {
		font-size: clamp(26px, 8vw, 34px);
	}

	.single-product div.product form.cart .button.single_add_to_cart_button {
		min-width: 138px;
		min-height: 44px;
		font-size: 13px;
	}
}

/* === Play Dro final TZ polish v1.0.30 === */
.site-header,
.primary-nav,
.header-actions,
.cart-panel,
.mobile-quickbar {
	box-sizing: border-box;
}

.primary-nav .menu-item-has-children::after {
	height: 28px;
}

.primary-nav .sub-menu {
	top: calc(100% + 2px);
	padding: 10px;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	box-sizing: border-box;
	line-height: 1.1;
	text-align: center;
	white-space: normal;
}

.hero__actions .button,
.header-contact,
.cart-link {
	white-space: nowrap;
}

.woocommerce ul.products li.product img.woocommerce-placeholder.playdro-product-placeholder,
.woocommerce-page ul.products li.product img.woocommerce-placeholder.playdro-product-placeholder {
	display: block;
	aspect-ratio: 16 / 10;
	width: 100%;
	height: auto;
	margin: 0 0 10px;
	object-fit: cover;
}

.woocommerce ul.products li.product:has(img.playdro-product-placeholder) a.woocommerce-LoopProduct-link::before,
.woocommerce-page ul.products li.product:has(img.playdro-product-placeholder) a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product:has(img.playdro-product-placeholder) a.woocommerce-LoopProduct-link::after,
.woocommerce-page ul.products li.product:has(img.playdro-product-placeholder) a.woocommerce-LoopProduct-link::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	min-height: 0;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button {
	min-width: 108px;
	min-height: 36px !important;
	padding: 0 13px;
	border-radius: 10px;
	font-size: 11px;
	line-height: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	max-width: 100%;
	min-height: 0;
}

.site-footer {
	grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.25fr);
	gap: clamp(20px, 4vw, 48px);
	padding-top: clamp(30px, 5vw, 56px);
}

.footer-contact-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-contact-cards div {
	padding: 10px 12px;
}

.footer-nav {
	gap: 10px;
}

.footer-group {
	padding: 14px;
	border: 1px solid rgba(117, 159, 255, 0.18);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.025);
}

.footer-group summary {
	cursor: default;
}

.footer-nav a {
	font-size: 13px;
}

.page-shell {
	padding-top: clamp(32px, 5vw, 58px);
}

.content-card h1 {
	line-height: 1.05;
}

@media (max-width: 1100px) {
	.site-header {
		gap: 14px;
	}

	.primary-nav a {
		padding-inline: 10px;
	}
}

@media (max-width: 820px) {
	.primary-nav .menu-item-has-children::after {
		display: none;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		gap: 9px;
		padding: 12px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(18px, 5.4vw, 23px);
		line-height: 1.08;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce ul.products li.product .add_to_cart_button,
	.woocommerce-page ul.products li.product .add_to_cart_button {
		min-width: 118px;
		min-height: 38px !important;
		font-size: 11px;
	}

	.footer-contact-cards,
	.footer-nav {
		grid-template-columns: 1fr;
	}

	.footer-group {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.footer-group summary {
		min-height: 44px;
		cursor: pointer;
		pointer-events: auto;
	}

	.footer-group summary::after {
		display: block;
	}

	.footer-group:not([open]) > a {
		display: none;
	}

	.footer-nav a {
		padding: 8px 0;
	}
}

@media (max-width: 520px) {
	.hero__actions {
		display: grid;
		grid-template-columns: 1fr;
		max-width: 320px;
	}

	.hero__actions .button {
		justify-content: center;
		width: 100%;
	}

	.hero__stats {
		grid-template-columns: 1fr;
	}

	.single-product div.product .product_title {
		font-size: clamp(24px, 7.2vw, 31px);
		line-height: 1.08;
	}

	.single-product div.product p.price {
		font-size: clamp(21px, 6vw, 26px);
	}

	.single-product div.product .woocommerce-product-details__short-description,
	.single-product .woocommerce-Tabs-panel {
		font-size: 15px;
	}

	.single-product div.product form.cart .button.single_add_to_cart_button {
		min-width: 128px;
		min-height: 42px;
		padding: 0 14px;
		font-size: 12px;
	}

	.mobile-quickbar {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* === Play Dro final structural polish v1.0.33 === */
.hero__actions .button,
.footer-cta .button,
.contact-strip__actions .button {
	min-width: min(100%, 190px);
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 104px !important;
	min-height: 34px !important;
	padding: 0 13px !important;
	border-radius: 9px !important;
	font-size: 10.5px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	hyphens: none;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	margin-top: auto !important;
}

.playdro-contact-strip {
	margin-top: clamp(36px, 6vw, 72px);
}

@media (max-width: 820px) {
	.hero__actions,
	.empty-commerce__actions,
	.contact-strip__actions {
		grid-template-columns: 1fr;
	}

	.hero__actions .button,
	.footer-cta .button,
	.contact-strip__actions .button {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 520px) {
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		min-height: 0 !important;
		padding: 12px !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(17px, 5.2vw, 21px) !important;
		line-height: 1.08 !important;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce ul.products li.product .add_to_cart_button,
	.woocommerce-page ul.products li.product .add_to_cart_button {
		min-width: 106px !important;
		min-height: 34px !important;
		font-size: 10px !important;
	}
}

/* === Play Dro typography pass v1.0.34 === */
body,
button,
input,
textarea,
select,
.primary-nav,
.cart-panel,
.footer-nav,
.woocommerce,
.mobile-quickbar {
	font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
.hero h1,
.section__header h2,
.commerce-card > h1,
.single-product div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.product-card strong,
.service-card strong,
.process-grid strong,
.footer-group summary,
.booking-header h2,
.booking-step strong {
	font-family: var(--font-heading);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.brand strong,
.cart-toggle,
.button,
.header-contact,
.eyebrow,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	font-family: var(--font-body);
}

.hero h1,
.section__header h2,
.commerce-card > h1,
.booking-header h2 {
	line-height: 0.96;
}

/* Unbounded is a wide display face: ease the tracking and weight so large
   headings stay readable instead of turning into a heavy uppercase wall. */
.hero h1,
.section__header h2,
.commerce-card > h1,
.booking-header h2 {
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.02;
}

.service-card strong,
.process-grid strong,
.booking-step strong,
.footer-group summary {
	letter-spacing: 0.005em;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	line-height: 1.04 !important;
}

@media (max-width: 520px) {
	.hero h1,
	.section__header h2,
	.commerce-card > h1,
	.booking-header h2 {
		line-height: 1;
	}
}

/* Footer compact pass: keep desktop footer useful, not bulky. */
.site-footer {
	padding-bottom: 22px;
}

.site-footer p {
	font-size: 14px;
}

.footer-contact-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.footer-contact-cards div {
	display: inline-flex;
	gap: 7px;
	align-items: baseline;
	min-width: 0;
	padding: 8px 10px;
}

.footer-contact-cards span {
	font-size: 10px;
}

.footer-contact-cards strong {
	font-size: 13px;
}

.footer-cta .button {
	min-height: 38px;
	padding-inline: 14px;
	font-size: 12px;
}

.footer-group {
	padding: 0;
	border: 0;
	background: transparent;
}

.footer-nav {
	column-gap: 18px;
}

.footer-note {
	padding: 10px 12px;
	font-size: 12px;
}

@media (max-width: 820px) {
	.footer-contact-cards {
		display: grid;
	}

	.footer-contact-cards div {
		display: grid;
	}
}

/* === Play Dro catalog alignment and copy polish v1.0.31 === */
.site-header:has(.primary-nav:hover),
.site-header:has(.primary-nav:focus-within) {
	transform: translateY(0) !important;
}

.primary-nav .menu-item-has-children::after {
	height: 24px;
}

.primary-nav .sub-menu {
	top: calc(100% + 4px);
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	display: none !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	float: none !important;
	display: flex !important;
	justify-content: flex-end;
	width: 100%;
	margin: 0 0 18px !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	width: auto;
	min-width: 190px;
	min-height: 44px;
	padding: 0 42px 0 14px;
	border: 1px solid rgba(117, 159, 255, 0.38);
	border-radius: 12px;
	background-color: rgba(6, 12, 24, 0.92);
	color: #f5f8ff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	outline: none;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products[class*="columns-"],
.woocommerce-page ul.products[class*="columns-"] {
	clear: both !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
	gap: 16px !important;
	align-items: stretch;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	float: none !important;
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	min-height: 100%;
	margin: 0 !important;
	padding: 14px !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	gap: 9px;
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce ul.products li.product img.playdro-product-placeholder,
.woocommerce-page ul.products li.product img.playdro-product-placeholder {
	width: 100% !important;
	aspect-ratio: 16 / 10;
	margin: 0 !important;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	margin: 2px 0 0 !important;
	font-size: clamp(16px, 1.05vw, 19px) !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .product-badges,
.woocommerce-page ul.products li.product .product-badges {
	min-height: 24px;
	margin: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	margin-top: auto !important;
	font-size: 15px !important;
	line-height: 1.1;
}

.single-product .playdro-product-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 8px;
	padding: 0;
	margin: 16px 0;
	list-style: none;
}

.single-product .playdro-product-facts li {
	padding: 10px 12px;
	border: 1px solid rgba(56, 189, 248, 0.18);
	border-radius: 10px;
	background: rgba(56, 189, 248, 0.045);
	color: #dce7fb;
}

.single-product .playdro-product-facts strong {
	display: block;
	margin-bottom: 3px;
	color: #38bdf8;
	font-size: 11px;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button {
	align-self: flex-start;
	width: auto !important;
	min-width: 108px !important;
	max-width: 100%;
	min-height: 36px !important;
	margin-top: 10px !important;
	padding: 0 14px !important;
	border-radius: 10px !important;
	font-size: 11px !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: center;
	white-space: nowrap !important;
}

@media (min-width: 1320px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1040px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		justify-content: flex-start;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 11px !important;
	}
}

@media (max-width: 520px) {
	.woocommerce .woocommerce-ordering select,
	.woocommerce-page .woocommerce-ordering select {
		width: 100%;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(18px, 5.1vw, 22px) !important;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce ul.products li.product .add_to_cart_button,
	.woocommerce-page ul.products li.product .add_to_cart_button {
		min-width: 118px !important;
		min-height: 38px !important;
		font-size: 11px !important;
	}
}

/* ============================================================= */
/* Play UA v1.1.0 — city picker, soft-launch notice, reviews,    */
/* game badges. Matches the neon dark system.                     */
/* ============================================================= */

/* City picker -------------------------------------------------- */
.city-picker {
	position: relative;
	display: inline-flex;
}

.city-picker__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(8, 14, 30, 0.7);
	color: var(--text);
	font-weight: 600;
	font-size: 13px;
	line-height: 1;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.city-picker__toggle:hover,
.city-picker__toggle[aria-expanded="true"] {
	border-color: rgba(56, 189, 248, 0.55);
	box-shadow: var(--shadow-blue);
}

.city-picker__pin {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--cyan);
	box-shadow: 0 0 10px rgba(56, 189, 248, 0.8);
}

.city-picker__caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid var(--muted);
	transition: transform 0.2s ease;
}

.city-picker__toggle[aria-expanded="true"] .city-picker__caret {
	transform: rotate(180deg);
}

.city-picker__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 180px;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel-strong);
	backdrop-filter: blur(18px);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5);
	z-index: 60;
}

.city-picker__menu[hidden] {
	display: none;
}

.city-picker__option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	color: var(--text);
	font-weight: 600;
	font-size: 14px;
	transition: background 0.18s ease;
}

.city-picker__option:hover {
	background: rgba(56, 189, 248, 0.1);
}

.city-picker__option.is-active {
	background: rgba(56, 189, 248, 0.16);
	color: var(--cyan);
}

.city-picker__badge {
	font-style: normal;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--amber);
	border: 1px solid rgba(255, 180, 90, 0.45);
	border-radius: 999px;
	padding: 2px 8px;
}

/* Soft-launch city notice -------------------------------------- */
.city-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	padding: 12px clamp(18px, 4vw, 52px);
	background: linear-gradient(90deg, rgba(255, 180, 90, 0.16), rgba(255, 59, 212, 0.1));
	border-bottom: 1px solid rgba(255, 180, 90, 0.32);
	font-size: 14px;
	color: var(--text);
}

.city-notice strong {
	color: var(--amber);
}

.city-notice span {
	color: var(--muted);
	flex: 1 1 320px;
}

.city-notice__switch {
	color: var(--cyan);
	font-weight: 600;
	white-space: nowrap;
}

.city-notice__switch:hover {
	text-decoration: underline;
}

/* Reviews ------------------------------------------------------ */
.reviews-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}

.reviews-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.review-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.review-card:hover {
	border-color: rgba(56, 189, 248, 0.4);
	transform: translateY(-2px);
}

.review-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.review-avatar {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(56, 189, 248, 0.16);
	color: var(--cyan);
	font-weight: 700;
	font-size: 16px;
	flex: 0 0 40px;
}

.review-card__head > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
}

.review-card__head strong {
	font-size: 15px;
}

.review-stars {
	color: var(--amber);
	font-size: 13px;
	letter-spacing: 1px;
}

.review-card__google {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid var(--line);
	font-style: normal;
	font-weight: 700;
	font-size: 13px;
	color: var(--muted);
}

.review-card p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.6;
}

.reviews-map {
	display: flex;
	flex-direction: column;
	gap: 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--panel);
}

.reviews-map iframe {
	width: 100%;
	height: 280px;
	border: 0;
	filter: grayscale(0.2) brightness(0.9);
}

.reviews-map__footer {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 16px 16px;
}

.reviews-map__footer span {
	color: var(--muted);
	font-size: 13px;
}

/* Game badges + installed note --------------------------------- */
.game-badge {
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	border-radius: 8px;
	background: rgba(56, 189, 248, 0.12);
	border: 1px solid rgba(56, 189, 248, 0.28);
	color: var(--cyan);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.02em;
	flex: 0 0 auto;
}

.tone-violet .game-badge { background: rgba(139, 92, 255, 0.14); border-color: rgba(139, 92, 255, 0.32); color: #c4b1ff; }
.tone-green .game-badge { background: rgba(141, 255, 61, 0.12); border-color: rgba(141, 255, 61, 0.3); color: var(--green); }
.tone-amber .game-badge { background: rgba(255, 180, 90, 0.14); border-color: rgba(255, 180, 90, 0.32); color: var(--amber); }

.game-panel__installed {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding: 8px 12px;
	border-radius: 8px;
	background: rgba(141, 255, 61, 0.08);
	border: 1px solid rgba(141, 255, 61, 0.22);
	color: var(--green);
	font-size: 13px;
	line-height: 1.4;
}

.game-panel__installed i {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--green);
	color: #04130a;
	font-style: normal;
	font-weight: 800;
	font-size: 12px;
	flex: 0 0 18px;
}

/* Responsive --------------------------------------------------- */
@media (max-width: 900px) {
	.reviews-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.reviews-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.city-notice {
		font-size: 13px;
	}

	.city-picker__toggle {
		padding: 8px 10px;
		font-size: 12px;
	}
}

/* Play UA — real brand logo image (replaces CSS-drawn mark) */
.brand-logo {
	width: 48px;
	height: 48px;
	display: block;
	object-fit: contain;
	filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.35));
}

.brand-logo--footer {
	width: 56px;
	height: 56px;
}

@media (max-width: 640px) {
	.brand-logo { width: 40px; height: 40px; }
}

/* ============================================================= */
/* Play UA v1.1.2 — layout alignment pass.                       */
/* One consistent left-aligned content column for every section, */
/* so headings, booking, catalog and content all share the same  */
/* left edge and max width (no more some-centered/some-left mix). */
/* ============================================================= */
:root {
	--content-max: 1180px;
	--gutter: clamp(18px, 5vw, 72px);
}

/* Every top-level section: consistent padding + capped, left-aligned column */
.section {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

.section > * {
	max-width: var(--content-max);
	margin-left: 0;   /* flush-left, not centered */
	margin-right: 0;
}

/* The booking card spans the full content column and starts at the same
   left edge as the section heading. */
.playdro-booking .booking-card,
.section .booking-card {
	max-width: var(--content-max);
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

/* WooCommerce + content shells were centered (margin:0 auto) — align them
   left to match the rest of the site. */
.commerce-shell,
.content-card {
	width: 100%;
	max-width: var(--content-max);
	margin-left: 0;
	margin-right: 0;
}

/* Section header and its lead share the same left edge; widen the lead a touch
   for readability but keep it left. */
.section__header {
	max-width: var(--content-max);
}

.section__header p:not(.eyebrow) {
	max-width: 760px;
}

/* Keep grids full content width and left-aligned */
.service-grid,
.process-grid,
.reviews-layout,
.game-catalog,
.contact-strip__actions {
	max-width: var(--content-max);
}

/* Reviews — "all on Google" card */
.review-all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px;
	border: 1px dashed rgba(56, 189, 248, 0.4);
	border-radius: var(--radius);
	background: rgba(56, 189, 248, 0.05);
	color: var(--cyan);
	font-weight: 600;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.review-all:hover {
	background: rgba(56, 189, 248, 0.1);
	border-color: rgba(56, 189, 248, 0.7);
}
.review-all i { font-style: normal; font-size: 20px; }

/* City picker: in header-actions on desktop, inside nav drawer on mobile */
.primary-nav__city { display: none; }

@media (max-width: 820px) {
	/* header-actions (with its city picker) is hidden on mobile; surface the
	   picker inside the open nav drawer instead. */
	.primary-nav__city {
		display: block;
		margin-top: 14px;
		padding-top: 14px;
		border-top: 1px solid var(--line);
	}
	.primary-nav__city .city-picker { width: 100%; }
	.primary-nav__city .city-picker__toggle { width: 100%; justify-content: space-between; }
	.primary-nav__city .city-picker__menu { right: auto; left: 0; width: 100%; }
}

/* ============================================================= */
/* Play UA v1.1.3 — header fits on one line or cleanly collapses */
/* The nav has many items; between ~820–1080px it was cramped and */
/* wrapped ("Про/нас"). Switch to the hamburger drawer earlier.   */
/* ============================================================= */
@media (max-width: 1080px) {
	.site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
	}
	.primary-nav:not(.is-open) {
		position: fixed;
		inset: 64px 12px auto 12px;
		display: none;
		flex-direction: column;
		padding: 14px;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: rgba(4, 8, 18, 0.98);
		backdrop-filter: blur(18px);
		box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
		z-index: 50;
	}
	.primary-nav.is-open {
		position: fixed;
		inset: 64px 12px auto 12px;
		display: flex;
		flex-direction: column;
		padding: 14px;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: rgba(4, 8, 18, 0.98);
		backdrop-filter: blur(18px);
		box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
		z-index: 50;
		max-height: calc(100vh - 84px);
		overflow-y: auto;
	}
	.primary-nav.is-open ul {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		width: 100%;
	}
	.primary-nav.is-open a {
		width: 100%;
		justify-content: flex-start;
		font-size: 16px;
	}
	.primary-nav.is-open .sub-menu {
		position: static;
		display: block;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		padding-left: 12px;
		background: transparent;
	}
	.nav-toggle {
		display: grid;
		justify-self: end;
	}
	.header-actions {
		display: none;
	}
	.brand small {
		display: none;
	}
	.primary-nav__city {
		display: block;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid var(--line);
	}
	.primary-nav__city .city-picker,
	.primary-nav__city .city-picker__toggle { width: 100%; }
}

/* ============================================================= */
/* Play UA v1.1.4 — mobile quickbar + burger menu, best practice */
/* Authoritative block (last in cascade). Aligns the bottom bar  */
/* to the same 1080px breakpoint as the burger drawer, with      */
/* 44px+ tap targets, icon+label items, active state, safe-area. */
/* ============================================================= */

/* Hidden by default (desktop) */
.mobile-quickbar { display: none; }

@media (max-width: 1080px) {
	.mobile-quickbar {
		position: fixed;
		z-index: 46;
		left: 10px;
		right: 10px;
		bottom: 10px;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		padding: 8px;
		padding-bottom: max(8px, env(safe-area-inset-bottom));
		border: 1px solid rgba(56, 189, 248, 0.28);
		border-radius: 16px;
		background: rgba(5, 9, 18, 0.92);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0,0,0,0.2);
		transition: transform 0.28s ease, opacity 0.28s ease;
	}

	/* Auto-hide on scroll-down (class toggled by site.js) */
	.mobile-quickbar.is-hidden {
		transform: translateY(140%);
		opacity: 0;
		pointer-events: none;
	}

	.quickbar-item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		min-height: 52px;            /* comfortable tap target */
		padding: 6px 4px;
		border: 0;
		border-radius: 12px;
		background: transparent;
		color: var(--muted);
		font-family: var(--font-body);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.01em;
		text-transform: none;
		cursor: pointer;
		transition: background 0.18s ease, color 0.18s ease, transform 0.1s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.quickbar-item { text-decoration: none; }
	.quickbar-item:active { transform: scale(0.94); }

	.quickbar-item:hover,
	.quickbar-item:focus-visible {
		color: var(--text);
		background: rgba(56, 189, 248, 0.1);
		outline: none;
	}

	/* Active page highlight */
	.quickbar-item.is-active {
		color: var(--cyan);
		background: rgba(56, 189, 248, 0.14);
	}

	.quickbar-icon {
		display: grid;
		place-items: center;
		width: 24px;
		height: 24px;
	}

	.quickbar-icon svg {
		width: 22px;
		height: 22px;
		display: block;
	}

	.quickbar-label {
		line-height: 1;
		white-space: nowrap;
	}

	/* Cart link: icon with a count badge */
	.mobile-quickbar .cart-link {
		color: var(--cyan);
	}

	.mobile-quickbar .cart-link .quickbar-icon {
		position: relative;
	}

	.mobile-quickbar .cart-link__count {
		position: absolute;
		top: -6px;
		right: -8px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		display: grid;
		place-items: center;
		border-radius: 999px;
		background: var(--magenta);
		color: #fff;
		font-size: 10px;
		font-weight: 800;
		line-height: 1;
		box-shadow: 0 0 0 2px rgba(5, 9, 18, 0.92);
	}

	/* Hide the count badge when empty (set via JS by toggling data-empty) */
	.mobile-quickbar .cart-link__count[data-count="0"] { display: none; }

	/* Lift page content / footer above the fixed bar */
	body { padding-bottom: 84px; }
}

/* --- Burger drawer polish (matches 1080px collapse) --- */
.nav-toggle {
	position: relative;
}

.nav-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.26s ease, opacity 0.2s ease;
}

.nav-toggle span + span { margin-top: 5px; }

/* Animate burger → X when open */
.nav-toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2) {
	transform: translateY(-7px) rotate(-45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(3) {
	opacity: 0;
}

/* Backdrop behind the open drawer */
@media (max-width: 1080px) {
	body.nav-open::after {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 49;
		background: rgba(2, 5, 12, 0.5);
		backdrop-filter: blur(2px);
	}
	body.nav-open { overflow: hidden; }
}

/* Anchor jumps (#shop, #games, #booking) land below the sticky header. */
html { scroll-padding-top: 96px; }
@media (max-width: 1080px) { html { scroll-padding-top: 80px; } }

/* ============================================================= */
/* Play UA v1.1.5 — authoritative product-card alignment.        */
/* Many older patches set the title font with !important and no  */
/* height, so long names overflowed onto the badges/price. This  */
/* final block enforces ONE consistent treatment everywhere:     */
/* fixed 3-line title height → price/badge/button always align.  */
/* ============================================================= */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px !important;
	line-height: 1.25 !important;
	font-weight: 800 !important;
	height: 3.75em !important;          /* 3 lines × 1.25 */
	margin: 4px 0 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	overflow-wrap: anywhere;
	text-overflow: ellipsis;
}

.woocommerce ul.products li.product .product-badges,
.woocommerce-page ul.products li.product .product-badges {
	min-height: 24px;
	margin-top: 4px !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	margin-top: auto !important;
	padding-top: 8px;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button {
	margin-top: 8px !important;
	white-space: nowrap;       /* keep "ДО КОШИКА" on one line, no slipping */
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Mobile: 2-up grid, slightly smaller title block to save vertical space. */
@media (max-width: 600px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		font-size: 13.5px !important;
		line-height: 1.22 !important;
		height: 3.66em !important;
	}
}

/* Cart/checkout: extra bottom space so the sticky action buttons clear the
   fixed mobile quickbar. */
@media (max-width: 1080px) {
	.woocommerce-cart .site-main,
	.woocommerce-checkout .site-main {
		padding-bottom: 96px;
	}
}

/* v1.1.6: reviews section without saved reviews — map takes the full width. */
.reviews-layout--map-only {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
}

.reviews-layout--map-only .reviews-grid {
	grid-template-columns: 1fr;
}

@media (max-width: 900px) {
	.reviews-layout--map-only {
		grid-template-columns: 1fr;
	}
}

/* ============================================================= */
/* v1.1.7 — typography + layout polish pass.                     */
/* Fixes: clipped Й/Ї breve on display headings, inconsistent    */
/* heading sizes, left-flush column looking broken on wide       */
/* screens, empty right gutter on legal/contacts, product-card   */
/* title alignment, single-product tabs/related overlap.         */
/* ============================================================= */

/* 1. Й/Ї fix — one safe line-height for uppercase Unbounded display
   headings. Unbounded's breve/dots sit above cap height; line-height
   below ~1.06 clips them. Never go lower than 1.08 here. */
.hero h1,
.section__header h2,
.commerce-card > h1,
.content-card h1,
.booking-header h2,
.single-product div.product .product_title,
.woocommerce-Tabs-panel h2,
.related.products > h2,
.up-sells > h2 {
	line-height: 1.1;
	padding-top: 0.02em;
}

@media (max-width: 520px) {
	.hero h1,
	.section__header h2,
	.commerce-card > h1,
	.booking-header h2 {
		line-height: 1.08;
	}
}

/* 2. One consistent scale for the main section headings so they stop
   jumping between 44/48/52/58px from section to section. */
.section__header h2,
.featured-products .section__header h2,
.playdro-booking .booking-header h2 {
	font-size: clamp(30px, 4vw, 50px);
}

.related.products > h2,
.up-sells > h2 {
	font-size: clamp(26px, 3.4vw, 40px);
	margin-bottom: 20px;
}

/* 3. Center the capped 1180px content column on wide screens instead of
   flush-left. Below ~1300px this is a no-op; above it the symmetric
   gutters read as intentional and remove the "empty right" look. The
   hero keeps its own two-column layout and is untouched. */
.section > *,
.section__header,
.content-card,
.commerce-shell,
.playdro-booking .booking-card,
.section .booking-card,
.service-grid,
.process-grid,
.reviews-layout,
.game-catalog,
.featured-products .products,
.contact-strip__actions {
	margin-left: auto;
	margin-right: auto;
}

/* 4. Legal / contacts pages: center the text column and drop the hard
   920px left cap that left a large void on the right. */
.legal-page > * {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.legal-page .contact-grid {
	max-width: none;
}

/* 5. Product cards: long uppercase tobacco names wrapped into a ragged
   3-line block with misaligned prices. Use the body font, sentence
   case, clamp to 2 lines with a reserved height so titles, prices and
   buttons line up across the grid. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-body) !important;
	font-weight: 800 !important;
	text-transform: none !important;
	font-size: clamp(14px, 0.95vw, 16px) !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.5em;
}

/* 6. Single product: div.product is a 2-col grid (image | summary), but
   WooCommerce also nests the description tabs and the "Схожі товари"
   block inside div.product, so they landed in the grid as stray cells
   and overlapped on the right. Force them to span the full width. */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .up-sells,
.single-product div.product > .upsells,
.single-product div.product > .product_meta {
	grid-column: 1 / -1;
	width: 100%;
}

.single-product div.product .related.products,
.single-product div.product .up-sells.products {
	margin-top: clamp(32px, 5vw, 64px);
	clear: both;
}

/* ============================================================= */
/* v1.1.8 — palette pass. One accent (#38bdf8), neutral readable  */
/* text, borders instead of neon glow. magenta/green/violet kept  */
/* only as subtle category tones. This :root wins over the        */
/* earlier token blocks; hardcoded glows are neutralised below.   */
/* ============================================================= */
:root {
	--bg: #0b0f1a;
	--bg-soft: #111725;
	--panel: rgba(20, 27, 41, 0.92);
	--panel-strong: rgba(24, 32, 48, 0.96);
	--line: rgba(255, 255, 255, 0.10);
	--text: #eef2f9;
	--muted: #93a0b8;
	--blue: #3b82f6;
	--cyan: #38bdf8;
	--green: #4ade80;
	--magenta: #e05fb8;
	--violet: #8b5cff;
	--amber: #ffb45a;
	--shadow-blue: 0 12px 30px rgba(0, 0, 0, 0.42);
	--shadow-magenta: 0 12px 30px rgba(0, 0, 0, 0.38);
	--shadow-green: 0 12px 30px rgba(0, 0, 0, 0.34);
}

body {
	background:
		radial-gradient(1200px 400px at 50% -80px, rgba(56, 189, 248, 0.06), transparent 70%),
		linear-gradient(180deg, #0b0f1a 0%, #0a0e17 50%, #080b12 100%);
}

/* Flat headings — no neon text glow. */
.hero h1,
h1, h2, h3 {
	text-shadow: none;
}

/* Prices read white/bright, not glowing cyan. */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.single-product div.product p.price,
.woocommerce-Price-amount {
	color: var(--text) !important;
	text-shadow: none;
}

/* Hero accent underline: one quiet accent line, no rainbow glow. */
.hero::after {
	background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.5), transparent);
	box-shadow: none;
}

/* Header CTA: clean accent chip instead of magenta/cyan gradient. */
.header-contact {
	border-color: rgba(56, 189, 248, 0.4);
	background: rgba(56, 189, 248, 0.10);
	color: var(--cyan);
}

/* Buttons: flat accent + one soft depth shadow, no neon halo. */
.button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.single-product div.product form.cart .button.single_add_to_cart_button {
	background: var(--cyan) !important;
	color: #05141c !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35) !important;
}

/* ============================================================= */
/* v1.2.0 — structured product presentation.                     */
/* Brand / flavour (EN) / translation (UA), centered and airy    */
/* like the reference, kept in the site's dark palette.          */
/* ============================================================= */

/* Structured loop title overrides the 2-line clamp from v1.1.7. */
.woocommerce ul.products li.product .woocommerce-loop-product__title.pd-ptitle,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title.pd-ptitle {
	display: flex !important;
	flex-direction: column;
	gap: 2px;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: initial !important;
	overflow: visible !important;
	text-overflow: clip !important;
	font-family: var(--font-body) !important;
	text-transform: none !important;
}

.pd-ptitle .pd-brand {
	font-weight: 800;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.2;
	color: var(--text);
}

.pd-ptitle .pd-flavour {
	font-weight: 600;
	font-size: 13px;
	line-height: 1.25;
	color: var(--cyan);
}

.pd-ptitle .pd-trans {
	font-size: 12px;
	line-height: 1.3;
	color: var(--muted);
}

/* Center tobacco / coal cards for the airy reference feel. */
.woocommerce ul.products li.product.product_cat-tobacco,
.woocommerce ul.products li.product.product_cat-coal,
.woocommerce-page ul.products li.product.product_cat-tobacco,
.woocommerce-page ul.products li.product.product_cat-coal {
	text-align: center;
}

.woocommerce ul.products li.product.product_cat-tobacco a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product.product_cat-coal a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product.product_cat-tobacco a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product.product_cat-coal a.woocommerce-LoopProduct-link {
	align-items: center;
}

.woocommerce ul.products li.product.product_cat-tobacco .pd-ptitle,
.woocommerce ul.products li.product.product_cat-coal .pd-ptitle {
	align-items: center;
	text-align: center;
}

/* Tobacco packs are studio shots on white — contain, don't crop. */
.woocommerce ul.products li.product.product_cat-tobacco img,
.woocommerce ul.products li.product.product_cat-coal img,
.woocommerce-page ul.products li.product.product_cat-tobacco img,
.woocommerce-page ul.products li.product.product_cat-coal img {
	object-fit: contain !important;
	background: #0f1626;
	padding: 10px;
}

.woocommerce ul.products li.product.product_cat-tobacco .button,
.woocommerce ul.products li.product.product_cat-coal .button,
.woocommerce ul.products li.product.product_cat-tobacco .product-badges,
.woocommerce ul.products li.product.product_cat-coal .product-badges {
	margin-left: auto;
	margin-right: auto;
}

/* Single product: brand / flavour / translation heading stack. */
.single-product .product_title.pd-ptitle {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.single-product .product_title.pd-ptitle .pd-flavour {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: clamp(18px, 2vw, 24px);
	color: var(--cyan);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.15;
}

.single-product .product_title.pd-ptitle .pd-trans {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
	color: var(--muted);
	text-transform: none;
	letter-spacing: 0;
}

/* ============================================================= */
/* v1.2.1 — footer: constrain content to the centered 1180 column */
/* so it stops sprawling edge-to-edge with empty gaps.           */
/* ============================================================= */
.site-footer {
	display: block;
}

.footer-inner {
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.3fr);
	gap: clamp(24px, 5vw, 64px);
	max-width: var(--content-max, 1180px);
	margin-inline: auto;
}

.footer-inner .footer-bottom {
	grid-column: 1 / -1;
}

@media (max-width: 820px) {
	.footer-inner {
		grid-template-columns: 1fr;
	}
}

/* ============================================================= */
/* v1.2.2 — catalog grid fix.                                    */
/* WooCommerce's clearfix ::before/::after on ul.products became  */
/* phantom grid cells (display:grid), pushing the first product   */
/* into column 2 and leaving a dead gap on the left. Kill them    */
/* and lock a clean, even column count.                           */
/* ============================================================= */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

.woocommerce ul.products,
.woocommerce ul.products[class*="columns-"],
.woocommerce-page ul.products,
.woocommerce-page ul.products[class*="columns-"] {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 980px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products,
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"],
	.woocommerce-page ul.products,
	.woocommerce-page ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* === Play Dro v1.2.4: Elfsight Google reviews === */
.reviews-elfsight {
	margin: 0 0 clamp(18px, 3vw, 28px);
	min-height: 180px; /* reserve space so the widget load does not shift the page */
}
.reviews-elfsight [class^="elfsight-app-"] {
	width: 100%;
}


/* === Play Dro v1.2.5: animated WebGPU/WebGL neon hero layer === */
.hero__gl {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	border: 0;
	opacity: 0;
	mix-blend-mode: screen;
	pointer-events: none;
	transition: opacity 1.2s ease;
}
.hero__gl.is-ready {
	opacity: 0.62;
}
@media (max-width: 700px) {
	.hero__gl.is-ready { opacity: 0.42; }
}
@media (prefers-reduced-motion: reduce) {
	.hero__gl { display: none; }
}


/* === Play Dro v1.2.6: comfortable product-card add-to-cart buttons ===
   The earlier audit layers pinned these to 36px/11px with !important; a wider
   tap target reads better and is easier to hit on phones. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce-page ul.products li.product .add_to_cart_button,
.featured-products .products .button {
	min-height: 44px !important;
	padding: 0 16px !important;
	font-size: 12.5px !important;
}


/* === Play Dro v1.2.7: calmer hero & section headings (was 76px / 58px) === */
.hero h1 {
	font-size: clamp(36px, 4.7vw, 60px);
}
.section__header h2 {
	font-size: clamp(26px, 3.4vw, 44px);
}


/* === Play Dro v1.2.8: tidy single-product layout ===
   Kill the fallback sidebar, right-size the gallery, make it sticky so the
   image stays in view while reading the description, and pull the description
   up so the page no longer feels split apart. */
#sidebar[role="complementary"],
.single-product #sidebar {
	display: none !important;
}
.single-product .commerce-shell {
	width: min(900px, calc(100% - 32px));
}
.single-product div.product {
	grid-template-columns: minmax(0, 340px) minmax(0, 420px);
	justify-content: center;
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}
.single-product div.product div.summary {
	align-self: center;
}
.single-product .woocommerce-tabs,
.single-product .woocommerce-Tabs-panel {
	max-width: 800px;
	margin-inline: auto;
}
.single-product div.product div.images {
	position: sticky;
	top: 96px;
	align-self: start;
}
.single-product div.product div.images img {
	border-radius: 14px;
}
.single-product .woocommerce-tabs {
	margin-top: clamp(16px, 2.4vw, 28px);
}
.single-product .woocommerce-Tabs-panel h2 {
	font-size: clamp(22px, 2.6vw, 30px);
}
@media (max-width: 820px) {
	.single-product div.product {
		grid-template-columns: 1fr;
	}
	.single-product div.product div.images {
		position: static;
		max-width: 460px;
		margin-inline: auto;
	}
}


/* === Play Dro v1.2.11: fix checkout layout ===
   The order-review column was landing in grid-row 1 while the form sat in
   row 2 — leaving a huge empty top-left. Force the form (left) and the order
   review (right) into the SAME row, top-aligned, so nothing floats. */
.woocommerce-checkout form.checkout {
	grid-template-rows: auto !important;
	align-items: start;
}
.woocommerce-checkout form.checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 2 !important;
	align-self: start !important;
}
.woocommerce-checkout form.checkout #order_review_heading {
	grid-column: 2 !important;
	grid-row: 2 !important;
}
.woocommerce-checkout form.checkout #order_review {
	grid-column: 2 !important;
	grid-row: 2 !important;
	margin-top: 0 !important;
}


/* === Play Dro v1.2.14: cart / checkout cleanup =====================
   - remove decorative gradient box in the cart header thumbnail cell
   - drop the redundant per-line "Проміжний підсумок" column
   - drop the duplicate subtotal row in totals (keep only "Разом")
   - fix booking item meta so key/value lay out cleanly (no 1-char-per-line)
   - centre button labels; tighten overall width so it isn't stretched      */

/* stray gradient icon in the cart table header */
.woocommerce-cart table.shop_table thead th.product-thumbnail::before,
.woocommerce-cart table.shop_table thead th.product-thumbnail::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

/* redundant per-line subtotal column */
.woocommerce-cart th.product-subtotal,
.woocommerce-cart td.product-subtotal {
	display: none !important;
}

/* totals: keep only РАЗОМ (subtotal == total on this manager-confirmed flow) */
.woocommerce-cart .cart_totals .cart-subtotal,
.woocommerce-checkout #order_review .cart-subtotal,
.woocommerce-checkout-review-order-table tfoot .cart-subtotal {
	display: none !important;
}

/* booking item meta in the cart: the product-name column is narrow, so stack
   the label above its value (each on its own line) — the value then wraps at
   words instead of collapsing to one letter per line. Also widen the column. */
.woocommerce-cart table.shop_table {
	width: 100% !important;
}
/* Render each cart line as a full-width block card. The classic table columns
   squeezed the item-name cell (booking meta collapsed to one letter per line);
   as a block card the name + meta always get the full row width. */
.woocommerce-cart table.shop_table thead {
	display: none;
}
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table tbody {
	display: block;
	width: 100%;
}
.woocommerce-cart table.shop_table tbody tr.cart_item {
	position: relative;
	display: block;
	padding: 16px 12px 16px 86px;
	border: 0;
	border-top: 1px solid rgba(117, 159, 255, 0.14);
}
.woocommerce-cart table.shop_table tbody tr.cart_item:first-child {
	border-top: 0;
}
.woocommerce-cart table.shop_table tbody tr.cart_item td {
	display: block;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
}
.woocommerce-cart td.product-thumbnail {
	position: absolute !important;
	left: 12px;
	top: 16px;
	width: 60px !important;
}
.woocommerce-cart td.product-remove {
	position: absolute !important;
	right: 6px;
	top: 14px;
	width: auto !important;
}
.woocommerce-cart td.product-name {
	font-weight: 800;
	padding-right: 40px !important;
}
.woocommerce-cart td.product-price {
	margin-top: 10px;
	font-weight: 900;
}
.woocommerce-cart td.product-price::before {
	content: "Ціна: ";
	color: var(--playdro-checkout-muted, #aab3c9);
	font-weight: 700;
}
.woocommerce-cart td.product-quantity {
	margin-top: 10px;
}
.woocommerce-cart td.product-name dl.variation {
	display: block !important;
	margin: 8px 0 0 !important;
	white-space: normal !important;
	word-break: normal !important;
}
.woocommerce-cart td.product-name dl.variation dt {
	display: block;
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 7px 0 1px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	font-weight: 800;
	white-space: normal;
	word-break: normal !important;
}
.woocommerce-cart td.product-name dl.variation dd {
	display: block;
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	color: var(--playdro-checkout-muted, #aab3c9);
	white-space: normal;
	word-break: normal !important;
	overflow-wrap: break-word;
}
.woocommerce-cart td.product-name dl.variation dd p {
	margin: 0 !important;
	display: block;
}

/* centre the big action buttons */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.button.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* don't let cart / checkout stretch on wide screens */
.woocommerce-cart .commerce-shell,
.woocommerce-checkout .commerce-shell {
	width: min(1040px, calc(100% - 32px));
}


/* === Play Dro v1.2.11: cart/checkout width cap + centred action buttons === */
.woocommerce-cart .commerce-shell,
.woocommerce-checkout .commerce-shell {
	width: min(1080px, calc(100% - 32px)) !important;
	margin-inline: auto !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}


/* ============================================================
   Play Dro v1.2.19 — mobile slide-in drawer menu
   Replaces the old accordion with a right-hand drawer + backdrop,
   large tap targets, and a contact CTA block at the bottom.
   ============================================================ */
.primary-nav__cta { display: none; }

@keyframes playdroNavFade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 820px) {
	.primary-nav {
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 58;
		width: min(370px, 88vw);
		max-height: none;
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding: 84px 18px calc(24px + env(safe-area-inset-bottom));
		overflow-y: auto;
		background: linear-gradient(180deg, rgba(9, 14, 29, 0.99), rgba(4, 7, 15, 0.995));
		border-left: 1px solid rgba(46, 246, 255, 0.22);
		box-shadow: -30px 0 70px rgba(0, 0, 0, 0.55);
		opacity: 1;
		transform: translateX(100%);
		pointer-events: none;
		transition: transform 0.34s cubic-bezier(0.33, 1, 0.68, 1);
	}

	.primary-nav.is-open {
		transform: translateX(0);
		pointer-events: auto;
	}

	body.nav-open { overflow: hidden; }
	body.nav-open .site-header { z-index: 60; }

	body.nav-open::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 56;
		background: rgba(2, 5, 12, 0.62);
		backdrop-filter: blur(3px);
		animation: playdroNavFade 0.3s ease;
	}

	body.nav-open .mobile-quickbar {
		opacity: 0;
		pointer-events: none;
	}

	.primary-nav ul {
		display: grid;
		gap: 8px;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.primary-nav > ul > li > a,
	.primary-nav a {
		width: 100%;
		justify-content: space-between;
		min-height: 54px;
		padding: 0 16px;
		border: 1px solid rgba(117, 159, 255, 0.16);
		border-radius: 13px;
		background: rgba(255, 255, 255, 0.035);
		color: var(--text);
		font-size: 16px;
		font-weight: 800;
		transition: background 0.18s ease, border-color 0.18s ease;
	}

	.primary-nav a:active,
	.primary-nav a:focus-visible {
		background: rgba(20, 136, 255, 0.16);
		border-color: rgba(46, 246, 255, 0.5);
		outline: none;
	}

	.primary-nav .sub-menu {
		position: static;
		min-width: 0;
		display: grid;
		gap: 6px;
		margin: 6px 0 0;
		padding: 6px 0 2px 12px;
		border: 0;
		border-left: 2px solid rgba(46, 246, 255, 0.32);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.primary-nav .sub-menu a {
		min-height: 46px;
		font-size: 14px;
		background: rgba(255, 255, 255, 0.02);
	}

	.primary-nav__cta {
		display: grid;
		gap: 12px;
		margin-top: auto;
		padding-top: 16px;
		border-top: 1px solid rgba(117, 159, 255, 0.16);
	}

	.primary-nav__cta .button {
		width: 100%;
		min-height: 52px;
	}

	.nav-phone {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 48px;
		border-radius: 12px;
		border: 1px solid rgba(145, 255, 20, 0.36);
		background: rgba(145, 255, 20, 0.08);
		color: var(--green);
		font-weight: 900;
		font-size: 16px;
	}

	.nav-social {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.nav-social a {
		flex: 1 1 0;
		min-height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(117, 159, 255, 0.2);
		border-radius: 10px;
		background: rgba(255, 255, 255, 0.03);
		color: var(--muted);
		font-size: 13px;
		font-weight: 800;
	}

	/* Bolder hamburger that reads as a proper control */
	.nav-toggle {
		width: 46px;
		height: 46px;
		border-color: rgba(46, 246, 255, 0.5);
		background: rgba(46, 246, 255, 0.1);
	}
}


/* === Play Dro v1.2.20: product-page trust line under add-to-cart === */
.playdro-trust-line {
	display: grid;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	max-width: 460px;
}
.playdro-trust-line li {
	position: relative;
	padding-left: 26px;
	color: #cdd8f2;
	font-size: 13.5px;
	line-height: 1.4;
	font-weight: 700;
}
.playdro-trust-line li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background:
		linear-gradient(135deg, var(--green, #91ff14), var(--cyan, #11d9ff));
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center / 12px no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center / 12px no-repeat;
}
