/* Cookie lišta eshop-core. Téma prispôsobí vzhľad cez CSS premenné --eshop-consent-* (napr. v :root alebo body). */
.eshop-consent,
.eshop-consent-dialog {
	--_bg: var(--eshop-consent-bg, #ffffff);
	--_fg: var(--eshop-consent-fg, #1b1b1b);
	--_muted: var(--eshop-consent-muted, #4a4a4a);
	--_border: var(--eshop-consent-border, #c9c9c9);
	--_btn-bg: var(--eshop-consent-btn-bg, #1b1b1b);
	--_btn-fg: var(--eshop-consent-btn-fg, #ffffff);
	--_btn-border: var(--eshop-consent-btn-border, var(--_btn-bg));
	--_btn-hover: var(--eshop-consent-btn-hover-bg, #3a3a3a);
	--_link: var(--eshop-consent-link, inherit);
	--_focus: var(--eshop-consent-focus, #005fcc);
	--_radius: var(--eshop-consent-radius, 8px);
	--_shadow: var(--eshop-consent-shadow, 0 -2px 18px rgba(0, 0, 0, .18));
	--_font: var(--eshop-consent-font, inherit);
	--_max: var(--eshop-consent-max-width, 72rem);
	box-sizing: border-box;
	color: var(--_fg);
	font-family: var(--_font);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.eshop-consent *,
.eshop-consent-dialog * { box-sizing: border-box; }

.eshop-consent {
	position: fixed;
	inset: auto 0 0 0;
	z-index: var(--eshop-consent-z, 99990);
	padding: 0 0.75rem 0.75rem;
	pointer-events: none;
}
.eshop-consent[hidden] { display: none; }
.eshop-consent__inner {
	position: relative;
	max-width: var(--_max);
	max-height: 50vh;
	margin: 0 auto;
	overflow: auto;
	padding: 1rem 3rem 1rem 1.25rem;
	background: var(--_bg);
	border: 1px solid var(--_border);
	border-radius: var(--_radius);
	box-shadow: var(--_shadow);
	pointer-events: auto;
}
.eshop-consent__title {
	margin: 0 0 0.25rem;
	font-weight: 700;
	font-size: 1.0625rem;
}
.eshop-consent__text { margin: 0 0 0.75rem; color: var(--_muted); }
.eshop-consent a,
.eshop-consent-dialog a { color: var(--_link); text-decoration: underline; text-underline-offset: 2px; }

.eshop-consent__actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 0.5rem;
}
/* Všetky tlačidlá rovnaké (farba, veľkosť) – rovnocenné voľby podľa RÚ SR / ÚOOÚ */
.eshop-consent__btn {
	min-height: 2.75rem;
	margin: 0;
	padding: 0.5rem 1rem;
	font: inherit;
	font-weight: 600;
	color: var(--_btn-fg);
	background: var(--_btn-bg);
	border: 2px solid var(--_btn-border);
	border-radius: var(--_radius);
	cursor: pointer;
}
.eshop-consent__btn:hover { background: var(--_btn-hover); border-color: var(--_btn-hover); }
.eshop-consent__close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	color: var(--_fg);
	background: transparent;
	border: 0;
	border-radius: var(--_radius);
	cursor: pointer;
}
.eshop-consent__close:hover { background: rgba(127, 127, 127, .15); }
.eshop-consent button:focus-visible,
.eshop-consent a:focus-visible,
.eshop-consent-dialog button:focus-visible,
.eshop-consent-dialog a:focus-visible,
.eshop-consent-dialog input:focus-visible,
.eshop-cookie-settings:focus-visible {
	outline: 3px solid var(--_focus, #005fcc);
	outline-offset: 2px;
}

.eshop-consent-dialog {
	width: min(40rem, calc(100% - 1.5rem));
	max-height: calc(100vh - 2rem);
	margin: auto;
	padding: 0;
	background: var(--_bg);
	border: 1px solid var(--_border);
	border-radius: var(--_radius);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
}
.eshop-consent-dialog:not([open]) { display: none; }
.eshop-consent-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.eshop-consent-dialog__panel { position: relative; margin: 0; padding: 1.25rem; }
.eshop-consent-dialog__head { position: relative; padding-right: 3rem; }
.eshop-consent-dialog__head .eshop-consent__close { top: -0.5rem; right: -0.5rem; }
.eshop-consent-dialog__title { margin: 0 0 0.5rem; font-size: 1.25rem; line-height: 1.3; color: var(--_fg); }
.eshop-consent-dialog__intro { margin: 0 0 1rem; color: var(--_muted); }
.eshop-consent-dialog__cats { margin: 0 0 1rem; padding: 0; list-style: none; }
.eshop-consent-cat { padding: 0.75rem 0; border-top: 1px solid var(--_border); }
.eshop-consent-cat__row { display: flex; align-items: center; gap: 0.625rem; flex-wrap: wrap; }
.eshop-consent-cat__input { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--_btn-bg); cursor: pointer; }
.eshop-consent-cat__input:disabled { cursor: not-allowed; }
.eshop-consent-cat__label { font-weight: 700; cursor: pointer; }
.eshop-consent-cat__badge { margin-left: auto; font-size: 0.8125rem; color: var(--_muted); }
.eshop-consent-cat__desc { margin: 0.25rem 0 0 1.875rem; color: var(--_muted); font-size: 0.875rem; }

.eshop-cookie-settings {
	padding: 0;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	background: none;
	border: 0;
	cursor: pointer;
}
.eshop-cookie-table { max-width: 100%; overflow-x: auto; }
.eshop-cookie-table table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.eshop-cookie-table caption { text-align: left; font-weight: 700; padding-bottom: 0.5rem; }
.eshop-cookie-table th,
.eshop-cookie-table td { padding: 0.5rem; text-align: left; vertical-align: top; border-bottom: 1px solid currentColor; border-bottom-color: rgba(127, 127, 127, .35); }
.eshop-cookie-table code { white-space: normal; word-break: break-word; }

@media (max-width: 40rem) {
	.eshop-consent { padding: 0; }
	.eshop-consent__inner { border-radius: var(--_radius) var(--_radius) 0 0; padding: 0.875rem 3rem 0.875rem 1rem; }
	.eshop-consent__actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
	.eshop-consent__btn, .eshop-consent__close { transition: background-color .15s ease, border-color .15s ease; }
}
@media (forced-colors: active) {
	.eshop-consent__btn { border: 2px solid ButtonText; }
}
