/**
 * Sekcia Môj účet — benab-style (px-shop-theme) dizajn.
 *
 * Dopĺňa archive.css (tokeny `.pc-scope`, tlačidlá `.pc-btn`). Port benab
 * app.css account blokov z Tailwind @apply do plain CSS — formuláre,
 * tabuľky, adresné karty, login karta, notices, select2, stavové pilulky.
 * Načítava sa len na stránkach účtu (inc/enqueue.php).
 */

.px-account {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: var(--pc-container);
	padding: var(--pc-space-6) var(--pc-space-4) var(--pc-space-16);
}

@media (min-width: 640px) {
	.px-account { padding-left: var(--pc-space-6); padding-right: var(--pc-space-6); }
}

@media (min-width: 1024px) {
	.px-account { padding-left: var(--pc-space-8); padding-right: var(--pc-space-8); }
}

.px-account__title {
	margin: 0 0 var(--pc-space-6);
	font-size: var(--pc-fs-4xl);
	font-weight: 700;
	line-height: 1.2;
}

/* WooCommerce clearfix pseudo-elementy (content:" "; display:table) by boli
   v gride neviditeľné položky posúvajúce všetko o bunku — preč s nimi */
.px-account div.woocommerce::before,
.px-account div.woocommerce::after {
	display: none;
}

/* =========================================================================
   LAYOUT: navigácia + obsah
   ========================================================================= */

@media (min-width: 1024px) {
	.woocommerce-account.logged-in .px-account div.woocommerce:has(.woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 17rem minmax(0, 1fr);
		gap: var(--pc-space-10);
		align-items: start;
	}

	.woocommerce-account.logged-in .px-account div.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
}

.px-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	margin-bottom: var(--pc-space-8);
}

@media (min-width: 1024px) {
	.px-account .woocommerce-MyAccount-navigation { margin-bottom: 0; }
}

.px-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	min-width: 0;
}

.px-account .woocommerce-MyAccount-content > h2,
.px-account .woocommerce-MyAccount-content > h3,
.px-account .woocommerce-MyAccount-content form > h2,
.px-account .woocommerce-MyAccount-content form > h3 {
	margin: 0 0 var(--pc-space-4);
	font-size: var(--pc-fs-xl);
	font-weight: 600;
}

.px-account .woocommerce-MyAccount-content > p {
	margin: 0 0 var(--pc-space-4);
	font-size: var(--pc-fs-sm);
	line-height: 1.6;
}

.px-account .woocommerce-MyAccount-content a:not(.button, .pc-btn) {
	color: rgb(var(--pc-accent-deep));
	text-decoration: none;
}

.px-account .woocommerce-MyAccount-content a:not(.button, .pc-btn):hover {
	text-decoration: underline;
}

/* Odkaz vnútri vety sa od textu líši len farbou (1,99:1, WCAG 1.4.1
   chce 3:1 alebo iný znak) — podčiarknutie. */
.px-account .woocommerce-MyAccount-content :is(p, td, address) a:not(.button, .pc-btn) {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* =========================================================================
   NAVIGÁCIA ÚČTU (karta s ikonami)
   ========================================================================= */

.px-account-nav__list {
	margin: 0;
	padding: var(--pc-space-2);
	list-style: none;
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	display: flex;
	flex-direction: column;
	gap: var(--pc-space-1);
}

.px-account-nav__item--logout {
	margin-top: var(--pc-space-1);
	padding-top: var(--pc-space-2);
	border-top: 1px solid rgb(var(--pc-line));
}

/* Farby odkazov s prefixom .px-account — Elementor kit má globálne
   `.elementor-kit-N a` (0,1,1), ktoré by jednu triedu prebilo */
.px-account .px-account-nav__link {
	display: flex;
	align-items: center;
	gap: var(--pc-space-3);
	padding: 0.625rem var(--pc-space-3);
	border-radius: var(--pc-radius-sm);
	font-size: var(--pc-fs-sm);
	font-weight: 500;
	color: rgb(var(--pc-ink));
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}

.px-account-nav__icon {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
	color: rgb(var(--pc-muted));
}

.px-account .px-account-nav__link:hover {
	background: rgb(var(--pc-ink) / 0.05);
	color: rgb(var(--pc-accent-deep));
}

.px-account .px-account-nav__link--active,
.px-account .px-account-nav__link--active:hover {
	background: rgb(var(--pc-ink));
	color: rgb(var(--pc-paper));
}

/* Prstenec dovnútra — na mobile je zoznam posuvník s `overflow-x` a vonkajší
   by orezal. */
.px-account .px-account-nav__link:focus-visible,
.px-account .woocommerce-MyAccount-content .px-account-dash__links a:focus-visible {
	outline: 2px solid rgb(var(--pc-focus));
	outline-offset: -4px;
}

.px-account .px-account-nav__link--active:focus-visible {
	outline-color: rgb(var(--pc-paper));
}

.px-account .px-account-nav__link--active .px-account-nav__icon {
	color: rgb(var(--pc-paper) / 0.7);
}

.px-account .px-account-nav__link--logout {
	color: rgb(var(--pc-danger));
}

.px-account .px-account-nav__link--logout:hover {
	background: rgb(var(--pc-danger-tint));
	color: rgb(var(--pc-danger));
}

.px-account .px-account-nav__link--logout .px-account-nav__icon {
	color: currentColor;
}

/* Mobil a tablet: navigácia ako vodorovný posuvník s aktuálnou položkou
   (account.js ju posunie do zorného poľa) — zvislá karta so 7 položkami
   mala ~540 px a obsah stránky začínal až pod prvou obrazovkou. */
@media (max-width: 1023.98px) {
	.px-account .woocommerce-MyAccount-navigation {
		margin: 0 calc(-1 * var(--pc-space-4)) var(--pc-space-6);
	}

	.px-account-nav__list {
		flex-direction: row;
		gap: var(--pc-space-2);
		padding: 0 var(--pc-space-4) var(--pc-space-1);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-padding-inline: var(--pc-space-4);
		scrollbar-width: thin;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	.px-account-nav__item {
		flex: none;
	}

	.px-account-nav__item--logout {
		margin: 0;
		padding: 0;
		border: 0;
	}

	.px-account .px-account-nav__link {
		min-height: 2.75rem;
		padding: var(--pc-space-2) var(--pc-space-4);
		border: 1px solid rgb(var(--pc-line));
		border-radius: var(--pc-radius-control);
		background: rgb(var(--pc-paper));
		white-space: nowrap;
	}

	.px-account .px-account-nav__link--active,
	.px-account .px-account-nav__link--active:hover {
		border-color: rgb(var(--pc-ink));
		background: rgb(var(--pc-ink));
		color: rgb(var(--pc-paper));
	}
}

@media (min-width: 640px) and (max-width: 1023.98px) {
	.px-account .woocommerce-MyAccount-navigation {
		margin-left: calc(-1 * var(--pc-space-6));
		margin-right: calc(-1 * var(--pc-space-6));
	}

	.px-account-nav__list {
		padding-left: var(--pc-space-6);
		padding-right: var(--pc-space-6);
	}
}

@media (min-width: 1024px) {
	.px-account .px-account-nav__link {
		min-height: 2.75rem;
	}
}

/* =========================================================================
   FORMULÁRE
   ========================================================================= */

.px-account form .form-row {
	margin: 0 0 var(--pc-space-4);
	padding: 0;
}

.px-account form .form-row:last-of-type {
	margin-bottom: 0;
}

.px-account form .form-row label {
	display: block;
	margin-bottom: var(--pc-space-1);
	font-size: var(--pc-fs-sm);
	font-weight: 500;
	/* woocommerce.css dáva 2 — dvojriadkový štítok sa rozpadal */
	line-height: 1.4;
}

.px-account form .form-row #billing_address_2,
.px-account form .form-row #shipping_address_2 {
	margin-top: var(--pc-space-2);
}

.px-account form .form-row input.input-text,
.px-account form .form-row select,
.px-account form .form-row textarea {
	/* Vzhľad base.css (`:where()`) by prehral s woocommerce.css
	   (`.woocommerce form .form-row .input-text`) — hodnoty base sa vracajú
	   tými istými tokenmi. Písmo nie: platí base vrátane 16 px na dotyku. */
	width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem var(--pc-space-4);
	line-height: 1.4;
	color: rgb(var(--pc-ink));
	background-color: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-field-border));
	border-radius: var(--pc-radius-field);
}

/* woocommerce.css dáva fokusu rám v `currentColor` — vrátiť --pc-focus. */
.px-account form .form-row :is(input.input-text, select, textarea):focus-visible {
	border-color: rgb(var(--pc-focus));
}

.px-account form .form-row.woocommerce-invalid :is(input.input-text, select, textarea),
.px-account form .form-row.woocommerce-invalid .select2-selection--single {
	border-color: rgb(var(--pc-danger));
	box-shadow: 0 0 0 1px rgb(var(--pc-danger));
}

.px-account form .form-row.woocommerce-validated select,
.px-account form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection--single {
	border-color: rgb(var(--pc-field-border));
}

.px-account form .form-row.woocommerce-invalid label {
	color: rgb(var(--pc-danger));
}

/* Riadky „first/last" (woocommerce.css 47 %) — v úzkej karte
   zabudnutého hesla zalomili štítok na „e-/mailová". Vedľa seba len tam,
   kde je miesto (adresa, údaje účtu). */
.px-account form.woocommerce-ResetPassword .form-row:is(.form-row-first, .form-row-last) {
	float: none;
	width: 100%;
}

.px-account input[type='checkbox'],
.px-account input[type='radio'] {
	width: 1.125rem;
	height: 1.125rem;
	accent-color: rgb(var(--pc-accent));
}

/* Prepínač zobrazenia hesla — tlačidlo pridáva woocommerce.js
   (`.show-password-input` v `span.password-input`). Ikona oka je font
   WooCommerce; tu len poloha v poli a 44 px dotykový cieľ. */
.px-account .password-input {
	position: relative;
	display: block;
}

.px-account .password-input input.input-text {
	padding-right: 3rem;
}

.px-account .show-password-input {
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--pc-radius-field);
	background: transparent;
	color: rgb(var(--pc-muted));
	transform: translateY(-50%);
	cursor: pointer;
}

.px-account .show-password-input::after {
	position: static;
	margin: 0;
	line-height: 1;
}

.px-account .show-password-input:hover,
.px-account .show-password-input.display-password {
	color: rgb(var(--pc-accent-deep));
}

.px-account .show-password-input:focus-visible {
	outline: 2px solid rgb(var(--pc-focus));
	outline-offset: -2px;
}

.px-account fieldset {
	margin: var(--pc-space-8) 0 0;
	padding: var(--pc-space-5);
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
}

.px-account fieldset legend {
	padding: 0 var(--pc-space-2);
	font-weight: 600;
}


/* =========================================================================
   TLAČIDLÁ (WooCommerce .button → pilulka v akcente)
   ========================================================================= */

.px-account .button,
.px-account a.button,
.px-account button.button,
.px-account input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--pc-space-2);
	/* 44 px dotykový cieľ ako `.pc-btn` (base.css). */
	min-height: 2.75rem;
	padding: 0.6rem var(--pc-space-6);
	border: 0;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-accent));
	color: rgb(var(--pc-on-accent));
	font-size: var(--pc-fs-sm);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s;
}

.px-account .button:hover {
	background: rgb(var(--pc-accent-deep));
	color: rgb(var(--pc-on-accent));
}

.px-account .button:disabled,
.px-account .button[disabled] {
	opacity: 0.5;
	pointer-events: none;
}

/* =========================================================================
   TABUĽKY (objednávky, žiadosti, detail objednávky)
   ========================================================================= */

.px-account table.shop_table {
	width: 100%;
	font-size: var(--pc-fs-sm);
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.px-account table.shop_table th {
	padding: var(--pc-space-3) var(--pc-space-4);
	background: rgb(var(--pc-soft));
	border: 0;
	text-align: left;
	font-size: var(--pc-fs-2xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgb(var(--pc-muted));
}

.px-account table.shop_table td {
	padding: var(--pc-space-3) var(--pc-space-4);
	border: 0;
	border-top: 1px solid rgb(var(--pc-line));
	vertical-align: middle;
}

.px-account table.shop_table tbody tr:hover > td {
	background: rgb(var(--pc-ink) / 0.02);
}

.px-account table.shop_table .button {
	min-height: 2.25rem;
	padding: 0.375rem var(--pc-space-4);
	font-size: var(--pc-fs-xs);
}

/* Na dotyku plných 44 px — akcie objednávok sú hlavný ovládač zoznamu. */
@media (pointer: coarse), (max-width: 767.98px) {
	.px-account table.shop_table .button {
		min-height: 2.75rem;
	}
}

/* Mobil (WooCommerce `shop_table_responsive`, do 768 px): bunka čísla
   objednávky je `th` a woocommerce-smallscreen.css skrýva každé `tbody th`
   — karta tak začínala dátumom a objednávky sa nedali rozlíšiť. Číslo
   ako hlavička karty. */
@media (max-width: 768px) {
	.px-account table.shop_table_responsive tbody th {
		display: block;
		padding: var(--pc-space-3) var(--pc-space-4);
		border-top: 1px solid rgb(var(--pc-line));
		background: rgb(var(--pc-soft));
		text-align: left;
		font-size: var(--pc-fs-sm);
		text-transform: none;
		letter-spacing: normal;
		color: rgb(var(--pc-ink));
	}

	.px-account table.shop_table_responsive tbody tr:first-child th {
		border-top: 0;
	}

	.px-account table.shop_table_responsive tbody th::before {
		content: attr(data-title) ' ';
		font-weight: 500;
		color: rgb(var(--pc-muted));
	}

	.px-account table.shop_table_responsive tbody th a {
		font-weight: 700;
	}

	.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions,
	.px-account .account-orders-table td.woocommerce-orders-table__cell-request-actions {
		justify-content: stretch;
	}

	.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions::before,
	.px-account .account-orders-table td.woocommerce-orders-table__cell-request-actions::before {
		display: none;
	}

	.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions a.button {
		flex: 1 1 auto;
	}
}

/* Akčné bunky (Objednávky aj Žiadosti): mäkké tlačidlá s medzerou */
.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions,
.px-account .account-orders-table td.woocommerce-orders-table__cell-request-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: var(--pc-space-2);
}

.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions a.button {
	margin: 0;
	background: rgb(var(--pc-accent) / 0.12);
	color: rgb(var(--pc-ink));
}

.px-account .account-orders-table td.woocommerce-orders-table__cell-order-actions a.button:hover {
	background: rgb(var(--pc-accent) / 0.2);
	color: rgb(var(--pc-ink));
}

/* =========================================================================
   STAVOVÉ PILULKY (objednávky + žiadosti)
   ========================================================================= */

.pc-status {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: var(--pc-space-1) 0.625rem;
	border-radius: var(--pc-radius-pill);
	font-size: var(--pc-fs-2xs);
	font-weight: 600;
	white-space: nowrap;
}

.pc-status__dot {
	width: 0.375rem;
	height: 0.375rem;
	border-radius: var(--pc-radius-pill);
	background: currentColor;
}

.pc-status--received { background: rgb(var(--pc-info-tint)); color: rgb(var(--pc-info)); }
.pc-status--progress { background: rgb(var(--pc-warning-tint)); color: rgb(var(--pc-warning)); }
.pc-status--resolved { background: rgb(var(--pc-success-tint)); color: rgb(var(--pc-success)); }
.pc-status--rejected { background: rgb(var(--pc-danger-tint)); color: rgb(var(--pc-danger-ink)); }
.pc-status--neutral  { background: rgb(var(--pc-ink) / 0.06); color: rgb(var(--pc-muted)); }

/* =========================================================================
   ADRESY
   ========================================================================= */

.px-account .woocommerce-Addresses,
.px-account .col2-set.addresses {
	display: grid;
	gap: var(--pc-space-4);
}

/* Woo clearfix (::before/::after s display: table) by sa v gride stal grid
   položkou — obsadil by prvú bunku a karty by sa rozhodili diagonálne */
.px-account .woocommerce-Addresses::before,
.px-account .woocommerce-Addresses::after,
.px-account .col2-set.addresses::before,
.px-account .col2-set.addresses::after {
	content: none;
}

@media (min-width: 768px) {
	.px-account .woocommerce-Addresses,
	.px-account .col2-set.addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.px-account .addresses .col-1,
.px-account .addresses .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

.px-account .woocommerce-Address {
	padding: var(--pc-space-5);
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
}

.px-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pc-space-3);
	margin-bottom: var(--pc-space-3);
}

.px-account .woocommerce-Address-title h2,
.px-account .woocommerce-Address-title h3 {
	margin: 0;
	font-size: var(--pc-fs-lg);
	font-weight: 600;
}

.px-account .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-size: var(--pc-fs-sm);
	font-weight: 600;
	color: rgb(var(--pc-accent-deep));
}

/* woocommerce.css dáva nadpisu 100 % a odkaz sa centroval pod ním */
.px-account .woocommerce-Address-title h2,
.px-account .woocommerce-Address-title h3 {
	float: none;
	width: auto;
}

.px-account .woocommerce-Address-title .edit {
	float: none;
}

/* Clearfix z woocommerce.css (`.woocommerce-account .addresses .title`)
   by vo flexe bol prázdnou položkou na oboch krajoch a nadpis by odsunul. */
.px-account .woocommerce-Address .woocommerce-Address-title.title::before,
.px-account .woocommerce-Address .woocommerce-Address-title.title::after {
	content: none;
}

.px-account .woocommerce-Address address {
	font-style: normal;
	font-size: var(--pc-fs-sm);
	line-height: 1.6;
	color: rgb(var(--pc-muted));
}

/* Telefón / e-mail v prehľade adries (pxt_account_address_contacts) —
   ikony ako na detaile objednávky (font WooCommerce). */
.px-account .px-address-contact,
.px-account .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email) {
	display: flex;
	align-items: center;
	gap: var(--pc-space-2);
	margin: var(--pc-space-2) 0 0;
	padding: 0;
	color: rgb(var(--pc-muted));
}

.px-account .px-address-contact::before,
.px-account .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email)::before {
	position: static;
	flex: none;
	margin: 0;
	font-family: WooCommerce;
	font-weight: 400;
	line-height: 1;
	speak: never;
}

.px-account .px-address-contact--phone::before { content: '\e037'; }
.px-account .px-address-contact--email::before { content: '\e02d'; }

/* =========================================================================
   DETAIL OBJEDNÁVKY (view-order) — tabuľka, poznámky, adresy
   ========================================================================= */

.px-account .woocommerce-MyAccount-content > p:first-of-type mark {
	background: transparent;
	font-weight: 600;
	color: rgb(var(--pc-ink));
}

.px-account .woocommerce-order-details__title,
.px-account .woocommerce-column__title {
	margin: var(--pc-space-8) 0 var(--pc-space-4);
	font-size: var(--pc-fs-xl);
	font-weight: 600;
}

/* Prvý stĺpec široký, sumy vpravo — 50/50 nechávalo prázdnu polovicu. */
.px-account table.order_details :is(td, th).product-total,
.px-account table.order_details tfoot td {
	text-align: right;
}

.px-account table.order_details tfoot th {
	background: transparent;
	font-size: var(--pc-fs-sm);
	font-weight: 500;
	text-transform: none;
	letter-spacing: normal;
	color: rgb(var(--pc-muted));
	border-top: 1px solid rgb(var(--pc-line));
}

.px-account table.order_details tfoot tr:last-child :is(th, td) {
	font-weight: 700;
	color: rgb(var(--pc-ink));
}

.px-account table.order_details .product-name a {
	color: rgb(var(--pc-ink));
	font-weight: 500;
	text-decoration: none;
}

.px-account table.order_details .product-name a:hover {
	color: rgb(var(--pc-accent-deep));
	text-decoration: underline;
}

.px-account .order-again {
	margin: var(--pc-space-4) 0 0;
}

/* Aktualizácie objednávky — poradové čísla `<ol>` nič nehovoria */
.px-account ol.woocommerce-OrderUpdates {
	display: grid;
	gap: var(--pc-space-3);
	margin: 0 0 var(--pc-space-6);
	padding: 0;
	list-style: none;
}

.px-account .woocommerce-OrderUpdate-inner {
	padding: var(--pc-space-3) var(--pc-space-4);
	border: 1px solid rgb(var(--pc-line));
	border-left: 3px solid rgb(var(--pc-accent));
	border-radius: var(--pc-radius-sm);
	background: rgb(var(--pc-paper));
}

.px-account .woocommerce-OrderUpdate-meta {
	margin: 0 0 var(--pc-space-1);
	font-size: var(--pc-fs-xs);
	color: rgb(var(--pc-muted));
}

.px-account .woocommerce-OrderUpdate-description p {
	margin: 0;
	font-size: var(--pc-fs-sm);
}

.px-account .woocommerce-OrderUpdate .clear {
	display: none;
}

.px-account .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	gap: var(--pc-space-4);
}

.px-account .woocommerce-customer-details .woocommerce-columns--addresses::before,
.px-account .woocommerce-customer-details .woocommerce-columns--addresses::after {
	content: none;
}

@media (min-width: 768px) {
	.px-account .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.px-account .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: 100%;
	max-width: none;
}

.px-account .woocommerce-customer-details .woocommerce-column__title {
	margin-top: 0;
	font-size: var(--pc-fs-lg);
}

/* Text adries rovnako veľký ako tabuľka nad ním a odsadenie ako karty
   adries v prehľade (woocommerce.css: 15 px, padding 6/12 px). */
.px-account .woocommerce-customer-details address {
	height: 100%;
	padding: var(--pc-space-4) var(--pc-space-5);
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	background: rgb(var(--pc-paper));
	font-style: normal;
	font-size: var(--pc-fs-sm);
	line-height: 1.6;
	color: rgb(var(--pc-ink));
}

/* =========================================================================
   NÁSTENKA — posledná objednávka a rýchle odkazy (myaccount/dashboard.php)
   ========================================================================= */

.px-account .px-account-dash__hello {
	margin: 0 0 var(--pc-space-6);
	font-size: var(--pc-fs-md);
}

.px-account-dash__order {
	margin: 0 0 var(--pc-space-6);
	padding: var(--pc-space-5);
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	background: rgb(var(--pc-paper));
}

.px-account-dash__order-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--pc-space-3);
	margin: 0 0 var(--pc-space-4);
}

.px-account .px-account-dash__title {
	margin: 0;
	font-size: var(--pc-fs-lg);
	font-weight: 600;
}

.px-account-dash__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: var(--pc-space-3);
	margin: 0;
}

.px-account-dash__facts dt {
	margin: 0 0 var(--pc-space-1);
	font-size: var(--pc-fs-2xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgb(var(--pc-muted));
}

.px-account-dash__facts dd {
	margin: 0;
	font-size: var(--pc-fs-sm);
	font-weight: 600;
}

.px-account-dash__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pc-space-2);
	margin: var(--pc-space-5) 0 0;
}

.px-account .px-account-dash__empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pc-space-3);
}

.px-account-dash__links ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
	gap: var(--pc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.px-account .woocommerce-MyAccount-content .px-account-dash__links a {
	display: flex;
	align-items: center;
	gap: var(--pc-space-3);
	min-height: 3.5rem;
	padding: var(--pc-space-3) var(--pc-space-4);
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	background: rgb(var(--pc-paper));
	font-size: var(--pc-fs-sm);
	font-weight: 600;
	color: rgb(var(--pc-ink));
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.px-account .woocommerce-MyAccount-content .px-account-dash__links a:hover {
	border-color: rgb(var(--pc-accent-deep));
	color: rgb(var(--pc-accent-deep));
	text-decoration: none;
}

.px-account-dash__icon {
	flex: none;
	width: 1.5rem;
	height: 1.5rem;
	color: rgb(var(--pc-accent-deep));
}

/* =========================================================================
   PRIHLÁSENIE / REGISTRÁCIA (centrovaná karta)
   ========================================================================= */

.woocommerce-account:not(.logged-in) .px-account div.woocommerce {
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
}

/* So zapnutou registráciou kreslí Woo dva formuláre (#customer_login) — úzky
   stĺpec by ich lepil pod seba, tak sa stránka roztiahne a karty stoja vedľa
   seba. Bez registrácie ostáva úzka centrovaná karta prihlásenia. */
.woocommerce-account:not(.logged-in) .px-account div.woocommerce:has(#customer_login) {
	max-width: 60rem;
}

.px-account #customer_login {
	display: grid;
	gap: var(--pc-space-8);
}

/* Woo clearfix (::before/::after s display: table) by sa v gride stal grid
   položkou — obsadil by prvú bunku a karty by sa rozhodili diagonálne */
.px-account #customer_login::before,
.px-account #customer_login::after {
	content: none;
}

@media (min-width: 768px) {
	.px-account #customer_login {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

/* Woo core floatuje col-1/col-2 na 47 % — v gride to nemá čo robiť */
.px-account #customer_login .col-1,
.px-account #customer_login .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

.woocommerce-account:not(.logged-in) .px-account .px-account__title,
.woocommerce-account:not(.logged-in) .px-account h2 {
	text-align: center;
}

.px-account form.woocommerce-form-login,
.px-account form.woocommerce-form-register {
	margin-top: var(--pc-space-4);
	padding: var(--pc-space-6);
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
}

@media (min-width: 640px) {
	.px-account form.woocommerce-form-login,
	.px-account form.woocommerce-form-register {
		padding: var(--pc-space-8);
	}
}

.px-account .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: var(--pc-space-2);
	margin-bottom: var(--pc-space-2);
	font-size: var(--pc-fs-sm);
}

.px-account .woocommerce-LostPassword {
	margin: var(--pc-space-4) 0 0;
	font-size: var(--pc-fs-sm);
}

.px-account .woocommerce-LostPassword a {
	color: rgb(var(--pc-accent-deep));
}

.px-account form.woocommerce-form-login .button,
.px-account form.woocommerce-form-register .button,
.px-account .woocommerce-ResetPassword .button {
	width: 100%;
	margin-top: var(--pc-space-2);
}

.px-account .woocommerce-privacy-policy-text {
	font-size: var(--pc-fs-xs);
	color: rgb(var(--pc-muted));
	margin: var(--pc-space-3) 0;
}

/* =========================================================================
   NOTICES (úspech / info / chyba)
   ========================================================================= */

.px-account .woocommerce-message,
.px-account .woocommerce-info,
.px-account ul.woocommerce-error {
	position: relative;
	margin: 0 0 var(--pc-space-6);
	padding: var(--pc-space-3) var(--pc-space-4) var(--pc-space-3) 2.75rem;
	border: 1px solid;
	border-radius: var(--pc-radius-sm);
	font-size: var(--pc-fs-sm);
	line-height: 1.6;
	list-style: none;
	background: rgb(var(--pc-paper));
}

.px-account .woocommerce-message::before,
.px-account .woocommerce-info::before,
.px-account ul.woocommerce-error::before {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: var(--pc-radius-pill);
	color: rgb(var(--pc-paper));
	font-size: var(--pc-fs-2xs);
	font-weight: 700;
	font-family: inherit;
}

.px-account .woocommerce-message {
	background: rgb(var(--pc-success-tint));
	border-color: rgb(var(--pc-success-line));
	color: rgb(var(--pc-success-ink));
}

.px-account .woocommerce-message::before {
	content: '\2713';
	background: rgb(var(--pc-success));
}

.px-account .woocommerce-info {
	background: rgb(var(--pc-accent) / 0.05);
	border-color: rgb(var(--pc-accent) / 0.2);
	color: rgb(var(--pc-ink));
}

.px-account .woocommerce-info::before {
	content: 'i';
	background: rgb(var(--pc-accent));
	font-style: italic;
}

.px-account ul.woocommerce-error {
	background: rgb(var(--pc-danger-tint));
	border-color: rgb(var(--pc-danger-line));
	color: rgb(var(--pc-danger-ink));
}

.px-account ul.woocommerce-error::before {
	content: '!';
	background: rgb(var(--pc-danger));
}

.px-account ul.woocommerce-error li {
	padding: 0.125rem 0;
}

/* Tlačidlo v notice („Zobraziť košík", „Potvrdiť e-mailovú adresu"…) —
   tiché, obrysové. Na PC vpravo, na mobile pod textom: obtekanie
   plávajúceho tlačidla úzkym stĺpcom rozlámalo vetu na slová. */
.px-account .woocommerce-message .button,
.px-account .woocommerce-info .button {
	float: right;
	min-height: 2.25rem;
	margin: 0 0 var(--pc-space-1) var(--pc-space-3);
	padding: var(--pc-space-1) var(--pc-space-3);
	font-size: var(--pc-fs-xs);
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
}

@media (max-width: 767.98px) {
	.px-account :is(.woocommerce-message, .woocommerce-info):has(> .button) {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: var(--pc-space-2);
	}

	.px-account :is(.woocommerce-message, .woocommerce-info) > .button {
		float: none;
		min-height: 2.75rem;
		margin: 0;
	}
}

/* =========================================================================
   SELECT2 (krajina / okres)
   ========================================================================= */

.px-account .select2-container--default .select2-selection--single {
	height: auto;
	min-height: 2.75rem;
	padding: 0.65rem var(--pc-space-4);
	border: 1px solid rgb(var(--pc-field-border));
	border-radius: var(--pc-radius-field);
	background: rgb(var(--pc-paper));
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.px-account .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 var(--pc-space-5) 0 0;
	line-height: 1.4;
	font-size: var(--pc-fs-md);
	color: rgb(var(--pc-ink));
}

.px-account .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 0.75rem;
	height: auto;
	transform: translateY(-50%);
}

.px-account .select2-container--default.select2-container--focus .select2-selection--single,
.px-account .select2-container--default.select2-container--open .select2-selection--single {
	border-color: rgb(var(--pc-focus));
	box-shadow: 0 0 0 1px rgb(var(--pc-focus));
	outline: 2px solid transparent;
	border-radius: var(--pc-radius-field);
}

/* Dropdown panel sa renderuje na konci <body> — bez .px-account prefixu */
.woocommerce-account .select2-container--default .select2-dropdown {
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius);
	background: rgb(var(--pc-card));
	overflow: hidden;
	box-shadow: var(--pc-shadow-dropdown);
	margin-top: 0.35rem;
}

.woocommerce-account .select2-container--default .select2-search--dropdown {
	padding: var(--pc-space-2);
}

.woocommerce-account .select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid rgb(var(--pc-field-border));
	border-radius: var(--pc-radius-field);
	padding: var(--pc-space-2) var(--pc-space-3);
}

/* 16 px na dotyku (iOS zoom) aj pre select2 */
@media (pointer: coarse), (max-width: 767.98px) {
	.woocommerce-account .select2-container--default .select2-search--dropdown .select2-search__field,
	.px-account .select2-container--default .select2-selection--single .select2-selection__rendered {
		font-size: var(--pc-fs-base);
	}
}

.woocommerce-account .select2-container--default .select2-results__option {
	padding: var(--pc-space-2) var(--pc-space-3);
	font-size: var(--pc-fs-sm);
}

.woocommerce-account .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce-account .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: rgb(var(--pc-accent));
	color: rgb(var(--pc-on-accent));
}

/* =========================================================================
   ŽIADOSTI (px-wc-requests) — detail
   ========================================================================= */

.px-account .pxer-view-btn {
	margin: 0;
	padding: 0.375rem var(--pc-space-3);
	font-size: var(--pc-fs-2xs);
}

.px-account .pxer-detail__back {
	font-size: var(--pc-fs-sm);
	margin-bottom: var(--pc-space-2);
}

.px-account .pxer-overview {
	margin-top: var(--pc-space-4);
}

.px-account .pxer-detail__heading {
	margin-top: var(--pc-space-10);
}

.px-account .pxer-detail__cards {
	margin-top: var(--pc-space-6);
}

.px-account .pxer-detail__muted {
	color: rgb(var(--pc-muted));
}
