/*
 * WooCommerce Style Overrides — Gustări Spațiale 2030
 * Overrides default WC styles to match galactic design system.
 *
 * @package GustariSpatiale
 * @author  Canny Agency SRL <office@canny.ro>
 */

/* =========================================
   WC NOTICES
   ========================================= */

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error li,
.wc-forward {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-radius: var(--r-md);
	font-size: 14px;
	margin-bottom: 10px;
}

.woocommerce-message {
	background: rgba(157,255,110,0.1);
	border: 1px solid rgba(157,255,110,0.25);
	color: var(--alien);
}

.woocommerce-info {
	background: rgba(91,229,255,0.1);
	border: 1px solid rgba(91,229,255,0.25);
	color: var(--plasma);
}

.woocommerce-error {
	background: rgba(255,63,142,0.1);
	border: 1px solid rgba(255,63,142,0.25);
	color: var(--magenta);
	padding: 0;
}

.woocommerce-error li {
	margin-bottom: 0;
}

/* =========================================
   WC BUTTONS
   ========================================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border: none;
	border-radius: var(--r-pill);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	min-height: 44px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 20px rgba(255,200,61,0.4);
	background: var(--brand-yellow);
	color: var(--bg-deep);
}

/* Ghost variant */
.woocommerce a.button.btn-ghost,
.woocommerce button.button.btn-ghost {
	background: transparent;
	border: 1.5px solid var(--hairline-strong);
	color: var(--ink-2);
}

.woocommerce a.button.btn-ghost:hover,
.woocommerce button.button.btn-ghost:hover {
	border-color: var(--brand-yellow);
	color: var(--brand-yellow);
	box-shadow: none;
}

/* =========================================
   WC FORMS
   ========================================= */

.woocommerce form .form-row {
	margin-bottom: 16px;
}

.woocommerce form .form-row label {
	display: block;
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-bottom: 10px;
	font-weight: 600;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
	padding: 16px 18px;
	background: rgba(255,255,255,0.04);
	border: 1.5px solid var(--hairline-strong);
	border-radius: var(--r-md);
	color: var(--ink);
	font-size: 17px; /* Prevents iOS zoom */
	font-family: var(--font-body);
	font-weight: 500;
	transition: border-color 0.2s, background 0.2s;
	appearance: none;
	min-height: 54px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: var(--brand-yellow);
	background: rgba(255,200,61,0.04);
}

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--alien);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--magenta);
}

/* Select native (când nu e select2) — chevron galben + appearance-none consistent cu input-text */
.woocommerce form .form-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FFC83D' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 44px;
	cursor: pointer;
}

/* =========================================
   DEFENSIVE — force text vizibil pe orice fundal mov închis
   WC outputs <address>, <dl>, <p class="woocommerce-customer-*"> fără reguli proprii
   de culoare, iar WC core CSS poate forța text închis. Suprascriem.
   ========================================= */
.woocommerce address,
.woocommerce-customer-details,
.woocommerce-customer-details *,
.woocommerce-Address,
.woocommerce-Address *,
.woocommerce-OrderDetails,
.woocommerce-OrderDetails *,
.woocommerce-table,
.woocommerce-table * {
	color: var(--ink-2) !important;
}
.woocommerce-customer-details a,
.woocommerce-Address a,
.woocommerce-OrderDetails a {
	color: var(--brand-yellow) !important;
}
/* Sub-tipuri specifice */
.woocommerce h2,
.woocommerce h3,
.woocommerce h4 { color: var(--ink) !important; }

/* Select2 (dropdown WC) — multe checkout-uri */
.select2-container .select2-selection {
	background: rgba(255,255,255,0.04) !important;
	border: 1.5px solid var(--hairline-strong) !important;
	border-radius: var(--r-md) !important;
	min-height: 54px !important;
	color: var(--ink) !important;
}
.select2-container .select2-selection__rendered {
	color: var(--ink) !important;
	line-height: 50px !important;
	padding-left: 18px !important;
	font-size: 17px !important;
}
.select2-container .select2-selection__arrow {
	height: 54px !important;
	right: 10px !important;
}
.select2-dropdown {
	background: var(--bg-card) !important;
	border-color: var(--hairline-strong) !important;
	color: var(--ink-2) !important;
}
.select2-container--default .select2-results__option {
	color: var(--ink-2) !important;
	padding: 10px 16px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--selected {
	background: var(--brand-yellow) !important;
	color: var(--bg-deep) !important;
}
.select2-search--dropdown .select2-search__field {
	background: rgba(255,255,255,0.04) !important;
	border-color: var(--hairline-strong) !important;
	color: var(--ink) !important;
	padding: 10px 14px !important;
}

/* =========================================
   WC CART TOTALS / ORDER TOTALS
   ========================================= */

.cart_totals h2,
.woocommerce-checkout-review-order h2 {
	display: none; /* Hidden — parent has its own heading */
}

.woocommerce-shipping-totals.shipping {
	font-size: 14px;
}

.shop_table tfoot tr th,
.shop_table tfoot tr td {
	padding: 8px 0;
	border: 0;
	font-size: 14px;
}

.shop_table tfoot tr.order-total th,
.shop_table tfoot tr.order-total td {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 22px;
	color: var(--brand-yellow);
	padding-top: 12px;
	border-top: 1px solid var(--hairline);
}

/* =========================================
   WC PAYMENT METHODS
   ========================================= */

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: rgba(255,255,255,0.04);
	border-radius: var(--r-md);
	padding: 14px;
	margin-top: 10px;
	font-size: 13px;
	color: var(--ink-2);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: rgba(255,255,255,0.04);
}

/* =========================================
   SELECT2 OVERRIDES
   ========================================= */

.select2-container--default .select2-selection--single {
	background: rgba(255,255,255,0.04);
	border: 1.5px solid var(--hairline-strong);
	border-radius: var(--r-md);
	height: 44px;
	padding: 0 16px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
	color: var(--ink);
	font-size: 16px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px;
	right: 12px;
}

.select2-dropdown {
	background: var(--bg-card);
	border: 1px solid var(--hairline-strong);
	border-radius: var(--r-md);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--brand-yellow);
	color: var(--bg-deep);
}

/* =========================================
   ACCOUNT PAGES — My Account + Orders
   ========================================= */

/* Override WC default account content layout */
.woocommerce-MyAccount-content {
	padding: 0;
}

/* ---- Page wrapper ---- */
.gs-acc-wrap {
	padding: 40px var(--gutter) 100px;
}

/* ---- Hero ---- */
.gs-acc-hero {
	margin-bottom: 40px;
	padding: 40px;
	background: linear-gradient(135deg, rgba(255,200,61,0.10) 0%, rgba(255,63,142,0.06) 100%);
	border: 1px solid var(--hairline-strong);
	border-radius: var(--r-xl);
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 32px;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.gs-acc-hero::before {
	content: "";
	position: absolute;
	top: -50%; right: -10%;
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(255,200,61,0.18), transparent 70%);
	pointer-events: none;
}
@media (max-width: 800px) {
	.gs-acc-hero { grid-template-columns: auto 1fr; padding: 28px; }
}

/* ---- Avatar cu inițiale ---- */
.gs-avatar {
	width: 120px; height: 120px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--brand-yellow), var(--magenta));
	display: grid; place-items: center;
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 56px;
	color: var(--bg-deep);
	letter-spacing: -0.05em;
	position: relative;
	box-shadow: 0 0 60px rgba(255,200,61,0.4);
	flex-shrink: 0;
}
.gs-avatar::after {
	content: "★";
	position: absolute;
	bottom: -4px; right: -4px;
	width: 36px; height: 36px;
	background: var(--alien); color: var(--bg-deep);
	border-radius: 50%;
	border: 3px solid var(--bg-deep);
	display: grid; place-items: center;
	font-size: 16px;
	animation: spin 8s linear infinite;
}

/* ---- Hero copy ---- */
.gs-acc-copy h1 {
	font-size: clamp(28px, 4vw, 56px);
	line-height: 1;
	margin: 8px 0;
}
.gs-acc-meta {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
	display: flex; gap: 16px; flex-wrap: wrap;
	align-items: center;
	margin-top: 8px;
}
.gs-acc-meta strong { color: var(--brand-yellow); }

/* ---- Badge rang ---- */
.gs-acc-badge {
	text-align: right;
}
@media (max-width: 800px) {
	.gs-acc-badge { grid-column: 1 / -1; text-align: left; }
}
.gs-rank-label {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.gs-rank-name {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 28px;
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking);
	margin: 4px 0;
}
.gs-rank-bar {
	height: 8px; width: 200px;
	background: rgba(255,255,255,0.08);
	border-radius: 4px;
	overflow: hidden;
	margin-top: 8px;
}
.gs-rank-bar span {
	display: block; height: 100%;
	background: linear-gradient(90deg, var(--brand-yellow), var(--magenta));
	border-radius: 4px;
	transition: width .6s ease;
}
.gs-rank-next {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-mute);
	margin-top: 6px;
}

/* ---- Layout grid account ---- */
.gs-acc-grid {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 32px;
}
@media (max-width: 880px) {
	.gs-acc-grid { grid-template-columns: 1fr; }
}

/* ---- Sidebar nav ---- */
.side-nav {
	position: sticky; top: 100px;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	padding: 14px;
	height: fit-content;
}
.side-nav a {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 14px;
	border-radius: var(--r-md);
	color: var(--ink-2);
	font-size: 14px; font-weight: 500;
	transition: background .2s, color .2s;
}
.side-nav a:hover { background: rgba(255,255,255,0.05); }
.side-nav a.is-active,
.side-nav a.active,
.side-nav a.woocommerce-MyAccount-navigation-link--is-active {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	font-weight: 700;
}
.side-nav a svg { width: 18px; height: 18px; flex-shrink: 0; }
.side-nav hr { border: 0; border-top: 1px solid var(--hairline); margin: 8px 0; }

/* ---- 4 Stat cards ---- */
.gs-stat-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 24px;
}
@media (max-width: 880px) {
	.gs-stat-row { grid-template-columns: repeat(2, 1fr); }
}
.gs-st {
	padding: 24px;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	position: relative;
	overflow: hidden;
}
.gs-st-ic {
	position: absolute; top: 16px; right: 16px;
	width: 36px; height: 36px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: rgba(255,200,61,0.12);
	color: var(--brand-yellow);
}
.gs-st-num {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: clamp(28px, 3.5vw, 44px);
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking);
	line-height: 1;
	padding-right: 40px; /* evită overlap cu icon */
}
.gs-st-num .woocommerce-Price-amount { font: inherit; color: inherit; }
.gs-st-lbl {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-top: 8px;
}

/* ---- Panel generic ---- */
.gs-panel {
	padding: 32px;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-xl);
	margin-bottom: 20px;
}
.gs-panel h3 {
	font-size: clamp(20px, 2.4vw, 30px);
	margin: 0 0 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.gs-panel h3 a {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-yellow);
	font-weight: 500;
	font-style: normal;
}
.gs-panel h3 a:hover { text-decoration: underline; }

/* ---- Misiuni recente (compact rows) ---- */
.gs-rorder {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: 16px;
	padding: 16px;
	border-radius: var(--r-md);
	background: rgba(255,255,255,0.03);
	margin-bottom: 10px;
	align-items: center;
	transition: background .2s;
	text-decoration: none;
}
.gs-rorder:hover { background: rgba(255,255,255,0.06); }
.gs-rorder-icn {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255,200,61,0.15);
	color: var(--brand-yellow);
	display: grid; place-items: center;
	flex-shrink: 0;
}
.gs-rorder-id {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: var(--ink-soft);
	text-transform: uppercase;
}
.gs-rorder-nm {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 18px;
	letter-spacing: var(--font-display-tracking);
	line-height: 1;
	margin-top: 2px;
}
.gs-rorder-extra {
	color: var(--ink-soft);
	font-size: 0.7em;
	font-family: var(--font-body);
	font-style: normal;
	font-weight: 400;
}
.gs-rorder-det { font-size: 12px; color: var(--ink-soft); margin-top: 2px; }
.gs-rorder-total {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 20px;
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking);
}
.gs-rorder-total .woocommerce-Price-amount { font: inherit; color: inherit; }
@media (max-width: 700px) {
	.gs-rorder { grid-template-columns: auto 1fr; }
	.gs-rorder .gs-stat-pill,
	.gs-rorder .gs-rorder-total { grid-column: 2; justify-self: start; }
}

/* ---- Status pills (shared account + orders) ---- */
.gs-stat-pill {
	padding: 6px 12px;
	border-radius: var(--r-pill);
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	white-space: nowrap;
}
.gs-stat-pill.orbit   { background: rgba(91,229,255,0.15); color: var(--plasma); }
.gs-stat-pill.landed  { background: rgba(157,255,110,0.15); color: var(--alien); }
.gs-stat-pill.launch  { background: rgba(255,200,61,0.15); color: var(--brand-yellow); }
.gs-stat-pill.canceled { background: rgba(255,63,142,0.15); color: var(--magenta); }

/* ---- Planeta preferată ---- */
.gs-fav-flavor {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 24px;
	align-items: center;
}
.gs-fav-img {
	width: 140px; height: 140px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,63,142,0.30), transparent 60%);
	display: grid; place-items: center;
	flex-shrink: 0;
}
.gs-fav-img img {
	width: 80%;
	filter: drop-shadow(0 12px 18px rgba(0,0,0,0.5));
}
.gs-fav-planet {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--magenta);
	margin-bottom: 6px;
}
.gs-fav-info h4 {
	font-size: clamp(24px, 3vw, 36px);
	margin: 0 0 8px;
	line-height: 0.95;
}
.gs-fav-info p { color: var(--ink-soft); font-size: 14px; margin: 0 0 16px; }
@media (max-width: 600px) {
	.gs-fav-flavor { grid-template-columns: 1fr; }
	.gs-fav-img { width: 100px; height: 100px; }
}

/* ---- Adrese (stații de aterizare) ---- */
.gs-addr-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 700px) {
	.gs-addr-grid { grid-template-columns: 1fr; }
}
.gs-addr {
	padding: 24px;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-md);
	position: relative;
}
.gs-addr.primary {
	border-color: var(--brand-yellow);
	background: rgba(255,200,61,0.05);
}
.gs-addr-tag {
	position: absolute; top: 16px; right: 16px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-yellow);
}
.gs-addr-lbl {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 18px;
	letter-spacing: var(--font-display-tracking);
	margin-bottom: 8px;
}
.gs-addr-body {
	color: var(--ink-2);
	font-size: 14px;
	line-height: 1.6;
}
.gs-addr-actions {
	margin-top: 16px;
	display: flex; gap: 12px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.gs-addr-actions a { color: var(--brand-yellow); }
.gs-addr-actions a:hover { text-decoration: underline; }

/* ---- Orders page — header ---- */
.gs-ord-wrap { padding: 40px var(--gutter) 100px; }
.gs-ord-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--hairline);
}
.gs-ord-header h1 {
	font-size: clamp(48px, 8vw, 100px);
	line-height: 0.88;
	margin: 16px 0 0;
}

/* Filter tabs */
.filter-tabs {
	display: flex; gap: 6px;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
	padding: 4px;
}
.filter-tabs button {
	padding: 8px 16px;
	border-radius: var(--r-pill);
	font-size: 13px; font-weight: 500;
	color: var(--ink-soft);
	transition: background .2s, color .2s;
	border: 0; background: none; cursor: pointer;
}
.filter-tabs button.active {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	font-weight: 700;
}

/* ---- Order card ---- */
.ord {
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-xl);
	padding: 28px;
	margin-bottom: 20px;
	transition: border-color .2s;
	position: relative;
	overflow: hidden;
}
.ord:hover { border-color: var(--hairline-strong); }
.ord-top {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 18px;
	padding-bottom: 20px;
	border-bottom: 1px dashed var(--hairline);
	margin-bottom: 20px;
}
.ord-id {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.ord-id strong { color: var(--brand-yellow); }
.ord-title {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: clamp(20px, 2.4vw, 30px);
	letter-spacing: var(--font-display-tracking);
	line-height: 1; margin: 6px 0;
}
.ord-date {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--ink-mute);
	letter-spacing: 0.08em;
}
.ord-status { text-align: right; }
.ord-status .pill {
	padding: 6px 14px;
	border-radius: var(--r-pill);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-block;
}
.pill.orbit    { background: rgba(91,229,255,0.15); color: var(--plasma); }
.pill.landed   { background: rgba(157,255,110,0.15); color: var(--alien); }
.pill.launch   { background: rgba(255,200,61,0.15); color: var(--brand-yellow); }
.pill.canceled { background: rgba(255,63,142,0.15); color: var(--magenta); }
.ord-total {
	margin-top: 8px;
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-style: var(--font-display-style);
	font-size: 28px;
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking);
	line-height: 1;
}
.ord-total .woocommerce-Price-amount { font: inherit; color: inherit; }

/* Order items thumbnails */
.ord-items {
	display: flex; gap: 10px; flex-wrap: wrap;
	margin-bottom: 18px;
}
.ord-items .it {
	display: flex; align-items: center; gap: 10px;
	padding: 6px 14px 6px 6px;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
}
.ord-items .it img { width: 32px; height: 32px; object-fit: contain; }
.ord-items .it .ph {
	width: 32px; height: 32px;
	background: radial-gradient(circle, rgba(255,138,61,0.3), transparent 70%);
	border-radius: 50%;
	display: grid; place-items: center;
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 9px;
	color: var(--brand-orange);
	line-height: 0.9; text-align: center;
}
.ord-items .it .lbl { font-size: 12px; }
.ord-items .it .lbl strong { color: var(--brand-yellow); }

/* Progress track */
.track {
	margin: 8px 0 20px;
	padding: 20px;
	background: rgba(255,255,255,0.03);
	border-radius: var(--r-md);
	position: relative;
}
.track .stages {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	position: relative;
}
.track .stages::before {
	content: "";
	position: absolute;
	top: 14px; left: 14%; right: 14%;
	height: 2px;
	background: rgba(255,255,255,0.08);
	z-index: 0;
}
.track .stages::after {
	content: "";
	position: absolute;
	top: 14px; left: 14%;
	width: var(--prog, 0%);
	height: 2px;
	background: linear-gradient(90deg, var(--brand-yellow), var(--magenta), var(--plasma));
	z-index: 1;
	transition: width .4s;
}
.track .stage {
	text-align: center;
	position: relative; z-index: 2;
}
.track .stage .pt {
	width: 28px; height: 28px;
	margin: 0 auto 6px;
	border-radius: 50%;
	background: var(--bg-deep);
	border: 2px solid rgba(255,255,255,0.15);
	display: grid; place-items: center;
	font-size: 10px;
	color: var(--ink-mute);
}
.track .stage.active .pt {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border-color: var(--brand-yellow);
	box-shadow: 0 0 12px var(--brand-yellow);
}
.track .stage.done .pt {
	background: var(--alien);
	color: var(--bg-deep);
	border-color: var(--alien);
}
.track .stage.done .pt::before { content: "✓"; font-size: 12px; }
.track .stage.done .pt span { display: none; }
.track .stage .lbl {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.track .stage.active .lbl { color: var(--brand-yellow); font-weight: 700; }
.track .stage.done .lbl   { color: var(--alien); }
.track .time {
	margin-top: 14px;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--ink-mute);
	letter-spacing: 0.08em;
}
.track .time strong { color: var(--brand-yellow); }

/* Order actions */
.ord-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ord-btn {
	padding: 10px 18px;
	border-radius: var(--r-pill);
	font-size: 13px; font-weight: 600;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	color: var(--ink-2);
	transition: background .2s, color .2s, transform .2s, box-shadow .2s;
	display: inline-flex; align-items: center; gap: 8px;
	text-decoration: none;
	cursor: pointer;
}
.ord-btn:hover {
	background: rgba(255,200,61,0.1);
	color: var(--brand-yellow);
	border-color: var(--brand-yellow);
}
.ord-btn.primary {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border-color: var(--brand-yellow);
	font-weight: 700;
}
.ord-btn.primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--glow-yellow);
}
.ord-btn svg { width: 14px; height: 14px; }

/* Paginare */
.ord-pagination {
	display: flex; gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* ---- Login / Register forms ---- */
.gs-login-wrap {
	min-height: 60vh;
	display: grid;
	place-items: center;
	padding: 60px var(--gutter);
}
.gs-login-cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	width: 100%;
	max-width: 960px;
}
@media (min-width: 700px) {
	.gs-login-cols { grid-template-columns: 1fr 1fr; }
}
.gs-login-box {
	width: 100%;
	background: var(--bg-card);
	border: 1px solid var(--hairline-strong);
	border-radius: var(--r-xl);
	padding: 48px 40px;
}
.gs-login-box h2 {
	font-size: clamp(28px, 4vw, 44px);
	margin: 12px 0 32px;
	line-height: 1;
}
.gs-submit-btn {
	width: 100%;
	justify-content: center;
	padding: 16px 24px;
	font-size: 16px;
}
.gs-lost-pass {
	float: right;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--brand-yellow);
}
.gs-lost-pass:hover { text-decoration: underline; }
.gs-remember {
	margin-top: 14px;
	font-size: 14px;
	color: var(--ink-soft);
	display: flex;
	align-items: center;
	gap: 8px;
}
.gs-remember label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
@media (max-width: 500px) {
	.gs-login-box { padding: 32px 24px; }
}

/* Address edit forms */
.woocommerce-address-fields .form-row {
	margin-bottom: 14px;
}

/* Edit account form */
.woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--hairline);
	border-radius: var(--r-md);
	padding: 20px;
	margin: 0 0 20px;
}

.woocommerce-EditAccountForm fieldset legend {
	padding: 0 8px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

/* =========================================
   SINGLE PRODUCT LAYOUT — crew-pack.html
   ========================================= */

/* Hero section */
.gs-product-hero {
	padding: 40px var(--gutter, 5vw);
}

/* 2-column grid: media left, summary right */
.gs-product-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
	min-height: 70vh;
}

@media (max-width: 980px) {
	.gs-product-layout {
		grid-template-columns: 1fr;
		min-height: auto;
		gap: 40px;
	}
}

/* Media column */
.gs-product-media {
	position: sticky;
	top: 90px;
}

.gs-media-fallback {
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-xl);
	overflow: hidden;
	padding: 24px;
	display: grid;
	place-items: center;
	min-height: 420px;
	aspect-ratio: 1 / 1;
}

/* Flavor pills under viewer */
.gs-flavor-pills {
	margin-top: 24px;
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.gs-pp {
	padding: 12px 20px;
	border-radius: var(--r-pill);
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	font-weight: 600;
	color: var(--ink-2);
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.15s;
}

.gs-pp:hover {
	transform: translateY(-2px);
	border-color: var(--hairline-strong);
}

.gs-pp-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pill-c, var(--brand-yellow));
	flex-shrink: 0;
}

.gs-pp.active {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border-color: var(--brand-yellow);
	font-weight: 700;
	box-shadow: 0 0 24px rgba(255,200,61,0.35);
}

.gs-pp.active .gs-pp-dot {
	background: var(--bg-deep);
}

.gs-flavor-info {
	margin-top: 16px;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
	min-height: 18px;
}

.gs-flavor-info strong {
	color: var(--brand-yellow);
	margin-right: 6px;
}

/* Summary column */
.gs-product-summary {
	padding: 8px 0;
}

/* WC single product title */
.gs-product-summary .entry-summary .product_title {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-style: var(--font-display-style, normal);
	font-size: clamp(42px, 6vw, 90px);
	line-height: 0.88;
	letter-spacing: var(--font-display-tracking, -0.04em);
	margin: 12px 0 16px;
}

/* WC price */
.gs-product-summary .price {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-size: clamp(36px, 4vw, 64px);
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking, -0.04em);
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin: 24px 0 20px;
}

.gs-product-summary .price del {
	color: var(--ink-mute);
	font-size: 0.45em;
	text-decoration: line-through;
}

.gs-product-summary .price ins {
	text-decoration: none;
}

/* Short description */
.gs-product-summary .woocommerce-product-details__short-description {
	font-size: clamp(16px, 1.4vw, 20px);
	color: var(--ink-2);
	line-height: 1.6;
	max-width: 50ch;
	margin-bottom: 20px;
}

/* Trust badges list */
.gs-trust-list {
	list-style: none;
	padding: 16px 0;
	margin: 24px 0 0;
	border-top: 1px solid var(--hairline);
	border-bottom: 1px solid var(--hairline);
	display: grid;
	gap: 12px;
}

.gs-trust-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--ink-2);
	font-size: 14px;
}

.gs-trust-list svg {
	flex-shrink: 0;
	color: var(--brand-yellow);
}

/* Share row */
.gs-share {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gs-share-ic {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	color: var(--ink-2);
	transition: background 0.2s;
}

.gs-share-ic:hover {
	background: rgba(255,200,61,0.15);
	color: var(--brand-yellow);
}

/* Add to cart form */
.gs-product-summary form.cart {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin: 16px 0;
	flex-wrap: wrap;
}

.gs-product-summary .quantity {
	display: flex;
	align-items: center;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
	overflow: hidden;
}

.gs-product-summary .quantity input.qty {
	width: 52px;
	text-align: center;
	background: transparent;
	border: 0;
	color: var(--ink);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
	padding: 0;
	min-height: 52px;
}

/* Add to cart button — yellow gradient + glow */
.gs-product-summary .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	padding: 14px 32px;
	background: linear-gradient(135deg, #FFE17A 0%, #FFC83D 60%, #FFB020 100%);
	color: var(--bg-deep);
	border: none;
	border-radius: var(--r-pill);
	font-weight: 700;
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 0 24px rgba(255,200,61,0.30);
}

.gs-product-summary .single_add_to_cart_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 40px rgba(255,200,61,0.55);
}

/* Product tabs */
.gs-product-tabs-section .woocommerce-tabs {
	margin-top: 60px;
}

.gs-product-tabs-section .woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	display: flex;
	gap: 6px;
	border-bottom: 1px solid var(--hairline);
	padding-bottom: 0;
}

.gs-product-tabs-section .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}

.gs-product-tabs-section .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 20px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-soft);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.2s, border-color 0.2s;
}

.gs-product-tabs-section .woocommerce-tabs ul.tabs li.active a,
.gs-product-tabs-section .woocommerce-tabs ul.tabs li a:hover {
	color: var(--brand-yellow);
	border-bottom-color: var(--brand-yellow);
}

.gs-product-tabs-section .woocommerce-tabs div.panel {
	padding: 0;
	background: none;
	border: none;
}

/* Hide WC meta (Uncategorized category tag, SKU) */
.posted_in,
.tagged_as,
.product_meta,
.woocommerce-product-attributes {
	display: none !important;
}

/* Related products section */
.related.products > h2,
.upsells.products > h2 {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-size: clamp(28px, 3vw, 44px);
	letter-spacing: var(--font-display-tracking, -0.04em);
	margin: 0 0 32px;
}

/* =========================================
   SHOP ARCHIVE — shop.html
   ========================================= */

/* Hero 2-col */
.gs-shop-hero {
	padding: 60px var(--gutter, 5vw) 40px;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
	align-items: center;
	position: relative;
}

@media (max-width: 980px) {
	.gs-shop-hero {
		grid-template-columns: 1fr;
	}
}

/* Galaxy map in hero */
.galaxy-map {
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	position: relative;
}

.galaxy-map .center-star {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: radial-gradient(circle, #FFE17A 0%, #FFC83D 50%, transparent 70%);
	filter: blur(4px);
	animation: pulse 3s ease-in-out infinite;
}

.gm-orbit {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px dashed rgba(255,200,61,0.16);
	animation: spin 90s linear infinite;
	pointer-events: none;
}

.gm-orbit.r2 { inset: 12%; border-color: rgba(255,63,142,0.18); animation-duration: 60s; animation-direction: reverse; }
.gm-orbit.r3 { inset: 26%; border-color: rgba(91,229,255,0.16); animation-duration: 45s; }
.gm-orbit.r4 { inset: 38%; border-color: rgba(157,255,110,0.14); animation-duration: 36s; animation-direction: reverse; }

.gm-item {
	position: absolute;
	transform: translate(-50%, -50%);
}

/* Filter bar */
.filter-bar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	padding: 14px;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
	margin-bottom: 32px;
	align-items: center;
	justify-content: space-between;
}

.filter-bar .chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.filter-bar .chip {
	padding: 10px 18px;
	border-radius: var(--r-pill);
	font-size: 14px;
	font-weight: 500;
	color: var(--ink-2);
	border: 0;
	background: transparent;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.filter-bar .chip:hover {
	background: rgba(255,255,255,0.06);
}

.filter-bar .chip.active {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	font-weight: 700;
}

/* Shop grid — 3 pachete pe acelasi rand pe desktop, 1 coloana pe mobile */
.gs-shop-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1180px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.gs-shop-grid { grid-template-columns: repeat(2, 1fr); max-width: 760px; gap: 22px; }
}

@media (max-width: 600px) {
	.gs-shop-grid { grid-template-columns: 1fr; max-width: 420px; gap: 18px; }
}

/* Shop card */
.shop-card {
	position: relative;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	overflow: hidden;
	transition: transform 0.3s, border-color 0.3s;
	display: block;
	text-decoration: none;
	color: inherit;
}

.shop-card:hover {
	transform: translateY(-6px);
	border-color: var(--hairline-strong);
}

.shop-card .img-area {
	aspect-ratio: 4 / 5;
	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
}

.shop-card.flavor-pink .img-area    { background: radial-gradient(ellipse at center, rgba(255,63,142,0.35), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-green .img-area   { background: radial-gradient(ellipse at center, rgba(157,255,110,0.25), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-magenta .img-area { background: radial-gradient(ellipse at center, rgba(255,63,142,0.30), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.flavor-orange .img-area  { background: radial-gradient(ellipse at center, rgba(255,138,61,0.35), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.pack-crew .img-area      { background: radial-gradient(ellipse at center, rgba(165,126,255,0.28), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }
.shop-card.pack-galaxy .img-area    { background: radial-gradient(ellipse at center, rgba(91,229,255,0.26), transparent 70%), linear-gradient(180deg, var(--bg-mid), var(--bg-card)); }

.shop-card .img-area img {
	width: 70%;
	height: 70%;
	object-fit: contain;
	filter: drop-shadow(0 24px 36px rgba(0,0,0,0.5));
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.shop-card:hover .img-area img {
	transform: scale(1.06) rotate(-2deg);
}

.shop-card .badges {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.shop-card .meta {
	padding: 22px 24px 24px;
}

.shop-card .planet-name {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--brand-yellow);
	margin-bottom: 4px;
}

.shop-card .title {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-style: var(--font-display-style, normal);
	font-size: clamp(20px, 2vw, 30px);
	letter-spacing: var(--font-display-tracking, -0.04em);
	line-height: 0.95;
	margin-bottom: 8px;
}

.shop-card .desc {
	color: var(--ink-soft);
	font-size: 14px;
}

.shop-card .footer {
	margin-top: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.shop-card .price {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-style: var(--font-display-style, normal);
	font-size: 28px;
	color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking, -0.04em);
}

.shop-card .price .woocommerce-Price-amount {
	font: inherit;
	color: inherit;
}

.shop-card .price small {
	font-size: 13px;
	color: var(--ink-soft);
	font-weight: 500;
	font-family: var(--font-body);
	font-style: normal;
	margin-left: 4px;
}

.shop-card .add-btn {
	padding: 11px 18px;
	border-radius: var(--r-pill);
	background: linear-gradient(135deg, #FFE17A 0%, #FFC83D 60%, #FFB020 100%);
	color: var(--bg-deep);
	font-weight: 700;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 0 16px rgba(255,200,61,0.25);
}

.shop-card .add-btn:hover {
	transform: scale(1.05);
	box-shadow: 0 0 28px rgba(255,200,61,0.45);
}

/* Featured (spans 2 cols) */
.shop-card.featured { grid-column: span 1; }

@media (max-width: 640px) {
	.shop-card.featured {
		grid-column: span 1;
	}
}

.shop-card.featured .img-area {
	aspect-ratio: 16 / 9;
}

.shop-card.featured .meta {
	padding: 28px 32px 32px;
}

.shop-card.featured .title {
	font-size: clamp(26px, 3.4vw, 44px);
}

/* Floating planet decorations */
.floating-planet {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	animation: float-slow 4s ease-in-out infinite;
}

/* Compare strip */
.compare-strip {
	margin-top: 80px;
	padding: 40px;
	border-radius: var(--r-xl);
	background: linear-gradient(135deg, rgba(255,200,61,0.10), rgba(255,63,142,0.08));
	border: 1px solid var(--hairline);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: center;
}

@media (max-width: 800px) {
	.compare-strip {
		grid-template-columns: 1fr;
		padding: 28px;
	}
}

.compare-strip h3 {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight, 900);
	font-style: var(--font-display-style, normal);
	font-size: clamp(26px, 3vw, 40px);
	line-height: 0.95;
	letter-spacing: var(--font-display-tracking, -0.04em);
	margin: 0 0 12px;
}

/* WC ordering select in filter bar */
.filter-bar .woocommerce-ordering {
	display: flex;
	align-items: center;
	gap: 10px;
}

.filter-bar .woocommerce-ordering select {
	background: transparent;
	border: 0;
	color: var(--brand-yellow);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	outline: none;
	cursor: pointer;
}

/* Sticky mobile CTA */
.sticky-mobile-cta {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 12px 20px;
	background: var(--bg-card);
	border-top: 1px solid var(--hairline);
	z-index: 100;
	align-items: center;
	gap: 14px;
}

@media (max-width: 768px) {
	.sticky-mobile-cta {
		display: flex;
	}
}

.sticky-mobile-cta .price-mini {
	font-family: var(--font-display);
	font-weight: 900;
	font-size: 22px;
	color: var(--brand-yellow);
	white-space: nowrap;
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 640px) {
	.woocommerce a.button,
	.woocommerce button.button {
		width: 100%;
		justify-content: center;
	}

	.gs-product-media {
		position: static;
	}
}

/* =========================================
   CART PAGE — gs-cart-wrap / gs-cart-grid
   ========================================= */

.gs-cart-wrap { padding: 40px var(--gutter) 100px; }

.gs-cart-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--hairline);
}

.gs-cart-header .display {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: clamp(48px, 8vw, 120px);
	line-height: 0.86;
	letter-spacing: var(--font-display-tracking);
	margin: 16px 0 0;
}

.gs-cart-header .display em {
	font-family: 'Montserrat', system-ui, sans-serif;
	font-style: italic;
	font-weight: 400;
	color: var(--brand-yellow);
}

.gs-cart-meta {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-soft);
	text-align: right;
	line-height: 1.7;
}

.gs-cart-meta .id { color: var(--brand-yellow); }

.gs-cart-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 32px;
	margin-top: 40px;
}

@media (max-width: 980px) { .gs-cart-grid { grid-template-columns: 1fr; } }

.gs-cart-empty { text-align: center; padding: 64px; margin-top: 40px; }

/* ---- Cart item card ---- */
.gs-cart-items-list { display: grid; gap: 12px; }

.cart-item {
	display: grid;
	grid-template-columns: 100px 1fr auto;
	gap: 20px;
	padding: 20px;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-lg);
	align-items: center;
	transition: border-color .2s;
}

.cart-item:hover { border-color: var(--hairline-strong); }

.cart-item .thumb {
	width: 100px; height: 100px;
	border-radius: var(--r-md);
	background: linear-gradient(135deg, var(--bg-mid), var(--bg-soft));
	display: grid; place-items: center;
	overflow: hidden;
	border: 1px solid var(--hairline);
}

.cart-item .thumb img,
.cart-item .thumb a img {
	width: 70%; height: 70%;
	object-fit: contain;
	filter: drop-shadow(0 8px 12px rgba(0,0,0,0.4));
}

.cart-item .thumb a { display: contents; }

.cart-item .info .planet {
	font-family: var(--font-mono);
	font-size: 10px; letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-yellow); margin-bottom: 4px;
}

.cart-item .info .name {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 22px;
	letter-spacing: var(--font-display-tracking);
	line-height: 1; margin-bottom: 4px;
}

.cart-item .info .name a { color: inherit; text-decoration: none; }
.cart-item .info .vari { color: var(--ink-soft); font-size: 13px; }

.cart-item .controls {
	display: flex; align-items: center;
	gap: 16px; flex-wrap: wrap;
	justify-content: flex-end;
}

.cart-item .qty-wrap .quantity {
	display: flex; align-items: center;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill); overflow: hidden;
}

.cart-item .qty-wrap .qty {
	width: 80px; padding: 8px 12px;
	background: transparent; border: none;
	color: var(--ink);
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 18px; text-align: center;
}

.cart-item .price-col {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 24px; color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking);
	min-width: 80px; text-align: right;
}

.cart-item .price-col .woocommerce-Price-amount { color: inherit; font: inherit; }

.cart-item .remove {
	width: 36px; height: 36px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: rgba(255,63,142,0.10);
	color: var(--magenta);
	transition: background .2s; text-decoration: none;
}

.cart-item .remove:hover { background: rgba(255,63,142,0.25); }

@media (max-width: 700px) {
	.cart-item { grid-template-columns: 80px 1fr; gap: 16px; }
	.cart-item .controls { grid-column: 1 / -1; justify-content: space-between; }
	.cart-item .thumb { width: 80px; height: 80px; }
}

/* ---- Promo code ---- */
.gs-promo {
	margin-top: 20px; padding: 18px 22px;
	background: rgba(157,255,110,0.05);
	border: 1px dashed rgba(157,255,110,0.4);
	border-radius: var(--r-lg);
	display: flex; align-items: center;
	gap: 14px; flex-wrap: wrap;
}

.gs-promo .ic {
	width: 40px; height: 40px; border-radius: 50%;
	background: var(--alien); color: var(--bg-deep);
	display: grid; place-items: center; flex-shrink: 0;
}

.gs-promo .promo-label {
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--alien);
}

.gs-promo .input-text {
	flex: 1; min-width: 160px;
	padding: 10px 16px;
	background: rgba(0,0,0,0.3);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
	color: var(--ink); font: inherit; outline: none;
}

.gs-promo .input-text:focus { border-color: var(--alien); }

.gs-promo .button {
	padding: 12px 22px;
	background: var(--alien); color: var(--bg-deep);
	border-radius: var(--r-pill);
	font-weight: 700; font-size: 14px;
}

/* Active coupons */
.gs-coupons-active { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

.coupon-tag {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px;
	background: rgba(157,255,110,0.10);
	border: 1px solid rgba(157,255,110,0.3);
	border-radius: var(--r-pill);
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: 0.1em; color: var(--alien);
}

.coupon-tag .remove-coupon { color: var(--magenta); font-weight: 700; font-size: 16px; text-decoration: none; }

.gs-cart-update { text-align: right; margin-top: 16px; }

/* ---- Summary sidebar (cart) ---- */
.cart-summary {
	position: sticky; top: 100px;
	padding: 32px;
	background: var(--bg-card);
	border: 1px solid var(--hairline);
	border-radius: var(--r-xl);
	overflow: hidden;
}

.cart-summary::before {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(circle at 100% 0%, rgba(255,200,61,0.18), transparent 50%);
	pointer-events: none;
}

.cart-summary > * { position: relative; z-index: 1; }

.cart-summary h3 {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 28px; letter-spacing: var(--font-display-tracking);
	margin: 0 0 24px;
}

/* ---- Sum rows (shared cart + checkout) ---- */
.sum-row {
	display: flex; justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px dashed var(--hairline);
	font-family: var(--font-mono); font-size: 13px;
	letter-spacing: 0.04em;
}

.sum-row .lbl { color: var(--ink-soft); }
.sum-row .val { color: var(--ink); font-weight: 600; }
.sum-row .val .woocommerce-Price-amount { color: inherit; }
.sum-row.discount .val { color: var(--alien); }

.sum-row.total {
	padding: 18px 0 8px; margin-top: 4px;
	border-top: 1px solid var(--brand-yellow); border-bottom: 0;
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: 22px; letter-spacing: var(--font-display-tracking);
}

.sum-row.total .val { color: var(--brand-yellow); font-size: 38px; line-height: 1; }
.sum-row.total .val .woocommerce-Price-amount { color: inherit; }
.sum-row.total .lbl { color: var(--ink); font-size: 18px; align-self: flex-end; }

/* Checkout sidebar — smaller total */
.co-summary .sum-row.total .val { font-size: 32px; }

/* ---- Checkout button (cart → checkout) ---- */
.checkout-btn {
	display: inline-flex;
	align-items: center; justify-content: center;
	gap: 10px; margin-top: 24px;
	width: 100%; padding: 20px;
	background: var(--brand-yellow); color: var(--bg-deep);
	border-radius: var(--r-pill);
	font-weight: 700; font-size: 17px;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}

.checkout-btn:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); color: var(--bg-deep); }

/* ---- Shipping progress bar ---- */
.ship-progress {
	margin-top: 20px; padding: 14px 16px;
	background: rgba(157,255,110,0.06);
	border: 1px solid rgba(157,255,110,0.25);
	border-radius: var(--r-md);
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: 0.08em;
}

.ship-progress .top { display: flex; justify-content: space-between; color: var(--alien); margin-bottom: 8px; }
.ship-progress .bar { height: 6px; background: rgba(0,0,0,0.3); border-radius: 3px; overflow: hidden; }
.ship-progress .bar span { display: block; height: 100%; background: var(--alien); border-radius: 3px; transition: width .4s; }

/* ---- Trust badges ---- */
.trust-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }

.trust-row .t {
	flex: 1; min-width: 100px; padding: 12px 8px;
	background: rgba(0,0,0,0.2); border: 1px solid var(--hairline);
	border-radius: var(--r-md); text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 6px;
}

.trust-row .t svg { color: var(--brand-yellow); flex-shrink: 0; }

.trust-row .t .lbl {
	font-family: var(--font-mono); font-size: 10px;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft);
}

/* =========================================
   CHECKOUT PAGE — gs-co-wrap / gs-co-grid
   ========================================= */

.gs-co-wrap { padding: 40px var(--gutter) 100px; }
.gs-co-wrap .co-header { margin-bottom: 24px; }

.gs-co-wrap .co-header .display {
	font-family: var(--font-display);
	font-weight: var(--font-display-weight);
	font-size: clamp(40px, 7vw, 96px);
	line-height: 0.88; letter-spacing: var(--font-display-tracking); margin: 16px 0 0;
}

.gs-co-wrap .co-header .display em {
	font-family: 'Montserrat', system-ui, sans-serif;
	font-style: italic; font-weight: 400; color: var(--brand-yellow);
}

/* ---- Stepper ---- */
.gs-stepper {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 12px; margin: 32px 0 48px; position: relative;
}

.gs-stepper::before {
	content: ""; position: absolute;
	top: 24px; left: 16%; right: 16%; height: 2px;
	background: linear-gradient(90deg, var(--brand-yellow), var(--magenta), var(--plasma));
	opacity: 0.3; z-index: 0;
}

.sstep { position: relative; z-index: 1; text-align: center; }

.sstep .dot {
	width: 48px; height: 48px; margin: 0 auto 12px;
	display: grid; place-items: center; border-radius: 50%;
	background: var(--bg-card); border: 2px solid var(--hairline);
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: 18px; color: var(--ink-soft); transition: all .3s;
}

.sstep.active .dot { background: var(--brand-yellow); color: var(--bg-deep); border-color: var(--brand-yellow); box-shadow: var(--glow-yellow); }
.sstep.done .dot { background: var(--alien); color: var(--bg-deep); border-color: var(--alien); }
.sstep.done .dot::before { content: "✓"; font-size: 20px; }
.sstep.done .dot span { display: none; }

.sstep .label {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft);
}

.sstep.active .label { color: var(--brand-yellow); }
.sstep.done .label { color: var(--alien); }

/* ---- Co-grid ---- */
.gs-co-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; }

@media (max-width: 980px) { .gs-co-grid { grid-template-columns: 1fr; } }

/* ---- Panel form titles ---- */
.panel-title { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }

.panel-title .n {
	width: 36px; height: 36px;
	background: var(--brand-yellow); color: var(--bg-deep);
	border-radius: 50%; display: grid; place-items: center;
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: 16px; flex-shrink: 0;
}

.panel-title h2 {
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: clamp(24px, 3vw, 36px); letter-spacing: var(--font-display-tracking);
	margin: 0; line-height: 1;
}

.panel-title h2 em { font-family: 'Montserrat', system-ui, sans-serif; font-style: italic; font-weight: 400; color: var(--brand-yellow); }

/* ---- Billing/Shipping form grid ---- */
.gs-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

@media (max-width: 640px) { .gs-form-grid { grid-template-columns: 1fr; } }

.gs-form-grid .form-row { margin-bottom: 0; }
.gs-form-grid .form-row-wide,
.gs-form-grid .form-row.full { grid-column: 1 / -1; }

/* ---- Shipping toggle ---- */
.gs-ship-toggle-wrap { margin-bottom: 20px; }

.gs-ship-toggle {
	display: flex; align-items: center; gap: 12px; cursor: pointer;
	font-family: var(--font-mono); font-size: 13px;
	letter-spacing: 0.08em; color: var(--ink-soft); user-select: none;
}

.gs-ship-toggle input[type="checkbox"] { display: none; }

.toggle-track {
	width: 44px; height: 24px;
	background: rgba(255,255,255,0.10);
	border: 1px solid var(--hairline); border-radius: 12px;
	position: relative; transition: background .2s; flex-shrink: 0;
}

.toggle-track::after {
	content: ""; position: absolute; top: 3px; left: 3px;
	width: 16px; height: 16px; background: var(--ink-soft);
	border-radius: 50%; transition: transform .2s, background .2s;
}

.gs-ship-toggle input:checked + .toggle-track { background: var(--brand-yellow); border-color: var(--brand-yellow); }
.gs-ship-toggle input:checked + .toggle-track::after { transform: translateX(20px); background: var(--bg-deep); }
.gs-shipping-fields { display: none; }
.gs-shipping-fields.active,
.gs-shipping-fields.is-open { display: block; animation: gs-slide-down .25s ease; }
@keyframes gs-slide-down {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---- Payment Box (Cash on Delivery + Stripe descriptions) ---- */
.wc_payment_method .payment_box {
	margin-top: 14px;
	padding: 18px 20px;
	background: rgba(255,200,61,0.06);
	border: 1px solid var(--hairline-strong);
	border-radius: 14px;
	color: var(--ink-2);
	font-size: 14px;
	line-height: 1.65;
	position: relative;
}
.wc_payment_method .payment_box::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 26px;
	width: 12px;
	height: 12px;
	background: rgba(255,200,61,0.06);
	border-left: 1px solid var(--hairline-strong);
	border-top: 1px solid var(--hairline-strong);
	transform: rotate(45deg);
}
.wc_payment_method .payment_box p { margin: 0 0 10px; }
.wc_payment_method .payment_box p:last-child { margin-bottom: 0; }
.wc_payment_method .payment_box a {
	color: var(--brand-yellow);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wc_payment_method .payment_box a:hover { color: var(--brand-yellow-2); }

/* Stripe credit-card form styling inside payment_box */
.wc_payment_method .payment_box .form-row {
	background: rgba(8,4,28,0.55);
	border: 1px solid var(--hairline);
	border-radius: 10px;
	padding: 14px 16px;
	margin-top: 10px;
}
.wc_payment_method .payment_box .StripeElement {
	background: transparent !important;
}

/* Terms & Conditions row inside review_order */
.woocommerce-terms-and-conditions-wrapper {
	margin-top: 18px;
	padding: 14px 16px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hairline);
	border-radius: 12px;
}
.woocommerce-terms-and-conditions-wrapper .form-row,
.wc-terms-and-conditions {
	margin: 0;
}
.wc-terms-and-conditions input[type="checkbox"],
.woocommerce-form__input-checkbox,
.form-row.terms input[type="checkbox"] {
	flex-shrink: 0;
	margin: 0 10px 0 0 !important;
	width: 18px;
	height: 18px;
	accent-color: var(--brand-yellow);
	cursor: pointer;
	vertical-align: middle;
}
.wc-terms-and-conditions label,
.woocommerce-form__label-for-checkbox,
.form-row.terms label.checkbox {
	display: inline-flex !important;
	align-items: center;
	gap: 0;
	flex-wrap: nowrap;
	color: var(--ink-2);
	font-size: 14px;
	line-height: 1.55;
	cursor: pointer;
}
.woocommerce-terms-and-conditions-checkbox-text {
	display: inline;
}
.wc-terms-and-conditions a {
	color: var(--brand-yellow);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.woocommerce-privacy-policy-text {
	margin: 14px 0 4px;
	color: var(--ink-soft);
	font-size: 13px;
	line-height: 1.6;
}
.woocommerce-privacy-policy-text a {
	color: var(--brand-yellow);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---- Payment/Shipping opt-row cards ---- */
.opt-grid { display: grid; gap: 12px; }
.wc_payment_methods.opt-grid { list-style: none; padding: 0; margin: 0; }

.opt-row,
.wc_payment_methods .opt-row {
	display: flex; align-items: center; gap: 16px;
	padding: 18px 20px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hairline); border-radius: var(--r-md);
	cursor: pointer; transition: border-color .2s, background .2s; width: 100%;
}

.opt-row:hover { border-color: var(--hairline-strong); }
.opt-row.sel { border-color: var(--brand-yellow); background: rgba(255,200,61,0.06); }

.opt-row input[type="radio"],
.opt-row input[type="checkbox"] { display: none; }

.opt-row .radio {
	width: 22px; height: 22px; border-radius: 50%;
	border: 2px solid var(--ink-soft); flex-shrink: 0;
	position: relative; transition: border-color .2s;
}

.opt-row.sel .radio { border-color: var(--brand-yellow); }
.opt-row.sel .radio::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--brand-yellow); }
.opt-row .body { flex: 1; }

.opt-row .ttl {
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: 18px; letter-spacing: var(--font-display-tracking); line-height: 1.1;
}

.opt-row .sub { font-size: 13px; color: var(--ink-soft); margin-top: 4px; }

.opt-row .price-side {
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: 22px; color: var(--brand-yellow);
	letter-spacing: var(--font-display-tracking); flex-shrink: 0;
}

.opt-row .price-side .free { color: var(--alien); }
.opt-row .ic-side { width: 40px; height: 40px; display: grid; place-items: center; color: var(--ink-soft); flex-shrink: 0; }

.wc_payment_methods > li { list-style: none; }

/* ---- Order notes ---- */
.gs-order-notes { margin-top: 24px; padding-top: 20px; border-top: 1px dashed var(--hairline); }

/* ---- Checkout summary sidebar ---- */
.co-summary {
	position: sticky; top: 100px; padding: 32px;
	background: var(--bg-card); border: 1px solid var(--hairline);
	border-radius: var(--r-xl); overflow: hidden;
}

.co-summary::before {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(circle at 100% 0%, rgba(255,200,61,0.15), transparent 50%);
	pointer-events: none;
}

.co-summary > * { position: relative; z-index: 1; }

.co-summary h3 {
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	font-size: 24px; letter-spacing: var(--font-display-tracking); margin: 0 0 18px;
}

.co-items { border-bottom: 1px solid var(--hairline); padding-bottom: 18px; margin-bottom: 18px; display: grid; gap: 12px; }

.co-summary .it { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; }

.co-summary .it .th {
	width: 48px; height: 48px; border-radius: var(--r-sm);
	background: var(--bg-mid); border: 1px solid var(--hairline);
	display: grid; place-items: center; overflow: hidden;
}

.co-summary .it .th img { width: 70%; height: 70%; object-fit: contain; }
.co-summary .it .nm { font-size: 13px; line-height: 1.3; }

.co-summary .it .nm small {
	color: var(--ink-soft); display: block;
	font-family: var(--font-mono); font-size: 10px;
	letter-spacing: 0.1em; margin-top: 2px;
}

.co-summary .it .pr {
	font-family: var(--font-display); font-weight: var(--font-display-weight);
	color: var(--brand-yellow); font-size: 16px; letter-spacing: var(--font-display-tracking);
}

.co-summary .it .pr .woocommerce-Price-amount { color: inherit; font: inherit; }

.co-summary .sum-row { padding: 8px 0; }

/* ---- Place order button ---- */
.place-order {
	display: inline-flex; align-items: center; justify-content: center;
	gap: 10px; margin-top: 20px; width: 100%; padding: 20px;
	background: linear-gradient(135deg, var(--brand-yellow), var(--brand-orange));
	color: var(--bg-deep); border: none; border-radius: var(--r-pill);
	font-weight: 700; font-size: 16px; cursor: pointer;
	transition: transform .2s, box-shadow .2s;
}

.place-order:hover { transform: translateY(-2px); box-shadow: var(--glow-yellow); }

/* ---- Legal note + T&C ---- */
.legal-note { margin-top: 14px; font-size: 12px; color: var(--ink-mute); text-align: center; line-height: 1.5; }
.legal-note a { color: var(--brand-yellow); text-decoration: underline; text-underline-offset: 3px; }

.wc-terms-and-conditions { margin-top: 12px; }

.wc-terms-and-conditions .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-size: 13px; color: var(--ink-2); cursor: pointer;
}

.wc-terms-and-conditions .input-checkbox {
	width: 18px; height: 18px; margin: 0;
	accent-color: var(--brand-yellow); flex-shrink: 0;
	vertical-align: middle;
}

/* ---- Mobile: cart + checkout ---- */
@media (max-width: 640px) {
	.gs-promo { flex-direction: column; align-items: flex-start; }
	.gs-promo .input-text { width: 100%; }
	.gs-stepper::before { display: none; }
	.sstep .label { font-size: 9px; }
}

/* =========================================
   AUTH FORMS — lost-password, login, register
   ========================================= */

.gs-auth-wrap {
	max-width: 480px;
	margin: 0 auto;
	padding: clamp(32px, 6vw, 64px) 0;
	text-align: center;
}

.gs-auth-icon {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(255,200,61,0.1);
	border: 1px solid rgba(255,200,61,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
}

.gs-auth-sub {
	color: var(--ink-soft);
	font-size: 15px;
	line-height: 1.6;
	max-width: 38ch;
	margin: 12px auto 32px;
}

.gs-auth-links {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
}

.gs-auth-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ink-soft);
	font-size: 13px;
	transition: color .2s;
}

.gs-auth-links a:hover { color: var(--brand-yellow); }

/* =========================================
   FORM COMPONENTS — shared across myaccount forms
   ========================================= */

.gs-account-form-wrap {
	padding: clamp(16px, 3vw, 40px) 0;
}

.gs-panel-header {
	margin-bottom: 32px;
}

.gs-fieldset {
	border: 1px solid var(--hairline);
	border-radius: var(--r-md);
	padding: 28px 28px 20px;
	margin-bottom: 24px;
	background: rgba(255,255,255,0.02);
}

.gs-legend {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ink-2);
	padding: 0 8px;
	margin-bottom: 20px;
}

.gs-optional-tag {
	font-size: 10px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--ink-mute);
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
	border-radius: var(--r-pill);
	padding: 2px 8px;
	margin-left: 4px;
}

.gs-form-grid {
	display: grid;
	gap: 16px;
}

.gs-form-grid--2 {
	grid-template-columns: 1fr 1fr;
}

.gs-form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: left;
}

.gs-form-row label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gs-form-row .gs-input,
.gs-form-row input.input-text,
.gs-form-row input[type="email"],
.gs-form-row input[type="text"],
.gs-form-row input[type="password"] {
	width: 100%;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	padding: 12px 16px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink);
	outline: none;
	transition: border-color .2s, box-shadow .2s;
}

.gs-form-row .gs-input:focus,
.gs-form-row input.input-text:focus,
.gs-form-row input[type="email"]:focus,
.gs-form-row input[type="text"]:focus,
.gs-form-row input[type="password"]:focus {
	border-color: var(--brand-yellow);
	box-shadow: 0 0 0 3px rgba(255,200,61,0.12);
}

.gs-form-row .gs-input::placeholder { color: var(--ink-mute); }

.gs-required {
	color: var(--magenta);
	margin-left: 2px;
}

.gs-field-hint {
	font-size: 12px;
	color: var(--ink-mute);
	margin: 0;
}

.gs-form-actions {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 8px;
}

.btn-full { width: 100%; justify-content: center; }

.gs-submit-btn {
	width: 100%;
	justify-content: center;
	margin-top: 4px;
}

/* WC generated address fields inside gs-form-grid--address */
.gs-form-grid--address .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gs-form-grid--address .form-row label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gs-form-grid--address .form-row input.input-text,
.gs-form-grid--address .form-row select {
	width: 100%;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	padding: 12px 16px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink);
	outline: none;
	transition: border-color .2s;
}

.gs-form-grid--address .form-row input.input-text:focus,
.gs-form-grid--address .form-row select:focus {
	border-color: var(--brand-yellow);
	box-shadow: 0 0 0 3px rgba(255,200,61,0.12);
}

.gs-form-grid--address .form-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23B4A8E6' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	appearance: none;
	padding-right: 36px;
	cursor: pointer;
}

.gs-notice {
	padding: 14px 18px;
	border-radius: var(--r-md);
	font-size: 14px;
	margin-bottom: 20px;
}

.gs-notice--info {
	background: rgba(91,229,255,0.08);
	border: 1px solid rgba(91,229,255,0.2);
	color: var(--plasma);
}

/* =========================================
   VIEW ORDER (detail page)
   ========================================= */

.gs-order-detail-wrap .gs-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ink-soft);
	font-size: 13px;
	margin-bottom: 24px;
	transition: color .2s;
}

.gs-order-detail-wrap .gs-back-link:hover { color: var(--brand-yellow); }

.gs-order-totals {
	border-top: 1px solid var(--hairline);
	margin-top: 20px;
	padding-top: 16px;
}

.gs-total-row {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font-size: 14px;
	color: var(--ink-soft);
}

.gs-total-row--discount { color: var(--alien); }

.gs-total-row--grand {
	font-weight: 700;
	font-size: 16px;
	color: var(--ink);
	border-top: 1px solid var(--hairline);
	margin-top: 8px;
	padding-top: 12px;
}

.gs-order-meta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 16px;
}

.gs-order-address {
	font-style: normal;
	font-size: 14px;
	color: var(--ink-2);
	line-height: 1.7;
}

.gs-order-dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 6px 16px;
	font-size: 14px;
}

.gs-order-dl dt {
	color: var(--ink-soft);
	white-space: nowrap;
}

.gs-order-dl dd {
	margin: 0;
	color: var(--ink-2);
}

.it--full { align-items: flex-start; }

.it-img { flex-shrink: 0; }
.it-img img { border-radius: 6px; }

.it-info { flex: 1; }

.it-meta { color: var(--ink-soft); font-size: 13px; }

/* =========================================
   THANK YOU PAGE
   ========================================= */

.gs-thankyou-wrap {
	max-width: 640px;
	margin: 0 auto;
	padding: clamp(24px, 5vw, 64px) 0;
}

.gs-thankyou-hero {
	text-align: center;
	margin-bottom: 40px;
}

.gs-thankyou-icon {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: rgba(157,255,110,0.08);
	border: 1px solid rgba(157,255,110,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
}

.gs-thankyou-sub {
	color: var(--ink-soft);
	font-size: 15px;
	line-height: 1.65;
	max-width: 42ch;
	margin: 12px auto 0;
}

.gs-thankyou-details { margin-bottom: 20px; }

.gs-order-info-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.gs-order-info-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--hairline);
	font-size: 14px;
}

.gs-order-info-list li:last-child { border-bottom: none; }

.gs-oi-label { color: var(--ink-soft); }
.gs-oi-value { color: var(--ink-2); }

.gs-thankyou-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 32px;
}

/* =========================================
   ORDER PAY PAGE
   ========================================= */

.gs-orderpay-wrap { max-width: 860px; margin: 0 auto; }

.gs-pay-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 24px;
	margin-top: 24px;
}

.gs-payment-methods {
	margin-bottom: 20px;
}

.gs-payment-methods .wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gs-payment-methods .wc_payment_method {
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	overflow: hidden;
	transition: border-color .2s;
}

.gs-payment-methods .wc_payment_method:has(input:checked) {
	border-color: var(--brand-yellow);
}

.gs-payment-methods .wc_payment_method label {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	cursor: pointer;
	font-size: 14px;
}

.gs-payment-methods .wc_payment_method input[type="radio"] {
	accent-color: var(--brand-yellow);
}

/* =========================================
   SEARCH RESULTS
   ========================================= */

.gs-search-wrap { padding: clamp(24px, 4vw, 48px) 0; }

.gs-search-header { margin-bottom: 32px; }

.gs-search-form-bar {
	max-width: 560px;
	margin-bottom: 40px;
}

.gs-search-form-bar .search-form {
	display: flex;
	gap: 10px;
}

.gs-search-form-bar .search-field {
	flex: 1;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	padding: 12px 16px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink);
	outline: none;
	transition: border-color .2s;
}

.gs-search-form-bar .search-field:focus {
	border-color: var(--brand-yellow);
	box-shadow: 0 0 0 3px rgba(255,200,61,0.12);
}

.gs-search-form-bar .search-submit {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border-radius: var(--r-sm);
	padding: 12px 20px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	border: none;
	transition: opacity .2s;
}

.gs-search-form-bar .search-submit:hover { opacity: .88; }

.gs-search-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gs-search-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hairline);
	border-radius: var(--r-md);
	padding: 20px;
	transition: border-color .2s, background .2s;
	text-decoration: none;
}

.gs-search-card:hover {
	border-color: var(--hairline-strong);
	background: rgba(255,200,61,0.04);
}

.gs-sc-img {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: var(--r-sm);
	overflow: hidden;
	background: rgba(255,255,255,0.05);
	display: flex;
	align-items: center;
	justify-content: center;
}

.gs-sc-img img { width: 100%; height: 100%; object-fit: cover; }

.gs-sc-body { flex: 1; min-width: 0; }

.gs-sc-title {
	font-family: var(--font-display);
	font-size: clamp(16px, 2.5vw, 20px);
	font-weight: 700;
	margin: 4px 0 8px;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gs-sc-price {
	color: var(--brand-yellow);
	font-weight: 600;
	font-size: 15px;
}

.gs-sc-excerpt {
	color: var(--ink-soft);
	font-size: 14px;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gs-sc-arrow {
	flex-shrink: 0;
	color: var(--ink-mute);
	transition: color .2s, transform .2s;
}

.gs-search-card:hover .gs-sc-arrow {
	color: var(--brand-yellow);
	transform: translateX(4px);
}

.gs-sc-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.gs-search-empty {
	text-align: center;
	padding: 64px 24px;
}

.gs-search-pagination {
	margin-top: 32px;
	display: flex;
	justify-content: center;
	gap: 12px;
}

/* =========================================
   404 PAGE
   ========================================= */

.gs-404-wrap {
	min-height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(32px, 6vw, 80px) 0;
}

.gs-404-inner {
	text-align: center;
	max-width: 520px;
}

.gs-404-number {
	font-family: var(--font-display);
	font-size: clamp(80px, 18vw, 180px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.06em;
	background: linear-gradient(135deg, var(--brand-yellow), var(--magenta));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	opacity: .2;
	margin-bottom: -20px;
	pointer-events: none;
	user-select: none;
}

.gs-404-sub {
	color: var(--ink-soft);
	font-size: 15px;
	line-height: 1.65;
	max-width: 40ch;
	margin: 16px auto 32px;
}

.gs-404-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.gs-404-inner .search-form {
	display: flex;
	gap: 10px;
	max-width: 360px;
	margin: 0 auto;
}

.gs-404-inner .search-field {
	flex: 1;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	padding: 11px 14px;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--ink);
	outline: none;
	transition: border-color .2s;
}

.gs-404-inner .search-field:focus { border-color: var(--brand-yellow); }

.gs-404-inner .search-submit {
	background: var(--brand-yellow);
	color: var(--bg-deep);
	border-radius: var(--r-sm);
	padding: 11px 16px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	border: none;
}

/* =========================================
   RESPONSIVE — form grids
   ========================================= */

@media (max-width: 640px) {
	.gs-form-grid--2 { grid-template-columns: 1fr; }
	.gs-pay-grid { grid-template-columns: 1fr; }
	.gs-order-meta-grid { grid-template-columns: 1fr; }
	.gs-auth-wrap { padding: 24px 16px; }
	.gs-fieldset { padding: 20px 16px; }
}

/* ============================================================
   FLAVOR CARDS — fotografii mari (prezentare, fără preț)
   ============================================================ */
.flavor-card .planet-vis {
	height: 220px;
	margin: 0 auto 22px;
}
.flavor-card .planet-vis img {
	max-height: 220px;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 24px 32px rgba(0,0,0,0.55));
}
@media (min-width: 900px) {
	.flavor-card .planet-vis { height: 260px; }
	.flavor-card .planet-vis img { max-height: 260px; }
}

/* ============================================================
   DESCRIERE — Ce conține + De ce sunt diferite
   ============================================================ */
.gs-desc-section { padding-top: 60px; padding-bottom: 60px; }
.gs-desc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 900px) {
	.gs-desc-grid { grid-template-columns: 1.1fr 1fr; gap: 60px; }
}
.gs-desc-block h3.display {
	margin: 14px 0 22px;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.15;
}
.gs-desc-list {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	display: grid;
	gap: 14px;
}
.gs-desc-list li {
	padding: 16px 18px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hairline);
	border-radius: 14px;
	color: var(--ink-2);
	font-size: 15px;
	line-height: 1.5;
}
.gs-desc-list li strong {
	color: var(--ink);
	font-family: var(--font-display);
	letter-spacing: 0.01em;
	margin-right: 4px;
}
.gs-desc-bullets {
	list-style: none;
	padding: 0;
	margin: 22px 0 24px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.gs-desc-bullets li {
	padding: 14px 16px;
	border: 1px solid var(--hairline);
	border-radius: 12px;
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--brand-yellow);
	text-align: center;
	background: rgba(255,200,61,0.04);
}
.gs-desc-foot {
	color: var(--ink-2);
	line-height: 1.7;
	max-width: 46ch;
	margin: 0;
}

/* ============================================================
   CÂND MĂNÂNCI
   ============================================================ */
.gs-when-section { padding-top: 60px; padding-bottom: 80px; }
.gs-when { max-width: 920px; margin: 0 auto; text-align: center; }
.gs-when-list {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	max-width: 880px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 640px) {
	.gs-when-list { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (min-width: 980px) {
	.gs-when-list { grid-template-columns: repeat(4, 1fr); }
}
.gs-when-list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 26px 18px;
	background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
	border: 1px solid var(--hairline);
	border-radius: 16px;
	color: var(--ink);
	font-family: var(--font-display);
	font-size: 17px;
	letter-spacing: -0.01em;
	transition: transform .25s, border-color .25s;
}
.gs-when-list li:hover {
	transform: translateY(-4px);
	border-color: var(--brand-yellow);
}
.gs-when-list li svg {
	width: 36px;
	height: 36px;
	color: var(--brand-yellow);
	stroke: var(--brand-yellow);
}
.gs-when-foot {
	margin: 32px auto 0;
	color: var(--ink-2);
	font-size: 16px;
	max-width: 38ch;
	line-height: 1.6;
}

/* =========================================
   CHECKOUT — first/last name full width
   (fix layout îngust 2026-05-15)
   ========================================= */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last,
.woocommerce form.woocommerce-checkout .form-row-first,
.woocommerce form.woocommerce-checkout .form-row-last,
form.checkout .form-row-first,
form.checkout .form-row-last {
  width: 100% !important;
  float: none !important;
  clear: both !important;
}
.woocommerce-checkout .form-row#billing_first_name_field,
.woocommerce-checkout .form-row#billing_last_name_field,
.woocommerce-checkout .form-row#shipping_first_name_field,
.woocommerce-checkout .form-row#shipping_last_name_field {
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* =========================================
   CART EMPTY — design galactic centrat
   ========================================= */
.gs-cart-empty-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: 80px 20px 120px;
  position: relative;
}
.gs-cart-empty-panel {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 64px 48px 56px;
  text-align: center;
  position: relative;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255, 200, 61, 0.10) 0%, transparent 60%),
    radial-gradient(80% 60% at 50% 100%, rgba(157, 255, 110, 0.06) 0%, transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(255, 200, 61, 0.18);
  border-radius: 24px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.02) inset,
    0 24px 80px rgba(0,0,0,0.4),
    0 0 60px rgba(255, 200, 61, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.gs-cart-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  margin: 0 auto 28px;
  color: var(--brand-yellow);
  filter: drop-shadow(0 0 24px rgba(255, 200, 61, 0.45));
}
.gs-cart-empty-icon svg {
  width: 100%;
  height: 100%;
  animation: gs-cart-empty-float 4s ease-in-out infinite;
}
@keyframes gs-cart-empty-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
.gs-cart-empty-eyebrow {
  display: inline-block;
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--brand-yellow);
  text-transform: uppercase;
  margin-bottom: 16px;
  padding: 8px 16px;
  border: 1px solid rgba(255, 200, 61, 0.3);
  border-radius: 999px;
  background: rgba(255, 200, 61, 0.06);
}
.gs-cart-empty-title {
  font-size: clamp(40px, 7vw, 72px);
  line-height: 0.95;
  margin: 0 0 20px;
  color: #fff;
}
.gs-cart-empty-title em {
  font-style: italic;
  color: var(--brand-yellow);
}
.gs-cart-empty-sub {
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 540px;
  margin: 0 auto 36px;
}
.gs-cart-empty-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.gs-cart-empty-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  border-radius: 999px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.gs-cart-empty-actions .btn-primary {
  background: var(--brand-yellow);
  color: var(--bg-deep, #08041C);
  box-shadow: 0 8px 32px rgba(255, 200, 61, 0.3);
}
.gs-cart-empty-actions .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(255, 200, 61, 0.45);
}
.gs-cart-empty-actions .btn-ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.22);
}
.gs-cart-empty-actions .btn-ghost:hover {
  border-color: var(--brand-yellow);
  color: var(--brand-yellow);
  transform: translateY(-2px);
}
.gs-cart-empty-trust {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.gs-cart-empty-trust .t {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  font-weight: 500;
}
.gs-cart-empty-trust .t svg {
  color: var(--alien, #9DFF6E);
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .gs-cart-empty-hero { padding: 60px 16px 80px; min-height: auto; }
  .gs-cart-empty-panel { padding: 48px 24px 40px; border-radius: 18px; }
  .gs-cart-empty-icon { width: 100px; height: 100px; margin-bottom: 20px; }
  .gs-cart-empty-actions { flex-direction: column; gap: 12px; }
  .gs-cart-empty-actions .btn { width: 100%; justify-content: center; }
  .gs-cart-empty-trust { gap: 16px; padding-top: 24px; }
}


/* ============================================================
   FIX terms checkbox - elimină background galben aiurea
   ============================================================ */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-wrapper *,
.woocommerce-privacy-policy-text,
.form-row.terms,
.wc-terms-and-conditions,
.wc-terms-and-conditions *,
.woocommerce-form__label-for-checkbox,
.woocommerce-terms-and-conditions {
  background: transparent !important;
  background-color: transparent !important;
}
.woocommerce-terms-and-conditions-wrapper {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid var(--hairline) !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  margin-top: 18px !important;
}
.wc-terms-and-conditions input[type="checkbox"]:focus,
.woocommerce-form__input-checkbox:focus,
input[type="checkbox"]:focus {
  outline: 2px solid var(--brand-yellow) !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

/* ============================================================
   SINGLE PRODUCT — reduce dimensiune pungă hero
   Echipa C — task 3 (2026-05-15)
   Pungă enormă centrată → dimensiune mai discretă, sticky friendly
   ============================================================ */
.gs-product-hero .gs-product-media {
	max-width: 500px;
	margin: 0 auto;
}
.gs-product-hero .gs-product-media img,
.gs-product-hero .gs-product-media picture {
	max-width: 100%;
}

@media (max-width: 980px) {
	.gs-product-hero .gs-product-media {
		max-width: min(80vw, 420px);
	}
	.gs-product-hero .gs-product-media img,
	.gs-product-hero .gs-product-media picture {
		max-width: 100%;
		max-height: 60vh;
	}
}

@media (max-width: 640px) {
	.gs-product-hero .gs-product-media {
		max-width: min(80vw, 360px);
	}
}


/* ============================================================
   GRID MAGAZIN — Force 3/2/1 cu specificitate maximă (override duplicates)
   ============================================================ */
body.archive .gs-shop-grid,
body.woocommerce .gs-shop-grid,
body.post-type-archive-product .gs-shop-grid,
.woocommerce-shop .gs-shop-grid,
.gs-shop-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
@media (max-width: 900px) {
  body.archive .gs-shop-grid,
  body.woocommerce .gs-shop-grid,
  body.post-type-archive-product .gs-shop-grid,
  .woocommerce-shop .gs-shop-grid,
  .gs-shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 760px !important;
    gap: 22px !important;
  }
}
@media (max-width: 600px) {
  body.archive .gs-shop-grid,
  body.woocommerce .gs-shop-grid,
  body.post-type-archive-product .gs-shop-grid,
  .woocommerce-shop .gs-shop-grid,
  .gs-shop-grid {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
    gap: 18px !important;
  }
}

/* ============================================================
   ACCOUNT MOBILE FIX — overlap si layout la <= 768px
   Aplicat 2026-05-15 (audit + fix suprapuneri elementelor pe
   paginile /contul-meu/*). Specificitate ridicata + !important
   pentru a invinge regulile existente (.gs-acc-grid 240px 1fr,
   .side-nav sticky top:100px, .gs-acc-hero grid 2-col, etc.).
   ============================================================ */
@media (max-width: 768px) {
  /* Grid principal: nav + content stack vertical */
  .woocommerce-account .gs-acc-grid,
  .gs-acc-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .woocommerce-account .gs-acc-main,
  .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }
  /* Container parent */
  .gs-acc-wrap {
    padding: 24px 16px 80px !important;
  }
  /* Hero: stack vertical, padding redus */
  .gs-acc-hero {
    grid-template-columns: 1fr !important;
    padding: 24px 18px !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
  }
  .gs-acc-hero .copy h1,
  .gs-acc-hero .display {
    font-size: clamp(28px, 7vw, 40px) !important;
    line-height: 1.1 !important;
    padding-top: 0.2em !important;
  }
  .gs-acc-hero .copy .meta {
    font-size: 11px !important;
    gap: 10px !important;
  }
  /* Side nav (.side-nav .gs-side-nav) — orizontal scrollable cu scroll-snap */
  .side-nav,
  .gs-side-nav,
  .woocommerce-MyAccount-navigation {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    padding: 8px !important;
    margin-bottom: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .side-nav::-webkit-scrollbar,
  .gs-side-nav::-webkit-scrollbar,
  .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none !important; }
  .side-nav,
  .gs-side-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    scroll-snap-type: x mandatory !important;
  }
  .side-nav hr,
  .gs-side-nav hr { display: none !important; }
  .side-nav a,
  .gs-side-nav a {
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--hairline) !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none !important; }
  .woocommerce-MyAccount-navigation li {
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .woocommerce-MyAccount-navigation li a {
    display: block !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--hairline) !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .woocommerce-MyAccount-navigation li.is-active a,
  .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a,
  .side-nav a.is-active,
  .side-nav a.active,
  .side-nav a.woocommerce-MyAccount-navigation-link--is-active,
  .gs-side-nav a.active {
    background: var(--brand-yellow) !important;
    color: var(--bg-deep) !important;
    border-color: var(--brand-yellow) !important;
  }
  /* 4 stat cards: 2x2 (deja exista la 880px, dar reduc padding) */
  .gs-stat-row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
  }
  .gs-st {
    padding: 16px !important;
  }
  .gs-st-num {
    font-size: clamp(22px, 6vw, 32px) !important;
    padding-right: 32px !important;
  }
  .gs-st-ic {
    width: 28px !important;
    height: 28px !important;
    top: 12px !important;
    right: 12px !important;
  }
  /* Order card / panels — reduce padding */
  .gs-panel,
  .ord,
  .ord-card {
    padding: 18px !important;
    margin-bottom: 14px !important;
  }
  .gs-panel h3 {
    font-size: clamp(20px, 5vw, 26px) !important;
    margin: 0 0 16px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  /* Order top: stack vertical (ord-id + ord-status) */
  .ord-top {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
  }
  .ord-status { text-align: left !important; }
  .ord-status .total { font-size: 22px !important; }
  .ord-title { font-size: clamp(20px, 5.5vw, 28px) !important; }
  /* Filter tabs (Toate/In orbita/Aterizate/Anulate) — scrollable */
  .filter-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 4px !important;
    padding: 4px !important;
    scrollbar-width: none !important;
  }
  .filter-tabs::-webkit-scrollbar { display: none !important; }
  .filter-tabs button {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
  }
  /* Forms (edit-address, edit-account) — full-width pe mobile */
  .woocommerce-MyAccount-content .form-row,
  .woocommerce-MyAccount-content .form-row-first,
  .woocommerce-MyAccount-content .form-row-last,
  .woocommerce-MyAccount-content .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 14px !important;
  }
  .woocommerce-MyAccount-content input[type="text"],
  .woocommerce-MyAccount-content input[type="email"],
  .woocommerce-MyAccount-content input[type="tel"],
  .woocommerce-MyAccount-content input[type="password"],
  .woocommerce-MyAccount-content input[type="number"],
  .woocommerce-MyAccount-content select,
  .woocommerce-MyAccount-content textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    font-size: 16px !important; /* >=16px evita iOS Safari zoom on focus */
  }
  .woocommerce-MyAccount-content fieldset {
    padding: 14px !important;
    margin: 14px 0 !important;
  }
  /* Action buttons row pe order cards */
  .ord-actions,
  .ord-btns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .ord-actions .ord-btn,
  .ord-btns .ord-btn {
    flex: 1 1 calc(50% - 4px) !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    justify-content: center !important;
  }
  /* Order items (chip-uri produse) — compact */
  .ord-items {
    gap: 6px !important;
    margin-bottom: 14px !important;
  }
  .ord-items .it {
    padding: 4px 12px 4px 4px !important;
  }
  .ord-items .it img {
    width: 26px !important;
    height: 26px !important;
  }
  .ord-items .it .lbl {
    font-size: 11px !important;
  }
  /* Progress bar comenzi: compact */
  .ord-progress {
    height: 6px !important;
  }
  .ord-stages {
    flex-wrap: wrap !important;
    gap: 4px !important;
    font-size: 10px !important;
  }
  /* Footer: reduce padding pe mobile cont */
  .woocommerce-account .cosmo-footer,
  body.woocommerce-account .cosmo-footer {
    padding: 48px 16px 14px !important;
  }
  /* Buton logout / panel-uri cu shadow sa nu se suprapuna */
  .gs-acc-logout,
  .gs-panel + .gs-panel {
    margin-top: 14px !important;
  }
  /* WC notices: full-width pe mobile */
  .woocommerce-MyAccount-content .woocommerce-Message,
  .woocommerce-MyAccount-content .woocommerce-info,
  .woocommerce-MyAccount-content .woocommerce-error,
  .woocommerce-MyAccount-content .woocommerce-notice {
    padding: 14px !important;
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }
}

@media (max-width: 480px) {
  /* Si mai compact pe ecrane mici */
  .gs-acc-hero .copy h1,
  .gs-acc-hero .display {
    font-size: clamp(24px, 8vw, 32px) !important;
  }
  .ord-actions .ord-btn,
  .ord-btns .ord-btn {
    flex: 1 1 100% !important;
  }
  .gs-acc-hero {
    padding: 18px 14px !important;
  }
  .gs-panel,
  .ord,
  .ord-card {
    padding: 14px !important;
  }
  .gs-stat-row {
    gap: 8px !important;
  }
  .gs-st {
    padding: 12px !important;
  }
  .gs-st-num {
    font-size: clamp(20px, 7vw, 26px) !important;
  }
  .gs-st-lbl {
    font-size: 11px !important;
  }
  .gs-acc-wrap {
    padding: 18px 12px 70px !important;
  }
}

/* =====================================================================
 * CHECKOUT FIX (2026-05-15)
 *
 * 1) Stripe Element style custom (paleta dark + brand-yellow focus/invalid)
 * 2) Scot zona privacy + T&C duplicate de sub gateway COD/Stripe
 * 3) Font mai mic pentru T&C checkbox din sidebar (lângă "Plasează comanda")
 * ===================================================================== */

/* ---- 1) Stripe Element custom design ---- */
.wc-stripe-elements-wrapper,
.payment_method_stripe .wc-payment-form,
.wc-stripe-card-element-iframe-wrapper,
#wc-stripe-payment-element,
#stripe-payment-element {
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid var(--hairline) !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	margin-top: 12px !important;
}
.payment_method_stripe label,
.payment_method_stripe .form-row label {
	color: var(--ink-2) !important;
	font-size: 13px !important;
	font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.payment_method_stripe input[type="text"],
.payment_method_stripe input[type="email"],
.payment_method_stripe .StripeElement {
	background: rgba(255,255,255,0.03) !important;
	border: 1px solid var(--hairline) !important;
	border-radius: 8px !important;
	color: var(--ink) !important;
	padding: 12px 14px !important;
}
.payment_method_stripe .StripeElement--focus,
.payment_method_stripe .StripeElement.focused {
	border-color: var(--brand-yellow) !important;
	box-shadow: 0 0 0 3px rgba(255,200,61,0.15) !important;
}
.payment_method_stripe .StripeElement--invalid,
.payment_method_stripe .StripeElement.invalid {
	border-color: var(--magenta, #ff3aa8) !important;
}

/* ---- 2) Scot duplicate privacy + T&C de SUB gateway-uri (zona #payment) ---- */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .gs-panel #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout .gs-panel #payment .woocommerce-terms-and-conditions-wrapper {
	display: none !important;
}

/* ---- 3) Font mai mic pe T&C checkbox din sidebar (lângă "Plasează comanda") ---- */
.co-summary .woocommerce-terms-and-conditions-wrapper,
.co-summary .form-row.terms,
.co-summary .wc-terms-and-conditions {
	padding: 10px 12px;
	margin-top: 12px;
}
.co-summary .woocommerce-terms-and-conditions-wrapper label,
.co-summary .form-row.terms label,
.co-summary .form-row.terms label.checkbox,
.co-summary .wc-terms-and-conditions label,
.co-summary .woocommerce-terms-and-conditions-wrapper *,
.co-summary .woocommerce-form__label-for-checkbox {
	font-size: 12px !important;
	line-height: 1.45 !important;
}

/* Centrare verticală perfectă a checkbox-ului față de textul T&C
   (feedback client 2026-05-17: bifa „nu pare centrată" cu textul). */
.co-summary .form-row.terms label,
.co-summary .form-row.terms label.checkbox,
.co-summary .wc-terms-and-conditions label,
.co-summary .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.co-summary .form-row.terms input[type="checkbox"],
.co-summary .wc-terms-and-conditions input[type="checkbox"],
.co-summary .woocommerce-form__input-checkbox {
	flex-shrink: 0 !important;
	margin: 0 !important;
	align-self: center !important;
}

/* Animație shake când T&C invalid — vizual claim pentru atenție user */
.co-summary .form-row.terms.woocommerce-invalid,
.co-summary .wc-terms-and-conditions.woocommerce-invalid {
	animation: gs-terms-shake .5s cubic-bezier(.36,.07,.19,.97);
	border: 1px solid var(--magenta) !important;
	border-radius: 10px;
	background: rgba(255,63,142,0.08);
}
@keyframes gs-terms-shake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-4px); }
	40%, 80% { transform: translateX(4px); }
}
.co-summary .woocommerce-terms-and-conditions-wrapper a,
.co-summary .wc-terms-and-conditions a,
.co-summary .form-row.terms a {
	font-size: 12px !important;
}
.co-summary .legal-note,
.co-summary .legal-note a {
	font-size: 12px !important;
	line-height: 1.45 !important;
}


/* ============================================================
   CHECKOUT FIX v2 (2026-05-15) — Note comandă text + Payment gateway design
   ============================================================ */

/* Note comandă: textarea cu text vizibil pe fundal mov */
.woocommerce-checkout textarea,
.woocommerce-checkout #order_comments,
.woocommerce-checkout .gs-order-notes textarea,
.gs-co-grid textarea,
.gs-panel textarea {
    color: var(--ink) !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--hairline) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout textarea::placeholder,
.woocommerce-checkout #order_comments::placeholder {
    color: var(--ink-soft) !important;
    opacity: 0.7 !important;
}
.woocommerce-checkout textarea:focus,
.woocommerce-checkout #order_comments:focus {
    border-color: var(--brand-yellow) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255,200,61,0.15) !important;
}

/* Payment gateway methods — design pill/card cu paleta dark + brand-yellow */
.woocommerce-checkout ul.wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    background: transparent !important;
}
.woocommerce-checkout ul.wc_payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px 18px !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--hairline) !important;
    border-radius: 12px !important;
    transition: background .2s, border-color .2s !important;
    cursor: pointer;
    list-style: none !important;
}
.woocommerce-checkout ul.wc_payment_methods li:hover,
.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: rgba(255,200,61,0.4) !important;
    background: rgba(255,200,61,0.04) !important;
}

/* Radio button cu accent yellow + label styled — mărit pentru tap-target mai bun (44px target zone). */
.woocommerce-checkout ul.payment_methods input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
    accent-color: var(--brand-yellow) !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 14px 0 0 !important;
    vertical-align: middle;
    flex-shrink: 0;
    cursor: pointer;
}

/* Hover/focus state mai vizibil — feedback client 2026-05-17: blocul de plată „pare un select". */
.woocommerce-checkout ul.wc_payment_methods li:focus-within,
.woocommerce-checkout #payment ul.payment_methods li:focus-within {
    border-color: var(--brand-yellow) !important;
    box-shadow: 0 0 0 3px rgba(255,200,61,0.12) !important;
}

/* Indicator vizual stânga (caret galben când e selectat) */
.woocommerce-checkout ul.wc_payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    position: relative;
}
.woocommerce-checkout ul.wc_payment_methods li:has(input[type="radio"]:checked)::before,
.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked)::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 4px; height: 60%;
    background: var(--brand-yellow);
    border-radius: 0 4px 4px 0;
}
.woocommerce-checkout ul.payment_methods label,
.woocommerce-checkout #payment ul.payment_methods label,
.woocommerce-checkout #payment label[for*="payment_method"] {
    color: var(--ink) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}
.woocommerce-checkout ul.payment_methods label img {
    max-height: 22px !important;
    width: auto !important;
    filter: brightness(1.1);
}

/* Active/selected gateway — highlight brand-yellow border + glow */
.woocommerce-checkout ul.payment_methods li.payment_method_stripe.wc_payment_method.active,
.woocommerce-checkout ul.payment_methods li input[type="radio"]:checked ~ *,
.woocommerce-checkout ul.payment_methods li:has(input[type="radio"]:checked) {
    border-color: var(--brand-yellow) !important;
    background: rgba(255,200,61,0.07) !important;
    box-shadow: 0 0 0 1px var(--brand-yellow) inset !important;
}

/* Description card (cu Stripe element / câmpuri) sub gateway */
.woocommerce-checkout ul.payment_methods li .payment_box,
.woocommerce-checkout #payment .payment_box {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid var(--hairline) !important;
    border-radius: 10px !important;
    padding: 14px !important;
    margin-top: 12px !important;
    color: var(--ink-2) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}
.woocommerce-checkout #payment .payment_box::before {
    display: none !important;   /* SCOT săgețile sus arrow default WC */
}

/* Klarna / Afterpay / etc — orice icoană mică */
.woocommerce-checkout ul.payment_methods label::before {
    content: none !important;
}

/* Stripe UPE elemente (pentru noul UI Stripe cu card/Klarna toggle) */
.wc-stripe-payment-methods-container,
.wc-stripe-upe-element {
    background: transparent !important;
    border: none !important;
}


/* ============================================================
   CHECKOUT FIX v3 (2026-05-15) — Erori toast bottom-right, NU sub header
   ============================================================ */
.woocommerce-NoticeGroup-checkout,
.woocommerce-NoticeGroup-updateOrderReview,
form.checkout > .woocommerce-error,
form.checkout > .woocommerce-message,
form.checkout > .woocommerce-info {
    display: none !important;
}

.gs-checkout-toasts {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 380px;
    pointer-events: none;
}
.gs-toast {
    pointer-events: auto;
    background: rgba(15, 8, 40, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--magenta);
    border-left: 4px solid var(--magenta);
    border-radius: 12px;
    padding: 14px 18px 14px 16px;
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 63, 142, 0.2);
    opacity: 0;
    transform: translateX(100%);
    transition: opacity .4s cubic-bezier(.2,.8,.2,1), transform .4s cubic-bezier(.2,.8,.2,1);
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.gs-toast.in {
    opacity: 1;
    transform: translateX(0);
}
.gs-toast.gs-toast-success {
    border-color: var(--alien);
    border-left-color: var(--alien);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(157, 255, 110, 0.2);
}
.gs-toast.gs-toast-info {
    border-color: var(--plasma);
    border-left-color: var(--plasma);
}
.gs-toast__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
}
.gs-toast__icon svg { width: 100%; height: 100%; }
.gs-toast-error .gs-toast__icon { color: var(--magenta); }
.gs-toast-success .gs-toast__icon { color: var(--alien); }
.gs-toast-info .gs-toast__icon { color: var(--plasma); }
.gs-toast__msg { flex: 1; }
.gs-toast__close {
    background: transparent;
    border: 0;
    color: var(--ink-soft);
    cursor: pointer;
    padding: 0;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    line-height: 0;
}
.gs-toast__close:hover { color: var(--ink); }
@media (max-width: 600px) {
    .gs-checkout-toasts { bottom: 12px; right: 12px; left: 12px; max-width: none; }
}

.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea {
    border-color: var(--magenta) !important;
    box-shadow: 0 0 0 3px rgba(255, 63, 142, 0.15) !important;
}


/* ============================================================
   CHECKOUT FIX v4 (2026-05-15) — Stripe card NU mai îngust pe mobile
   ============================================================ */
@media (max-width: 768px) {
    /* Container payment gateway expanded la 100% */
    .woocommerce-checkout ul.wc_payment_methods,
    .woocommerce-checkout #payment ul.payment_methods,
    .woocommerce-checkout ul.wc_payment_methods li,
    .woocommerce-checkout #payment ul.payment_methods li {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Payment box (Stripe Element wrapper) — full width + padding redus */
    .woocommerce-checkout ul.payment_methods li .payment_box,
    .woocommerce-checkout #payment .payment_box,
    .woocommerce-checkout #payment .payment_method_stripe .payment_box,
    .woocommerce-checkout .payment_method_stripe_cc .payment_box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Stripe Element wrappers — force full width */
    .wc-stripe-elements-wrapper,
    .payment_method_stripe .wc-payment-form,
    .wc-stripe-card-element-iframe-wrapper,
    .wc-stripe-upe-element,
    .wc-stripe-payment-methods-container,
    #wc-stripe-payment-element,
    #stripe-payment-element,
    #wc-stripe-cc-form,
    .StripeElement,
    .wc-stripe-card-element,
    .wc-stripe-elements-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* iframe Stripe (creat dinamic de Stripe.js) — force 100% width */
    .StripeElement iframe,
    .wc-stripe-elements-wrapper iframe,
    .wc-stripe-upe-element iframe,
    #stripe-payment-element iframe,
    iframe[name^="__privateStripeFrame"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Gateway li padding compact pe mobile */
    .woocommerce-checkout ul.payment_methods li,
    .woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px 14px !important;
    }

    /* Label payment — wrap pe mobile cu icon */
    .woocommerce-checkout ul.payment_methods label,
    .woocommerce-checkout #payment ul.payment_methods label {
        flex-wrap: wrap !important;
        font-size: 12px !important;
    }

    /* Container WC checkout main — fără margin laterale prea mari pe mobile */
    .woocommerce-checkout #payment,
    .woocommerce-checkout .gs-co-payment,
    .woocommerce-checkout .gs-checkout-payment {
        padding: 0 !important;
        margin: 0 !important;
    }
}


/* ============================================================
   STRIPE ELEMENT FULL WIDTH MOBILE — fix agresiv (v5 2026-05-15)
   ============================================================ */
@media (max-width: 768px) {
    /* Form checkout container outer */
    .woocommerce-checkout form.checkout,
    .woocommerce-checkout #payment {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Payment box SCOATEM padding lateral complet pe mobile */
    .woocommerce-checkout ul.payment_methods li .payment_box,
    .woocommerce-checkout #payment .payment_box {
        padding: 10px 0 !important;
        margin: 10px -14px 0 !important;   /* compensez padding-ul li ca să fie FULL bleed */
        width: calc(100% + 28px) !important;
        background: rgba(255,255,255,0.02) !important;
        border-top: 1px solid var(--hairline) !important;
        border-bottom: none !important;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0 !important;
    }

    /* Stripe Element wrapper — bleeded edge-to-edge */
    .payment_box .wc-stripe-elements-wrapper,
    .payment_box .wc-stripe-upe-element,
    .payment_box .wc-stripe-payment-methods-container,
    .payment_box #wc-stripe-payment-element,
    .payment_box #wc-stripe-cc-form,
    .payment_box .StripeElement,
    .payment_box form,
    .payment_box .wc-payment-form,
    .payment_box .wc-stripe-card-element,
    .payment_box .wc-stripe-elements-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 8px 12px !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    .payment_box iframe,
    .StripeElement iframe,
    .wc-stripe-elements-wrapper iframe,
    iframe[name^="__privateStripeFrame"],
    iframe[src*="stripe.com"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    /* Li payment method — padding redus + overflow hidden ca să nu se vadă bleed */
    .woocommerce-checkout ul.payment_methods li.payment_method_stripe,
    .woocommerce-checkout ul.payment_methods li.payment_method_stripe_cc,
    .woocommerce-checkout #payment ul.payment_methods li.payment_method_stripe {
        padding: 14px !important;
        overflow: hidden !important;
    }

    /* Labels Stripe — descriere și sub-text */
    .payment_box p,
    .payment_box .form-row,
    .payment_box label {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }

    /* FIX iOS Safari fixed sub-pixel rendering iframe Stripe */
    .StripeElement {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
}


/* ============================================================
   STRIPE FULL WIDTH ULTRA v6 — body specificity + universal selectors
   ============================================================ */
@media (max-width: 768px) {
    body.woocommerce-checkout ul.payment_methods li .payment_box,
    body.woocommerce-checkout #payment .payment_box,
    body .woocommerce-checkout .payment_box {
        margin: 10px -14px 0 -14px !important;
        padding: 12px !important;
        width: calc(100% + 28px) !important;
        box-sizing: border-box !important;
    }
    body .payment_box .wc-stripe-upe-element,
    body .payment_box .StripeElement,
    body .payment_box .wc-stripe-elements-wrapper,
    body .payment_box .wc-stripe-payment-methods-container,
    body .payment_box > div,
    body .payment_box > form,
    body .payment_box form > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    body .payment_box iframe {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }
}


/* ============================================================
   ECHIPAJ DESKTOP — scot sticky pin, secțiunea dispare la scroll normal (v6)
   ============================================================ */
.home-simulation .echipaj-scroll {
    height: auto !important;
    min-height: auto !important;
}
.home-simulation .echipaj-scroll .h-scroll-sticky {
    position: static !important;
    top: auto !important;
    height: auto !important;
    overflow: visible !important;
    display: block !important;
    padding: clamp(40px, 6vw, 80px) 0;
}
.home-simulation .echipaj-scroll .h-scroll-track {
    width: 100% !important;
    transform: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 24px !important;
    padding: 16px clamp(24px, 5vw, 64px) 32px !important;
    scrollbar-width: none !important;
}
.home-simulation .echipaj-scroll .h-scroll-track::-webkit-scrollbar {
    display: none !important;
}
.home-simulation .echipaj-scroll .crew-card {
    flex-shrink: 0 !important;
    scroll-snap-align: center !important;
    width: clamp(320px, 70vw, 720px) !important;
}
.home-simulation .echipaj-scroll .h-scroll-track > .crew-card:first-child {
    scroll-snap-align: start !important;
}
.home-simulation .echipaj-scroll .h-scroll-track > .crew-card:last-child {
    scroll-snap-align: end !important;
}
.home-simulation .echipaj-intro {
    position: static !important;
    transform: none !important;
    top: auto !important;
    max-width: 100% !important;
    padding: 0 clamp(24px, 5vw, 64px) 16px !important;
    margin: 0 auto !important;
    text-align: left !important;
    z-index: auto !important;
}
@media (max-width: 768px) {
    .home-simulation .echipaj-scroll .crew-card {
        width: 86vw !important;
    }
    .home-simulation .echipaj-intro {
        text-align: center !important;
    }
}


/* ============================================================
   STRIPE FULL WIDTH v7 — fix corect cu fieldset .wc-upe-form (2026-05-15)
   Chain real: li(14px) > payment_box(12px) > fieldset(8/12px) > StripeElement
   ============================================================ */
@media (max-width: 768px) {
    /* Bleed payment_box edge-to-edge: scot padding + negative margin pentru LI */
    body.woocommerce-checkout li.wc_payment_method .payment_box,
    body.woocommerce-checkout #payment li .payment_box,
    body .woocommerce-checkout .payment_box.payment_method_stripe,
    body .woocommerce-checkout .payment_box.payment_method_stripe_cc {
        margin: 10px -14px 0 -14px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        width: calc(100% + 28px) !important;
        max-width: calc(100% + 28px) !important;
        background: rgba(255,255,255,0.02) !important;
    }
    /* Fieldset wc-upe-form (containerul Stripe UPE) — scot padding lateral */
    body #wc-stripe-upe-form,
    body .wc-upe-form,
    body fieldset.wc-payment-form,
    body fieldset.wc-upe-form {
        padding: 12px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }
    /* StripeElement creat de Stripe.js — full width forced */
    body .wc-stripe-upe-element,
    body .wc-stripe-upe-element.StripeElement,
    body .wc-stripe-elements-wrapper,
    body div.StripeElement,
    body fieldset.wc-upe-form > div,
    body #wc-stripe-upe-form > div {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* iframe Stripe.js (creat dinamic) */
    body .StripeElement iframe,
    body .wc-stripe-upe-element iframe,
    body iframe[name^="__privateStripeFrame"],
    body iframe[src*="stripe.com"] {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* ============================================================
   Checkbox "Creează cont" pe checkout (added 2026-05-17)
   ============================================================ */

.gs-create-account {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--hairline, rgba(255,255,255,0.10));
}

.woocommerce form .gs-create-account .form-row.create-account {
  margin-bottom: 12px;
}

.woocommerce form .gs-create-account label.checkbox,
.gs-create-account .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-family: inherit !important;
  font-size: 14px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.5 !important;
  cursor: pointer;
  color: var(--ink-2, #E8E1FF);
  font-weight: 400;
}

.gs-create-account input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 3px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--brand-yellow, #FFC83D);
}

.gs-create-account label.checkbox > span {
  flex: 1;
}

/* Account password field daca apare cand bifezi */
.gs-create-account .create-account {
  margin-top: 12px;
}

/* ============================================================
   "Creează cont" card design upgrade (added 2026-05-17)
   Override-uri pentru .gs-create-account anterior — design nou cu card + toggle modern
   ============================================================ */

.gs-create-account {
  margin-top: 20px;
  padding-top: 0;
  border-top: 0;
}

.gs-create-account-card {
  position: relative;
  padding: 22px 22px;
  border-radius: var(--r-md, 18px);
  background: linear-gradient(135deg, rgba(255,200,61,0.08) 0%, rgba(255,138,61,0.05) 100%);
  border: 1px solid rgba(255,200,61,0.30);
  overflow: hidden;
}

.gs-create-account-card::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,200,61,0.18) 0%, rgba(255,200,61,0) 70%);
  pointer-events: none;
}

.gs-create-account-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.gs-create-account-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,200,61,0.15);
  border: 1px solid rgba(255,200,61,0.40);
  color: var(--brand-yellow, #FFC83D);
}

.gs-create-account-text {
  flex: 1;
  min-width: 0;
}

.gs-create-account-title {
  margin: 0 0 4px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink, #fff);
  letter-spacing: 0.1px;
  line-height: 1.3;
}

.gs-create-account-desc {
  margin: 0;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--ink-soft, #B4A8E6);
  line-height: 1.5;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}

/* Toggle modern switch */
.woocommerce form .gs-create-account-card .form-row.create-account {
  margin: 0;
}

.gs-create-account-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 12px !important;
  cursor: pointer;
  user-select: none;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  color: var(--ink-2, #E8E1FF) !important;
  line-height: 1 !important;
  padding: 8px 14px 8px 8px;
  border-radius: var(--r-pill, 999px);
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
  transition: background .2s ease, border-color .2s ease;
}

.gs-create-account-toggle:hover {
  background: rgba(255,200,61,0.08);
  border-color: rgba(255,200,61,0.30);
}

.gs-create-account-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.gs-create-account-switch {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid var(--hairline, rgba(255,255,255,0.10));
  transition: background .25s ease, border-color .25s ease;
}

.gs-create-account-switch::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform .25s ease, background .25s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.gs-create-account-input:checked + .gs-create-account-switch {
  background: var(--brand-yellow, #FFC83D);
  border-color: var(--brand-yellow, #FFC83D);
}

.gs-create-account-input:checked + .gs-create-account-switch::before {
  transform: translateX(16px);
  background: #0a0420;
}

.gs-create-account-input:focus-visible + .gs-create-account-switch {
  outline: 2px solid var(--brand-yellow, #FFC83D);
  outline-offset: 3px;
}

.gs-create-account-switch-label {
  white-space: nowrap;
}

/* Account fields container (parola etc.) cand toggle e ON */
.gs-create-account-fields {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px dashed rgba(255,200,61,0.25);
}

/* ============================================================
   Marketing consent card (added 2026-05-17d) — GDPR opt-in
   ============================================================ */

.gs-marketing-consent {
  margin-top: 18px;
}

.gs-marketing-card {
  position: relative;
  padding: 22px;
  border-radius: var(--r-md, 18px);
  background: linear-gradient(135deg, rgba(91,229,255,0.07) 0%, rgba(165,126,255,0.05) 100%);
  border: 1px solid rgba(91,229,255,0.30);
  overflow: hidden;
}

.gs-marketing-card::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91,229,255,0.18) 0%, rgba(91,229,255,0) 70%);
  pointer-events: none;
}

.gs-marketing-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}

.gs-marketing-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(91,229,255,0.15);
  border: 1px solid rgba(91,229,255,0.40);
  color: var(--plasma, #5BE5FF);
}

.gs-marketing-text {
  flex: 1;
  min-width: 0;
}

.gs-marketing-title {
  margin: 0 0 4px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink, #fff);
  letter-spacing: 0.1px;
  line-height: 1.3;
}

.gs-marketing-desc {
  margin: 0;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--ink-soft, #B4A8E6);
  line-height: 1.5;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}

.gs-marketing-fineprint {
  margin: 14px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink-mute, #7A6FA8);
  font-family: inherit;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
}

.gs-marketing-fineprint a {
  color: var(--plasma, #5BE5FF);
  text-decoration: underline;
}

.gs-marketing-fineprint a:hover { color: var(--brand-yellow, #FFC83D); }

/* Account edit page — marketing fieldset */
.gs-account-marketing {
  margin: 24px 0;
  padding: 18px;
  border-radius: var(--r-md, 18px);
  background: rgba(91,229,255,0.05);
  border: 1px solid rgba(91,229,255,0.20);
}

.gs-account-marketing legend {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--plasma, #5BE5FF);
  padding: 0 8px;
  margin-bottom: 8px;
}

.gs-account-marketing .gs-consent-date {
  margin: 8px 0 0;
  color: var(--ink-mute, #7A6FA8);
  font-size: 12px;
}

/* ============================================================
   Marketing consent — variantă DASHBOARD /contul-meu/
   ============================================================ */

.gs-marketing-consent--dashboard {
  margin: 0 0 24px;
}

.gs-marketing-consent--dashboard .gs-marketing-form {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.gs-marketing-btn {
  padding: 11px 22px;
  font-size: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 0;
  border-radius: var(--r-pill, 999px);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.gs-marketing-btn:hover {
  transform: translateY(-2px);
}

.gs-marketing-status {
  color: var(--ink-mute, #7A6FA8);
  font-size: 12px;
  font-style: italic;
}

/* Marketing consent — variantă REGISTER form (/contul-meu/ deconectat) */
.gs-marketing-consent--register {
  margin: 20px 0 16px;
}

.gs-marketing-consent--register .gs-marketing-card {
  padding: 18px 20px;
}

/* ============================================================
   MIX & MATCH — selector sortimente pe pachete (2026-06-05)
   Canny Agency SRL <office@canny.ro>
   ============================================================ */
.gs-mix {
	margin: 4px 0 18px;
	padding: 18px;
	border: 1px solid var(--hairline);
	border-radius: var(--r-md);
	background: rgba(255,255,255,0.03);
}

.gs-mix-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.gs-mix-title {
	font-weight: 700;
	font-size: 15px;
	color: var(--ink);
	letter-spacing: 0.2px;
}

.gs-mix-counter {
	flex: none;
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	padding: 5px 14px;
	border-radius: var(--r-pill);
	border: 1px solid var(--hairline);
	background: rgba(255,255,255,0.04);
	font-weight: 700;
	font-size: 14px;
	color: var(--ink-2);
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.gs-mix-counter .gs-mix-count { font-variant-numeric: tabular-nums; }

.gs-mix-form.is-complete .gs-mix-counter {
	color: var(--bg-deep);
	background: var(--alien);
	border-color: var(--alien);
	box-shadow: 0 0 18px rgba(157,255,110,0.35);
}
.gs-mix-form.is-over .gs-mix-counter {
	color: #fff;
	background: var(--magenta);
	border-color: var(--magenta);
}

.gs-mix-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gs-mix-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	border: 1px solid var(--hairline);
	border-radius: var(--r-sm);
	background: rgba(255,255,255,0.03);
	transition: border-color 0.2s, background 0.2s;
}
.gs-mix-card.has-qty {
	border-color: var(--hairline-strong);
	background: rgba(255,200,61,0.06);
}

.gs-mix-thumb {
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hairline);
}
.gs-mix-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.gs-mix-info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.gs-mix-name { font-weight: 700; font-size: 15px; color: var(--ink); }
.gs-mix-meta { font-size: 12px; color: var(--ink-soft); line-height: 1.3; }

.gs-mix-stepper {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gs-mix-btn {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--hairline);
	border-radius: 50%;
	background: rgba(255,255,255,0.05);
	color: var(--ink);
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, transform 0.1s, opacity 0.15s;
}
.gs-mix-btn:hover:not(:disabled) {
	border-color: var(--brand-yellow);
	color: var(--brand-yellow);
	background: rgba(255,200,61,0.10);
}
.gs-mix-btn:active:not(:disabled) { transform: scale(0.92); }
.gs-mix-btn:disabled { opacity: 0.30; cursor: not-allowed; }

.gs-mix-qty {
	width: 34px;
	text-align: center;
	background: transparent;
	border: none;
	color: var(--ink);
	font-weight: 700;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
	padding: 0;
	pointer-events: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.gs-mix-qty::-webkit-outer-spin-button,
.gs-mix-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.gs-mix-hint {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--ink-soft);
}

/* Buton add-to-cart dezactivat cât mix-ul nu e complet */
.gs-product-summary .single_add_to_cart_button.gs-mix-submit:disabled,
.gs-product-summary .single_add_to_cart_button.gs-mix-submit[aria-disabled="true"] {
	background: rgba(255,255,255,0.08);
	color: var(--ink-soft);
	box-shadow: none;
	cursor: not-allowed;
	transform: none;
}

/* Flash la scroll din sticky-ul mobil când mix-ul e incomplet */
@keyframes gsMixFlash {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255,63,142,0); }
	50%      { box-shadow: 0 0 0 3px rgba(255,63,142,0.55); }
}
.gs-mix-form.gs-mix-flash .gs-mix {
	animation: gsMixFlash 0.7s ease;
	border-radius: var(--r-md);
}

/* Sticky mobil — contor mic sub buton */
.gs-mix-sticky-count {
	display: block;
	font-size: 11px;
	font-weight: 600;
	opacity: 0.85;
	margin-top: 2px;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 600px) {
	.gs-mix { padding: 14px; }
	.gs-mix-thumb { width: 46px; height: 46px; }
	.gs-mix-name { font-size: 14px; }
	.gs-mix-meta { font-size: 11px; }
	/* Touch targets mai mari pe mobil */
	.gs-mix-card { gap: 10px; padding: 10px; }
	.gs-mix-btn { width: 40px; height: 40px; }
	.gs-mix-qty { width: 30px; font-size: 17px; }
	.gs-mix-stepper { gap: 4px; }
	.gs-mix-counter { font-size: 15px; padding: 6px 14px; }
}

/* Pe mobil (pachete): butonul inline din selector e suficient și contextual.
   Ascundem sticky-ul de pachet ca să nu fie două butoane „Adaugă în coș". */
@media (max-width: 768px) {
	.sticky-mobile-cta--pack { display: none !important; }
}

/* Mix form: layout COLOANĂ — selectorul full-width, butonul normal dedesubt
   (fix 2026-06-05: butonul nu se mai întinde pe înălțimea selectorului).
   display:flex !important suprascrie galactic.css care ascunde form.cart pe
   ≤980px — pe pachete clientul TREBUIE să vadă selectorul ca să compună mixul. */
.gs-product-summary form.cart.gs-mix-form {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}
.gs-product-summary form.cart.gs-mix-form .single_add_to_cart_button {
	flex: none;
	width: 100%;
	min-width: 0;
	min-height: 56px;
	font-size: 17px;
}
/* Stare activă (mix complet) — galben clar, vizibil */
.gs-product-summary form.cart.gs-mix-form.is-complete .single_add_to_cart_button:not(:disabled) {
	background: linear-gradient(135deg, #FFE17A 0%, #FFC83D 60%, #FFB020 100%);
	color: var(--bg-deep);
	box-shadow: 0 0 28px rgba(255,200,61,0.40);
}

/* Mix afișat în „Contul meu" → comandă (view-order.php) */
.account-orders .it-mix,
.it-mix {
	margin: 3px 0;
	font-size: 13px;
	color: var(--ink-2);
	line-height: 1.4;
}
.it-mix .wc-item-meta-label,
.it-mix strong { color: var(--ink-soft); font-weight: 600; }
.it-mix ul, .it-mix p { margin: 0; padding: 0; list-style: none; display: inline; }
