/**
 * Vlastná hlavička — benab-style (px-shop-theme) dizajn.
 *
 * Samostatné CSS bez build kroku — hlavička sa načítava na každej stránke,
 * aj tam, kde archive.css nie je (Elementor stránky, košík…), preto sú
 * tokeny deklarované priamo na .px-header (rovnaké hodnoty ako .pc-scope
 * v archive.css + farby topbaru z Elementor kitu).
 *
 * Breakpointy podľa Elementoru: mobil < 768, tablet 768–1024, desktop ≥ 1025.
 */

.px-header {
	--pc-paper: 255 255 255;
	--pc-ink: 4 40 23;           /* Text #042817 */
	--pc-accent: 0 191 99;       /* Pneuvosovič zelená #00BF63 */
	--pc-accent-deep: 0 145 75;
	--pc-soft: 244 246 247;
	--pc-line: 231 243 237;      /* Light #E7F3ED */
	--pc-muted: 84 104 95;
	--pc-sage: 137 171 160;      /* Sekundárny #89ABA0 */
	--pc-topbar-text: 135 152 146; /* Footer Text #879892 */
	--pc-radius-control: 9999px;

	--px-header-topbar-h: 2.5rem;
	--px-header-main-h: 4rem;

	position: sticky;
	top: 0;
	z-index: 990;
	font-size: 0.9375rem;
	line-height: 1.4;
	color: rgb(var(--pc-ink));
}

.px-header *,
.px-header *::before,
.px-header *::after {
	box-sizing: border-box;
}

.px-header a {
	text-decoration: none;
	color: inherit;
}

.px-header ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.px-header-icon {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}

.px-header .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Rovnaký kontajner ako archív / úvodka */
.px-header__container {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 90rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 640px) {
	.px-header__container { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (min-width: 1024px) {
	.px-header__container { padding-left: 2rem; padding-right: 2rem; }
}

/* Sticky: topbar odscrolluje, hlavný pruh zostáva */
@media (min-width: 768px) {
	.px-header {
		top: calc(-1 * var(--px-header-topbar-h));
	}
}

@media (min-width: 783px) {
	body.admin-bar .px-header {
		top: calc(32px - var(--px-header-topbar-h));
	}
}

.px-header.is-stuck .px-header__main {
	box-shadow: 0 4px 16px rgb(var(--pc-ink) / 0.08);
}

/* =========================================================================
   TOPBAR
   ========================================================================= */

.px-header__topbar {
	background: rgb(var(--pc-ink));
	color: rgb(var(--pc-topbar-text));
	font-size: 0.8125rem;
}

.px-header__topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: var(--px-header-topbar-h);
}

.px-header__contacts {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	min-width: 0;
}

.px-header__contacts a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: color 0.15s;
}

.px-header__contacts a:hover {
	color: rgb(var(--pc-accent));
}

.px-header__contacts .px-header-icon {
	width: 0.875rem;
	height: 0.875rem;
	color: rgb(var(--pc-accent));
}

.px-header__tagline {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 1023px) {
	.px-header__tagline { display: none; }
}

.px-header__topnav {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-shrink: 0;
}

.px-header__topmenu {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.px-header__topmenu a {
	transition: color 0.15s;
}

.px-header__topmenu a:hover,
.px-header__topmenu .current-menu-item > a {
	color: rgb(var(--pc-accent));
}

/* Na tablete sa horné menu nezmestí — je v draweri */
@media (max-width: 1024px) {
	.px-header__topnav nav { display: none; }
}

.px-header__social {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.px-header__social a {
	display: inline-flex;
	transition: color 0.15s;
}

.px-header__social a:hover {
	color: rgb(var(--pc-accent));
}

.px-header__social .px-header-icon {
	width: 1rem;
	height: 1rem;
}

@media (max-width: 767px) {
	.px-header__topbar { display: none; }
}

/* =========================================================================
   HLAVNÝ PRUH
   ========================================================================= */

.px-header__main {
	background: rgb(var(--pc-paper));
	border-bottom: 1px solid rgb(var(--pc-line));
	transition: box-shadow 0.2s;
}

.px-header__main-inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	height: var(--px-header-main-h);
}

@media (min-width: 1025px) {
	.px-header { --px-header-main-h: 5.5rem; }
}

.px-header__logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.px-header__logo img {
	display: block;
	width: auto;
	height: 2.25rem;
}

@media (min-width: 1025px) {
	.px-header__logo img { height: 3rem; }
}

.px-header__logo-text {
	font-size: 1.25rem;
	font-weight: 700;
}

/* ---- Desktop navigácia (menu Kategórie) ---- */

.px-header__nav {
	flex: 1;
	min-width: 0;
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 1024px) {
	.px-header__nav { display: none; }
}

.px-header__menu {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.px-header__menu > li {
	position: relative;
}

.px-header__menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.5rem 0.75rem;
	font-weight: 500;
	white-space: nowrap;
	transition: color 0.15s;
}

/* Podčiarknutie pri hoveri (pointer underline ako v Elementore) */
.px-header__menu > li > a::after {
	content: '';
	position: absolute;
	left: 0.75rem;
	right: 0.75rem;
	bottom: 0.125rem;
	height: 2px;
	background: rgb(var(--pc-accent));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s;
}

.px-header__menu > li:hover > a,
.px-header__menu > li:focus-within > a,
.px-header__menu > li.current-menu-item > a,
.px-header__menu > li.current-menu-ancestor > a {
	color: rgb(var(--pc-accent-deep));
}

.px-header__menu > li:hover > a::after,
.px-header__menu > li:focus-within > a::after,
.px-header__menu > li.current-menu-item > a::after,
.px-header__menu > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

/* Chevron pre položky s podmenu */
.px-header__menu .menu-item-has-children > a::before {
	content: '';
	order: 2;
	width: 0.55em;
	height: 0.55em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-0.1em);
	flex-shrink: 0;
}

/* ---- Dropdowny ---- */

.px-header__menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 15rem;
	padding: 0.5rem;
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: 0.75rem;
	box-shadow: 0 12px 32px rgb(var(--pc-ink) / 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
	z-index: 10;
}

.px-header__menu li:hover > .sub-menu,
.px-header__menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.px-header__menu .sub-menu li {
	position: relative;
}

.px-header__menu .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.55rem 0.75rem;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	transition: background 0.15s, color 0.15s;
}

.px-header__menu .sub-menu a:hover,
.px-header__menu .sub-menu li:focus-within > a {
	background: rgb(var(--pc-accent));
	color: #fff;
}

.px-header__menu .sub-menu .menu-item-has-children > a::before {
	content: '';
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	flex-shrink: 0;
}

/* Tretia úroveň — flyout doprava */
.px-header__menu .sub-menu .sub-menu {
	top: -0.5rem;
	left: 100%;
	margin-left: 0.25rem;
}

/* Posledné položky — dropdown zarovnať doprava a flyout otvoriť doľava,
   aby nepretiekli za pravý okraj obrazovky */
.px-header__menu > li:nth-last-child(-n+2) > .sub-menu {
	left: auto;
	right: 0;
}

.px-header__menu > li:nth-last-child(-n+2) .sub-menu .sub-menu {
	left: auto;
	right: 100%;
	margin-left: 0;
	margin-right: 0.25rem;
}

/* ---- Akcie vpravo ---- */

.px-header__actions {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	flex-shrink: 0;
	margin-left: auto;
}

.px-header__cta {
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1.25rem;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-accent));
	color: #fff;
	font-weight: 600;
	font-size: 0.875rem;
	white-space: nowrap;
	transition: background 0.15s;
}

.px-header__cta:hover {
	background: rgb(var(--pc-accent-deep));
	color: #fff;
}

@media (max-width: 1279px) {
	.px-header__main .px-header__cta { display: none; }
}

.px-header__iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(var(--pc-line));
	color: rgb(var(--pc-sage));
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.px-header__iconbtn:hover {
	background: rgb(var(--pc-accent));
	color: #fff;
}

@media (max-width: 767px) {
	.px-header__account { display: none; }
}

.px-header__hamburger {
	background: rgb(var(--pc-accent));
	color: #fff;
}

.px-header__hamburger:hover {
	background: rgb(var(--pc-accent-deep));
}

@media (min-width: 1025px) {
	.px-header__hamburger { display: none; }
}

/* ---- Košík ---- */

.px-header__cart {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	height: 2.5rem;
	padding: 0 0.875rem;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-line));
	font-weight: 600;
	font-size: 0.875rem;
	transition: background 0.15s;
}

.px-header__cart:hover {
	background: rgb(var(--pc-soft));
}

.px-header__cart-icon {
	position: relative;
	display: inline-flex;
	color: rgb(var(--pc-sage));
}

.px-header__cart:hover .px-header__cart-icon {
	color: rgb(var(--pc-accent));
}

.px-header-cart-count {
	position: absolute;
	top: -0.5rem;
	right: -0.625rem;
	min-width: 1.125rem;
	height: 1.125rem;
	padding: 0 0.25rem;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-accent));
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.125rem;
	text-align: center;
}

.px-header-cart-total {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.px-header__cart {
		width: 2.5rem;
		padding: 0;
		justify-content: center;
	}

	.px-header-cart-total { display: none; }
}

/* =========================================================================
   PANELY (search / drawer / minicart) + BACKDROP
   ========================================================================= */

.px-header__backdrop {
	position: fixed;
	inset: 0;
	background: rgb(var(--pc-ink) / 0.5);
	z-index: 1000;
	opacity: 0;
	transition: opacity 0.2s;
}

.px-header__backdrop.is-open {
	opacity: 1;
}

.px-header__panel[hidden],
.px-header__backdrop[hidden] {
	display: none;
}

/* ---- Vyhľadávanie ---- */

.px-header__search {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: rgb(var(--pc-paper));
	border-bottom: 1px solid rgb(var(--pc-line));
	box-shadow: 0 16px 32px rgb(var(--pc-ink) / 0.1);
	padding: 1.25rem 0 1.5rem;
	z-index: 1010;
}

.px-header__search-form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.px-header__search-icon {
	color: rgb(var(--pc-sage));
	width: 1.375rem;
	height: 1.375rem;
}

.px-header__search-input {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	font-size: 1.125rem;
	color: rgb(var(--pc-ink));
	background: transparent;
}

.px-header__search-input::placeholder {
	color: rgb(var(--pc-muted) / 0.6);
}

.px-header__search-submit {
	padding: 0.55rem 1.5rem;
	border: 0;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-accent));
	color: #fff;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	transition: background 0.15s;
}

.px-header__search-submit:hover {
	background: rgb(var(--pc-accent-deep));
}

.px-header__search-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	font-size: 0.8125rem;
	color: rgb(var(--pc-muted));
}

.px-header .px-header__search-links a {
	padding: 0.3rem 0.75rem;
	border: 1px solid rgb(var(--pc-line));
	border-radius: var(--pc-radius-control);
	color: inherit;
	transition: border-color 0.15s, color 0.15s;
}

.px-header .px-header__search-links a:hover {
	border-color: rgb(var(--pc-accent));
	color: rgb(var(--pc-accent-deep));
}

/* Live výsledky (plnené z REST pixeler/v1/search cez header.js) */
.px-header__search-results {
	margin-top: 0.75rem;
	max-height: 60vh;
	overflow-y: auto;
}

.px-header__search-results[hidden] {
	display: none;
}

.px-header__search-results ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.px-header__search-heading {
	margin: 0;
	padding: 0.5rem 0.5rem 0.25rem;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgb(var(--pc-muted));
}

.px-header__search-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.625rem 0.5rem;
	border-radius: 0.5rem;
	transition: background 0.15s;
}

.px-header__search-row:hover {
	background: rgb(var(--pc-ink) / 0.05);
}

.px-header__search-row img,
.px-header__search-row .px-header__search-caticon {
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: 0.5rem;
	object-fit: cover;
	background: rgb(var(--pc-soft));
}

.px-header__search-caticon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(var(--pc-accent) / 0.1);
	color: rgb(var(--pc-accent-deep));
}

.px-header__search-rowinfo {
	flex: 1;
	min-width: 0;
}

.px-header__search-rowname {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.px-header__search-rowsub {
	display: block;
	font-size: 0.75rem;
	color: rgb(var(--pc-muted));
	margin-top: 0.125rem;
}

.px-header__search-rowsub del {
	margin-right: 0.35rem;
}

.px-header__search-rowsub ins {
	text-decoration: none;
	font-weight: 600;
	color: rgb(var(--pc-ink));
}

.px-header__search-empty {
	margin: 0;
	padding: 0.625rem 0.5rem;
	font-size: 0.875rem;
	color: rgb(var(--pc-muted));
}

.px-header .px-header__search-all {
	display: block;
	margin-top: 0.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgb(var(--pc-line));
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: rgb(var(--pc-accent-deep));
}

.px-header .px-header__search-all:hover {
	text-decoration: underline;
}

/* ---- Drawer + minicart (pravé panely) ---- */

.px-header__drawer,
.px-header__minicart {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(22rem, 100vw);
	background: rgb(var(--pc-paper));
	z-index: 1020;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.25s ease;
	box-shadow: -8px 0 32px rgb(var(--pc-ink) / 0.15);
}

.px-header__drawer.is-open,
.px-header__minicart.is-open {
	transform: translateX(0);
}

/* WP admin bar (32px, fixná od 783px) nesmie prekrývať hlavičku panela */
@media (min-width: 783px) {
	body.admin-bar .px-header__drawer,
	body.admin-bar .px-header__minicart {
		top: 32px;
	}
}

.px-header__drawer[hidden],
.px-header__minicart[hidden] {
	display: none;
}

.px-header__drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid rgb(var(--pc-line));
	flex-shrink: 0;
}

.px-header__drawer-title {
	font-size: 1.0625rem;
	font-weight: 700;
}

.px-header__drawer-body {
	overflow-y: auto;
	padding: 0.75rem 1.25rem 2rem;
	flex: 1;
}

/* Menu v draweri */
.px-header__drawer-menu > li {
	border-bottom: 1px solid rgb(var(--pc-line));
}

.px-header__drawer-menu > li:last-child {
	border-bottom: 0;
}

.px-header__drawer-menu a {
	display: block;
	padding: 0.75rem 0;
	font-weight: 500;
}

.px-header__drawer-menu .menu-item-has-children {
	position: relative;
}

/* JS tlačidlo na roztvorenie podmenu */
.px-header__subtoggle {
	position: absolute;
	top: 0.3rem;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 50%;
	background: rgb(var(--pc-soft));
	color: rgb(var(--pc-muted));
	cursor: pointer;
	transition: transform 0.2s, background 0.15s;
}

.px-header__subtoggle .px-header-icon {
	width: 1rem;
	height: 1rem;
}

.menu-item-has-children.is-open > .px-header__subtoggle {
	transform: rotate(180deg);
	background: rgb(var(--pc-line));
}

.px-header__drawer-menu .sub-menu {
	display: none;
	padding-left: 0.875rem;
	border-left: 2px solid rgb(var(--pc-line));
	margin-bottom: 0.5rem;
}

.px-header__drawer-menu .menu-item-has-children.is-open > .sub-menu {
	display: block;
}

.px-header__drawer-menu .sub-menu a {
	padding: 0.5rem 0;
	font-weight: 400;
	font-size: 0.875rem;
	color: rgb(var(--pc-muted));
}

.px-header__drawer-menu .sub-menu a:hover {
	color: rgb(var(--pc-accent-deep));
}

.px-header__drawer-cta {
	display: flex;
	justify-content: center;
	margin: 1.25rem 0;
}

.px-header__drawer-menu--secondary a {
	font-weight: 400;
	font-size: 0.875rem;
	color: rgb(var(--pc-muted));
	padding: 0.5rem 0;
}

.px-header__drawer-menu--secondary > li {
	border-bottom: 0;
}

.px-header__drawer-meta {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(var(--pc-line));
	display: grid;
	gap: 0.625rem;
}

.px-header__drawer-meta a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.9375rem;
}

.px-header__drawer-meta .px-header-icon {
	width: 1rem;
	height: 1rem;
	color: rgb(var(--pc-accent));
}

.px-header__drawer-social {
	margin-top: 1.25rem;
	color: rgb(var(--pc-muted));
}

.px-header__drawer-social .px-header-icon {
	width: 1.25rem;
	height: 1.25rem;
}

/* ---- Mini-košík (benab štruktúra: zoznam scrolluje, footer drží dole) ---- */

.px-header__minicart-body {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.px-header__minicart-body .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

/* .px-header kvôli resetu `.px-header ul` vyššie — bez neho by padding prehral */
.px-header .px-minicart__list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 1rem 1.25rem;
	margin: 0;
	list-style: none;
}

.px-minicart__item {
	position: relative;
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	padding: 0.625rem 1.5rem 0.625rem 0;
	border-bottom: 1px solid rgb(var(--pc-line));
	font-size: 0.875rem;
}

.px-minicart__item:last-child {
	border-bottom: 0;
}

.px-minicart__thumb {
	display: block;
	width: 4rem;
	height: 4rem;
	flex-shrink: 0;
	background: rgb(var(--pc-soft));
	border: 1px solid rgb(var(--pc-line));
	border-radius: 0.5rem;
	overflow: hidden;
}

.px-minicart__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin: 0;
	float: none;
}

.px-minicart__info {
	flex: 1;
	min-width: 0;
}

.px-minicart__name {
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.px-minicart__name a {
	color: rgb(var(--pc-ink));
}

.px-minicart__name a:hover {
	text-decoration: underline;
}

.px-minicart__qty {
	font-size: 0.75rem;
	color: rgb(var(--pc-muted));
	margin-top: 0.25rem;
}

.px-header__minicart a.remove {
	position: absolute;
	top: 0.625rem;
	right: 0;
	width: 1.5rem;
	height: 1.5rem;
	line-height: 1.375rem;
	text-align: center;
	border-radius: 50%;
	background: rgb(var(--pc-soft));
	color: rgb(var(--pc-muted)) !important;
	font-size: 1rem;
	text-decoration: none;
}

.px-header__minicart a.remove:hover {
	background: #dc2626;
	color: #fff !important;
}

.px-minicart__footer {
	flex-shrink: 0;
	padding: 1rem 1.25rem;
	border-top: 1px solid rgb(var(--pc-line));
	background: rgb(var(--pc-paper));
}

.px-minicart__totals {
	margin: 0 0 1rem;
	font-size: 0.8125rem;
}

.px-minicart__total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 0.375rem;
	color: rgb(var(--pc-muted));
}

.px-minicart__total-row--grand {
	margin: 0;
	padding-top: 0.5rem;
	border-top: 1px solid rgb(var(--pc-line));
	color: rgb(var(--pc-ink));
	font-size: 0.9375rem;
	font-weight: 600;
}

.px-minicart__total-row--grand .woocommerce-Price-amount {
	font-weight: 700;
}

.px-minicart__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}

/* Triedy tlačidiel si WooCommerce mení podľa verzie (button / wc-forward /
   wp-element-button), preto štýlujeme každý odkaz vo footeri mini-košíka. */
.px-minicart__buttons a,
.px-minicart__buttons .button {
	display: flex;
	justify-content: center;
	padding: 0.7rem 1.25rem;
	border-radius: var(--pc-radius-control);
	background: rgb(var(--pc-accent));
	color: #fff;
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: background 0.15s;
}

.px-minicart__buttons a:hover,
.px-minicart__buttons .button:hover {
	background: rgb(var(--pc-accent-deep));
	color: #fff;
}

.px-minicart__buttons a.checkout,
.px-minicart__buttons .button.checkout {
	background: rgb(var(--pc-ink));
}

.px-minicart__buttons a.checkout:hover,
.px-minicart__buttons .button.checkout:hover {
	background: rgb(var(--pc-accent-deep));
}

.px-minicart__empty {
	margin: 2rem 0;
	text-align: center;
	color: rgb(var(--pc-muted));
}

/* Odkaz „Zobraziť košík", ktorý WC pridáva po AJAX pridaní — namiesto neho
   otvárame mini-košík */
a.added_to_cart {
	display: none;
}

/* Spinner počas AJAX pridávania do košíka (header.js pridáva .loading) */
.single_add_to_cart_button.loading,
.add_to_cart_button.loading {
	color: transparent !important;
	pointer-events: none;
	position: relative;
}

.single_add_to_cart_button.loading::after,
.add_to_cart_button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	margin: -0.5rem 0 0 -0.5rem;
	border-radius: 9999px;
	border: 2px solid rgb(255 255 255 / 0.5);
	border-top-color: #fff;
	animation: px-header-spin 0.6s linear infinite;
}

@keyframes px-header-spin {
	to { transform: rotate(360deg); }
}

/* Zámok scrollovania pri otvorenom paneli */
body.px-header-lock {
	overflow: hidden;
}
