/*
 * Môj účet (page 27 and every account endpoint), new design without a mockup (DESIGN-SYSTEM.md §7).
 *
 * Markup: page-moj-ucet.php and the overrides in woocommerce/myaccount/ (acct-* classes next to the
 * WooCommerce ones). Guests see the login / registration cards and the benefits band, customers the
 * navigation card (a chip row on phones) and the endpoint content in a card.
 *
 * components/woocommerce-legacy.css loads before this file; Scripts Organizer snippets 165, 201791 and
 * 252 load after it on both stacks and set many account rules with !important. Every !important below
 * names the rule it beats. The snippets' wrappers (#customer_login, .u-columns, .wa-my-account*) are
 * not printed by the new templates, so most of snippet 252 does not apply.
 *
 * 1. Page shell          5. Fields and buttons      9. Addresses and address form
 * 2. Benefits band       6. Notices                10. Account details form
 * 3. Account layout, nav 7. Orders                  11. Plugins (ecomail, WPGB)
 * 4. Dashboard, auth     8. Order detail           12. Focus, breakpoints
 */

/* ---- 1. Page shell ---- */

.acct {
	color: var(--nd-c-ink);
	font-family: var(--nd-font);
}

/* The account page has a single crumb (Domov); catalog.css hides the current crumb on phones. */
.acct .cat-breadcrumb__crumb--current {
	display: inline-flex;
}

.acct-main {
	padding: var(--nd-sp-18) 0 var(--nd-sp-40);
}

/* layout.css turns "section > div" into a flex column. */
.acct-main > .acct-main__inner,
.acct-benefits > .acct-benefits__inner {
	display: block;
}

/* The tinted benefits band sits directly on the footer. */
body:has(.acct--band) {
	--wa-footer-gap: 0;
}

.acct .woocommerce {
	width: 100%;
	font-size: var(--nd-fs-body);
	line-height: var(--nd-lh-body);
}

.acct .woocommerce :is(h2, h3, legend):where(:not(.pcard *)) {
	margin: 0;
	color: var(--nd-c-head);
	font-family: var(--nd-font);
	font-weight: var(--nd-fw-bold);
	line-height: var(--nd-lh-head);
}

.acct .woocommerce p,
.acct .woocommerce .woocommerce-MyAccount-content p {
	margin: 0;
	color: var(--nd-c-ink);
	font-size: var(--nd-fs-15);
	line-height: var(--nd-lh-body);
}

.acct .woocommerce a:where(:not(.pcard *)),
.acct .woocommerce .woocommerce-MyAccount-content a:where(:not(.pcard *)) {
	color: var(--nd-c-brand);
	text-decoration: none;
}

.acct .woocommerce a:hover:where(:not(.pcard *)),
.acct .woocommerce .woocommerce-MyAccount-content a:hover:where(:not(.pcard *)) {
	color: var(--nd-c-brand-hover);
}

/* No underline on hover; woocommerce-legacy.css underlines every account link, the product cards too. */
.acct .woocommerce a:hover,
.acct .woocommerce .woocommerce-MyAccount-content a:hover {
	text-decoration: none;
}

/* ---- 2. Benefits band (guests) ---- */

.acct-benefits {
	padding: var(--nd-sp-32) 0 var(--nd-sp-40);
	background: var(--nd-c-brand-tint);
}

.acct-benefits__title {
	margin: 0 0 var(--nd-sp-18);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-sec-h-sm);
	font-weight: var(--nd-fw-bold);
	line-height: var(--nd-lh-head);
}

.acct-benefits__list {
	display: grid;
	gap: var(--nd-sp-12);
	margin: 0;
	padding: 0;
	list-style: none;
}

.acct-benefit {
	display: flex;
	align-items: flex-start;
	gap: var(--nd-sp-12);
	padding: var(--nd-sp-14) var(--nd-sp-16);
	border: 1px solid var(--nd-c-brand-tint-2);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

.acct-benefit__icon {
	flex: 0 0 auto;
	width: var(--nd-icon-l);
	height: var(--nd-icon-l);
	fill: var(--nd-c-brand);
}

.acct-benefit__text {
	align-self: center;
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15);
	line-height: var(--nd-lh-snug);
}

.acct-benefit__text :is(p, strong) {
	margin: 0;
}

/* ---- 3. Account layout and navigation ---- */

.acct-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-16);
}

.acct-content {
	min-width: 0;
	padding: var(--nd-sp-18) var(--nd-sp-16);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

.acct .woocommerce .acct-content__title {
	margin-bottom: var(--nd-sp-14);
	font-size: var(--nd-fs-20);
}

.acct .woocommerce .acct-content__lede {
	margin-bottom: var(--nd-sp-16);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-14-5);
}

/* Navigation: a horizontally scrolling chip row on phones, a sidebar card from 861px. */
.acct-nav {
	display: flex;
	gap: var(--nd-sp-8);
	margin: 0 calc(var(--nd-gutter-sm) * -1);
	padding: var(--nd-sp-2) var(--nd-gutter-sm) var(--nd-sp-6);
	overflow-x: auto;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.acct-nav::-webkit-scrollbar {
	display: none;
}

.acct-nav__list {
	display: flex;
	flex: 0 0 auto;
	gap: var(--nd-sp-8);
	margin: 0;
	padding: 0;
	list-style: none;
}

.acct-nav__item {
	flex: 0 0 auto;
	margin: 0;
}

.acct .acct-nav :is(.acct-nav__link, .acct-nav__logout) {
	display: flex;
	align-items: center;
	gap: var(--nd-sp-8);
	min-height: var(--nd-btn-h);
	padding: 0 var(--nd-sp-14);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius-pill);
	background: var(--nd-c-surface);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-14);
	font-weight: var(--nd-fw-semibold);
	line-height: var(--nd-lh-tight);
	white-space: nowrap;
	text-decoration: none;
	transition: border-color var(--nd-dur-fast), background-color var(--nd-dur-fast), color var(--nd-dur-fast);
}

.acct .acct-nav :is(.acct-nav__link, .acct-nav__logout):hover {
	border-color: var(--nd-c-brand);
	color: var(--nd-c-brand);
	text-decoration: none;
}

.acct .acct-nav .is-active > .acct-nav__link {
	border-color: var(--nd-c-brand-border);
	background: var(--nd-c-brand-tint);
	color: var(--nd-c-brand);
}

.acct .acct-nav .acct-nav__logout {
	flex: 0 0 auto;
	color: var(--nd-c-muted);
}

.acct-nav__icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: var(--nd-icon-s);
	height: var(--nd-icon-s);
	color: currentColor;
}

.acct-nav__icon:empty {
	display: none;
}

.acct-nav__icon svg,
.acct-tile__icon svg {
	width: 100%;
	height: 100%;
}

/* The theme's my-account icons carry no fill. */
.acct-nav__icon :is(svg, path),
.acct-tile__icon :is(svg, path) {
	fill: currentColor;
}

/* ---- 4. Dashboard and guest cards ---- */

.acct .woocommerce .acct-dash__intro {
	margin-bottom: var(--nd-sp-18);
	color: var(--nd-c-ink);
}

.acct .woocommerce .acct-dash__intro strong {
	color: var(--nd-c-head);
	font-weight: var(--nd-fw-semibold);
}

.acct .woocommerce .acct-dash__logout {
	display: inline-block;
	margin-left: var(--nd-sp-4);
}

/* Tiles after .cat-subcat. */
.acct-tiles {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-10);
	margin: 0;
	padding: 0;
	list-style: none;
}

.acct-tiles__item {
	margin: 0;
}

.acct .woocommerce .acct-tile {
	display: flex;
	align-items: center;
	gap: var(--nd-sp-12);
	height: 100%;
	min-height: var(--nd-tap);
	padding: var(--nd-sp-12) var(--nd-sp-14);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
	color: var(--nd-c-head);
	text-decoration: none;
	transition: border-color var(--nd-dur-fast), box-shadow var(--nd-dur-fast);
}

.acct .woocommerce .acct-tile:hover {
	border-color: var(--nd-c-brand);
	box-shadow: var(--nd-shadow);
	color: var(--nd-c-head);
	text-decoration: none;
}

.acct-tile__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: var(--nd-icon-xl);
	height: var(--nd-icon-xl);
	padding: var(--nd-sp-6);
	border-radius: var(--nd-radius-s);
	background: var(--nd-c-surface-muted);
	color: var(--nd-c-brand);
}

.acct-tile__body {
	display: grid;
	gap: var(--nd-sp-2);
	min-width: 0;
}

.acct-tile__name {
	color: var(--nd-c-head);
	font-size: var(--nd-fs-14-5);
	font-weight: var(--nd-fw-semibold);
	line-height: var(--nd-lh-snug);
}

.acct-tile__note {
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
	line-height: var(--nd-lh-snug);
}

/* Login / registration cards. */
.acct-auth {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-16);
}

.acct-card,
.acct .woocommerce form.woocommerce-ResetPassword.lost_reset_password {
	min-width: 0;
	padding: var(--nd-sp-18) var(--nd-sp-16);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

/* The lost / reset password form is its own card (core template, no acct-card class). */
.acct .woocommerce form.woocommerce-ResetPassword.lost_reset_password {
	border: 1px solid var(--nd-c-line) !important; /* beats snippet 201791 (".woocommerce form.woocommerce-ResetPassword.lost_reset_password" border: none !important) */
}

.acct .woocommerce .acct-card__title {
	margin-bottom: var(--nd-sp-16);
	font-size: var(--nd-fs-20);
}

/* The forms inside the cards (and the account forms inside the content card) lose the legacy box. */
.acct .woocommerce :is(form.login, form.register, .woocommerce-EditAccountForm, .woocommerce-address-fields) {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}


.acct .woocommerce .acct-card__note,
.acct .woocommerce .woocommerce-privacy-policy-text p {
	margin-bottom: var(--nd-sp-14);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13-5);
	line-height: var(--nd-lh-snug);
}

/* Lost / reset password: one card, the text above the field. */
.acct .woocommerce form.woocommerce-ResetPassword.lost_reset_password {
	display: block;
	max-width: calc(var(--nd-measure-lede) * 0.8);
	margin: 0;
}

.acct .woocommerce form.woocommerce-ResetPassword > p:first-child {
	margin-bottom: var(--nd-sp-16);
}

.acct .woocommerce form.woocommerce-ResetPassword .form-row-first {
	display: block;
}

.acct .woocommerce form.woocommerce-ResetPassword .form-row-first > label {
	position: static;
}

.acct .woocommerce form.woocommerce-ResetPassword .form-row-first > input {
	min-width: 0;
}

.acct .woocommerce form.woocommerce-ResetPassword .form-row {
	margin: 0 0 var(--nd-sp-14);
}

.acct .woocommerce form.woocommerce-ResetPassword .form-row:last-of-type {
	margin-bottom: 0;
}

.acct .woocommerce form.woocommerce-ResetPassword .woocommerce-Button {
	margin: 0;
}

/* ---- 5. Fields and buttons ---- */

.acct .woocommerce .form-row {
	display: block;
	float: none;
	width: 100%;
	margin: 0 0 var(--nd-sp-14);
	padding: 0;
}

.acct .woocommerce .clear {
	display: none;
}

.acct .woocommerce form label {
	display: block;
	margin: 0 0 var(--nd-sp-6);
	padding: 0;
	color: var(--nd-c-head);
	font-size: var(--nd-fs-14);
	font-weight: var(--nd-fw-semibold);
	line-height: var(--nd-lh-snug) !important; /* beats snippets 165 and 252 (login / reset labels line-height: 1) */
}

.acct .woocommerce form .woocommerce-form-login label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	width: auto;
}

.acct .woocommerce form label .required {
	color: var(--nd-c-out);
	text-decoration: none;
}

.acct .woocommerce-invalid label {
	color: var(--nd-c-out) !important; /* beats snippet 165 (".woocommerce-invalid label" colour) */
}

.acct .woocommerce :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], textarea, select) {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--nd-btn-h);
	margin: 0;
	padding: var(--nd-sp-10) var(--nd-sp-14);
	border: var(--nd-border-strong) solid var(--nd-c-brand-tint-2);
	border-radius: var(--nd-radius-m);
	outline: none;
	background: var(--nd-c-surface);
	box-shadow: none;
	color: var(--nd-c-head);
	font-family: var(--nd-font);
	font-size: var(--nd-fs-15);
	line-height: var(--nd-lh-body);
	transition: border-color var(--nd-dur-fast), box-shadow var(--nd-dur-fast);
}

.acct .woocommerce textarea {
	min-height: calc(var(--nd-btn-h) * 2.5);
	resize: vertical;
}

.acct .woocommerce :is(input, textarea)::placeholder {
	color: var(--nd-c-placeholder);
}

.acct .woocommerce :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], textarea, select):hover {
	border-color: var(--nd-c-brand-border);
}

.acct .woocommerce :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], textarea, select):focus {
	border: var(--nd-border-strong) solid var(--nd-c-brand);
	outline: none;
	box-shadow: 0 0 0 1px var(--nd-c-brand);
}

.acct .woocommerce .woocommerce-invalid :is(input, textarea, select, .select2-selection) {
	border-color: var(--nd-c-out);
}

.acct .woocommerce input[type="checkbox"],
.acct .woocommerce input[type="radio"] {
	width: var(--nd-icon-s);
	height: var(--nd-icon-s);
	margin: 0;
	accent-color: var(--nd-c-brand);
}

/* Show-password toggle injected by WooCommerce's JS: span.password-input > button.show-password-input. */
.acct .woocommerce .password-input {
	position: relative;
	display: block;
}

.acct .woocommerce .password-input input {
	padding-right: calc(var(--nd-btn-h) + var(--nd-sp-4));
}

.acct .woocommerce .show-password-input {
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	place-items: center;
	width: var(--nd-btn-h);
	height: var(--nd-btn-h);
	padding: 0;
	border: 0;
	border-radius: var(--nd-radius-m);
	background: transparent;
	color: var(--nd-c-muted);
	cursor: pointer;
}

.acct .woocommerce .show-password-input::after {
	content: "";
	display: block;
	width: var(--nd-icon-m);
	height: var(--nd-icon-m);
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.1 1.5 12c1.2 2.9 5 7 10.5 7s9.3-4.1 10.5-7C21.3 9.1 17.5 5 12 5zm0 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.1 1.5 12c1.2 2.9 5 7 10.5 7s9.3-4.1 10.5-7C21.3 9.1 17.5 5 12 5zm0 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.acct .woocommerce .show-password-input:hover,
.acct .woocommerce .show-password-input.display-password {
	color: var(--nd-c-brand);
}

/* "Zapamätať si ma": the native checkbox instead of the drawn boxes of the legacy CSS and snippet 165. */
.acct .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: var(--nd-sp-10);
	width: auto;
	min-height: var(--nd-btn-h);
	margin: 0 !important; /* beats woocommerce-legacy.css (rememberme label margin-top 34px, specificity 0,5,1) */
	padding: 0;
	color: var(--nd-c-ink);
	font-weight: var(--nd-fw-regular);
	cursor: pointer;
}

.acct .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
	display: inline-block !important; /* beats woocommerce-legacy.css (".woocommerce-form-login input[type=checkbox]" display: none) */
	margin: 0;
	opacity: 1;
}

.acct .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme span {
	margin: 0 !important; /* beats snippet 201791 (".woocommerce-form-login__rememberme span" margins) */
}

.acct .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme span::before {
	content: none;
	display: none;
}

/* Remember me + submit on one row, the lost-password link under them. */
.acct .woocommerce .woocommerce-form-login > .form-row:not(.woocommerce-form-row) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nd-sp-12);
}

.acct .woocommerce .woocommerce-LostPassword {
	margin: 0;
	font-size: var(--nd-fs-14);
}

.acct .woocommerce .woocommerce-LostPassword a {
	display: inline-flex;
	align-items: center;
	min-height: var(--nd-btn-h);
	font-weight: var(--nd-fw-semibold);
}

/* Brand button (after .cat-empty__btn). Snippet 165 styles ".woocommerce a.button / button.button /
   input.button" with !important, so the button look needs it too. */
.acct .woocommerce :is(a, button, input).button:where(:not(.pcard *)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--nd-sp-8);
	width: 100%;
	height: auto;
	min-height: var(--nd-btn-h);
	margin: 0;
	padding: var(--nd-sp-8) var(--nd-sp-22) !important; /* beats snippet 165 */
	border: 0 !important; /* beats snippet 165 */
	border-radius: var(--nd-radius-btn) !important; /* beats snippet 165 */
	outline: none;
	background: var(--nd-c-brand) !important; /* beats snippet 165 */
	box-shadow: none;
	color: var(--nd-c-on-brand) !important; /* beats snippets 165 and 201791 */
	font-family: var(--nd-font);
	font-size: var(--nd-fs-15) !important; /* beats snippet 165 */
	font-weight: var(--nd-fw-bold) !important; /* beats snippet 165 */
	line-height: var(--nd-lh-tight);
	letter-spacing: normal !important; /* beats snippet 165 */
	text-align: center;
	text-decoration: none;
	text-transform: none !important; /* beats snippet 165 */
	white-space: normal;
	cursor: pointer;
	transition: background-color var(--nd-dur-fast), color var(--nd-dur-fast), border-color var(--nd-dur-fast) !important; /* beats snippet 165 ("all") */
}

.acct .woocommerce :is(a, button, input).button:where(:not(.pcard *)):hover {
	background: var(--nd-c-brand-hover) !important; /* beats snippet 165 */
	box-shadow: none !important; /* beats snippet 165 (hover shadow) */
	color: var(--nd-c-on-brand) !important; /* beats snippet 165 */
	text-decoration: none;
}

.acct .woocommerce :is(a, button, input).button:where(:not(.pcard *)):disabled {
	opacity: var(--nd-opacity-disabled);
	cursor: not-allowed !important; /* beats snippet 165 */
}

/* Outlined variant: order actions, pagination, the address "edit" link. */
.acct .woocommerce .woocommerce-orders-table__cell-order-actions .button,
.acct .woocommerce .woocommerce-pagination .button,
.acct .woocommerce .woocommerce-customer-details .button {
	min-height: var(--nd-tap);
	padding: var(--nd-sp-6) var(--nd-sp-16) !important; /* beats snippets 165 and 201791 */
	border: 1px solid var(--nd-c-brand-border) !important; /* beats snippet 165 (border: none) */
	background: var(--nd-c-surface) !important; /* beats snippet 165 */
	color: var(--nd-c-brand) !important; /* beats snippets 165 and 201791 */
	font-size: var(--nd-fs-14) !important; /* beats snippets 165 and 201791 */
	font-weight: var(--nd-fw-semibold) !important; /* beats snippet 165 */
}

.acct .woocommerce .woocommerce-orders-table__cell-order-actions .button:hover,
.acct .woocommerce .woocommerce-pagination .button:hover,
.acct .woocommerce .woocommerce-customer-details .button:hover {
	border-color: var(--nd-c-brand) !important; /* beats snippet 165 */
	background: var(--nd-c-brand-tint) !important; /* beats snippet 165 */
	color: var(--nd-c-brand) !important; /* beats snippet 165 */
}

/* Snippet 201791 hides buttons inside notices of the content; the notice links stay readable. */
.acct .woocommerce .woocommerce-EditAccountForm .button,
.acct .woocommerce .woocommerce-address-fields .button {
	margin-top: var(--nd-sp-6) !important; /* beats snippet 201791 (margin-top var(--space-m)) */
}

/* ---- 6. Notices ---- */

.acct .woocommerce-notices-wrapper:empty {
	display: none;
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info),
.acct :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
	position: relative;
	display: block;
	margin: 0 0 var(--nd-sp-16) !important; /* beats snippet 165 (margin-bottom var(--space-m)) */
	padding: var(--nd-sp-12) var(--nd-sp-16);
	border: 1px solid var(--nd-c-line) !important; /* beats snippet 165 (border: none) */
	border-left: var(--nd-sp-4) solid var(--nd-c-brand) !important; /* beats snippet 165 */
	border-radius: var(--nd-radius-m);
	background: var(--nd-c-brand-tint) !important; /* beats snippet 165 (pulsing tinted boxes) */
	box-shadow: none;
	color: var(--nd-c-head);
	font-size: var(--nd-fs-14-5);
	line-height: var(--nd-lh-snug);
	list-style: none;
	animation: none;
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before,
.acct :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before {
	content: none !important; /* beats snippet 165 (icon pseudo-element, content "" !important) */
	display: none;
}

.acct .woocommerce .woocommerce-error,
.acct .woocommerce-error {
	border-left-color: var(--nd-c-out) !important; /* beats snippet 165 */
	background: color-mix(in srgb, var(--nd-c-out) 6%, var(--nd-c-surface)) !important; /* beats snippet 165 */
	color: var(--nd-c-head);
}

.acct .woocommerce .woocommerce-message,
.acct .woocommerce-message {
	border-left-color: var(--nd-c-ok) !important; /* beats snippet 165 */
	background: color-mix(in srgb, var(--nd-c-ok) 6%, var(--nd-c-surface)) !important; /* beats snippet 165 */
	color: var(--nd-c-head);
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) li + li {
	margin-top: var(--nd-sp-4);
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) a:not(.button) {
	margin: 0;
	color: var(--nd-c-brand);
	font-weight: var(--nd-fw-semibold);
}

/* Notice buttons ("Prehliadať produkty" ...) as a text link on the right. */
.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) .button {
	float: right;
	width: auto;
	min-height: 0;
	margin-left: var(--nd-sp-12);
	padding: 0 !important; /* beats snippet 165 */
	background: transparent !important; /* beats snippet 165 */
	color: var(--nd-c-brand) !important; /* beats snippet 165 */
	font-size: var(--nd-fs-14-5) !important; /* beats snippet 165 */
}

.acct .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) .button:hover {
	background: transparent !important; /* beats snippet 165 */
	color: var(--nd-c-brand-hover) !important; /* beats snippet 165 */
}

/* ---- 7. Orders ---- */

.acct-orders {
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	overflow: hidden;
}

.acct .woocommerce table.shop_table.my_account_orders {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	background: var(--nd-c-surface);
}

/* Snippet 201791 draws 5px outlines around the head and the body. */
.acct .woocommerce .woocommerce-orders-table :is(thead, tbody) {
	outline: none;
}

.acct .woocommerce table.my_account_orders tr {
	border: 0;
}

.acct .woocommerce table.my_account_orders tbody tr + tr {
	border-top: 1px solid var(--nd-c-line);
}

.acct .woocommerce .woocommerce-orders-table thead th,
.acct .woocommerce table.shop_table.my_account_orders thead th {
	padding: var(--nd-sp-10) var(--nd-sp-14);
	border-radius: 0;
	background: var(--nd-c-surface-muted);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-12-5);
	font-weight: var(--nd-fw-semibold);
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
	white-space: nowrap;
}

.acct .woocommerce .woocommerce-orders-table tbody :is(td, th),
.acct .woocommerce table.shop_table.my_account_orders tbody :is(td, th) {
	padding: var(--nd-sp-12) var(--nd-sp-14) !important; /* beats snippet 201791 (".woocommerce-orders-table tbody td" padding) */
	border: 0;
	color: var(--nd-c-ink);
	font-size: var(--nd-fs-14);
	font-weight: var(--nd-fw-regular);
	line-height: var(--nd-lh-snug);
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	vertical-align: middle;
}

.acct .woocommerce table.my_account_orders .woocommerce-orders-table__cell-order-number a {
	color: var(--nd-c-brand); /* snippet 201791 forces --primary (the same purple) with !important */
	font-weight: var(--nd-fw-bold);
}

.acct .woocommerce table.my_account_orders .woocommerce-orders-table__cell-order-total .amount {
	color: var(--nd-c-head);
	font-weight: var(--nd-fw-bold);
}

.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-total > span {
	font-size: var(--nd-fs-14);
}

/* Customizer "Additional CSS" (wooptima-theme) paints the header labels white with !important. */
.acct .woocommerce .woocommerce-orders-table thead .woocommerce-orders-table__header span {
	color: inherit !important;
}

.acct .woocommerce .woocommerce-orders-table tbody :is(.woocommerce-orders-table__cell-order-date, .woocommerce-orders-table__cell-ordered-products) {
	white-space: nowrap;
}

/* Total, with the item count on its own line. */
.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-total > .acct-orders__total {
	display: block;
	white-space: nowrap;
}

.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-total > .acct-orders__count {
	display: block;
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
	white-space: nowrap;
}

/* Ordered products: small thumbnails and "+N". */
.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-ordered-products {
	gap: var(--nd-sp-6);
}

.acct .woocommerce table.my_account_orders .product_image_orderlist {
	display: inline-flex;
	width: var(--nd-tap);
	height: var(--nd-tap);
	padding: var(--nd-sp-2);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius-s);
	background: var(--nd-c-surface);
	vertical-align: middle;
}

.acct .woocommerce table.my_account_orders .product_image_orderlist img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.acct .woocommerce table.my_account_orders .product_image_surplus {
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
	font-weight: var(--nd-fw-semibold);
}

.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-actions .woocommerce-button {
	display: inline-flex;
	width: auto;
	line-height: var(--nd-lh-tight);
}

.acct .woocommerce table.my_account_orders .woocommerce-orders-table__cell-order-actions .button + .button {
	margin-left: var(--nd-sp-6);
}

/* Status pills. */
.acct-status {
	display: inline-flex;
	align-items: center;
	gap: var(--nd-sp-6);
	padding: var(--nd-sp-4) var(--nd-sp-10);
	border-radius: var(--nd-radius-pill);
	background: var(--nd-c-surface-muted);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-13);
	font-weight: var(--nd-fw-semibold);
	line-height: var(--nd-lh-tight);
	white-space: nowrap;
}

.acct-status::before {
	content: "";
	flex: 0 0 auto;
	width: var(--nd-sp-7);
	height: var(--nd-sp-7);
	border-radius: var(--nd-radius-round);
	background: var(--nd-c-muted);
}

.acct-status mark {
	padding: 0;
	background: none;
	color: inherit;
	font-weight: inherit;
}

.acct-status--completed {
	background: color-mix(in srgb, var(--nd-c-cta) 16%, var(--nd-c-surface));
}

.acct-status--completed::before {
	background: var(--nd-c-ok);
}

.acct-status:is(.acct-status--processing, .acct-status--on-hold, .acct-status--pending) {
	background: var(--nd-c-brand-tint);
	box-shadow: inset 0 0 0 1px var(--nd-c-brand-tint-2);
}

.acct-status:is(.acct-status--processing, .acct-status--on-hold, .acct-status--pending)::before {
	background: var(--nd-c-brand);
}

.acct-status:is(.acct-status--cancelled, .acct-status--refunded) {
	background: color-mix(in srgb, var(--nd-c-sale) 12%, var(--nd-c-surface));
}

.acct-status:is(.acct-status--cancelled, .acct-status--refunded)::before {
	background: var(--nd-c-sale);
}

.acct-status--failed {
	background: color-mix(in srgb, var(--nd-c-out) 10%, var(--nd-c-surface));
}

.acct-status--failed::before {
	background: var(--nd-c-out);
}

/* Pagination and the empty state. */
.acct .woocommerce .woocommerce-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--nd-sp-10);
	margin-top: var(--nd-sp-16);
}

.acct .woocommerce .woocommerce-pagination .button {
	width: auto;
}

.acct .woocommerce .woocommerce-pagination .woocommerce-button--next {
	margin-left: auto;
}

.acct-empty {
	display: grid;
	justify-items: start;
	gap: var(--nd-sp-14);
	padding: var(--nd-sp-20) var(--nd-sp-18);
	border: 1px dashed var(--nd-c-brand-border);
	border-radius: var(--nd-radius);
	background: var(--nd-c-brand-tint);
}

.acct .woocommerce .acct-empty__text {
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15);
	font-weight: var(--nd-fw-semibold);
}

.acct .woocommerce .acct-empty .button {
	width: auto;
}

/* Purchased products: the homepage product cards in a grid (mobilky_account_purchased_products()). */
.acct .woocommerce .acct-products ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	margin: var(--nd-sp-16) 0 0;
	padding: 0;
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	list-style: none;
}

/* Cell lines as shadows, so an empty cell in the last row stays white; the outer ones are clipped. */
.acct .woocommerce .acct-products .pcard {
	box-shadow: 1px 0 0 var(--nd-c-line), 0 1px 0 var(--nd-c-line);
}

/* The card as on the homepage: undo the legacy ".woocommerce-MyAccount-content h3" / ".woocommerce a.button" rules. */
.acct .woocommerce .acct-products .pcard .pcard__name {
	margin-bottom: 0;
}

.acct .woocommerce .acct-products .pcard .pcard__cart {
	line-height: 1;
}

@media (min-width: 1001px) {
	.acct .woocommerce .acct-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---- 8. Order detail (view-order) ---- */

/* Order intro sentence: "Objednávka č. N bola vytvorená … a je v stave …" */
.acct .woocommerce .woocommerce-MyAccount-content > p:has(> mark) {
	margin-bottom: var(--nd-sp-18);
	padding: var(--nd-sp-12) var(--nd-sp-16);
	border-left: var(--nd-sp-4) solid var(--nd-c-brand);
	border-radius: var(--nd-radius-m);
	background: var(--nd-c-brand-tint);
	color: var(--nd-c-head);
}

.acct .woocommerce .woocommerce-MyAccount-content mark {
	padding: 0;
	background: none;
	color: var(--nd-c-head);
	font-weight: var(--nd-fw-bold);
}

.acct .woocommerce .woocommerce-MyAccount-content mark.order-status {
	color: var(--nd-c-brand);
}

.acct .woocommerce :is(.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-OrderUpdates-title, h2.wc-bacs-bank-details-heading) {
	margin: var(--nd-sp-20) 0 var(--nd-sp-10);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-17);
}

.acct .woocommerce .woocommerce-order-details {
	margin: 0;
}

/* Snippet 201791 turns the order table into a grid of flex rows and sets border-spacing on
   "table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details" (0,6,1); back to a plain table. */
.acct .woocommerce .woocommerce-order-details table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
	display: table;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 1px solid var(--nd-c-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
	overflow: hidden;
}

.acct .woocommerce .woocommerce-order-details table.order_details thead {
	display: table-header-group;
}

.acct .woocommerce .woocommerce-order-details table.order_details tfoot {
	display: table-footer-group;
}

.acct .woocommerce .woocommerce-order-details table.order_details tr {
	display: table-row;
	border: 0;
}

.acct .woocommerce .woocommerce-order-details table.order_details :is(th, td) {
	padding: var(--nd-sp-10) var(--nd-sp-14);
	border: 0;
	border-top: 1px solid var(--nd-c-line);
	color: var(--nd-c-ink);
	font-size: var(--nd-fs-14);
	font-weight: var(--nd-fw-regular);
	letter-spacing: normal;
	line-height: var(--nd-lh-snug);
	text-align: left;
	text-transform: none;
	vertical-align: top;
}

.acct .woocommerce .woocommerce-order-details table.order_details thead th {
	border-top: 0;
	background: var(--nd-c-surface-muted);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-12-5);
	font-weight: var(--nd-fw-semibold);
}

.acct .woocommerce .woocommerce-order-details table.order_details :is(.product-total, tfoot td) {
	text-align: right;
}

/* Only the amounts stay on one line; a long shipping name or note wraps instead of widening the table. */
.acct .woocommerce .woocommerce-order-details table.order_details :is(.product-total, tfoot td) .amount {
	white-space: nowrap;
}

.acct .woocommerce .woocommerce-order-details table.order_details tfoot th {
	color: var(--nd-c-head);
	font-weight: var(--nd-fw-semibold);
}

/* The grand total: the last totals row (th[scope=row]); the customer note row after it has a plain th. */
.acct .woocommerce .woocommerce-order-details table.order_details tfoot tr:nth-last-child(1 of :has(> th[scope="row"])) :is(th, td) {
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15);
	font-weight: var(--nd-fw-bold);
}

/* "(vrátane 2,97 € 23% DPH)" after the grand total. */
.acct .woocommerce .woocommerce-order-details table.order_details tfoot .includes_tax,
.acct .woocommerce .woocommerce-order-details table.order_details tfoot .includes_tax .amount {
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-12-5);
	font-weight: var(--nd-fw-regular);
}

/* The customer note row (a plain th, the totals have th[scope=row]) would widen the totals column;
   mobilky_account_order_note() prints the note under the table instead. */
.acct .woocommerce .woocommerce-order-details table.order_details tfoot tr:has(> th:not([scope])) {
	display: none;
}

.acct .woocommerce .woocommerce-order-details .acct-order-note {
	margin: var(--nd-sp-10) 0 var(--nd-sp-20);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
}

.acct .woocommerce .woocommerce-order-details .acct-order-note strong {
	color: var(--nd-c-ink);
	font-weight: var(--nd-fw-semibold);
}

/* "Záruka 2 roky" under the item name (mobilky_account_item_warranty()). */
.acct .woocommerce .acct-item-warranty {
	display: block;
	margin-top: var(--nd-sp-4);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
}

.acct .woocommerce .woocommerce-table__line-item .product-name a {
	color: var(--nd-c-head) !important; /* beats snippet 201791 (".woocommerce-table__line-item a" colour) */
	font-weight: var(--nd-fw-semibold);
}

.acct .woocommerce .woocommerce-table__line-item .product-name a:hover {
	color: var(--nd-c-brand) !important; /* beats snippet 201791 (".woocommerce-table__line-item a" colour !important) */
}

.acct .woocommerce .woocommerce-table__line-item .product-quantity {
	color: var(--nd-c-muted);
	font-weight: var(--nd-fw-regular);
}

.acct .woocommerce .wc-item-meta {
	margin: var(--nd-sp-4) 0 0;
	padding: 0;
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
	list-style: none;
}

.acct .woocommerce .wc-item-meta :is(p, li) {
	margin: 0;
	font-size: var(--nd-fs-13);
}

.acct .woocommerce .order-again {
	margin-top: var(--nd-sp-14);
}

.acct .woocommerce .order-again .button {
	width: auto;
}

/* Order notes. */
.acct .woocommerce .woocommerce-OrderUpdates {
	margin: 0;
	padding: 0;
	list-style: none;
}

.acct .woocommerce .woocommerce-OrderUpdate {
	margin: 0 0 var(--nd-sp-10);
	padding: var(--nd-sp-10) var(--nd-sp-14);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius-m);
}

.acct .woocommerce .woocommerce-OrderUpdate-meta {
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
}

/* Billing / shipping addresses of the order. */
.acct .woocommerce .woocommerce-customer-details {
	margin: 0;
}

.acct .woocommerce .woocommerce-customer-details .col2-set,
.acct .woocommerce .woocommerce-customer-details section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-14);
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.acct .woocommerce .woocommerce-customer-details .col2-set::before,
.acct .woocommerce .woocommerce-customer-details .col2-set::after {
	content: none;
}

/* Beats snippet 201791 (".woocommerce-view-order .woocommerce-column.woocommerce-column--1…col-1", 0,5,0: width 50%, grey box). */
.acct .woocommerce .woocommerce-customer-details .woocommerce-column.woocommerce-column--1.col-1,
.acct .woocommerce .woocommerce-customer-details .woocommerce-column.woocommerce-column--2.col-2 {
	float: none;
	width: 100%;
	padding: var(--nd-sp-14) var(--nd-sp-16);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

.acct .woocommerce .woocommerce-customer-details .woocommerce-column__title {
	margin-top: 0;
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15-5);
}

.acct .woocommerce :is(.woocommerce-customer-details, .acct-address) address {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--nd-c-ink);
	font-size: var(--nd-fs-14-5);
	font-style: normal;
	line-height: var(--nd-lh-body);
}

.acct .woocommerce .woocommerce-customer-details address p {
	margin: var(--nd-sp-4) 0 0;
	font-size: var(--nd-fs-14-5);
}

.acct .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone,
.acct .woocommerce .woocommerce-customer-details .woocommerce-customer-details--email {
	padding: 0;
}

.acct .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.acct .woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
	content: none;
}

/* Withdrawal form plugin (wpify, .awde_withdrawal) under the order. */
.acct .woocommerce .awde_withdrawal {
	margin-top: var(--nd-sp-18);
}

/* ---- 9. Addresses and the address form ---- */

.acct-addresses {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-14);
}

.acct-address {
	display: grid;
	align-content: start;
	gap: var(--nd-sp-10);
	padding: var(--nd-sp-14) var(--nd-sp-16);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

.acct-address__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nd-sp-8);
}

.acct .woocommerce .acct-address__title {
	margin: 0;
	font-size: var(--nd-fs-16);
}

.acct .woocommerce .acct-address__edit {
	display: inline-flex;
	align-items: center;
	min-height: var(--nd-btn-h);
	padding: 0 var(--nd-sp-14);
	border: 1px solid var(--nd-c-brand-border);
	border-radius: var(--nd-radius-btn);
	color: var(--nd-c-brand);
	font-size: var(--nd-fs-14);
	font-weight: var(--nd-fw-semibold);
	text-decoration: none;
	transition: background-color var(--nd-dur-fast), border-color var(--nd-dur-fast);
}

.acct .woocommerce .acct-address__edit:hover {
	border-color: var(--nd-c-brand);
	background: var(--nd-c-brand-tint);
	text-decoration: none;
}

.acct .woocommerce .acct-address__body--empty {
	color: var(--nd-c-muted);
}

/* Edit address: the form heading and a two-column field grid from 521px. */
.acct .woocommerce .woocommerce-MyAccount-content form > h2,
.acct .woocommerce .woocommerce-MyAccount-content form > h3 {
	margin-bottom: var(--nd-sp-14);
	font-size: var(--nd-fs-17);
}

.acct .woocommerce .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--nd-sp-14) var(--nd-sp-16) !important; /* beats snippet 201791 (gap var(--space-m)) */
}

.acct .woocommerce .woocommerce-address-fields__field-wrapper .form-row {
	margin: 0; /* snippet 201791 forces the same margin with !important */
}

/* Address line 2 keeps a visible label (snippet 201791 forces it visible by id with !important). */
.acct .woocommerce .woocommerce-address-fields__field-wrapper label.screen-reader-text {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0 0 var(--nd-sp-6);
	clip: auto;
	clip-path: none;
	overflow: visible;
	white-space: normal;
}

.acct .woocommerce .form-row .woocommerce-input-wrapper {
	display: block;
}

.acct .woocommerce .form-row .description {
	margin-top: var(--nd-sp-4);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
}

/* select2 (country, state) shaped like the fields. */
.acct .woocommerce .select2-container {
	width: 100% !important; /* beats select2's inline style width */
}

.acct .woocommerce .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
	min-height: var(--nd-btn-h);
	border: var(--nd-border-strong) solid var(--nd-c-brand-tint-2);
	border-radius: var(--nd-radius-m);
	background: var(--nd-c-surface);
	transition: border-color var(--nd-dur-fast), box-shadow var(--nd-dur-fast);
}

.acct .woocommerce .select2-container--default .select2-selection--single:hover {
	border-color: var(--nd-c-brand-border);
}

.acct .woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.acct .woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--nd-c-brand);
	box-shadow: 0 0 0 1px var(--nd-c-brand);
}

.acct .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 calc(var(--nd-btn-h) - var(--nd-sp-4)) 0 var(--nd-sp-14);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15);
	line-height: var(--nd-lh-body);
}

.acct .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	right: var(--nd-sp-8);
	height: 100%;
}

/* ---- 10. Account details form ---- */

.acct .woocommerce .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: var(--nd-sp-16);
}

.acct .woocommerce .woocommerce-EditAccountForm > :not(.form-row-first, .form-row-last) {
	grid-column: 1 / -1;
}

.acct .woocommerce .woocommerce-EditAccountForm input[name="account_display_name"] + span,
.acct .woocommerce .woocommerce-EditAccountForm .form-row span em {
	display: block;
	margin-top: var(--nd-sp-4);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13);
	font-style: normal;
	line-height: var(--nd-lh-snug);
}

.acct .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account fieldset {
	margin: var(--nd-sp-8) 0 var(--nd-sp-14);
	padding: var(--nd-sp-14) var(--nd-sp-16) var(--nd-sp-2);
	border: 1px solid var(--nd-c-line);
	border-radius: var(--nd-radius);
	background: var(--nd-c-surface);
}

.acct .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account fieldset legend {
	padding: 0 var(--nd-sp-6);
	color: var(--nd-c-head);
	font-size: var(--nd-fs-15-5);
	font-weight: var(--nd-fw-bold);
}

.acct .woocommerce .woocommerce-EditAccountForm > p:last-of-type .button,
.acct .woocommerce .woocommerce-address-fields > p .button {
	width: 100%;
}

/* ---- 11. Plugins ---- */

/* Ecomail newsletter info / checkbox under the registration and account forms. */
.acct .woocommerce .ecomail-subscribtion-info {
	margin: 0 0 var(--nd-sp-14);
	color: var(--nd-c-muted);
	font-size: var(--nd-fs-13-5);
	line-height: var(--nd-lh-snug);
}

.acct .woocommerce .ecomail-subscribtion-info label {
	display: flex;
	align-items: center;
	gap: var(--nd-sp-10);
	min-height: var(--nd-btn-h);
	font-weight: var(--nd-fw-regular);
}

/* Zakúpené produkty: WP Grid Builder grid inside the content card. */
.acct .woocommerce .wp-grid-builder {
	margin: 0;
}

/* ---- 12. Focus ---- */

/* Snippet 165 removes the :focus-visible outline globally (not !important). */
.acct :is(a, button, summary, [tabindex]:not([tabindex="-1"])):focus-visible,
.acct .woocommerce :is(a, button, input).button:where(:not(.pcard *)):focus-visible,
.acct .woocommerce .select2-selection:focus-visible {
	outline: var(--focus-width) solid var(--nd-c-brand);
	outline-offset: var(--focus-width);
}

.acct .woocommerce :is(input[type="checkbox"], input[type="radio"]):focus-visible {
	outline: var(--focus-width) solid var(--nd-c-brand);
	outline-offset: var(--focus-width);
}

/* The fields show focus by the brand border and ring (section 5). */
.acct .woocommerce :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], textarea, select):focus-visible {
	outline: var(--focus-width) solid transparent;
}

/* ---- Breakpoints ---- */

@media (min-width: 521px) {
	.acct .woocommerce :is(a, button, input).button:where(:not(.pcard *)) {
		width: auto;
	}

	.acct .woocommerce .woocommerce-EditAccountForm > p:last-of-type .button,
	.acct .woocommerce .woocommerce-address-fields > p .button {
		width: auto;
	}

	.acct-benefits__list,
	.acct-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.acct .woocommerce .woocommerce-address-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.acct .woocommerce .woocommerce-address-fields__field-wrapper > :not(.form-row-first, .form-row-last) {
		grid-column: 1 / -1;
	}

	.acct .woocommerce .woocommerce-EditAccountForm {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 721px) {
	.acct-main {
		padding-top: var(--nd-sp-22);
		padding-bottom: var(--nd-sp-48);
	}

	.acct-content,
	.acct-card,
	.acct .woocommerce form.woocommerce-ResetPassword.lost_reset_password {
		padding: var(--nd-sp-24) var(--nd-sp-28);
	}

	.acct .woocommerce .acct-content__title,
	.acct .woocommerce .acct-card__title {
		font-size: var(--nd-fs-22);
	}

	.acct-benefits__title {
		font-size: var(--nd-fs-sec-h);
	}

	.acct-benefits__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.acct-addresses,
	.acct .woocommerce .woocommerce-customer-details .col2-set,
	.acct .woocommerce .woocommerce-customer-details section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 861px) {
	.acct-auth {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--nd-layout-gap);
		align-items: start;
	}

	.acct-auth--single {
		grid-template-columns: minmax(0, 1fr);
		max-width: calc(var(--nd-measure-lede) * 0.8);
	}

	.acct-layout {
		grid-template-columns: var(--nd-aside-w-md) minmax(0, 1fr);
		gap: var(--nd-layout-gap-md);
		align-items: start;
	}

	/* Sidebar card. */
	.acct-nav {
		position: sticky;
		top: calc(var(--nd-header-sticky-h) + var(--nd-sp-16));
		display: block;
		margin: 0;
		padding: var(--nd-sp-10);
		overflow: visible;
		border: 1px solid var(--nd-c-line);
		border-radius: var(--nd-radius);
		background: var(--nd-c-surface);
	}

	.acct-nav__list {
		display: grid;
		gap: var(--nd-sp-2);
	}

	.acct .acct-nav :is(.acct-nav__link, .acct-nav__logout) {
		gap: var(--nd-sp-10);
		padding: 0 var(--nd-sp-12);
		border: 0;
		border-radius: var(--nd-radius-m);
		background: transparent;
		font-size: var(--nd-fs-14-5);
		white-space: normal;
	}

	.acct .acct-nav :is(.acct-nav__link, .acct-nav__logout):hover {
		background: var(--nd-c-brand-tint);
	}

	.acct .acct-nav .is-active > .acct-nav__link {
		background: var(--nd-c-brand-tint);
		box-shadow: inset var(--nd-sp-3) 0 0 var(--nd-c-brand);
	}

	.acct .acct-nav .acct-nav__logout {
		margin-top: var(--nd-sp-8);
		padding-top: var(--nd-sp-2);
		border-top: 1px solid var(--nd-c-line);
		border-radius: 0 0 var(--nd-radius-m) var(--nd-radius-m);
		font-weight: var(--nd-fw-medium);
	}

	.acct-nav__icon {
		width: var(--nd-icon-m);
		height: var(--nd-icon-m);
	}

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

@media (min-width: 1101px) {
	.acct-layout {
		grid-template-columns: var(--nd-aside-w) minmax(0, 1fr);
		gap: var(--nd-layout-gap);
	}

	.acct-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.acct-main {
		padding-top: var(--nd-sp-14);
	}

	.acct-benefits {
		padding: var(--nd-sp-24) 0 var(--nd-sp-30);
	}

	/* Order detail table: tighter cells. */
	.acct .woocommerce .woocommerce-order-details table.order_details :is(th, td) {
		padding: var(--nd-sp-10) var(--nd-sp-12);
	}
}

/* ---- Orders: a table or stacked cards by the width of the content box, not of the window ----
   With the sidebar the box is only 513–752px wide for 721–1100px windows, too narrow for the seven
   columns (three thumbnails and "+12" alone take ~170px). */

.acct-content {
	container: acct-content / inline-size;
}

@container acct-content (min-width: 820px) {
	/* Snippet 165 stacks responsive tables up to 768px; a wide enough box keeps the table. */
	.acct .woocommerce table.shop_table_responsive thead {
		display: table-header-group;
	}

	.acct .woocommerce table.shop_table_responsive tbody th,
	.acct .woocommerce table.shop_table_responsive tr td {
		display: table-cell;
		text-align: left !important; /* beats snippet 165 (text-align: right !important up to 768px) */
	}

	.acct .woocommerce table.shop_table_responsive tr :is(td, th)::before {
		content: none;
		display: none;
	}

	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-ordered-products {
		display: table-cell;
	}

	.acct .woocommerce .woocommerce-orders-table__row .woocommerce-orders-table__cell-order-actions {
		display: table-cell;
		text-align: right !important; /* beats snippet 165 (order-actions text-align: left !important) */
	}

	/* Two or three actions side by side push the table past the card, so they stack in one column. */
	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-actions .woocommerce-button {
		display: flex;
		justify-content: center;
		width: 100%;
		white-space: nowrap;
	}

	.acct .woocommerce table.my_account_orders .woocommerce-orders-table__cell-order-actions .button + .button {
		margin-top: var(--nd-sp-6);
		margin-left: 0;
	}

	.acct .woocommerce .woocommerce-orders-table thead th:last-child,
	.acct .woocommerce table.shop_table.my_account_orders thead th:last-child {
		text-align: right;
	}
}

@container acct-content (max-width: 819.98px) {
	/* Orders as stacked cards: the order number heads each card, the rest as "Label: value" rows. */
	.acct-orders {
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	.acct .woocommerce table.shop_table.my_account_orders {
		display: block;
		background: transparent;
	}

	.acct .woocommerce table.shop_table_responsive thead {
		display: none;
	}

	.acct .woocommerce table.my_account_orders tbody {
		display: grid;
		gap: var(--nd-sp-12);
	}

	.acct .woocommerce table.my_account_orders tbody tr {
		display: block;
		border: 1px solid var(--nd-c-line);
		border-radius: var(--nd-radius);
		background: var(--nd-c-surface);
		overflow: hidden;
	}

	.acct .woocommerce table.my_account_orders tbody tr + tr {
		border-top: 1px solid var(--nd-c-line);
	}

	.acct .woocommerce table.shop_table_responsive tbody th,
	.acct .woocommerce table.shop_table_responsive tr td,
	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-ordered-products {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: var(--nd-sp-6) var(--nd-sp-12);
		text-align: right;
	}

	.acct .woocommerce table.shop_table_responsive tr :is(td, th)::before {
		content: attr(data-title);
		float: none;
		margin-right: auto;
		color: var(--nd-c-muted);
		font-size: var(--nd-fs-13);
		font-weight: var(--nd-fw-regular);
	}

	.acct .woocommerce table.my_account_orders tbody tr :is(td, th) + :is(td, th) {
		border-top: 1px solid var(--nd-c-line-soft);
	}

	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-number {
		background: var(--nd-c-surface-muted);
		font-size: var(--nd-fs-15);
	}

	/* The label on its own row, the thumbnails in one row under it. */
	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-ordered-products {
		justify-content: flex-start;
		text-align: left !important; /* beats snippet 165 (text-align: right !important up to 768px) */
	}

	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-ordered-products::before {
		flex: 1 0 100%;
	}

	.acct .woocommerce table.my_account_orders tbody tr td.woocommerce-orders-table__cell-order-actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		text-align: left;
	}

	.acct .woocommerce table.my_account_orders tbody tr td.woocommerce-orders-table__cell-order-actions::before {
		content: none;
		display: none;
	}

	.acct .woocommerce .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-actions .woocommerce-button {
		width: 100%;
	}

	.acct .woocommerce table.my_account_orders .woocommerce-orders-table__cell-order-actions .button + .button {
		margin-left: 0;
	}
}
