/*
 * Marci — titulní stránka (front-page.php, template-parts/front/).
 * Předloha: odsouhlasený návrh nahled/index.html. Mobile-first.
 * Selektory pod #main — Astra stylizuje nadpisy a odkazy globálně
 * (h1–h6, a, a:hover), ID scope je spolehlivě přebije.
 */

/* === Rozložení Astry: obsah na plnou šířku === */
.home #primary { width: 100%; margin: 0; padding: 0; }
#main.marci-front { width: 100%; }

#main .marci-section { padding-block: var(--space-12); }
#main .marci-section--band { background: var(--color-bg-alt); }

/* Hlavička sekce */
#main .marci-sechead {
	max-width: 60ch;
	margin: 0 auto var(--space-8);
	text-align: center;
}
#main .marci-kicker {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-accent-dark);
}
#main .marci-sechead__title,
#main .marci-about__title,
#main .marci-cta-card__title {
	margin: var(--space-2) 0;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: var(--lh-snug);
	letter-spacing: -.01em;
	color: var(--color-text);
	text-wrap: balance;
}
#main .marci-sechead__lead { margin: 0; color: var(--color-text-muted); }

#main .marci-center-more { margin-top: var(--space-8); text-align: center; }

#main .marci-state {
	padding: var(--space-8) var(--space-6);
	border: 1px solid var(--color-border-tint);
	border-radius: var(--radius-md);
	background: var(--color-bg);
	text-align: center;
	color: var(--color-text-muted);
}
#main .marci-state p { margin: 0; }

#main a { -webkit-tap-highlight-color: transparent; }

/* === HERO === */
#main .marci-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(155deg, var(--color-primary-light) 0%, var(--color-primary-dark) 55%, var(--color-secondary) 100%);
	color: var(--color-white);
}
#main .marci-hero::before {
	content: "";
	position: absolute;
	top: -160px;
	right: -80px;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--color-accent) 28%, transparent), transparent 68%);
	pointer-events: none;
}
#main .marci-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: var(--space-10);
	padding-block: var(--space-14) var(--space-12);
}
/* Bílý text: růžový #f4b9d1 z návrhu má na světlém konci přechodu jen 3,5:1. */
#main .marci-hero__eyebrow {
	margin: 0 0 var(--space-4);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-white);
}
#main .marci-hero__title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 2.1rem;
	line-height: var(--lh-tight);
	letter-spacing: -.015em;
	color: var(--color-white);
	text-wrap: balance;
}
#main .marci-hero__sub {
	max-width: 42ch;
	margin: 0 0 var(--space-8);
	font-size: 1.08rem;
	color: color-mix(in srgb, var(--color-white) 90%, transparent);
}
#main .marci-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
#main .marci-hero__actions .marci-btn { flex: 1 1 200px; }
#main .marci-hero__media { position: relative; }
#main .marci-hero__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border: 4px solid color-mix(in srgb, var(--color-white) 90%, transparent);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
}
#main .marci-hero__badge {
	position: absolute;
	bottom: -18px;
	left: -6px;
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0;
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-md);
	background: var(--color-white);
	box-shadow: var(--shadow-md);
	color: var(--color-primary-dark);
	font-size: .82rem;
	font-weight: 600;
	line-height: var(--lh-snug);
}
#main .marci-hero__badge-num {
	font-family: var(--font-heading);
	font-size: var(--text-2xl);
	line-height: 1;
	color: var(--color-accent-dark);
}

/* === 4 DLAŽDICE === */
#main .marci-tiles { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
#main .marci-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: var(--space-6) var(--space-6) var(--space-6) var(--space-8);
	border: 1px solid var(--color-border-tint);
	border-radius: var(--radius-lg);
	background: var(--color-bg);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
#main .marci-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
#main .marci-tile::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: linear-gradient(var(--color-primary), var(--color-accent));
}
#main .marci-tile__head { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); }
#main .marci-tile__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--radius-md);
	background: var(--color-tint);
	color: var(--color-primary);
}
#main .marci-tile__icon svg { width: 1.6rem; height: 1.6rem; }
#main .marci-tile__num {
	font-family: var(--font-mono);
	font-size: .74rem;
	font-weight: 700;
	color: var(--color-accent-dark);
}
#main .marci-tile__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 1.28rem;
	line-height: var(--lh-snug);
	letter-spacing: -.01em;
	color: var(--color-text);
}
#main .marci-tile__text { margin: 0 0 var(--space-4); font-size: .95rem; color: var(--color-text-muted); }
#main .marci-tile__list {
	margin: 0 0 var(--space-4);
	padding-left: 1.1rem;
	font-size: .9rem;
	color: var(--color-text-muted);
}
#main .marci-tile__list li { margin-block: var(--space-1); }
#main .marci-tile__list li::marker { color: var(--color-accent); }
#main .marci-tile__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	margin-top: auto;
}
#main .marci-tile__price {
	padding: .3em .7em;
	border-radius: var(--radius-sm);
	background: var(--color-tint);
	color: var(--color-primary-dark);
	font-family: var(--font-mono);
	font-size: .82rem;
	font-weight: 700;
}
#main .marci-tile__more,
#main .marci-event__more {
	font-weight: 600;
	font-size: .9rem;
	color: var(--color-accent-dark);
	text-decoration: none;
}
#main .marci-tile__more:hover,
#main .marci-event__more:hover,
#main .marci-tile__more:focus,
#main .marci-event__more:focus {
	color: var(--color-accent-dark);
	text-decoration: underline;
}

/* === NEJBLIŽŠÍ AKCE === */
#main .marci-cal-lead {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-4);
	margin: 0 0 var(--space-8);
	padding: 0;
	list-style: none;
}
#main .marci-cal-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-5);
	border: 1px solid var(--color-border-tint);
	border-radius: var(--radius-full);
	background: var(--color-bg);
	box-shadow: var(--shadow-sm);
	font-size: .88rem;
}
#main .marci-cal-pill__dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--color-accent); }

#main .marci-events { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
#main .marci-event {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--color-border-tint);
	border-radius: var(--radius-lg);
	background: var(--color-bg);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
#main .marci-event:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
#main .marci-event:focus-within { outline: 3px solid var(--color-accent-dark); outline-offset: 4px; }
/* Jediný odkaz pokrývá i fotografii, text a volnou plochu karty. */
#main .marci-event .marci-event__more::after { content: ""; position: absolute; inset: 0; z-index: 1; }
#main .marci-event__media {
	position: relative;
	aspect-ratio: 16 / 10;
	border-bottom: 1px solid var(--color-border);
	background: linear-gradient(135deg, var(--color-tint), var(--color-bg-alt));
}
#main .marci-event__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
#main .marci-event__date {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	display: flex;
	flex-direction: column;
	padding: var(--space-1) var(--space-2);
	border-radius: var(--radius-sm);
	background: var(--color-primary-dark);
	box-shadow: var(--shadow-sm);
	color: var(--color-white);
	text-align: center;
	line-height: 1.05;
}
#main .marci-event__day { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 600; }
#main .marci-event__month { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
#main .marci-event__body { display: flex; flex: 1; flex-direction: column; padding: var(--space-4) var(--space-5); }
/* Text --color-secondary: růžová #c23a70 má na #fbe9f0 jen 4,36:1. */
#main .marci-event__status {
	align-self: flex-start;
	margin: 0 0 var(--space-2);
	padding: .2em .6em;
	border-radius: var(--radius-full);
	background: var(--color-accent-soft);
	color: var(--color-secondary);
	font-family: var(--font-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
#main .marci-event__status--closed { background: var(--color-tint); }
#main .marci-event__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-heading);
	font-size: 1.1rem;
	line-height: var(--lh-snug);
	color: var(--color-text);
}
#main .marci-event__meta {
	margin: 0 0 var(--space-4);
	padding-left: 1.1rem;
	font-size: .85rem;
	color: var(--color-text-muted);
}
#main .marci-event__more { align-self: flex-start; margin-top: auto; font-size: .84rem; }

/* === REFERENCE (tmavý modrý pás) === */
#main .marci-refs {
	background: linear-gradient(160deg, var(--color-primary-dark), var(--color-secondary));
	color: var(--color-white);
}
#main .marci-refs .marci-sechead__title { color: var(--color-white); }
#main .marci-refs .marci-kicker { color: var(--color-accent-light); }
#main .marci-refs__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	margin: calc(-1 * var(--space-3)) 0 var(--space-8);
	font-size: .95rem;
	color: color-mix(in srgb, var(--color-white) 85%, transparent);
}
#main .marci-refs__hearts { display: inline-flex; gap: var(--space-1); color: var(--color-accent-light); }
#main .marci-refs__hearts svg { width: 1rem; height: 1rem; }
#main .marci-refs__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
#main .marci-ref {
	margin: 0;
	padding: var(--space-6);
	border: 1px solid color-mix(in srgb, var(--color-white) 16%, transparent);
	border-radius: var(--radius-md);
	background: color-mix(in srgb, var(--color-white) 7%, transparent);
}
#main .marci-ref__quote { margin: 0 0 var(--space-4); padding: 0; border: 0; }
#main .marci-ref__quote p {
	margin: 0;
	font-size: .95rem;
	font-style: normal;
	color: color-mix(in srgb, var(--color-white) 94%, transparent);
}
#main .marci-ref__who { display: flex; align-items: center; gap: var(--space-3); font-size: .82rem; }
#main .marci-ref__avatar {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--color-accent-dark);
	color: var(--color-white);
	font-weight: 700;
	font-size: .9rem;
}
#main .marci-ref__meta { line-height: 1.2; }
#main .marci-ref__meta b { display: block; }
#main .marci-ref__meta span {
	color: color-mix(in srgb, var(--color-white) 70%, transparent);
	font-family: var(--font-mono);
	font-size: .72rem;
}

/* === O MNĚ === */
#main .marci-about__inner {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: var(--space-10);
}
#main .marci-about__media { max-width: 320px; }
#main .marci-about__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border: 4px solid var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}
#main .marci-about__title { margin-top: var(--space-2); margin-bottom: var(--space-4); }
#main .marci-about__text p { margin: 0 0 var(--space-4); color: var(--color-text-muted); }
#main .marci-about__text .marci-kicker { margin: 0; color: var(--color-accent-dark); }
#main .marci-about__stats { display: flex; flex-wrap: wrap; gap: var(--space-8); margin: var(--space-6) 0; }
#main .marci-about__stat { display: flex; flex-direction: column; }
#main .marci-about__stat dt {
	font-family: var(--font-heading);
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
	color: var(--color-primary);
}
#main .marci-about__stat dd { margin: var(--space-1) 0 0; font-size: .82rem; color: var(--color-text-muted); }

/* === ODBĚR NOVINEK === */
#main .marci-cta-card {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	overflow: hidden;
	padding: var(--space-10) var(--space-6);
	border: 1px solid var(--color-border-tint);
	border-radius: var(--radius-xl);
	background: var(--color-bg);
	box-shadow: var(--shadow-md);
	text-align: center;
}
#main .marci-cta-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}
#main .marci-cta-card__title { margin-top: 0; }
#main .marci-cta-card__lead { margin: 0 0 var(--space-6); color: var(--color-text-muted); }
#main .marci-cta-card__form { max-width: 460px; margin: 0 auto; text-align: left; }
#main .marci-cta-card__form input[type="email"] {
	width: 100%;
	padding: .8em 1.1em;
	border: 1.5px solid var(--color-border-tint);
	border-radius: var(--radius-full);
	font-family: var(--font-body);
	font-size: .95rem;
}
#main .marci-cta-card__form input[type="email"]:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px var(--color-tint);
}
#main .marci-cta-card__form button[type="submit"],
#main .marci-cta-card__form input[type="submit"] {
	padding: .8em 1.5em;
	border: 0;
	border-radius: var(--radius-full);
	background: var(--color-accent-dark);
	color: var(--color-white);
	font-family: var(--font-body);
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
}
#main .marci-cta-card__form button[type="submit"]:focus-visible,
#main .marci-cta-card__form input[type="submit"]:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}

/* === Pohyb jen pro ty, kdo o něj stojí === */
@media (prefers-reduced-motion: reduce) {
	#main .marci-tile,
	#main .marci-event { transition: none; }
	#main .marci-tile:hover,
	#main .marci-event:hover { transform: none; }
}

/* Mobil: portrét hned pod jménem, delší uvítání až za hlavními odkazy. */
@media (max-width: 767px) {
	#main .marci-hero__inner { gap: var(--space-4); padding-block: var(--space-6) var(--space-8); }
	#main .marci-hero__text { display: contents; }
	#main .marci-hero__eyebrow { grid-row: 1; margin: 0; }
	#main .marci-hero__title { grid-row: 2; margin: 0; font-size: var(--text-3xl); }
	#main .marci-hero__media { grid-row: 3; margin-block: var(--space-1) var(--space-4); }
	#main .marci-hero__intro { grid-row: 4; }
	#main .marci-hero__actions { grid-row: 5; }
	#main .marci-hero__welcome { grid-row: 6; padding-top: var(--space-3); }
	#main .marci-hero__sub { margin: 0; font-size: var(--text-base); }
}

/* === ≥ 768px === */
@media (min-width: 768px) {
	#main .marci-section { padding-block: var(--space-14); }
	#main .marci-sechead__title,
	#main .marci-about__title { font-size: var(--text-3xl); }
	#main .marci-cta-card__title { font-size: 1.8rem; }
	#main .marci-hero__inner {
		grid-template-columns: 1.02fr .98fr;
		padding-block: var(--space-14) var(--space-16);
	}
	#main .marci-hero__title { font-size: var(--text-4xl); }
	#main .marci-hero__actions .marci-btn { flex: 0 0 auto; }
	#main .marci-hero__badge { left: -14px; }
	#main .marci-tiles { grid-template-columns: repeat(2, 1fr); }
	#main .marci-events,
	#main .marci-refs__grid { grid-template-columns: repeat(3, 1fr); }
	#main .marci-cta-card { padding-inline: var(--space-8); }
}

/* === ≥ 1024px === */
@media (min-width: 1024px) {
	#main .marci-about__inner { grid-template-columns: .85fr 1.15fr; gap: var(--space-12); }
	#main .marci-about__media { max-width: none; }
}
