/*
 * Akce – registrace: veřejná část ve stylu banneru „Tomčo tým – společně silnější“.
 * Tmavě modré sklovité karty, přechod nebesky modrá → fialová, proložené nadpisy s linkou, písmo Poppins.
 * Barvy jdou přepsat proměnnými, např. .akreg { --akreg-from: #22d3ee; --akreg-to: #a855f7; }
 */

.akreg {
	--akreg-from: #2fb4f5;               /* nebesky modrá */
	--akreg-to: #7c5cf5;                 /* fialová */
	--akreg-grad: linear-gradient(100deg, var(--akreg-from), var(--akreg-to));
	--akreg-sky: #5cc8f8;                /* proložené nadpisy, drobné akcenty */
	--akreg-violet: #a78bfa;
	--akreg-bg: #0b1030;                 /* tmavě modrá */
	--akreg-bg-2: #111842;
	--akreg-ink: #fff;
	--akreg-text: #dfe4ff;
	--akreg-muted: #9aa3cf;
	--akreg-line: rgba(255, 255, 255, .1);
	--akreg-glass: rgba(255, 255, 255, .05);
	--akreg-glass-2: rgba(255, 255, 255, .08);
	--akreg-ring: rgba(92, 200, 248, .35);
	--akreg-ok: #34d399;
	--akreg-ok-soft: rgba(52, 211, 153, .14);
	--akreg-wait-soft: rgba(167, 139, 250, .16);
	--akreg-err: #fb7185;
	--akreg-err-soft: rgba(251, 113, 133, .12);

	--akreg-font: 'Akreg Poppins', 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--akreg-radius: 26px;
	--akreg-radius-sm: 14px;
	--akreg-max: 1040px;                 /* šířka obsahu při roztažení přes celou stránku */

	container-type: inline-size;
	margin: 2.5em 0;
	padding: clamp(22px, 4.5vw, 48px);
	scroll-margin-top: 90px;
	font-family: var(--akreg-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--akreg-text);
	/* Jedno souvislé pozadí pro celý blok */
	border: 1px solid var(--akreg-line);
	border-radius: var(--akreg-radius);
	background:
		radial-gradient(70% 45% at 100% 0%, rgba(124, 92, 245, .30), transparent 70%),
		radial-gradient(60% 40% at 0% 100%, rgba(47, 180, 245, .16), transparent 70%),
		linear-gradient(170deg, var(--akreg-bg-2), var(--akreg-bg) 60%);
	box-shadow: 0 30px 60px -30px rgba(11, 16, 48, .55);
}

.akreg *, .akreg *::before, .akreg *::after { box-sizing: border-box; }
.akreg h2, .akreg h3, .akreg h4, .akreg p, .akreg figure, .akreg dl, .akreg dd, .akreg ol { margin: 0; padding: 0; }
.akreg a { text-decoration: none; }
.akreg button, .akreg input { font-family: inherit; }

.akreg-icon { display: block; flex: none; width: 1.25em; height: 1.25em; }

/* Text s přechodem jako „společně silnější“ */
.akreg-capacity-left strong,
.akreg-sum-total,
.akreg-pay-amount dd strong {
	background: var(--akreg-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ---------- Nadpisy ---------- */

.akreg-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	font-size: .74em;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--akreg-sky);
}
.akreg-eyebrow::before { content: ""; width: 34px; height: 2px; flex: none; border-radius: 2px; background: var(--akreg-grad); }
.akreg-card-head { margin-bottom: 26px; }
.akreg .akreg-card-head h3,
.akreg .akreg-success-head h3 {
	font-size: clamp(1.7em, 6cqi, 2.3em);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
	text-transform: none;
	color: var(--akreg-ink);
}
.akreg-card-head p { margin-top: 10px; color: var(--akreg-muted); }

/* ---------- Karty ---------- */

/* Části v panelu – bez vlastního pozadí, oddělené jen jemnou linkou */
.akreg-card {
	position: relative;
	margin: 0;
	padding: 36px 0 0;
	border-top: 1px solid var(--akreg-line);
	margin-top: 36px;
}
.akreg > .akreg-card:first-child,
.akreg > .akreg-back + .akreg-card { margin-top: 0; padding-top: 0; border-top: 0; }
.akreg > .akreg-back + .akreg-card { margin-top: 20px; }

/* ---------- Přes celou šířku stránky ---------- */

.akreg.akreg-full {
	/* Vystoupí z obsahové šířky šablony až k okrajům okna (!important kvůli šablonám s pevnou šířkou obsahu). */
	width: auto !important;
	max-width: none !important;
	margin: 0 calc(50% - 50vw) !important;
	padding-block: clamp(40px, 7vw, 96px);
	padding-inline: max(20px, calc((100vw - var(--akreg-max)) / 2));
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background:
		radial-gradient(50% 40% at 100% 0%, rgba(124, 92, 245, .30), transparent 70%),
		radial-gradient(45% 35% at 0% 100%, rgba(47, 180, 245, .16), transparent 70%),
		linear-gradient(170deg, var(--akreg-bg-2), var(--akreg-bg) 60%);
}
/* Zabrání vodorovnému posuvníku kvůli šířce svislého posuvníku. */
html:has(.akreg-full),
body:has(.akreg-full) { overflow-x: clip; }

/* ---------- Stránka akce jako one page ---------- */

.akreg-onepage-main { margin-block: 0 !important; padding: 0 !important; }
.akreg-anchor { height: 0; scroll-margin-top: 90px; }
.akreg-hero + .akreg-card { margin-top: 36px; padding-top: 0; border-top: 0; }
.akreg-hero .akreg-eyebrow { margin-bottom: 12px; }
.akreg-onepage .akreg-title { font-size: clamp(2.2em, 7cqi, 3.6em); }

/* ---------- Úvod (shortcode s popisem) ---------- */

.akreg-hero { margin-bottom: 20px; }
.akreg-thumb { display: flex; justify-content: center; margin-bottom: 28px; }
/* Obrázek v původním poměru stran a nejvýš v původní velikosti (nezvětšuje se). */
.akreg .akreg-thumb img { display: block; width: auto; max-width: 100%; height: auto; aspect-ratio: auto; object-fit: initial; border-radius: var(--akreg-radius-sm); }
.akreg .akreg-title { font-size: clamp(2em, 8cqi, 3.2em); font-weight: 800; line-height: 1.05; letter-spacing: -.03em; color: var(--akreg-ink); }
.akreg-about > .akreg-eyebrow { margin-bottom: 16px; }

/* ---------- Informace o akci ---------- */

.akreg-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 22px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.akreg-facts li { display: flex; gap: 14px; align-items: center; margin: 0; }
.akreg-fact-ico {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	flex: none;
	border-radius: 16px;
	background: var(--akreg-grad);
	color: #fff;
	box-shadow: 0 10px 24px -10px var(--akreg-to);
}
.akreg-fact-text { display: flex; flex-direction: column; min-width: 0; }
.akreg-fact-text small { font-size: .7em; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--akreg-sky); }
.akreg-fact-text strong { font-weight: 600; line-height: 1.35; color: var(--akreg-ink); overflow-wrap: anywhere; }

.akreg .akreg-fact-link { display: inline; color: inherit; text-decoration: underline; text-decoration-color: var(--akreg-sky); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: color .15s; }
.akreg .akreg-fact-link:hover { color: var(--akreg-sky); }
.akreg-nowrap { white-space: nowrap; }
.akreg-fact-link .akreg-icon { display: inline-block; width: .9em; height: .9em; margin-left: 5px; vertical-align: -.05em; color: var(--akreg-sky); stroke-width: 2.2; }

.akreg-capacity { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--akreg-line); }
.akreg-capacity-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; margin-bottom: 12px; }
.akreg-capacity-left { font-weight: 600; font-size: 1.05em; color: var(--akreg-ink); }
.akreg-capacity-left strong { font-size: 2.3em; font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.akreg-capacity-total { font-size: .9em; color: var(--akreg-muted); }
.akreg-bar { height: 10px; border-radius: 99px; background: var(--akreg-glass-2); overflow: hidden; }
.akreg-bar span { display: block; height: 100%; min-width: 10px; border-radius: inherit; background: var(--akreg-grad); box-shadow: 0 0 16px var(--akreg-to); transition: width .6s ease; }
.akreg-capacity-full .akreg-capacity-left strong { background: none; color: var(--akreg-err); }
.akreg-capacity-full .akreg-bar span { background: var(--akreg-err); box-shadow: none; }

/* Odpočet – decentní skleněný řádek */
.akreg-countdown {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 24px;
	padding: 12px 16px;
	border: 1px solid var(--akreg-line);
	border-radius: var(--akreg-radius-sm);
	background: var(--akreg-glass);
}
.akreg-countdown-label { display: inline-flex; align-items: center; gap: 8px; font-size: .88em; color: var(--akreg-muted); }
.akreg-countdown-label .akreg-icon { width: 1.15em; height: 1.15em; color: var(--akreg-sky); }
.akreg-countdown-units { display: inline-flex; gap: 14px; }
.akreg-countdown-unit { display: inline-flex; align-items: baseline; gap: 3px; }
.akreg-countdown-unit b { font-size: 1.1em; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--akreg-ink); }
.akreg-countdown-unit small { font-size: .78em; color: var(--akreg-muted); }
.akreg-countdown.is-live .akreg-countdown-units { display: none; }

/* ---------- Harmonogram ---------- */

.akreg-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.akreg-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 4px 28px;
	margin: 0;
	padding: 0 0 26px;
}
.akreg-timeline li:last-child { padding-bottom: 0; }
/* Svislá linka s přechodem a tečky jako v banneru */
.akreg-tl-body { position: relative; padding-left: 30px; }
.akreg-tl-body::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--akreg-grad);
	box-shadow: 0 0 0 4px rgba(124, 92, 245, .18), 0 0 14px var(--akreg-to);
}
.akreg-timeline li:not(:last-child) .akreg-tl-body::after {
	content: "";
	position: absolute;
	top: 22px;
	bottom: -28px;
	left: 7px;
	width: 2px;
	border-radius: 2px;
	background: linear-gradient(var(--akreg-to), rgba(124, 92, 245, .15));
}
.akreg-tl-time {
	padding-top: 1px;
	font-size: 1.05em;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	text-align: right;
	background: var(--akreg-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.akreg-tl-body strong { display: block; font-size: 1.05em; font-weight: 600; line-height: 1.35; color: var(--akreg-ink); }
.akreg-tl-body p { margin: 4px 0 0; font-size: .92em; color: var(--akreg-muted); }
@container (max-width: 480px) {
	.akreg-timeline li { grid-template-columns: 1fr; padding-left: 30px; }
	.akreg-tl-time { text-align: left; }
	.akreg-tl-body { position: static; padding-left: 0; }
	.akreg-tl-body::before { top: 4px; }
	.akreg-timeline li:not(:last-child) .akreg-tl-body::after { top: 22px; bottom: 2px; }
}

/* ---------- Obsah pod údaji akce ---------- */

.akreg .akreg-extra > :first-child { margin-top: 0; }
.akreg .akreg-extra > :last-child { margin-bottom: 0; }
.akreg .akreg-extra p { margin: 0 0 1em; }
.akreg .akreg-extra h2,
.akreg .akreg-extra h3 { margin: 1.4em 0 .6em; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-transform: none; color: var(--akreg-ink); }
.akreg .akreg-extra h2 { font-size: 1.8em; }
.akreg .akreg-extra h3 { font-size: 1.45em; }
.akreg .akreg-extra h4 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 1.6em 0 .8em;
	font-size: .74em;
	font-weight: 700;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--akreg-sky);
}
.akreg .akreg-extra h4::before { content: ""; width: 34px; height: 2px; flex: none; border-radius: 2px; background: var(--akreg-grad); }
.akreg .akreg-extra > h4:first-child { margin-top: 0; }
/* Odrážky jako v banneru: kolečko s přechodem a fajfkou, oddělené linkou */
.akreg .akreg-extra ul { margin: 0 0 1.2em; padding: 0; list-style: none; }
.akreg .akreg-extra ul li { position: relative; margin: 0; padding: 12px 0 12px 42px; border-bottom: 1px solid var(--akreg-line); color: var(--akreg-ink); }
.akreg .akreg-extra ul li:last-child { border-bottom: 0; }
.akreg .akreg-extra ul li::before {
	content: "";
	position: absolute;
	top: 13px;
	left: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat,
		var(--akreg-grad);
	box-shadow: 0 6px 14px -6px var(--akreg-to);
}
.akreg .akreg-extra ol { margin: 0 0 1em; padding-left: 1.4em; }
.akreg .akreg-extra ol li { margin: .35em 0; }
.akreg .akreg-extra ol li::marker { font-weight: 700; color: var(--akreg-sky); }
.akreg .akreg-extra a { color: var(--akreg-sky); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.akreg .akreg-extra a:hover { color: #fff; }
.akreg .akreg-extra strong { font-weight: 700; color: var(--akreg-ink); }
.akreg .akreg-extra blockquote { margin: 0 0 1em; padding: 16px 20px; border: 1px solid var(--akreg-line); border-left: 3px solid var(--akreg-sky); border-radius: var(--akreg-radius-sm); background: var(--akreg-glass); color: var(--akreg-ink); }
.akreg .akreg-extra blockquote p:last-child { margin-bottom: 0; }
.akreg .akreg-extra img { max-width: 100%; height: auto; border-radius: var(--akreg-radius-sm); }
.akreg .akreg-extra .wp-caption { max-width: 100%; }
.akreg .akreg-extra .wp-caption-text { margin-top: 6px; font-size: .85em; color: var(--akreg-muted); }
.akreg .akreg-extra .alignleft { float: left; margin: .3em 1.2em .8em 0; }
.akreg .akreg-extra .alignright { float: right; margin: .3em 0 .8em 1.2em; }
.akreg .akreg-extra .aligncenter { display: block; margin-inline: auto; }
.akreg .akreg-extra::after { content: ""; display: table; clear: both; }
.akreg .akreg-extra iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--akreg-radius-sm); }
.akreg .akreg-extra table { width: 100%; margin: 0 0 1em; border-collapse: collapse; }
.akreg .akreg-extra th, .akreg .akreg-extra td { padding: 8px 10px; border-bottom: 1px solid var(--akreg-line); text-align: left; }
.akreg .akreg-extra hr { margin: 1.5em 0; border: 0; border-top: 1px solid var(--akreg-line); }

/* ---------- Štítky ---------- */

.akreg-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px 5px 10px;
	border-radius: 99px;
	font-size: .78em;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}
.akreg-pill .akreg-icon { width: 1.15em; height: 1.15em; stroke-width: 2.4; }
.akreg-pill-ok { background: var(--akreg-ok-soft); color: var(--akreg-ok); }
.akreg-pill-wait { background: var(--akreg-wait-soft); color: var(--akreg-violet); }
.akreg-pill-warn { background: var(--akreg-grad); color: #fff; box-shadow: 0 8px 18px -8px var(--akreg-to); }

/* ---------- Formulář ---------- */

.akreg-grid { display: grid; gap: 18px; }
@container (min-width: 560px) {
	.akreg-grid { grid-template-columns: 1fr 1fr; }
	.akreg-field-wide { grid-column: 1 / -1; }
}

.akreg-field { display: flex; flex-direction: column; min-width: 0; }
.akreg .akreg-field > label { margin: 0 0 7px; font-size: .9em; font-weight: 600; color: var(--akreg-ink); }
.akreg .akreg-field input[type="text"],
.akreg .akreg-field input[type="email"],
.akreg .akreg-field input[type="tel"] {
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 18px;
	font-size: 1em;
	color: #fff;
	border: 1px solid var(--akreg-line);
	border-radius: var(--akreg-radius-sm);
	background: var(--akreg-glass);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.akreg .akreg-field input::placeholder { color: var(--akreg-muted); opacity: .7; }
.akreg .akreg-field input:hover { border-color: rgba(255, 255, 255, .2); }
.akreg .akreg-field input:focus {
	outline: none;
	border-color: var(--akreg-sky);
	background: var(--akreg-glass-2);
	box-shadow: 0 0 0 4px var(--akreg-ring);
}
.akreg .akreg-field input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 100px var(--akreg-bg-2) inset; caret-color: #fff; }
.akreg .akreg-field input[aria-invalid="true"] { border-color: var(--akreg-err); background: var(--akreg-err-soft); }
.akreg-error { margin-top: 7px; font-size: .86em; font-weight: 500; color: var(--akreg-err); }
.akreg-hint { margin-top: 10px; font-size: .82em; color: var(--akreg-muted); }

/* Počet míst a cena */
.akreg-order {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin-top: 26px;
	padding: 24px 26px;
	border: 1px solid var(--akreg-line);
	border-radius: 22px;
	background: var(--akreg-glass);
}
.akreg .akreg-order .akreg-field > label { font-size: .72em; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--akreg-sky); }
.akreg-stepper {
	display: inline-flex;
	align-items: center;
	width: max-content;
	padding: 6px;
	border: 1px solid var(--akreg-line);
	border-radius: 16px;
	background: rgba(0, 0, 0, .2);
}
.akreg-stepper:focus-within { border-color: var(--akreg-sky); box-shadow: 0 0 0 4px var(--akreg-ring); }
.akreg .akreg-stepper button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--akreg-grad);
	color: #fff;
	cursor: pointer;
	transition: transform .1s, filter .15s, opacity .15s;
}
.akreg .akreg-stepper button .akreg-icon { width: 20px; height: 20px; stroke-width: 2.6; }
.akreg .akreg-stepper button:hover:not(:disabled) { filter: brightness(1.12); }
.akreg .akreg-stepper button:active:not(:disabled) { transform: scale(.92); }
.akreg .akreg-stepper button:disabled { opacity: .3; cursor: not-allowed; }
.akreg .akreg-stepper button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.akreg .akreg-stepper input[type="number"] {
	width: 66px;
	height: 44px;
	margin: 0;
	padding: 0;
	font-size: 1.5em;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: center;
	color: #fff;
	border: 0;
	background: transparent;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.akreg .akreg-stepper input[type="number"]:focus { outline: none; }
.akreg .akreg-stepper input::-webkit-outer-spin-button,
.akreg .akreg-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.akreg-sum { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.akreg-sum-label { font-size: .72em; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--akreg-sky); }
.akreg-sum-total { font-size: 2.5em; font-weight: 800; line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.akreg-sum-calc { font-size: .85em; color: var(--akreg-muted); }
@container (max-width: 440px) {
	.akreg-sum { align-items: flex-start; text-align: left; }
}

/* Souhlas – vlastní zaškrtávátko */
.akreg-consent { margin-top: 24px; }
.akreg .akreg-consent label { position: relative; display: flex; gap: 12px; align-items: flex-start; margin: 0; font-size: .88em; font-weight: 400; line-height: 1.55; color: var(--akreg-muted); cursor: pointer; }
.akreg-consent input { position: absolute; width: 24px; height: 24px; margin: 0; opacity: 0; }
.akreg-checkbox {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	flex: none;
	border: 1.5px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: var(--akreg-glass);
	transition: background .15s, border-color .15s;
}
.akreg-checkbox .akreg-icon { width: 14px; height: 14px; stroke-width: 3.2; color: #fff; opacity: 0; transform: scale(.5); transition: opacity .15s, transform .15s; }
.akreg-consent label:hover .akreg-checkbox { border-color: var(--akreg-sky); }
.akreg-consent input:checked + .akreg-checkbox { border-color: transparent; background: var(--akreg-grad); box-shadow: 0 6px 14px -6px var(--akreg-to); }
.akreg-consent input:checked + .akreg-checkbox .akreg-icon { opacity: 1; transform: none; }
.akreg-consent input:focus-visible + .akreg-checkbox { box-shadow: 0 0 0 4px var(--akreg-ring); }
.akreg-consent input[aria-invalid="true"] + .akreg-checkbox { border-color: var(--akreg-err); }

.akreg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Tlačítka ---------- */

.akreg .akreg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 58px;
	margin: 0;
	padding: 0 30px;
	font-size: 1.08em;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: #fff;
	border: 0;
	border-radius: 99px;
	background: var(--akreg-grad);
	box-shadow: 0 16px 30px -12px var(--akreg-to), 0 0 0 1px rgba(255, 255, 255, .08) inset;
	cursor: pointer;
	transition: transform .15s, box-shadow .15s, filter .15s;
}
.akreg .akreg-button:hover { color: #fff; filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 20px 34px -12px var(--akreg-to); }
.akreg .akreg-button:active { transform: translateY(0); }
.akreg .akreg-button:focus-visible { outline: 3px solid var(--akreg-sky); outline-offset: 3px; }
.akreg .akreg-button .akreg-icon { stroke-width: 2.4; transition: transform .2s; }
.akreg .akreg-button:hover .akreg-icon { transform: translateX(4px); }
.akreg .akreg-button-block { width: 100%; margin-top: 26px; }
.akreg .akreg-button[aria-busy="true"] { opacity: .75; pointer-events: none; }
.akreg .akreg-button[aria-busy="true"] .akreg-icon { animation: akreg-pulse 1s infinite; }

/* Obrysové tlačítko jako „Pardubice“ v banneru */
.akreg .akreg-button-ghost {
	margin-top: 26px;
	min-height: 50px;
	padding: 0 22px;
	font-size: .95em;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .16);
	background: var(--akreg-glass);
	box-shadow: none;
}
.akreg .akreg-button-ghost .akreg-icon { color: var(--akreg-sky); }
.akreg .akreg-button-ghost:hover { filter: none; background: var(--akreg-glass-2); border-color: var(--akreg-sky); box-shadow: none; }
.akreg .akreg-button-ghost:hover .akreg-icon { transform: none; }

.akreg .akreg-footnote { margin-top: 16px; font-size: .8em; text-align: center; color: var(--akreg-muted); text-wrap: balance; }
.akreg-footnote .akreg-icon { display: inline-block; width: 1.1em; height: 1.1em; margin-right: 4px; vertical-align: -.2em; color: var(--akreg-sky); }

/* ---------- Upozornění ---------- */

.akreg .akreg-alert { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 22px; padding: 16px 18px; border: 1px solid transparent; border-radius: var(--akreg-radius-sm); font-size: .95em; }
.akreg-alert .akreg-icon { margin-top: 2px; }
.akreg-alert-error { background: var(--akreg-err-soft); border-color: rgba(251, 113, 133, .3) !important; color: var(--akreg-err); font-weight: 500; }
.akreg-alert-ok { background: var(--akreg-ok-soft); border-color: rgba(52, 211, 153, .3) !important; color: var(--akreg-ok); font-weight: 600; }
.akreg .akreg-alert-warn { margin: 22px 0 0; background: var(--akreg-wait-soft); border-color: rgba(167, 139, 250, .3); color: var(--akreg-text); }
.akreg-alert-warn .akreg-icon, .akreg-alert-warn strong { color: var(--akreg-violet); }

.akreg-closed { display: flex; gap: 18px; align-items: center; }
.akreg-closed-ico { display: grid; place-items: center; width: 56px; height: 56px; flex: none; border-radius: 16px; background: var(--akreg-grad); color: #fff; }
.akreg .akreg-closed h3 { font-size: 1.3em; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--akreg-ink); }
.akreg-closed p { margin-top: 4px; color: var(--akreg-muted); }

/* ---------- Po registraci: platba ---------- */

.akreg-success-head { display: flex; gap: 18px; align-items: center; margin-bottom: 28px; }
.akreg-success-head .akreg-eyebrow { margin-bottom: 6px; }
.akreg-success-ico {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	flex: none;
	border-radius: 50%;
	background: var(--akreg-grad);
	color: #fff;
	box-shadow: 0 0 0 8px rgba(124, 92, 245, .18), 0 16px 30px -12px var(--akreg-to);
	animation: akreg-pop .5s cubic-bezier(.2, 1.4, .4, 1) both;
}
.akreg-success-ico .akreg-icon { width: 30px; height: 30px; stroke-width: 2.8; stroke-dasharray: 24; stroke-dashoffset: 24; animation: akreg-draw .4s .25s ease-out forwards; }
.akreg-success-head p { margin-top: 6px; color: var(--akreg-muted); }

.akreg .akreg-subtitle {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	font-size: .74em;
	font-weight: 700;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--akreg-sky);
}
.akreg .akreg-subtitle::before { content: ""; width: 34px; height: 2px; flex: none; border-radius: 2px; background: var(--akreg-grad); }

.akreg-payment { display: flex; flex-wrap: wrap; gap: 26px; align-items: flex-start; }
.akreg .akreg-qr-card {
	flex: none;
	width: 244px;
	margin: 4px auto;
	padding: 14px 14px 12px;
	border-radius: 24px;
	background: #fff;
	color: #1b2150;
	text-align: center;
	box-shadow: 0 0 0 4px var(--akreg-bg), 0 0 0 7px var(--akreg-to), 0 24px 44px -18px rgba(124, 92, 245, .7);
}
.akreg-qr { width: 100%; aspect-ratio: 1; }
.akreg-qr svg { display: block; width: 100%; height: 100%; }
.akreg-qr-card figcaption { margin-top: 8px; padding-top: 10px; border-top: 2px dashed #e3e6f3; font-size: .8em; font-weight: 600; }

.akreg-pay { flex: 1 1 340px; min-width: 0; border: 1px solid var(--akreg-line); border-radius: 20px; background: var(--akreg-glass); overflow: hidden; }
.akreg-pay > div { display: flex; flex-direction: column; gap: 2px; padding: 13px 18px; border-top: 1px solid var(--akreg-line); }
.akreg-pay > div:first-child { border-top: 0; }
.akreg-pay dt { font-size: .68em; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--akreg-muted); }
.akreg-pay dd { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; color: var(--akreg-ink); }
.akreg-pay dd > span, .akreg-pay dd > strong { min-width: 0; overflow-wrap: break-word; font-variant-numeric: tabular-nums; }
.akreg-pay-amount { background: rgba(124, 92, 245, .14); }
.akreg-pay-amount dt { color: var(--akreg-sky); }
.akreg-pay-amount dd strong { font-size: 2em; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; }

.akreg .akreg-copy {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: none;
	margin: 0;
	padding: 6px 12px;
	font-size: .78em;
	font-weight: 600;
	color: var(--akreg-sky);
	border: 1px solid var(--akreg-line);
	border-radius: 99px;
	background: var(--akreg-glass);
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.akreg .akreg-copy .akreg-icon { width: 1.15em; height: 1.15em; }
.akreg .akreg-copy:hover { color: #fff; border-color: transparent; background: var(--akreg-grad); }
.akreg .akreg-copy:focus-visible { outline: 2px solid var(--akreg-sky); outline-offset: 1px; }
.akreg .akreg-copy.is-copied { color: #0b1030; border-color: transparent; background: var(--akreg-ok); }
@container (max-width: 420px) {
	.akreg .akreg-copy span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* Dvě varianty platby: QR z českého účtu a IBAN bez QR */
.akreg-pay-method + .akreg-pay-method { margin-top: 28px; padding-top: 24px; border-top: 1px dashed var(--akreg-line); }
.akreg .akreg-pay-method-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0 0 16px;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--akreg-ink);
}
.akreg-pay-method-title .akreg-icon { width: 1.3em; height: 1.3em; color: var(--akreg-sky); }
.akreg-pay-method-title small { padding: 2px 10px; border: 1px solid var(--akreg-line); border-radius: 99px; font-size: .72em; font-weight: 500; color: var(--akreg-muted); }
.akreg-pay-method > .akreg-pay { width: 100%; }

/* Přidání do kalendáře */
.akreg-calendar { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--akreg-line); }
.akreg-calendar-links { display: flex; flex-wrap: wrap; gap: 10px; }
.akreg .akreg-cal-btn {
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 18px;
	font-size: .92em;
	font-weight: 600;
	white-space: nowrap;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 99px;
	background: var(--akreg-glass);
	transition: border-color .15s, background-color .15s;
}
.akreg .akreg-cal-btn .akreg-icon { color: var(--akreg-sky); }
.akreg .akreg-cal-btn:hover { color: #fff; border-color: var(--akreg-sky); background: var(--akreg-glass-2); }
.akreg .akreg-cal-btn:focus-visible { outline: 3px solid var(--akreg-sky); outline-offset: 2px; }
.akreg .akreg-calendar-note { margin-top: 10px; font-size: .8em; color: var(--akreg-muted); }

/* ---------- Seznam přihlášených ---------- */

.akreg-people { margin: 0; padding: 0; list-style: none; }
.akreg-people li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 13px 0; border-top: 1px solid var(--akreg-line); }
.akreg-people li:first-child { border-top: 0; padding-top: 0; }
.akreg-people li:last-child { padding-bottom: 0; }
.akreg-avatar {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 50%;
	font-size: .9em;
	font-weight: 700;
	letter-spacing: .02em;
	color: #fff;
	background: var(--akreg-grad);
}
.akreg-avatar-1 { background: linear-gradient(135deg, #7c5cf5, #b17cf7); }
.akreg-avatar-2 { background: linear-gradient(135deg, #2fb4f5, #4f7cf7); }
.akreg-avatar-3 { color: var(--akreg-sky); background: var(--akreg-glass-2); box-shadow: inset 0 0 0 1px var(--akreg-line); }
.akreg-person { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.akreg-person strong { font-weight: 600; line-height: 1.3; color: var(--akreg-ink); overflow-wrap: break-word; }
.akreg-person small { font-size: .85em; color: var(--akreg-muted); }
@container (max-width: 440px) {
	.akreg-people li { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; row-gap: 6px; }
	.akreg-people .akreg-avatar { grid-row: span 2; align-self: start; }
	.akreg-people .akreg-pill { grid-column: 2; justify-self: start; }
}

.akreg-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 0 8px; text-align: center; color: var(--akreg-muted); }
.akreg-empty .akreg-icon { width: 44px; height: 44px; color: var(--akreg-sky); }

/* ---------- Odkaz na seznam přihlášených ---------- */

.akreg .akreg-list-link {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 36px;
	padding: 20px 24px;
	color: #fff;
	border-radius: var(--akreg-radius);
	background: var(--akreg-grad);
	box-shadow: 0 20px 40px -20px var(--akreg-to);
	transition: transform .15s, filter .15s;
}
.akreg .akreg-list-link:hover { color: #fff; filter: brightness(1.08); transform: translateY(-2px); }
.akreg .akreg-list-link:focus-visible { outline: 3px solid var(--akreg-sky); outline-offset: 3px; }
.akreg-list-link-ico { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, .2); }
.akreg-list-link-text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.akreg-list-link-text strong { font-size: 1.15em; font-weight: 700; line-height: 1.25; }
.akreg-list-link-text small { font-size: .85em; opacity: .85; }
.akreg-count { min-width: 34px; padding: 4px 11px; border-radius: 99px; font-weight: 700; text-align: center; color: var(--akreg-to); background: #fff; }
.akreg .akreg-list-link > .akreg-icon { stroke-width: 2.4; transition: transform .2s; }
.akreg .akreg-list-link:hover > .akreg-icon { transform: translateX(4px); }

.akreg .akreg-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 32px; font-weight: 600; color: var(--akreg-sky); }
.akreg .akreg-back:hover { color: #fff; }

/* ---------- Animace ---------- */

@keyframes akreg-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes akreg-draw { to { stroke-dashoffset: 0; } }
@keyframes akreg-pulse { 50% { opacity: .3; } }

@media (prefers-reduced-motion: reduce) {
	.akreg *, .akreg *::before, .akreg *::after { animation: none !important; transition: none !important; }
	.akreg-success-ico .akreg-icon { stroke-dashoffset: 0; }
}

/* ---------- Úzké obrazovky ---------- */

@container (max-width: 420px) {
	.akreg .akreg-button { padding: 0 20px; font-size: 1em; }
	.akreg .akreg-list-link { gap: 12px; padding: 16px 18px; }
	.akreg-list-link-ico { display: none; }
	.akreg-list-link-text strong { font-size: 1.05em; }
}

/* ---------- Čistá one page (bez hlavičky a patičky webu) ---------- */

body.akreg-clean-body { margin: 0; background: var(--akreg-bg-body, #0b1030); }
.akreg-clean-body .akreg-onepage-main { display: block; }
.akreg-clean-body .akreg.akreg-full { min-height: 100vh; min-height: 100dvh; }
