/* -------------------------------------------------------------------------
   Dreamteam 2026 — main stylesheet
   Brand: black / white / bright pink. Premium, feminine, stage-glam.
   Contents: tokens, base, buttons, header, hero,
   shared sections, groups, branches, energy,
   faq, social, footer, responsive, motion.
   ------------------------------------------------------------------------- */

:root {
	--color-black: #070509;
	--color-ink: #161018;
	--color-charcoal: #211a24;
	--color-pink: #ff4fa3;
	--color-pink-deep: #c01870;
	--color-blush: #ffe5f1;
	--color-soft: #f7f3f6;
	--color-white: #ffffff;
	--text-muted: rgba(22, 16, 24, 0.68);
	--shadow-soft: 0 24px 70px rgba(7, 5, 9, 0.22);
	--shadow-card: 0 8px 30px rgba(7, 5, 9, 0.08);
	--shadow-card-hover: 0 20px 48px rgba(7, 5, 9, 0.14);
	--radius-card: 20px;
	--radius-media: 26px;
	--font-main: "Montserrat", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-body: var(--font-main);
	--font-display: var(--font-main);
	--header-height: 68px;
}

/* Atlases results page (temporary; page-specific) ------------------------- */

.atlases-results-page {
	background: var(--color-soft);
}

.atlases-results-hero {
	padding-top: calc(var(--header-height) + clamp(54px, 8vw, 92px));
	padding-bottom: clamp(54px, 7vw, 82px);
	text-align: center;
}

.atlases-results-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(112deg, transparent 42%, rgba(255, 79, 163, 0.07) 72%, transparent 100%);
}

.atlases-results-hero__content {
	z-index: 1;
}

.atlases-results-hero .atlases-results-hero__title,
.atlases-results-hero .atlases-results-hero__lead {
	margin-left: auto;
	margin-right: auto;
}

.atlases-results-hero .atlases-results-hero__title {
	max-width: 880px;
	font-size: clamp(2rem, 1.2rem + 3vw, 3.5rem);
	letter-spacing: 0.045em;
}

.atlases-results-hero__lead {
	max-width: 760px;
}

.atlases-results-hero__lead p {
	margin: 0;
}

.atlases-results-hero__lead p + p {
	margin-top: 8px;
}

.atlases-results-section {
	background: var(--color-white);
}

.atlases-results-section--recommended {
	background: var(--color-soft);
}

.atlases-results-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.atlases-results-grid > .atlases-results-card {
	grid-column: span 2;
}

.atlases-results-grid > .atlases-results-card:nth-child(4) {
	grid-column: 2 / span 2;
}

.atlases-results-grid > .atlases-results-card:nth-child(5) {
	grid-column: 4 / span 2;
}

.atlases-results-grid--recommended {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

.atlases-results-grid--recommended > .atlases-results-card {
	grid-column: auto;
}

.atlases-results-card {
	min-width: 0;
	padding: clamp(24px, 3vw, 32px);
	border: 1px solid rgba(7, 5, 9, 0.08);
	border-radius: var(--radius-card);
	background: var(--color-white);
	box-shadow: var(--shadow-card);
}

.atlases-results-card__title {
	margin: 0;
	color: var(--color-ink);
	font-size: clamp(1rem, 0.9rem + 0.4vw, 1.24rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.atlases-results-card__title::after {
	content: "";
	display: block;
	width: 42px;
	height: 2px;
	margin: 16px auto 0;
	background: var(--color-pink);
}

.atlases-results-card__placeholder {
	margin: 20px 0 0;
	color: var(--text-muted);
	font-size: 0.92rem;
	text-align: center;
}

.atlases-results-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.atlases-results-numbers li {
	display: inline-grid;
	min-width: 48px;
	min-height: 42px;
	padding: 9px 12px;
	place-items: center;
	border: 1px solid rgba(192, 24, 112, 0.22);
	border-radius: 999px;
	background: var(--color-blush);
	color: var(--color-pink-deep);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.06em;
}

.atlases-results-notice-section {
	padding-top: clamp(16px, 3vw, 32px);
	background: var(--color-soft);
}

.atlases-results-notice {
	position: relative;
	overflow: hidden;
	max-width: 940px;
	margin: 0 auto;
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid rgba(255, 79, 163, 0.32);
	border-radius: var(--radius-card);
	background:
		radial-gradient(circle at 100% 0%, rgba(255, 79, 163, 0.18), transparent 44%),
		var(--color-white);
	box-shadow: var(--shadow-card);
	text-align: center;
}

.atlases-results-notice .section__eyebrow {
	margin-bottom: 12px;
	color: var(--color-pink-deep);
}

.atlases-results-notice__title {
	max-width: 760px;
	margin: 0 auto;
	color: var(--color-ink);
	font-size: clamp(1.22rem, 0.95rem + 1.1vw, 1.9rem);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.035em;
}

@media (max-width: 1020px) {
	.atlases-results-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.atlases-results-grid > .atlases-results-card,
	.atlases-results-grid > .atlases-results-card:nth-child(4),
	.atlases-results-grid > .atlases-results-card:nth-child(5) {
		grid-column: auto;
	}

	.atlases-results-grid:not(.atlases-results-grid--recommended) > .atlases-results-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc(50% - 11px);
		justify-self: center;
	}
}

@media (min-width: 721px) and (max-width: 850px) {
	.hero__actions--results {
		max-width: 520px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 720px) {
	.atlases-results-hero {
		padding-top: calc(var(--header-height) + 44px);
		padding-bottom: 48px;
	}

	.atlases-results-grid,
	.atlases-results-grid--recommended {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.atlases-results-grid:not(.atlases-results-grid--recommended) > .atlases-results-card:last-child:nth-child(odd) {
		grid-column: auto;
		width: auto;
		justify-self: stretch;
	}

	.atlases-results-card {
		padding: 24px 20px;
	}
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-height) + 16px);
}

body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	text-rendering: optimizeSpeed;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--color-pink);
	outline-offset: 4px;
}

.container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.skip-link {
	position: absolute;
	left: 16px;
	top: 16px;
	z-index: 40;
	padding: 10px 14px;
	background: var(--color-white);
	color: var(--color-ink);
	transform: translateY(-160%);
}

.skip-link:focus {
	transform: translateY(0);
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Buttons ---------------------------------------------------------------- */

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 26px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.88rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.button:hover {
	transform: translateY(-2px);
}

.button:active {
	transform: translateY(0) scale(0.98);
}

.button--primary {
	background: var(--color-pink);
	color: var(--color-black);
	box-shadow: 0 14px 32px rgba(255, 79, 163, 0.32);
}

.button--primary:hover {
	background: var(--color-white);
	box-shadow: 0 18px 40px rgba(255, 79, 163, 0.4);
}

.button--secondary {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.32);
	color: var(--color-white);
}

.button--secondary:hover {
	border-color: var(--color-pink);
	color: var(--color-pink);
}

.button--outline {
	background: transparent;
	border-color: rgba(192, 24, 112, 0.5);
	color: var(--color-pink-deep);
}

.button--outline:hover {
	background: var(--color-pink);
	border-color: var(--color-pink);
	color: var(--color-black);
}

/* Header ------------------------------------------------------------------ */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 30;
	background: rgba(7, 5, 9, 0.68);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	color: var(--color-white);
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.site-header::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--color-pink) 40%, var(--color-pink-deep) 70%, transparent);
	opacity: 0.85;
}

.site-header.is-scrolled {
	background: rgba(7, 5, 9, 0.94);
	box-shadow: 0 12px 34px rgba(7, 5, 9, 0.4);
}

.admin-bar .site-header {
	top: 32px;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--header-height);
	gap: 24px;
}

/* Brand: image logo (Customizer or assets/img/logo.*) with DT-mark fallback. */

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.site-brand__logo,
.custom-logo {
	display: block;
	max-height: 80px;
	max-width: min(340px, 60vw);
	width: auto;
	height: auto;
	object-fit: contain;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.site-brand__mark {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	flex-shrink: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--color-pink) 0%, var(--color-pink-deep) 100%);
	color: var(--color-white);
	font-size: 0.92rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25), 0 8px 22px rgba(255, 79, 163, 0.35);
}

.site-brand__text {
	display: grid;
	line-height: 1.1;
}

.site-brand__name {
	font-size: 1.16rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-brand__tagline {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.site-header__panel {
	display: flex;
	align-items: center;
	gap: 24px;
	min-width: 0;
}

.site-nav__menu {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-nav__menu a {
	position: relative;
	padding: 6px 0;
	color: rgba(255, 255, 255, 0.72);
	transition: color 0.2s ease;
}

.site-nav__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 2px;
	background: var(--color-pink);
	transition: right 0.25s ease;
}

.site-nav__menu a:hover,
.site-nav__menu a:focus-visible {
	color: var(--color-white);
}

.site-nav__menu a:hover::after,
.site-nav__menu a:focus-visible::after {
	right: 0;
}

/* Mobile menu toggle (hidden on desktop) */

.site-header__toggle {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 9px 16px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--color-white);
	font: inherit;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.site-header__toggle:hover,
.site-header--open .site-header__toggle {
	border-color: rgba(255, 79, 163, 0.5);
	background: rgba(255, 79, 163, 0.12);
}

.site-header__toggle-bar {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--color-white);
	transition: transform 0.25s ease;
}

.site-header__toggle-bar + .site-header__toggle-bar {
	margin-top: -4px;
	transform: translateY(6px);
}

.site-header--open .site-header__toggle-bar:first-child {
	transform: translateY(1px) rotate(45deg);
}

.site-header--open .site-header__toggle-bar + .site-header__toggle-bar {
	transform: translateY(-1px) rotate(-45deg);
}

/* Hero --------------------------------------------------------------------- */

.hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 14%, rgba(255, 79, 163, 0.2), transparent 38%),
		radial-gradient(circle at 6% 94%, rgba(192, 24, 112, 0.22), transparent 44%),
		linear-gradient(160deg, var(--color-black) 0%, var(--color-ink) 55%, var(--color-charcoal) 100%);
	color: var(--color-white);
}

/* Full-bleed hero background: hero-1.jpg fills the section on every
   breakpoint. The same static source is used on every device. */
.hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	background-size: cover;
	background-position: center 48%;
}

/* Overlay virs hero foto: pietiekami gaišs, lai foto ir skaidri redzams
   VISOS ekrānos (agrāk darbvirsmā bija tumšāks variants, kas bija pieskaņots
   spilgtajam video slānim — video vairs nav, tāpēc viens vienots overlay). */
.hero__bg-overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 28%, rgba(255, 79, 163, 0.2), transparent 50%),
		linear-gradient(180deg, rgba(5, 0, 8, 0.5) 0%, rgba(8, 0, 10, 0.36) 45%, rgba(5, 0, 8, 0.6) 100%);
}

/* First screen: the hero fills the viewport; lead and CTAs sit centered over
   the static photo. */
.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(32px, 4vw, 56px);
	align-content: center;
	justify-items: center;
	min-height: 100vh;
	min-height: 100svh;
	padding-top: calc(var(--header-height) + clamp(24px, 3.5vh, 40px));
	padding-bottom: clamp(40px, 6vw, 64px);
}

.hero__content {
	max-width: 920px;
	text-align: center;
	/* Shift up from the vertical center so the text/CTAs sit in the dark
	   stage area above the dancers' faces instead of on top of them. */
	transform: translateY(-80px);
}

.hero__intro {
	margin: 20px auto 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(1.55rem, 2.2vw, 2.35rem);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 18px;
}


/* Shared section shell ----------------------------------------------------- */

.section {
	padding: clamp(40px, 6vw, 60px) 0;
}

.section__header {
	max-width: 720px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.section__header--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.section__eyebrow {
	margin: 0 0 14px;
	color: var(--color-pink-deep);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.section__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 1.05rem + 1.8vw, 2.5rem);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: 0.02em;
}

.section__lead {
	max-width: 620px;
	margin: 18px 0 0;
	color: var(--text-muted);
	font-size: 1.05rem;
}

.section__lead--center {
	margin-left: auto;
	margin-right: auto;
}

.section--default {
	padding-top: calc(var(--header-height) + 64px);
	background: var(--color-soft);
}

.entry {
	max-width: 760px;
}

.entry__title {
	margin: 0 0 24px;
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 3.4rem);
	font-weight: 800;
	line-height: 1.1;
}

/* Groups section ------------------------------------------------------------ */

.section--groups {
	background: var(--color-soft);
}

.groups-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.group-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(7, 5, 9, 0.06);
	border-radius: var(--radius-card);
	background: var(--color-white);
	box-shadow: var(--shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.group-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-card-hover);
}

/* Card media: gradient placeholders until real group photos are added. */

.group-card__media {
	position: relative;
	min-height: 150px;
}

/* Real group photo (assets/img/groups/{slug}.*), when present, fills the
   same slot the gradient placeholders use — the DT watermark above already
   hides itself once an img is nested here. */
.group-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* This card is very short relative to its width (min-height: 150px), so a
   plain "center" crop can cut heads depending on where they sit in each
   specific photo. Positions below are tuned per photo, not global. */
.group-card__media--mini img {
	object-position: center 25%;
}

.group-card__media--kids img {
	object-position: center 30%;
}

.group-card__media--children img {
	object-position: center 40%;
}

.group-card__media--juniors img {
	object-position: center 42%;
}

.group-card__media--showteam img {
	object-position: center 25%;
}

.group-card__media--hobby img {
	/* Heads already touch the top edge of the source photo. */
	object-position: center 0%;
}

.group-card__media::after {
	content: "";
	position: absolute;
	inset: auto 18px 14px auto;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
}

.group-card__media--mini {
	background: linear-gradient(135deg, #2a1030 0%, var(--color-pink) 135%);
}

.group-card__media--kids {
	background: linear-gradient(150deg, var(--color-charcoal) 0%, var(--color-pink-deep) 115%);
}

.group-card__media--children {
	background:
		radial-gradient(circle at 22% 78%, rgba(255, 79, 163, 0.4), transparent 50%),
		linear-gradient(200deg, var(--color-ink) 0%, var(--color-pink-deep) 150%);
}

.group-card__media--juniors {
	background: linear-gradient(120deg, var(--color-black) 0%, #8f1257 100%);
}

.group-card__media--showteam {
	background:
		radial-gradient(circle at 80% 20%, rgba(255, 79, 163, 0.5), transparent 46%),
		linear-gradient(135deg, var(--color-black) 0%, var(--color-charcoal) 60%, var(--color-pink-deep) 135%);
}

.group-card__media--hobby {
	background: linear-gradient(160deg, #3a1440 0%, var(--color-pink) 165%);
}

.group-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--color-pink);
	color: var(--color-black);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.group-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 26px 26px;
}

.group-card__meta {
	margin: 0 0 6px;
	color: var(--color-pink-deep);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.group-card__title {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.15;
}

.group-card__text {
	margin: 0 0 20px;
	color: var(--text-muted);
	font-size: 0.94rem;
}

.group-card__link {
	margin-top: auto;
	color: var(--color-pink-deep);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: color 0.2s ease;
}

.group-card__link:hover {
	color: var(--color-black);
}

.group-card--featured {
	border-color: rgba(255, 79, 163, 0.45);
	box-shadow: 0 14px 40px rgba(255, 79, 163, 0.16);
}

/* Energy / "living school" section --------------------------------------------- */

.section--energy {
	background: var(--color-soft);
	overflow: hidden;
}

.energy-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin: 0;
	padding: 0 0 40px;
	list-style: none;
}

.energy-card {
	position: relative;
}

/* Media placeholders: swap the gradients for real show/competition photos. */

.energy-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-media);
	border: 1px solid rgba(7, 5, 9, 0.08);
	box-shadow: var(--shadow-soft);
	transition: transform 0.3s ease;
}

.energy-card:hover .energy-card__media {
	transform: translateY(-6px);
}

/* Real photo (assets/img/school/{slug}.*), when present, fills the same
   slot the gradient placeholders use — see .group-card__media img for the
   matching pattern used on the Grupas cards. */
.energy-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Card is 4:5 (taller than wide) and the source photos are portrait too, so
   top/bottom gets cropped to fill width — bias toward each photo's actual
   face position instead of a flat center. */
.energy-card__media--1 img {
	object-position: center 22%;
}

.energy-card__media--2 img {
	object-position: center 32%;
}

.energy-card__media--3 img {
	object-position: center 30%;
}

.energy-card__media--1 {
	background:
		linear-gradient(200deg, rgba(255, 255, 255, 0.12), transparent 30%),
		radial-gradient(circle at 30% 20%, rgba(255, 79, 163, 0.5), transparent 52%),
		linear-gradient(160deg, var(--color-charcoal) 0%, var(--color-black) 70%);
}

.energy-card__media--2 {
	background:
		linear-gradient(200deg, rgba(255, 255, 255, 0.12), transparent 30%),
		radial-gradient(circle at 74% 80%, rgba(255, 79, 163, 0.55), transparent 50%),
		linear-gradient(200deg, var(--color-black) 0%, var(--color-pink-deep) 130%);
}

.energy-card__media--3 {
	background:
		linear-gradient(200deg, rgba(255, 255, 255, 0.12), transparent 30%),
		radial-gradient(circle at 24% 76%, rgba(192, 24, 112, 0.6), transparent 54%),
		linear-gradient(140deg, #2a1030 0%, var(--color-ink) 80%);
}

.energy-card__title {
	margin: 18px 0 4px;
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.15;
}

.energy-card__text {
	margin: 0;
	color: var(--text-muted);
	font-size: 0.94rem;
}

/* FAQ -------------------------------------------------------------------------------- */

.section--faq {
	background: var(--color-white);
}

.faq__inner {
	display: grid;
	grid-template-columns: minmax(260px, 4fr) 7fr;
	gap: 56px;
	align-items: start;
}

.faq__header {
	margin-bottom: 0;
}

.faq__list {
	display: grid;
	gap: 14px;
}

.faq-item {
	border: 1px solid rgba(7, 5, 9, 0.1);
	border-radius: 16px;
	background: var(--color-soft);
	transition: border-color 0.2s ease;
}

.faq-item[open] {
	border-color: rgba(255, 79, 163, 0.5);
	background: var(--color-white);
	box-shadow: var(--shadow-card);
}

.faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 22px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.faq-item__question::-webkit-details-marker {
	display: none;
}

.faq-item__icon {
	position: relative;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--color-pink) 0%, var(--color-pink-deep) 100%);
	transition: transform 0.25s ease;
}

.faq-item__icon::before,
.faq-item__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	background: var(--color-white);
	transform: translate(-50%, -50%);
}

.faq-item__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item[open] .faq-item__icon {
	transform: rotate(45deg);
}

.faq-item__answer {
	margin: 0;
	padding: 0 22px 20px;
	color: var(--text-muted);
	font-size: 0.95rem;
}

@keyframes dt-fade-up {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.faq-item[open] .faq-item__answer {
	animation: dt-fade-up 0.28s ease;
}

/* Social / Instagram section ----------------------------------------------------------- */

.section--social {
	background: var(--color-soft);
}

.social-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Square gallery tiles: swap gradients for real photos or an Instagram feed later. */

.social-tile {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 16px;
	border: 1px solid rgba(7, 5, 9, 0.08);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.social-tile:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 79, 163, 0.45);
	box-shadow: 0 14px 30px rgba(255, 79, 163, 0.14);
}

.social-tile--1 {
	background: linear-gradient(150deg, var(--color-charcoal) 0%, var(--color-pink-deep) 140%);
}

.social-tile--2 {
	background: linear-gradient(200deg, #2a1030 0%, var(--color-pink) 170%);
}

.social-tile--3 {
	background: radial-gradient(circle at 70% 30%, rgba(255, 79, 163, 0.55), transparent 60%), linear-gradient(160deg, var(--color-black) 0%, var(--color-charcoal) 100%);
}

.social-tile--4 {
	background: linear-gradient(120deg, var(--color-black) 0%, #8f1257 130%);
}

.social-tile--5 {
	background: radial-gradient(circle at 30% 70%, rgba(192, 24, 112, 0.6), transparent 60%), linear-gradient(200deg, var(--color-ink) 0%, #2a1030 100%);
}

.social-tile--6 {
	background: linear-gradient(170deg, var(--color-pink-deep) -30%, var(--color-black) 90%);
}

.social__follow {
	margin: 34px 0 0;
	text-align: center;
}

/* Instagram plūsmas ietvars: tikai ārējais rāmis/atstarpes — spraudņa
   iekšējais režģis netiek pārrakstīts, lai neplīstu pēc atjauninājumiem. */
.instagram-feed-shell {
	max-width: 100%;
	overflow: hidden;
	border-radius: var(--radius-card);
}

.instagram-feed-shell img {
	max-width: 100%;
	height: auto;
}

/* Slēpjam tikai spraudņa zilo "Seko mums Instagram" pogu — tēmai jau ir sava
   "SEKOT INSTAGRAM" poga zem plūsmas. Ieraksti un "Load More" netiek skarti. */
.instagram-feed-shell .sbi_follow_btn,
.instagram-feed-shell .sbi_follow_btn a {
	display: none !important;
}

/* Subpages (page-*.php templates) ------------------------------------------------ */

/* Soft-grey background variant used to alternate inner-page sections. */
.section--soft {
	background: var(--color-soft);
}

/* Compact dark hero shared by all inner pages. */
.page-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 14%, rgba(255, 79, 163, 0.2), transparent 38%),
		radial-gradient(circle at 6% 94%, rgba(192, 24, 112, 0.22), transparent 44%),
		linear-gradient(160deg, var(--color-black) 0%, var(--color-ink) 55%, var(--color-charcoal) 100%);
	color: var(--color-white);
	padding: calc(var(--header-height) + clamp(40px, 6vh, 64px)) 0 clamp(40px, 6vw, 64px);
}

.page-hero__title {
	max-width: 760px;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.7rem, 1.1rem + 2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.page-hero__lead {
	max-width: 620px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1rem, 1.6vw, 1.14rem);
}

.page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

/* "Jaunā sezona" hero: centered variant that mirrors the homepage hero —
   same photo (hero-1.jpg) layered under the shared dark/pink gradient. */
.page-hero--season {
	padding: calc(var(--header-height) + clamp(56px, 9vw, 104px)) 0 clamp(56px, 8vw, 96px);
	text-align: center;
}

.page-hero__bg {
	position: absolute;
	inset: 0;
	background-position: var(--hero-bg-position, center center);
	background-size: cover;
}

.page-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 0%, rgba(255, 79, 163, 0.26), transparent 55%),
		linear-gradient(180deg, rgba(7, 5, 9, 0.72) 0%, rgba(7, 5, 9, 0.56) 45%, rgba(7, 5, 9, 0.86) 100%);
}

.page-hero__content {
	position: relative;
}

.page-hero--season .page-hero__title {
	max-width: 820px;
	margin: 0 auto;
	font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem);
}

/* Hero bez lielā virsraksta: viens paziņojuma teikums kā H1, stilizēts
   tāpat kā sākumlapas hero virsraksts (.hero__intro) — vieglāks svars,
   tāds pats izmērs un burtu atstarpe —, lai abas hero sadaļas justos
   kā viena vizuālā sistēma. */
.page-hero--season .page-hero__title--statement {
	max-width: 680px;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(1.55rem, 2.2vw, 2.35rem);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.page-hero--season .page-hero__lead {
	margin-left: auto;
	margin-right: auto;
}

.page-hero--season .page-hero__actions {
	justify-content: center;
}

/* Shared consistent-height hero used only by inner pages that have a real
   top photo (jauna sezona, hobijam, pasākumiem, vasara, par mums, kontakti,
   filiāles) so all of them feel like one component and echo the homepage
   hero's full-width, cover-cropped, centered-image feel. A page only gets
   this class when its hero image file actually exists (see the PHP
   file_exists() checks in each page-*.php) — otherwise it keeps its
   natural content-based height, no forced empty image block. min-height is
   viewport-clamped (svh minus header/breathing room, bounded so it never
   gets absurdly short or tall) so text and CTA buttons stay inside the
   first screen on a normal laptop, and it is a floor only, never a cap, so
   longer hero text can never get clipped. */
.page-hero--media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: clamp(460px, calc(100svh - var(--header-height) - 24px), 620px);
}

/* Per-page hero photo positioning (--hero-bg-position, read by .page-hero__bg
   above). A single global "center center" cropped some photos badly — most
   images here are wide stage/group shots at ~3:2, but the hero box is wide
   and short on desktop (crops top/bottom) and narrow and tall on mobile
   (crops left/right). Each value below is chosen from where the actual
   subject/faces sit in that specific photo, so neither breakpoint cuts a
   head. Only pages with a real hero photo need an entry here. */
.page-hero--jauna-sezona .page-hero__bg {
	--hero-bg-position: 55% 40%;
}

.hobby-hero .page-hero__bg {
	/* Dancers' heads already touch the top edge of the source photo — no
	   headroom to spare, so pin fully to the top. */
	--hero-bg-position: center 0%;
}

.page-hero--pasakumiem .page-hero__bg {
	--hero-bg-position: 45% 30%;
}

.summer-hero .page-hero__bg {
	--hero-bg-position: center 28%;
}

.page-hero--par-mums .page-hero__bg {
	--hero-bg-position: center 32%;
}

.page-hero--kontakti .page-hero__bg {
	/* Lead dancer sits right-of-frame near the top of the photo. */
	--hero-bg-position: 75% 20%;
}

.page-hero--filiales .page-hero__bg {
	/* Lifted dancer is airborne near the top-center of the photo. */
	--hero-bg-position: center 20%;
}

/* Jaunā sezona page (page-jauna-sezona.php) ----------------------------------
   Full dark 2025/2026 season info page for parents. Every selector is scoped
   under .season-page / season-* so the homepage and other pages are untouched. */

.season-page {
	background:
		radial-gradient(circle at 88% 4%, rgba(255, 79, 163, 0.09), transparent 38%),
		radial-gradient(circle at 4% 46%, rgba(192, 24, 112, 0.1), transparent 42%),
		linear-gradient(180deg, var(--color-black) 0%, var(--color-ink) 55%, var(--color-black) 100%);
	color: var(--color-white);
}

.season-section.section {
	padding: clamp(32px, 5vw, 52px) 0;
}

/* Dark-theme overrides for the shared section header pattern. */
.season-page .section__eyebrow {
	color: var(--color-pink);
}

.season-page .section__title {
	color: var(--color-white);
	text-transform: uppercase;
}

.season-page .section__lead {
	color: rgba(255, 255, 255, 0.72);
}

.season-page .section__header {
	margin-bottom: clamp(28px, 4vw, 44px);
}

/* Base dark card used across the season page. */
.season-card {
	padding: 24px 26px;
	border: 1px solid rgba(255, 79, 163, 0.16);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.season-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 79, 163, 0.4);
}

.season-card__label {
	margin: 0 0 8px;
	color: var(--color-pink);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.season-card__text {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
}

/* Quick overview: four compact facts under the hero. */
.season-overview {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* "Kas notiek mūsu nodarbībās?" two-column block. */
.season-about {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: clamp(28px, 5vw, 56px);
	align-items: start;
}

.season-about__prose .section__title {
	margin-bottom: 18px;
}

.season-about__prose p:not(.section__eyebrow) {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.78);
}

.season-about__prose p:last-child {
	margin-bottom: 0;
}

.season-about__aside {
	display: grid;
	gap: 18px;
	justify-items: start;
}

/* Small pink-edged note card (asterisk notes, schedule disclaimer). */
.season-note {
	margin: 0;
	padding: 16px 20px;
	border-left: 3px solid var(--color-pink);
	border-radius: 0 14px 14px 0;
	background: rgba(255, 79, 163, 0.08);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
}

.season-note--center {
	max-width: 560px;
	margin: 26px auto 0;
}

/* BEG / ADV / PRO level explainer cards. */
.season-levels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.season-level__name {
	margin: 0 0 10px;
	color: var(--color-pink);
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

/* Group cards ------------------------------------------------------------- */

.season-group-section {
	margin-top: 44px;
}

.season-group-section:first-of-type {
	margin-top: 0;
}

.season-subheading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 20px;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.season-subheading::before {
	content: "";
	flex: none;
	width: 26px;
	height: 2px;
	background: var(--color-pink);
}

.season-group-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.season-group-card {
	display: flex;
	flex-direction: column;
	padding: 26px 28px;
	border: 1px solid rgba(255, 79, 163, 0.16);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.season-group-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 79, 163, 0.4);
}

.season-group-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 16px;
}

.season-group-card__title {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.season-group-card__price {
	margin: 0;
	color: var(--color-pink);
	font-size: 1.1rem;
	font-weight: 800;
	white-space: nowrap;
}

.season-group-card__price-unit {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8rem;
	font-weight: 600;
}

.season-group-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0;
}

.season-tag {
	padding: 4px 12px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.season-badge {
	padding: 4px 12px;
	border: 1px solid rgba(255, 79, 163, 0.45);
	border-radius: 999px;
	background: rgba(255, 79, 163, 0.14);
	color: var(--color-pink);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.season-group-card__details {
	display: grid;
	gap: 8px;
	margin: 18px 0 20px;
	padding: 16px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	list-style: none;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.9rem;
}

.season-group-card__details strong {
	color: var(--color-white);
	font-weight: 700;
}

/* Schedule block pinned to the card bottom so cards align in the grid. */
.season-group-card__schedule {
	margin: auto 0 0;
	padding: 14px 16px;
	border: 1px solid rgba(255, 79, 163, 0.22);
	border-radius: 14px;
	background: rgba(255, 79, 163, 0.08);
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.88rem;
	line-height: 1.55;
}

.season-group-card__schedule-label {
	display: block;
	margin-bottom: 4px;
	color: var(--color-pink);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Pašu veidotā grafika "tāfele" (/jauna-sezona/) — aizstāj agrāko Google
   Sheets iframe, kas uz tumšās lapas izskatījās kā neapstrādāts balts
   izklājlapas bloks. Dienu kartes ar nodarbību rindām; dati nāk no
   $dreamteam_schedule_days masīva page-jauna-sezona.php failā. */
.schedule-board {
	margin: 0 auto 20px;
}

.schedule-days {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: start;
}

.schedule-day-card {
	padding: 20px 16px;
	border: 1px solid rgba(255, 79, 163, 0.18);
	border-radius: var(--radius-card);
	background:
		radial-gradient(circle at 50% -40%, rgba(255, 79, 163, 0.1), transparent 60%),
		rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

@media (hover: hover) {
	.schedule-day-card:hover {
		transform: translateY(-3px);
		border-color: rgba(255, 79, 163, 0.4);
	}
}

.schedule-day-card__title {
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 79, 163, 0.22);
	color: var(--color-pink);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}

.schedule-day-card__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.schedule-class {
	display: grid;
	gap: 3px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	background: rgba(255, 255, 255, 0.03);
}

/* Akrobātikas nodarbības: tas pats izskats, tikai nedaudz klusāks fons,
   lai galvenās horeogrāfijas nodarbības vizuāli izceļas pirmās. */
.schedule-class--acro {
	background: rgba(255, 255, 255, 0.015);
}

.schedule-time {
	color: var(--color-pink);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.schedule-group {
	color: var(--color-white);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.3;
}

.schedule-room-pill {
	justify-self: start;
	margin-top: 3px;
	padding: 2px 9px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.schedule-room-pill--roza {
	border-color: rgba(255, 79, 163, 0.35);
	color: rgba(255, 158, 205, 0.85);
}

.schedule-room-pill--sarkana {
	border-color: rgba(255, 92, 92, 0.35);
	color: rgba(255, 150, 150, 0.85);
}

/* /vasara/ intensīvās nedēļas grafiks: lokāla, tumša divu grupu tāfele bez
   ārējas izklājlapas, tukša balta laukuma vai horizontālas ritināšanas. */
.summer-schedule-board {
	margin: 0;
	padding: clamp(22px, 2.4vw, 30px);
	border: 1px solid rgba(255, 79, 163, 0.3);
	border-radius: calc(var(--radius-card) + 6px);
	background:
		radial-gradient(circle at 50% -35%, rgba(255, 79, 163, 0.14), transparent 52%),
		rgba(255, 255, 255, 0.025);
	box-shadow: 0 20px 54px rgba(7, 5, 9, 0.38);
}

.summer-schedule-board__header {
	margin: 0 0 20px;
	text-align: center;
}

.summer-schedule-board__eyebrow {
	margin: 0 0 6px;
	color: var(--color-pink);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.summer-schedule-board__title {
	margin: 0;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	line-height: 1.2;
}

/* Detalizētais dienu grafiks tāfeles iekšpusē: atkārtoti izmanto lielās
   /jauna-sezona/ tāfeles kartes (.schedule-day-card, .schedule-class,
   .schedule-time, .schedule-group), pievienojot tikai vasaras modifikatorus.
   Dati nāk no $dreamteam_summer_schedule_days masīva page-vasara.php failā. */
.schedule-board--summer {
	margin-bottom: 0;
}

.schedule-days--summer {
	gap: 12px;
}

.schedule-day-card--summer {
	display: grid;
	gap: 14px;
	padding: 16px 13px;
	border-color: rgba(255, 79, 163, 0.2);
	background:
		radial-gradient(circle at 50% -45%, rgba(255, 79, 163, 0.075), transparent 58%),
		rgba(255, 255, 255, 0.025);
	align-content: start;
}

.schedule-day-card--summer .schedule-day-card__title {
	margin: 0;
	padding-bottom: 10px;
}

.summer-day-group {
	display: grid;
	gap: 7px;
}

.summer-day-group + .summer-day-group {
	padding-top: 13px;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.schedule-day-card--summer .schedule-day-card__list {
	gap: 7px;
}

.schedule-day-card--summer .schedule-class {
	padding: 8px 9px;
	border-color: rgba(255, 255, 255, 0.055);
	background: rgba(255, 255, 255, 0.022);
}

.schedule-day-card--summer .schedule-time {
	font-variant-numeric: tabular-nums;
}

/* Vecuma grupu virsraksti dienas kartē: KIDS — rozā tonī, JUNIORES —
   neitrāli gaišā (atšķiramas, bet bez papildu svešām krāsām). */
.summer-day-group__name {
	margin: 0;
	padding: 5px 8px;
	border: 1px solid rgba(255, 79, 163, 0.28);
	border-radius: 10px;
	background: rgba(255, 79, 163, 0.09);
	color: var(--color-white);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
}

.summer-day-group:nth-of-type(2) .summer-day-group__name {
	border-color: rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.05);
	color: rgba(255, 255, 255, 0.85);
}

/* Atlases rinda: izteiktāka rozā apmale + "ATLASE" etiķete augšējā labajā
   stūrī (laiks paliek augšējā kreisajā — abi viens otru netraucē). */
.schedule-day-card--summer .schedule-class--atlase {
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 8px;
	padding-right: 9px;
	border-color: rgba(255, 79, 163, 0.5);
	background: rgba(255, 79, 163, 0.08);
}

.schedule-day-card--summer .schedule-class--atlase .schedule-time {
	grid-column: 1;
}

.schedule-day-card--summer .schedule-class--atlase .schedule-class__badge {
	position: static;
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	padding: 2px 9px;
	border: 1px solid rgba(255, 79, 163, 0.55);
	border-radius: 999px;
	background: rgba(255, 79, 163, 0.16);
	color: rgba(255, 158, 205, 0.95);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.schedule-day-card--summer .schedule-class--atlase .schedule-group {
	grid-column: 1 / -1;
}

/* Pauzes rinda: klusināta, ar pārtrauktu apmali un kursīvu — nedrīkst
   izskatīties pēc aktīvas nodarbības. */
.schedule-day-card--summer .schedule-class--pauze {
	border-style: dashed;
	border-color: rgba(255, 255, 255, 0.12);
	background: transparent;
}

.schedule-class--pauze .schedule-time {
	color: rgba(255, 255, 255, 0.45);
}

.schedule-class--pauze .schedule-group {
	color: rgba(255, 255, 255, 0.55);
	font-style: italic;
	font-weight: 500;
}

/* Filmēšanas bloks (28.08.): izcelts pilna platuma akcents ar virsrakstu
   un sekundāro piezīmi par laiku/vietu. */
.schedule-day-card--summer .schedule-class--filming {
	padding: 12px 10px;
	border-color: rgba(255, 79, 163, 0.42);
	background:
		radial-gradient(circle at 50% -30%, rgba(255, 79, 163, 0.18), transparent 65%),
		rgba(255, 79, 163, 0.1);
	text-align: center;
}

.schedule-class--filming .schedule-group {
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.schedule-class__note {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.74rem;
	line-height: 1.45;
}

/* Piezīme seko uzreiz aiz grafika un veido vienu ritmu ar faktu kartēm. */
.season-note--summer-schedule {
	max-width: none;
	margin: 14px 0 22px;
	padding: 12px 16px;
	border-left-color: rgba(255, 79, 163, 0.78);
	background: rgba(255, 79, 163, 0.06);
	font-size: 0.88rem;
}

/* "Svarīgi zināt" notes. */
.season-notes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.season-notes__item {
	position: relative;
	padding-left: 52px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.94rem;
}

.season-notes__item::before {
	content: "";
	position: absolute;
	left: 26px;
	top: 32px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-pink);
	box-shadow: 0 0 0 4px rgba(255, 79, 163, 0.18);
}

/* Final application CTA panel. */
.season-cta__panel {
	position: relative;
	overflow: hidden;
	padding: clamp(44px, 7vw, 72px) clamp(20px, 5vw, 64px);
	border: 1px solid rgba(255, 79, 163, 0.28);
	border-radius: 28px;
	background:
		radial-gradient(circle at 50% -30%, rgba(255, 79, 163, 0.38), transparent 62%),
		linear-gradient(160deg, #1d1221 0%, #0c080f 100%);
	box-shadow: 0 30px 80px rgba(7, 5, 9, 0.55);
	text-align: center;
}

.season-cta__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 1.05rem + 1.8vw, 2.3rem);
	font-weight: 800;
	line-height: 1.18;
	text-transform: uppercase;
}

.season-cta__text {
	max-width: 520px;
	margin: 14px auto 28px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 1rem;
}

.season-cta__button {
	min-width: min(280px, 100%);
}

/* Divu anketu izvēle (anketa / atlase) CTA panelī — rinda darbvirsmā,
   kolonnā mobilajā (skat. mobilo .season-cta__panel .button noteikumu). */
.season-cta__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

/* Hobijam page (page-hobijam.php) ---------------------------------------------
   Reuses the dark .season-page framework; hobby-* classes cover only the
   checklist, video, meta, pricing, and notes patterns unique to this page. */

.hobby-checklist {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hobby-checklist__item {
	position: relative;
	padding: 20px 24px 20px 58px;
	border: 1px solid rgba(255, 79, 163, 0.16);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.95rem;
}

.hobby-checklist__item::before {
	content: "✓";
	position: absolute;
	left: 24px;
	top: 19px;
	color: var(--color-pink);
	font-size: 1.05rem;
	font-weight: 800;
}

/* Video card: responsive 16:9 frame; placeholder shown until an embed
   ID is wired in the template. */
.hobby-video {
	max-width: 860px;
	margin: 0 auto;
	padding: 14px;
}

.hobby-video__frame {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	background:
		radial-gradient(circle at 50% 30%, rgba(255, 79, 163, 0.16), transparent 60%),
		linear-gradient(160deg, #1d1221 0%, #0c080f 100%);
}

.hobby-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.hobby-video__frame--placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.hobby-video__play {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 2px solid rgba(255, 79, 163, 0.55);
	border-radius: 50%;
	box-shadow: 0 0 0 8px rgba(255, 79, 163, 0.1);
}

.hobby-video__play::before {
	content: "";
	margin-left: 4px;
	border-style: solid;
	border-width: 9px 0 9px 15px;
	border-color: transparent transparent transparent var(--color-pink);
}

.hobby-video__note {
	margin: 0;
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.92rem;
}

/* "Par grupu" meta cards. */
.hobby-meta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Price cards. */
/* Hobby cenas karte: viena, centrēta un izcelta — vienīgais piedāvājums
   (2x/ned.), tāpēc tai jāizskatās kā galvenajam akcentam, ne mazai flīzei. */
.hobby-price-grid {
	display: grid;
	grid-template-columns: minmax(280px, 560px);
	justify-content: center;
	gap: 20px;
	max-width: 860px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.hobby-price-card {
	display: flex;
	flex-direction: column;
	padding: 42px 44px;
	border: 1px solid rgba(255, 79, 163, 0.35);
	border-radius: var(--radius-card);
	background:
		radial-gradient(circle at 85% 0%, rgba(255, 79, 163, 0.12), transparent 55%),
		rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35), 0 0 0 1px rgba(255, 79, 163, 0.06);
	text-align: center;
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.hobby-price-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 79, 163, 0.55);
}

.hobby-price-card__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.hobby-price-card__subtitle {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.92rem;
}

.hobby-price-card__price {
	margin: 18px 0 0;
	color: var(--color-pink);
	font-size: clamp(2.2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
}

.hobby-price-card__unit {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.95rem;
	font-weight: 600;
}

.hobby-price-card__includes {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	list-style: none;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.92rem;
	text-align: left;
}

.hobby-price-card__includes li {
	position: relative;
	padding-left: 22px;
}

.hobby-price-card__includes li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 8px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-pink);
}

/* "Svarīgi zināt" — three cards side by side. */
.hobby-note-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Vasara lapa (page-vasara.php) -------------------------------------------------
   Reuses the dark .season-page framework already used by hobijam/jauna
   sezona (season-card, season-notes, season-cta__panel, hobby-video for the
   YouTube embed); summer-* covers only this page's single-card and
   facts-list sizing. */

.summer-hero.page-hero--media {
	min-height: clamp(400px, calc(82svh - var(--header-height)), 520px);
	padding: calc(var(--header-height) + clamp(40px, 7vw, 82px)) 0 clamp(44px, 6vw, 72px);
}

.summer-page .summer-section.section {
	padding: clamp(36px, 4.5vw, 52px) 0 clamp(44px, 5vw, 60px);
}

.summer-intro-header {
	max-width: 860px;
	margin-bottom: clamp(28px, 3vw, 36px) !important;
}

.summer-intro-header .section__eyebrow {
	margin-bottom: 10px;
}

.summer-intro-header .section__lead {
	max-width: 780px;
	margin-top: 16px;
	line-height: 1.65;
}

.summer-page .summer-content-panel {
	height: auto;
	min-height: 0;
	padding: clamp(28px, 4vw, 44px) clamp(20px, 4vw, 42px);
	border-color: rgba(255, 79, 163, 0.2);
	background:
		radial-gradient(circle at 50% -35%, rgba(255, 79, 163, 0.2), transparent 58%),
		linear-gradient(160deg, #1a111e 0%, #0c080f 100%);
	box-shadow: 0 22px 58px rgba(7, 5, 9, 0.42);
}

.summer-content-panel .season-cta__title {
	margin-bottom: 14px;
}

.summer-content-panel > .season-card__text {
	max-width: 780px;
	margin: 0 auto 24px;
	text-align: left;
}

.summer-content-panel--lessons {
	margin-bottom: clamp(48px, 5vw, 64px);
}

.summer-content-panel--included {
	margin-top: clamp(28px, 3vw, 36px);
}

.summer-intensive-facts,
.summer-included-facts {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	max-width: 860px;
	margin: 0 auto;
	text-align: left;
}

.summer-intensive-facts .season-notes__item,
.summer-included-facts .season-notes__item {
	height: auto;
	min-height: 0;
	align-self: start;
	border-color: rgba(255, 79, 163, 0.12);
	background: rgba(255, 255, 255, 0.025);
	box-shadow: 0 10px 28px rgba(7, 5, 9, 0.28);
}

.summer-intensive-facts > :last-child:nth-child(odd),
.summer-included-facts > :last-child:nth-child(odd) {
	grid-column: 1 / -1;
	justify-self: center;
	width: calc((100% - 16px) / 2);
}

.schedule-days--summer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}

.schedule-day-card--summer {
	flex: 0 1 calc((100% - 48px) / 5);
	width: calc((100% - 48px) / 5);
	max-width: calc((100% - 48px) / 5);
	min-width: 0;
	height: auto;
	align-self: flex-start;
}

.summer-overview {
	grid-template-columns: minmax(200px, 0.85fr) minmax(380px, 1.45fr) minmax(190px, 0.75fr);
	align-items: start;
}

.summer-overview > .season-card {
	height: auto;
	min-height: 0;
	align-self: start;
	border-color: rgba(255, 79, 163, 0.13);
	background: rgba(255, 255, 255, 0.025);
	box-shadow: 0 12px 32px rgba(7, 5, 9, 0.3);
}

.summer-price-banner {
	max-width: 900px;
	margin: clamp(28px, 3vw, 36px) auto 0;
	padding: 13px 18px;
	background: rgba(255, 79, 163, 0.07);
}

.summer-price-banner p {
	margin: 0;
}

.summer-price-banner__amount {
	color: var(--color-pink);
	font-size: 1.08em;
	white-space: nowrap;
}

.summer-important-notes {
	align-items: start;
	max-width: 900px;
	margin: 28px auto 0;
}

.summer-important-notes > .season-card {
	height: auto;
	min-height: 0;
	align-self: start;
	border-color: rgba(255, 79, 163, 0.13);
	background: rgba(255, 255, 255, 0.025);
	box-shadow: 0 10px 28px rgba(7, 5, 9, 0.28);
}

.summer-selection-note,
.summer-deadline-note {
	width: 100%;
	max-width: 900px;
	text-align: left;
}

.summer-selection-note {
	margin-top: 20px;
}

.summer-deadline-note {
	margin-top: 12px;
}

.summer-video {
	margin-top: 32px;
}

.summer-selection-cta {
	margin: 22px 0 0;
	text-align: center;
}

@media (max-width: 1359px) {
	.schedule-day-card--summer {
		flex-basis: calc((100% - 24px) / 3);
		width: calc((100% - 24px) / 3);
		max-width: 340px;
	}
}

@media (max-width: 1020px) {
	.summer-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.summer-overview > :nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.summer-overview > :nth-child(2) {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.summer-overview > :nth-child(3) {
		grid-column: 2;
		grid-row: 1;
	}
}

@media (max-width: 900px) {
	.schedule-day-card--summer {
		flex-basis: calc((100% - 12px) / 2);
		width: calc((100% - 12px) / 2);
		max-width: 360px;
	}
}

@media (max-width: 720px) {
	.summer-hero.page-hero--media {
		min-height: 400px;
		padding: calc(var(--header-height) + 36px) 0 38px;
	}

	.summer-page .summer-content-panel {
		padding: 22px 18px;
	}

	.summer-intensive-facts,
	.summer-included-facts,
	.summer-overview {
		grid-template-columns: 1fr;
	}

	.summer-intensive-facts > :last-child:nth-child(odd),
	.summer-included-facts > :last-child:nth-child(odd) {
		grid-column: auto;
		width: 100%;
	}

	.schedule-day-card--summer {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}

	.summer-overview > :nth-child(1),
	.summer-overview > :nth-child(2),
	.summer-overview > :nth-child(3) {
		grid-column: 1;
		grid-row: auto;
	}

	.summer-important-notes {
		grid-template-columns: 1fr;
	}
}

/* Vasaras nometne 2026 lapa (page-nometne-2026.php) -----------------------------
   Reuses the dark .season-page framework and rules-* list/highlight styles
   already used by /uznemsanas-noteikumi/; camp-* covers only the numbered
   application-steps list and the inline price/number accent. */

.camp-steps {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: camp-step;
}

.camp-steps li {
	position: relative;
	padding-left: 52px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.98rem;
	line-height: 1.6;
}

.camp-steps li::before {
	counter-increment: camp-step;
	content: counter(camp-step);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-pink) 0%, var(--color-pink-deep) 100%);
	color: var(--color-black);
	font-weight: 800;
	font-size: 0.92rem;
}

.camp-price {
	color: var(--color-pink);
	font-weight: 800;
}

/* Pasākumiem lapa (page-pasakumiem.php) ------------------------------------------
   Reuses the dark .season-page framework already used by vasara/nometne-2026
   (season-card, rules-highlight, season-cta__panel); events-* covers only
   this page's card-grid columns and the LED attribute icon cards. */

.events-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.events-grid--three {
	grid-template-columns: repeat(3, 1fr);
}

.led-card {
	padding: 26px 20px;
	border: 1px solid rgba(255, 79, 163, 0.16);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	text-align: center;
}

.led-card__icon {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0 auto 14px;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-pink) 0%, var(--color-pink-deep) 100%);
	color: var(--color-white);
	font-size: 1.2rem;
}

.led-card__label {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.led-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	margin: 0 auto 14px;
	overflow: hidden;
	border-radius: var(--radius-card);
}

.led-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* TikTok sadaļa (page-pasakumiem.php) --------------------------------------------
   Tumšā/rozā stila ekvivalents Instagram sadaļai: tiktok-feed-card ir
   ārējais rāmis reālam spraudņa shortcode HTML (ja uzstādīts) VAI
   režģim ar reāliem ekrānuzņēmumiem (ja tādi eksistē) VAI "feed-ready"
   piezīmei — nekad neizdomātam/fake saturam. */
.events-social--tiktok .tiktok-feed-card {
	margin: 0 auto;
	max-width: 100%;
}

.tiktok-feed-shell {
	max-width: 100%;
	overflow: hidden;
	border-radius: var(--radius-card);
}

.tiktok-feed-shell img {
	max-width: 100%;
	height: auto;
}

/* Reālā TikTok Feed spraudņa (Smash Balloon "Feeds for TikTok", shortcode
   [sbtt-tiktok feed=1]) izvades stils. Visi selektori zemāk ir REĀLI,
   apstiprināti klašu nosaukumi — iegūti, staging vietnē ielādējot servera
   HTML (curl) un spraudņa React renderēšanas JS/CSS pakotnes
   (wp-content/litespeed/js|css .. kombinētie faili) un izvelkot no tām
   className vērtības. Renderētā DOM struktūra:
     .sbtt-tiktok-feed                     ← servera HTML konteiners
       section.sb-feed-wrapper.sb-fs
         section.sbtt-feed-container[data-layout=grid]
           section.sb-feed-header          ← profila galvene (avatars, "LED
                                             SHOW LV", stati, Follow poga)
           section.sb-feed-posts
             div.sb-grid-wrapper[data-grid-columns] ← režģis (inline
                                             display:grid + gap; kolonnas no
                                             spraudņa CSS pēc data-atribūta)
               div.sb-post-item-wrap
                 div.sb-post-item.sbtt-post-item.sb-post-block-item
                   div.sb-post-item-image-wrap > img.sb-post-item-image
                   div.sb-post-item-caption  (inline tumša krāsa #2C324C)
                   div.sb-post-item-details
           section.sb-load-button-ctn > button.sb-btn.sb-load-button
   Spraudņa admin iestatījumi: 3 kolonnas darbvirsmā, 3 ieraksti, galvene
   ieslēgta ar tumšu tekstu (#141B38) — domāta gaišam fonam, tāpēc uz mūsu
   tumšā fona tā izskatījās "salauzta"/neredzama. */
.tiktok-feed-shell .sbtt-tiktok-feed {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Slēpjam spraudņa profila galveni — tēmai jau ir savs sadaļas virsraksts,
   apraksts un "SEKOT TIKTOK" poga; galvenes tumšais teksts uz tumšā fona
   bija galvenais vizuālā defekta cēlonis. */
.tiktok-feed-shell .sb-feed-header {
	display: none !important;
}

/* Režģis: spraudnis inline uzliek display:grid + 16/20px atstarpes; kolonnu
   skaitu (3 darbvirsmā) nosaka tā CSS pēc data-grid-columns. 3 kolonnas ar
   3 reāliem video ir labākais aizpildījums (4–5 kolonnas atstātu tukšas
   sliedes) — pārrakstām tikai atstarpi uz tēmas 18px. */
.tiktok-feed-shell .sb-grid-wrapper {
	gap: 18px !important;
	width: 100% !important;
}

/* Video karte: Dreamteam tumšā/rozā karte ar 9:16 attiecību. */
.tiktok-feed-shell .sb-post-item {
	overflow: hidden !important;
	border-radius: var(--radius-card) !important;
	border: 1px solid rgba(255, 79, 163, 0.16);
	background: rgba(255, 255, 255, 0.03);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

/* Pacelšanās efekts tikai ierīcēm ar īstu kursoru (desktop). */
@media (hover: hover) {
	.tiktok-feed-shell .sb-post-item:hover {
		transform: translateY(-4px);
		border-color: rgba(255, 79, 163, 0.45);
		box-shadow: 0 14px 30px rgba(255, 79, 163, 0.16);
	}
}

.tiktok-feed-shell .sb-post-item-image-wrap {
	position: relative;
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	height: auto !important;
	overflow: hidden;
}

/* Spraudņa CSS liek attēlam height:inherit!important — pārsitam ar
   augstāku specifiskumu, lai attēls vienmēr aizpilda 9:16 rāmi. */
.tiktok-feed-shell .sb-post-item .sb-post-item-image,
.tiktok-feed-shell .sb-post-item-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* Paraksts: spraudnis inline uzliek tumšu krāsu (#2C324C) — uz tumšā fona
   nelasāms, tāpēc pārsitam uz gaišu. */
.tiktok-feed-shell .sb-post-item-caption {
	color: rgba(255, 255, 255, 0.78) !important;
}

.tiktok-feed-shell .sb-post-item-caption a,
.tiktok-feed-shell .sb-post-readmorelink {
	color: var(--color-pink) !important;
}

.tiktok-feed-shell .sb-post-item-details {
	padding: 14px 16px 18px !important;
}

/* "Load More" poga: spraudņa gaiši pelēkais stils (inline #E6E6EB fons ar
   tumšu tekstu) neiederas tumšajā lapā — pārveidojam par tēmas sekundāro
   pogu. Funkcionalitāte (ielādēt vairāk video) paliek. */
.tiktok-feed-shell .sb-load-button {
	background: rgba(255, 255, 255, 0.05) !important;
	color: var(--color-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.32) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em;
}

.tiktok-feed-shell .sb-load-button:hover {
	border-color: var(--color-pink) !important;
	color: var(--color-pink) !important;
}

.tiktok-feed-shell .sb-load-button-ctn {
	margin-top: 10px;
}

.tiktok-feed-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tiktok-feed-item {
	position: relative;
	overflow: hidden;
	aspect-ratio: 9 / 16;
	border-radius: var(--radius-card);
	border: 1px solid rgba(255, 79, 163, 0.16);
	background: rgba(255, 255, 255, 0.03);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.tiktok-feed-item:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 79, 163, 0.45);
	box-shadow: 0 14px 30px rgba(255, 79, 163, 0.16);
}

.tiktok-feed-item a {
	display: block;
	width: 100%;
	height: 100%;
}

.tiktok-feed-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tiktok-feed-play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: linear-gradient(180deg, rgba(5, 0, 8, 0) 55%, rgba(5, 0, 8, 0.55) 100%);
}

.tiktok-feed-play::before {
	content: "";
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(5, 0, 8, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.45);
}

.tiktok-feed-play::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 13px solid var(--color-white);
	margin-left: 4px;
}

.tiktok-feed-empty {
	padding: 30px;
	border: 1px dashed rgba(255, 79, 163, 0.3);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	text-align: center;
}

.tiktok-feed-empty p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.95rem;
}

/* Kontaktu lapa (page-kontakti.php) --------------------------------------------
   Reuses the dark .season-page framework; contacts-* classes cover the
   Tālrunis/E-pasts row cards and the dark card wrapping the real WPForms
   contact form (shortcode [wpforms id="9015"], rendered via do_shortcode() —
   no the_content(), no editor content). */

/* Centrēts Tālrunis/E-pasts karšu režģis. */
.contacts-rows {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	max-width: 720px;
	margin: 32px auto 0;
	padding: 0;
	list-style: none;
}

/* Bez pogas atstāj tikai vienu bērnu (tālrunis/e-pasts teksts), tāpēc
   kartes saturu centrējam, lai nepaliek liels tukšs laukums pa labi. */
.contacts-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
}

.contacts-link {
	color: var(--color-white);
	font-weight: 600;
	border-bottom: 1px solid rgba(255, 79, 163, 0.4);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.contacts-link:hover {
	color: var(--color-pink);
	border-color: var(--color-pink);
}

.contacts-link--accent {
	color: var(--color-pink);
	border-bottom: none;
}

.contacts-card__hint {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.86rem;
}

.contacts-location {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 860px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.contacts-location__city {
	margin: 0 0 10px;
	color: var(--color-pink);
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contacts-location__card .season-card__text {
	margin-bottom: 12px;
}

.contacts-location__card .season-card__text:last-child {
	margin-bottom: 0;
}

/* Kontaktu un filiāļu lapas: pogas atstarpe zem kartes teksta. */
.filiale-card__button {
	margin-top: 6px;
}

/* Kontaktu lapa: tumša karte ap reālo WPForms kontaktformu (ID 9015).
   WPForms pašas CSS (frontend-modern.css) izmanto samērā specifiskus
   selektorus, piem. ".wpforms-container-full .wpforms-form
   input[type=text]" (2 klases + atribūts). Mūsu iepriekšējie vienkāršie
   ".contacts-form-card input[type=text]" noteikumi (1 klase + atribūts)
   bija ZEMĀKA specifiskuma un tāpēc netika piemēroti — forma palika baltā/
   noklusējuma izskatā. Zemāk visi lauku/pogas noteikumi apzināti sasaista
   ".contacts-form-card" + ".wpforms-container(-full)" + ".wpforms-form"
   ķēdi (augstāks specifiskums par spraudņa CSS) un kritiskajām vizuālajām
   īpašībām (fons, apmale, teksta krāsa, platums, noapaļojums, pogas stils)
   papildus pievienots !important, lai uzvarētu neatkarīgi no CSS ielādes
   secības. */
.contacts-form-card {
	max-width: 860px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid rgba(255, 79, 163, 0.2);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 18px 44px rgba(7, 5, 9, 0.35);
}

.contacts-form-card .wpforms-container,
.contacts-form-card .wpforms-container-full,
.contacts-form-card div.wpforms-container-full {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 100% !important;
}

.contacts-form-card .wpforms-form {
	margin: 0 !important;
	max-width: 100% !important;
}

.contacts-form-card .wpforms-field {
	margin-bottom: 20px;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Vārda lauks (Name field): WPForms to izvada kā divus ievadlaukus vienā
   rindā (.wpforms-field-row ar diviem .wpforms-field-row-block). Pārliekam
   noklusējuma flex izkārtojumu par tīru 2-kolonnu režģi darbvirsmā. */
.contacts-form-card .wpforms-field-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.contacts-form-card .wpforms-field-row-block,
.contacts-form-card .wpforms-first-half,
.contacts-form-card .wpforms-last-half {
	width: auto !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.contacts-form-card .wpforms-field-row-block + .wpforms-field-row-block {
	margin-top: 0;
}

.contacts-form-card .wpforms-field-label {
	display: block;
	margin-bottom: 8px;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* WPForms joprojām izvada angļu sublabel tekstu ("First" / "Last"), ja
   admin panelī tie nav pārtulkoti — paslēpjam tos vizuāli, lai forma
   paliktu latviska un tīra. */
.contacts-form-card .wpforms-field-sublabel {
	display: none !important;
}

.contacts-form-card .wpforms-required-label {
	color: var(--color-pink) !important;
}

/* Spēcīgi, augsta specifiskuma selektori laukiem — sasaista karti +
   WPForms konteineri + formu, lai droši uzvarētu spraudņa pašas CSS. */
.contacts-form-card .wpforms-container .wpforms-form input[type="text"],
.contacts-form-card .wpforms-container .wpforms-form input[type="email"],
.contacts-form-card .wpforms-container .wpforms-form input[type="tel"],
.contacts-form-card .wpforms-container .wpforms-form input[type="number"],
.contacts-form-card .wpforms-container .wpforms-form input[type="url"],
.contacts-form-card .wpforms-container .wpforms-form textarea,
.contacts-form-card .wpforms-container .wpforms-form select,
.contacts-form-card .wpforms-container-full .wpforms-form input[type="text"],
.contacts-form-card .wpforms-container-full .wpforms-form input[type="email"],
.contacts-form-card .wpforms-container-full .wpforms-form input[type="tel"],
.contacts-form-card .wpforms-container-full .wpforms-form input[type="number"],
.contacts-form-card .wpforms-container-full .wpforms-form input[type="url"],
.contacts-form-card .wpforms-container-full .wpforms-form textarea,
.contacts-form-card .wpforms-container-full .wpforms-form select {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	padding: 15px 18px !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--color-white) !important;
	font-family: var(--font-body);
	font-size: 0.95rem;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

/* WPForms lauku izmēra klases (small/medium/large) uzstāda fiksētu
   procentuālo/pikseļu platumu — tas radīja nekonsekventus platumus (Vārds/
   E-pasts šaurāki par Ziņojumu). Piespiežam visus uz pilnu platumu. */
.contacts-form-card .wpforms-field-small,
.contacts-form-card .wpforms-field-medium,
.contacts-form-card .wpforms-field-large,
.contacts-form-card input.wpforms-field-small,
.contacts-form-card input.wpforms-field-medium,
.contacts-form-card input.wpforms-field-large,
.contacts-form-card textarea.wpforms-field-small,
.contacts-form-card textarea.wpforms-field-medium,
.contacts-form-card textarea.wpforms-field-large,
.contacts-form-card select.wpforms-field-small,
.contacts-form-card select.wpforms-field-medium,
.contacts-form-card select.wpforms-field-large {
	width: 100% !important;
	max-width: 100% !important;
}

.contacts-form-card input::placeholder,
.contacts-form-card textarea::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
}

.contacts-form-card .wpforms-container .wpforms-form input:focus,
.contacts-form-card .wpforms-container .wpforms-form textarea:focus,
.contacts-form-card .wpforms-container .wpforms-form select:focus,
.contacts-form-card .wpforms-container-full .wpforms-form input:focus,
.contacts-form-card .wpforms-container-full .wpforms-form textarea:focus,
.contacts-form-card .wpforms-container-full .wpforms-form select:focus {
	outline: none !important;
	border-color: var(--color-pink) !important;
	background: rgba(255, 255, 255, 0.09) !important;
	box-shadow: 0 0 0 3px rgba(255, 79, 163, 0.25) !important;
}

.contacts-form-card textarea {
	min-height: 160px !important;
	max-height: 260px;
	resize: vertical;
}

.contacts-form-card select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.6) 50%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.6) 50%, transparent 50%);
	background-position: calc(100% - 20px) center, calc(100% - 15px) center;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 40px !important;
}

.contacts-form-card select option {
	color: var(--color-black);
}

/* GDPR/checkbox un radio lauki (piekrišanas rūtiņas u.tml.). */
.contacts-form-card .wpforms-field-checkbox ul,
.contacts-form-card .wpforms-field-radio ul,
.contacts-form-card .wpforms-field-gdpr-checkbox ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.contacts-form-card .wpforms-field-checkbox li label,
.contacts-form-card .wpforms-field-radio li label,
.contacts-form-card .wpforms-field-gdpr-checkbox li label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
	font-weight: 400;
}

.contacts-form-card input[type="checkbox"],
.contacts-form-card input[type="radio"] {
	width: auto;
	margin-top: 3px;
	accent-color: var(--color-pink);
}

.contacts-form-card .wpforms-field-description {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.85rem;
}

.contacts-form-card .wpforms-error {
	color: #ff8a9a;
	font-size: 0.85rem;
}

.contacts-form-card .wpforms-field-label.wpforms-error,
.contacts-form-card input.wpforms-error,
.contacts-form-card textarea.wpforms-error,
.contacts-form-card select.wpforms-error {
	border-color: #ff8a9a;
}

/* Validācijas kopsavilkums — noklusējuma WPForms stils ir gaišs fons/tumšs
   teksts, tāpēc pielāgojam tumšajam dizainam, lai teksts paliktu lasāms. */
.contacts-form-card .wpforms-error-container {
	margin-top: 12px;
	padding: 16px 18px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.05);
	color: #ff8a9a;
	font-size: 0.92rem;
	border: 1px solid rgba(255, 138, 154, 0.4);
}

/* Veiksmīgas iesniegšanas paziņojums ("Paldies! Ziņa ir saņemta."). WPForms
   šo bloku bieži izvada ar savu ID selektoru (piem.
   "#wpforms-confirmation-9015") un savu noklusējuma tumši pelēko teksta
   krāsu tieši uz <p>/<div> elementiem — tas uzvar vienkāršu klases
   noteikumu pat tad, ja konteinera fons ir pareizi tumšs, jo pārmantotā
   krāsa nekad neuzvar tiešu, kaut vai zemas specifiskuma, noteikumu uz paša
   elementa. Tāpēc krāsa/fons/apmale šeit ir piespiesta ar !important un
   noteikumi ir sasaistīti gan ar konteineri, gan ar tā iekšējiem p/div/
   strong elementiem. */
.contacts-form-card .wpforms-confirmation-container,
.contacts-form-card .wpforms-confirmation-container-full,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container-full {
	margin-top: 12px !important;
	padding: 20px 24px !important;
	border-radius: 18px !important;
	background: rgba(255, 79, 163, 0.1) !important;
	border: 1px solid rgba(255, 79, 163, 0.45) !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	box-shadow: 0 8px 24px rgba(255, 79, 163, 0.18);
}

.contacts-form-card .wpforms-confirmation-container p,
.contacts-form-card .wpforms-confirmation-container div,
.contacts-form-card .wpforms-confirmation-container strong,
.contacts-form-card .wpforms-confirmation-container-full p,
.contacts-form-card .wpforms-confirmation-container-full div,
.contacts-form-card .wpforms-confirmation-container-full strong,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container p,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container div,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container strong,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container-full p,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container-full div,
.contacts-form-card div.wpforms-container-full .wpforms-confirmation-container-full strong {
	margin: 0;
	color: rgba(255, 255, 255, 0.92) !important;
}

.contacts-form-card .wpforms-submit-container {
	margin-top: 12px;
}

/* Iesniegšanas poga piespiesta izskatīties kā Dreamteam rozā CTA poga
   (skat. .button--primary), neatkarīgi no WPForms pašas .wpforms-submit
   noklusējuma (balta/kvadrātveida) stila. */
.contacts-form-card .wpforms-container .wpforms-form button[type="submit"],
.contacts-form-card .wpforms-container .wpforms-form button.wpforms-submit,
.contacts-form-card .wpforms-container-full .wpforms-form button[type="submit"],
.contacts-form-card .wpforms-container-full .wpforms-form button.wpforms-submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	width: auto;
	padding: 15px 38px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: var(--color-pink) !important;
	color: var(--color-black) !important;
	font-family: var(--font-body);
	font-weight: 800 !important;
	font-size: 0.88rem;
	letter-spacing: 0.06em;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: 0 14px 32px rgba(255, 79, 163, 0.32);
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.contacts-form-card .wpforms-container .wpforms-form button[type="submit"]:hover,
.contacts-form-card .wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background: var(--color-white) !important;
	color: var(--color-black) !important;
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(255, 79, 163, 0.4);
}

/* Generic white content cards (rules, values, offers, summer blocks). */
.content-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.content-card {
	padding: 28px;
	border: 1px solid rgba(7, 5, 9, 0.08);
	border-radius: var(--radius-card);
	background: var(--color-white);
	box-shadow: var(--shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.content-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 79, 163, 0.35);
	box-shadow: var(--shadow-card-hover);
}

.content-card__title {
	margin: 0 0 8px;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.3;
}

.content-card__text {
	margin: 0;
	color: var(--text-muted);
	font-size: 0.95rem;
}

/* "Mūsu stāsts" (page-par-mums.php): two balanced story cards instead of
   plain unstyled paragraphs — slightly larger, more readable text than the
   compact feature-grid cards, capped so lines don't stretch too wide. */
.story-grid {
	max-width: 920px;
	margin: 0 auto;
}

.story-grid .content-card__text {
	font-size: 1rem;
	line-height: 1.7;
}

/* Extra detail rows (level / schedule / price) inside group cards. */
.group-card__details {
	display: grid;
	gap: 6px;
	margin: 0 0 20px;
	padding: 14px 0 0;
	border-top: 1px solid rgba(7, 5, 9, 0.08);
	list-style: none;
	color: var(--text-muted);
	font-size: 0.86rem;
}

.group-card__details strong {
	color: var(--color-ink);
	font-weight: 700;
}

/* Prose block for story/legal text on inner pages. */
.page-prose {
	max-width: 680px;
}

.page-prose p {
	margin: 0 0 16px;
	color: var(--text-muted);
	font-size: 1rem;
}

.page-prose p:last-child {
	margin-bottom: 0;
}

/* Dark CTA band at the end of inner pages. */
/* Par mums: stāsta teksts un blakus attēls. */
.story-media-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	align-items: center;
	gap: clamp(24px, 4vw, 48px);
}

.story-media-grid--text-only {
	grid-template-columns: minmax(0, 760px);
	justify-content: center;
}

.story-media-grid__media {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 79, 163, 0.18);
	border-radius: 8px;
	box-shadow: var(--shadow-soft);
}

.story-media-grid__media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center;
}

/* Uzņemšanas noteikumu lapa (page-uznemsanas-noteikumi.php) ------------------
   Reuses the dark .season-page framework and the shared .rules-highlight /
   .rules-list / .rules-link helpers (also used by nometne/kontakti/vasara/
   pasākumi — do not restyle those here). rules-hero is a compact page top
   that always clears the fixed header and the WP admin bar; rules-doc holds
   the numbered document sections (rules-block) where cards appear only for
   itemized content (groups, weekly plan, selection dates, costs) and long
   rules stay as full-width numbered items with a readable line length. */

.rules-hero {
	padding: calc(var(--header-height) + clamp(32px, 6vh, 56px)) 0 clamp(30px, 5vw, 48px);
	text-align: center;
}

/* Logged-in view: .site-header drops below the WP admin bar (top: 32px), so
   the hero needs the same extra clearance to keep the H1 fully visible. */
.admin-bar .rules-hero {
	padding-top: calc(var(--header-height) + 32px + clamp(32px, 6vh, 56px));
}

/* WP admin josla zem 783px ir 46px augsta. */
@media (max-width: 782px) {
	.admin-bar .rules-hero {
		padding-top: calc(var(--header-height) + 46px + clamp(32px, 6vh, 56px));
	}
}

.rules-hero__content {
	position: relative;
}

.rules-hero__eyebrow {
	margin: 0;
	color: var(--color-pink);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.rules-hero__title {
	max-width: 880px;
	margin: 14px auto 0;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	overflow-wrap: break-word;
}

.rules-hero__season {
	display: inline-block;
	margin: 18px auto 0;
	padding: 8px 18px;
	border: 1px solid rgba(255, 79, 163, 0.4);
	border-radius: 999px;
	background: rgba(255, 79, 163, 0.08);
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(0.82rem, 0.76rem + 0.3vw, 0.95rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Document column: section paddings come from .season-section; the container
   is narrowed so body text keeps a readable line length. */
.rules-block > .container {
	width: min(1000px, calc(100% - 40px));
}

.rules-block__header {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: clamp(18px, 3vw, 26px);
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 79, 163, 0.18);
}

.rules-block__num {
	margin: 0;
	color: var(--color-pink);
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.rules-block__title {
	margin: 0;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.rules-block__body {
	display: grid;
	gap: 14px;
	max-width: 850px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.98rem;
	line-height: 1.7;
}

.rules-block__body p {
	margin: 0;
}

/* 01 — group cards. */
.rules-groups {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: stretch;
}

.rules-group-card {
	padding: 16px 18px;
	border: 1px solid rgba(255, 79, 163, 0.18);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
}

.rules-group-card__name {
	margin: 0;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rules-group-card__name span {
	color: var(--color-pink);
}

.rules-group-card__age {
	margin: 6px 0 0;
	color: var(--color-pink);
	font-size: 0.92rem;
	font-weight: 700;
}

.rules-group-card__years {
	color: rgba(255, 255, 255, 0.55);
	font-weight: 500;
}

.rules-group-card__level {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.88rem;
}

.rules-footnote {
	max-width: 850px;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.9rem;
	line-height: 1.6;
}

.rules-footnote > span {
	color: var(--color-pink);
	font-weight: 800;
}

/* 03 — weekly plan rows (group / lessons / price). */
.rules-plan {
	display: grid;
	gap: 10px;
	margin: 0 0 clamp(18px, 3vw, 26px);
	padding: 0;
	list-style: none;
}

.rules-plan__row {
	display: grid;
	grid-template-columns: minmax(130px, 175px) 1fr auto;
	gap: 6px 20px;
	align-items: center;
	padding: 14px 20px;
	border: 1px solid rgba(255, 79, 163, 0.16);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.03);
}

.rules-plan__group {
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: 0.94rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.rules-plan__detail {
	display: grid;
	gap: 2px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
}

.rules-plan__detail strong {
	color: rgba(255, 255, 255, 0.92);
	font-weight: 600;
}

.rules-plan__price {
	justify-self: end;
	color: var(--color-pink);
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}

.rules-plan__price small {
	display: block;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* 04 — selection date cards. */
.rules-dates {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: clamp(18px, 3vw, 26px) 0 0;
	padding: 0;
	list-style: none;
	align-items: start;
}

.rules-date-card {
	padding: 18px 20px;
	border: 1px solid rgba(255, 79, 163, 0.28);
	border-radius: var(--radius-card);
	background: linear-gradient(150deg, rgba(255, 79, 163, 0.1), rgba(255, 255, 255, 0.03) 55%);
}

.rules-date-card__when {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 10px;
}

.rules-date-card__date {
	color: var(--color-pink);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rules-date-card__time {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.95rem;
	font-weight: 700;
}

.rules-date-card__group {
	margin: 0;
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.rules-date-card__meta {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.9rem;
	line-height: 1.55;
}

.rules-date-card__note {
	margin: 12px 0 0;
	padding-top: 10px;
	border-top: 1px dashed rgba(255, 79, 163, 0.32);
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.9rem;
	line-height: 1.55;
}

/* 05 — season plan timeline. */
.rules-timeline {
	position: relative;
	max-width: 850px;
	margin: clamp(18px, 3vw, 26px) 0 0;
	padding: 0;
	list-style: none;
}

.rules-timeline__item {
	position: relative;
	margin-left: 6px;
	padding: 0 0 24px 28px;
	border-left: 1px solid rgba(255, 79, 163, 0.3);
}

.rules-timeline__item:last-child {
	padding-bottom: 0;
	border-left-color: transparent;
}

.rules-timeline__item::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 3px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--color-pink);
	box-shadow: 0 0 0 4px rgba(255, 79, 163, 0.18);
}

.rules-timeline__months {
	margin: 0 0 8px;
	color: var(--color-pink);
	font-family: var(--font-display);
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rules-timeline__list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
	line-height: 1.6;
}

.rules-timeline__list li {
	position: relative;
	padding-left: 16px;
}

.rules-timeline__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.68em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(255, 79, 163, 0.6);
}

/* 06/07 — numbered rule items (attendance, payment). */
.rules-num-list {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: rules-item;
}

.rules-num-list__item {
	position: relative;
	display: grid;
	gap: 10px;
	padding: 18px 20px 18px 62px;
	border: 1px solid rgba(255, 79, 163, 0.14);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.025);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.96rem;
	line-height: 1.65;
}

.rules-num-list__item::before {
	content: counter(rules-item, decimal-leading-zero);
	counter-increment: rules-item;
	position: absolute;
	left: 20px;
	top: 19px;
	color: var(--color-pink);
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 800;
}

.rules-num-list__item p {
	margin: 0;
	max-width: 820px;
}

/* 08 — costs and discounts, paired columns. */
.rules-cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	align-items: start;
}

.rules-col-card {
	display: grid;
	gap: 12px;
	padding: 22px 24px;
	border: 1px solid rgba(255, 79, 163, 0.18);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.03);
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.95rem;
	line-height: 1.65;
}

.rules-col-card__title {
	margin: 0;
	color: var(--color-pink);
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.rules-col-card p {
	margin: 0;
}

.rules-col-card strong {
	color: var(--color-white);
}

/* 09 — withdrawal, highlighted final card. */
.rules-final-card {
	display: grid;
	gap: 12px;
	max-width: 850px;
	padding: clamp(22px, 4vw, 30px);
	border: 1px solid rgba(255, 79, 163, 0.45);
	border-radius: var(--radius-card);
	background: linear-gradient(135deg, rgba(255, 79, 163, 0.13), rgba(255, 255, 255, 0.03));
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
	line-height: 1.65;
}

.rules-final-card p {
	margin: 0;
}

.rules-final-card__example {
	padding: 10px 16px;
	border-left: 3px solid var(--color-pink);
	border-radius: 0 12px 12px 0;
	background: rgba(255, 79, 163, 0.1);
	color: var(--color-white);
	font-weight: 600;
}

/* 10 — CTA panel: the section number sits centered above the panel title. */
.season-cta .rules-block__num {
	margin-bottom: 6px;
}

.rules-highlight {
	padding: 14px 18px;
	border-left: 3px solid var(--color-pink);
	border-radius: 0 14px 14px 0;
	background: rgba(255, 79, 163, 0.08);
	color: rgba(255, 255, 255, 0.9);
}

.rules-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rules-list li {
	position: relative;
	padding-left: 20px;
}

.rules-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.75em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-pink);
}

.rules-list--spaced {
	gap: 18px;
}

.rules-link {
	color: var(--color-pink);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-word;
}

.rules-link:hover,
.rules-link:focus-visible {
	color: var(--color-white);
}

.page-cta {
	background:
		radial-gradient(circle at 50% -20%, rgba(255, 79, 163, 0.35), transparent 56%),
		linear-gradient(180deg, var(--color-black) 0%, var(--color-ink) 100%);
	color: var(--color-white);
	text-align: center;
}

.page-cta__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.4rem);
	font-weight: 800;
	line-height: 1.15;
}

.page-cta__text {
	max-width: 520px;
	margin: 16px auto 28px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 1.02rem;
}

/* Footer ------------------------------------------------------------------------ */

.site-footer {
	background: var(--color-black);
	color: var(--color-white);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: 5fr 3fr 4fr;
	gap: 40px;
	padding: 60px 0 44px;
}

.site-footer p {
	margin: 0;
}

.site-footer__note {
	max-width: 320px;
	margin-top: 14px !important;
	color: rgba(255, 255, 255, 0.6);
	font-size: 1.02rem;
}

.site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.site-footer__social a {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.75);
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.site-footer__social svg {
	display: block;
}

.site-footer__social a:hover {
	border-color: var(--color-pink);
	background: rgba(255, 79, 163, 0.12);
	color: var(--color-pink);
	transform: translateY(-2px);
}

.site-footer__heading {
	margin: 0 0 16px !important;
	color: var(--color-pink);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.site-footer__menu {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.94rem;
}

.site-footer__menu a {
	transition: color 0.2s ease;
}

.site-footer__menu a:hover {
	color: var(--color-pink);
}

.site-footer__contacts {
	margin-bottom: 18px;
}

.site-footer__legal {
	display: grid;
	gap: 12px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.84rem;
	line-height: 1.55;
}

.site-footer__bottom {
	padding: 20px 0 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.42);
	font-size: 0.8rem;
}

/* Branded media placeholders ------------------------------------------------------ */

/* A faint DT monogram makes empty media slots read as intentional brand surfaces.
   It disappears automatically once real media arrives: an inline style
   (background-image) or a nested img/video removes the watermark. */

.group-card__media:not([style]):not(:has(img, video))::before,
.social-tile:not([style]):not(:has(img, video))::before {
	content: "DT";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.13);
	pointer-events: none;
}

.social-tile:not([style]):not(:has(img, video))::before {
	font-size: 1.5rem;
}

/* Responsive --------------------------------------------------------------------- */

@media (max-width: 1120px) {
	/* Collapse header into toggle-driven panel (7 nav items need room). */
	.site-header__toggle {
		display: inline-flex;
	}

	.site-header__panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 12px 20px 16px;
		background: rgba(7, 5, 9, 0.97);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		box-shadow: 0 30px 60px rgba(7, 5, 9, 0.5);
		/* Safety fallback: if the full menu still can't fit a very short
		   viewport, the panel scrolls internally instead of clipping. */
		max-height: calc(100vh - var(--header-height));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.has-js .site-header__panel {
		display: none;
	}

	.has-js .site-header--open .site-header__panel {
		display: flex;
	}

	.site-nav__menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		font-size: 0.82rem;
		white-space: normal;
	}

	.site-nav__menu a {
		display: block;
		padding: 10px 4px;
		line-height: 1.3;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.site-nav__menu a::after {
		content: none;
	}
}

@media (max-width: 1020px) {
	.site-brand__logo,
	.custom-logo {
		max-height: 70px;
		max-width: min(240px, 60vw);
	}

	.schedule-days {
		grid-template-columns: repeat(2, 1fr);
	}

	.page-hero--media {
		min-height: clamp(420px, calc(100svh - var(--header-height) - 20px), 540px);
	}

	.hero__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.hero__content {
		transform: translateY(-55px);
	}

	.groups-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.social-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.tiktok-feed-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.schedule-days {
		grid-template-columns: repeat(3, 1fr);
	}

	.energy-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.faq__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.content-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.events-grid--three {
		grid-template-columns: repeat(2, 1fr);
	}

	.season-overview {
		grid-template-columns: repeat(2, 1fr);
	}

	.season-about {
		grid-template-columns: 1fr;
	}

	.season-levels {
		grid-template-columns: 1fr;
	}

	.hobby-meta {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 720px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.page-hero--media {
		min-height: clamp(380px, calc(100svh - var(--header-height) - 16px), 500px);
	}

	.hero__inner {
		padding-top: calc(var(--header-height) + 20px);
		gap: 24px;
	}

	.hero__content {
		transform: translateY(-35px);
	}

	.hero__intro {
		margin-top: 14px;
		font-size: clamp(1.35rem, 6vw, 1.9rem);
		white-space: normal;
	}

	.hero__actions {
		flex-direction: column;
		margin-top: 16px;
	}

	.hero__actions .button {
		width: 100%;
	}

	/* Hero video slāņi un to mobilie labojumi ir pilnībā noņemti — hero visos
	   ekrānos rāda vienu statisku foto ar vienu kopīgu overlay (skat. augšā). */

	.groups-grid,
	.energy-grid,
	.content-grid,
	.story-media-grid,
	.events-grid,
	.events-grid--three {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.tiktok-feed-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	/* Spraudņa režģis mobilajā: spraudņa paša lūzumpunkti ir 640/480px un
	   ≤480px tas pārslēdzas uz 1 kolonnu — 9:16 video viena kolonna kļūst
	   pārāk milzīga, tāpēc piespiežam 2 kolonnas visā mūsu mobilajā laukā. */
	.tiktok-feed-shell .sb-grid-wrapper {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	/* Mobilā apgriezuma labojums — "Juniores": .group-card__media ir
	   "min-height: 150px" ar praktiski nemainīgu augstumu, bet mobilajā
	   .groups-grid kļūst 1 kolonna (skat. augšā), tāpēc katra karte aizņem
	   gandrīz visu konteinera platumu (~340-360px) — kartes attēla laukums
	   kļūst ļoti plats/zems (~2.3:1), nevis darbvirsmas 3-kolonnu ~1.6:1.
	   Avota foto (assets/img/groups/juniores.jpeg) ir ainavas orientācijā
	   ar DIVIEM fokusa punktiem: paceltā dejotāja galva ir tuvu augšai
	   (~15-21% no augšas), bet lielākā priekšplāna grupa ir vidū-zemāk
	   (~44-55%). Darbvirsmas "center 42%" vērtība (skat. augšā) izvēlēta
	   priekšplāna grupai, bet ar mobilā ~2.3:1 apgriezumu tā nogriež gandrīz
	   visu paceltās dejotājas galvu. Mobilajā liekam spēcīgāku nobīdi uz
	   augšu, lai saglabātu ABUS fokusa punktus redzamības zonā. */
	.group-card__media--juniors img {
		object-position: center 25%;
	}

	/* Showgroup galvenais fokusa punkts avotā atrodas pie augšējās malas. */
	.group-card__media--showteam img {
		object-position: center 10%;
	}

	.page-cta .button {
		width: 100%;
	}

	.page-hero--season .page-hero__actions {
		flex-direction: column;
	}

	.page-hero--season .page-hero__actions .button,
	.season-cta__panel .button {
		width: 100%;
	}

	.season-overview,
	.season-group-grid,
	.season-notes,
	.schedule-days {
		grid-template-columns: 1fr;
	}

	.season-group-card {
		padding: 22px 20px;
	}

	.summer-schedule-board {
		padding: 18px;
	}

	.season-notes__item {
		padding-left: 46px;
	}

	.season-notes__item::before {
		left: 22px;
	}

	.hobby-checklist,
	.hobby-meta,
	.hobby-price-grid,
	.hobby-note-list {
		grid-template-columns: 1fr;
	}

	.hobby-price-card {
		padding: 30px 24px;
	}

	.hobby-video {
		padding: 10px;
	}

	.contacts-location {
		grid-template-columns: 1fr;
	}

	.contacts-form-card {
		padding: 24px 18px;
	}

	.contacts-form-card .wpforms-field-row {
		grid-template-columns: 1fr !important;
		gap: 20px;
	}

	.contacts-form-card .wpforms-container .wpforms-form button[type="submit"],
	.contacts-form-card .wpforms-container-full .wpforms-form button[type="submit"] {
		width: 100% !important;
	}

	/* Noteikumu lapa: viss vienā kolonnā, kompaktāki iekšējie atkāpumi. */
	.rules-block__header {
		flex-direction: column;
		gap: 4px;
	}

	.rules-plan__row {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 14px 16px;
	}

	.rules-plan__price {
		justify-self: start;
		text-align: left;
	}

	.rules-plan__price small {
		display: inline;
		margin-left: 6px;
	}

	.rules-dates {
		grid-template-columns: 1fr;
	}

	.rules-cols {
		grid-template-columns: 1fr;
	}

	.rules-num-list__item {
		padding: 16px 16px 16px 54px;
	}

	.rules-num-list__item::before {
		left: 16px;
		top: 17px;
	}

	.social-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.energy-card__media {
		aspect-ratio: 16 / 10;
	}

	/* PIEZĪME (2026-07-12): mobilajam 16:10 kadram vairs NAV vajadzīgas
	   individuālas object-position vērtības katrai kartei — tā vietā tiek
	   ielādēti dedicēti, fiziski jau uz 16:10 apgriezti mobilie faili
	   (assets/img/school/{slug}-mobile.jpeg) caur <picture><source
	   media="(max-width: 720px)">, skat. template-parts/landing.php.
	   Tie jau satur pareizo kompozīciju, tāpēc pietiek ar parasto
	   .energy-card__media img { object-position: center; } (skat. augšā,
	   ārpus šī media query) — nekāda papildu override šeit nav vajadzīgs.
	   Iepriekš šeit bija object-position: center 42%/45%/40% uz pilna
	   portreta avota foto — tas strādāja, bet paļāvās uz agresīvu
	   apgriezumu vienā un tajā pašā pilnizmēra failā, ko lieto arī
	   darbvirsma/planšete. Fiziskie mobilie faili ir precīzāki un mazāki
	   (nav jālejupielādē visa portreta bilde tikai lai to 58% apgrieztu
	   nost mobilajā skatā). */

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 48px 0 36px;
	}
}

/* Motion preferences --------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* Legal and information pages (v0.3.0) ------------------------------------------ */

.legal-page {
	background: var(--color-soft);
	color: var(--color-ink);
}

.legal-hero {
	position: relative;
	overflow: hidden;
	padding: calc(var(--header-height) + clamp(42px, 6vw, 72px)) 0 clamp(44px, 6vw, 68px);
	background:
		radial-gradient(circle at 78% 10%, rgba(255, 79, 163, 0.2), transparent 34%),
		linear-gradient(145deg, var(--color-black), var(--color-ink));
	color: var(--color-white);
}

.legal-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(110deg, transparent 40%, rgba(255, 255, 255, 0.035) 40.2%, transparent 66%);
}

.legal-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 900px;
}

.legal-hero__eyebrow {
	margin: 0 0 12px;
	color: var(--color-pink);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.legal-hero__title {
	max-width: 820px;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2rem, 1.35rem + 2.5vw, 3.6rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0.01em;
}

.legal-hero__lead {
	max-width: 700px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.74);
	font-size: clamp(0.98rem, 0.94rem + 0.25vw, 1.1rem);
	line-height: 1.7;
}

.legal-document {
	padding: clamp(48px, 7vw, 84px) 0 clamp(64px, 9vw, 108px);
}

.legal-document__inner {
	max-width: 880px;
}

.legal-section {
	padding: clamp(24px, 4vw, 34px) 0;
	border-bottom: 1px solid rgba(22, 16, 24, 0.12);
}

.legal-section:first-child {
	padding-top: 0;
}

.legal-section:last-child {
	border-bottom: 0;
}

.legal-section h2 {
	margin: 0 0 14px;
	color: var(--color-ink);
	font-family: var(--font-display);
	font-size: clamp(1.18rem, 1.02rem + 0.65vw, 1.55rem);
	font-weight: 800;
	line-height: 1.3;
}

.legal-section p,
.legal-section li,
.legal-contact {
	color: rgba(22, 16, 24, 0.78);
	font-size: 1rem;
	line-height: 1.78;
	overflow-wrap: anywhere;
}

.legal-section p {
	margin: 0;
}

.legal-section p + p {
	margin-top: 14px;
}

.legal-section ul,
.legal-section ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 1.35rem;
}

.legal-contact {
	margin: 0;
	font-style: normal;
}

.legal-contact strong {
	color: var(--color-ink);
}

.legal-section a,
.legal-link {
	color: var(--color-pink-deep);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.legal-section a:hover,
.legal-section a:focus-visible,
.legal-link:hover,
.legal-link:focus-visible {
	color: #951052;
}

.legal-section--highlight,
.legal-section--contact {
	margin-top: 22px;
	padding: clamp(22px, 4vw, 30px);
	border: 1px solid rgba(255, 79, 163, 0.2);
	border-radius: var(--radius-card);
	background: var(--color-white);
	box-shadow: var(--shadow-card);
}

.legal-section--highlight {
	border-left: 4px solid var(--color-pink);
}

@media (max-width: 520px) {
	.legal-hero {
		padding-top: calc(var(--header-height) + 34px);
		padding-bottom: 40px;
	}

	.legal-document {
		padding-top: 42px;
	}

	.legal-section--highlight,
	.legal-section--contact {
		margin-left: -4px;
		margin-right: -4px;
		padding: 20px;
	}
}

/* Kontaktu forma (WPForms 9015): piespiedu galīgais pārraksts veiksmīgas
   iesniegšanas paziņojumam ("Paldies! Ziņa ir saņemta.") ------------------
   Iepriekšējie ".wpforms-confirmation-container" klases noteikumi joprojām
   netika piemēroti dzīvajā lapā — WPForms acīmredzot izvada šo bloku ar
   savu tiešo ID "#wpforms-confirmation-9015" un/vai iekšējiem elementiem
   piešķir noklusējuma tumšu teksta krāsu tieši (nevis mantotu), kas uzvar
   jebkuru klases selektoru neatkarīgi no tā specifiskuma. Šis bloks apzināti
   atrodas faila pašās beigās un izmanto ID selektoru + !important uz katra
   iekšējā elementa, lai garantēti uzvarētu. Kļūdu (.wpforms-error-container)
   stils šeit netiek skarts — tas paliek iepriekšējā, atsevišķajā blokā. */
body .contacts-form-card #wpforms-confirmation-9015,
body .contacts-form-card #wpforms-confirmation-9015 p,
body .contacts-form-card #wpforms-confirmation-9015 div,
body .contacts-form-card #wpforms-confirmation-9015 span,
body .contacts-form-card #wpforms-confirmation-9015 strong,
body .contacts-form-card div.wpforms-container-full #wpforms-confirmation-9015,
body .contacts-form-card .wpforms-confirmation-container,
body .contacts-form-card .wpforms-confirmation-container-full,
body .contacts-form-card .wpforms-confirmation-container *,
body .contacts-form-card .wpforms-confirmation-container-full * {
	color: rgba(255, 255, 255, 0.96) !important;
	opacity: 1 !important;
	filter: none !important;
}

body .contacts-form-card #wpforms-confirmation-9015,
body .contacts-form-card .wpforms-confirmation-container,
body .contacts-form-card .wpforms-confirmation-container-full {
	display: block !important;
	background: linear-gradient(135deg, rgba(255, 79, 163, 0.18), rgba(255, 255, 255, 0.07)) !important;
	border: 1px solid rgba(255, 79, 163, 0.75) !important;
	box-shadow: 0 18px 44px rgba(255, 79, 163, 0.22) !important;
	border-radius: 22px !important;
	padding: 24px 28px !important;
	margin-top: 12px !important;
	font-size: clamp(18px, 2vw, 24px) !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	text-align: center !important;
}

/* Veiksmes ikona virs teksta (bloka izkārtojums, jo apstiprinājuma kaste ir
   centrēta un teksts var būt vairāku rindiņu — bloka izkārtojums izvairās
   no rindas iekšējās izlīdzināšanas problēmām, kādas var rasties ar inline
   pseido-elementu centrētā, mainīga garuma tekstā). */
body .contacts-form-card #wpforms-confirmation-9015::before {
	content: "\2713";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0 auto 12px;
	border-radius: 999px;
	background: #ff4fa3;
	color: #120712;
	font-weight: 900;
}

/* Cēsu filiāles landing lapa — tikai lapai piesaistīti papildinājumi. */
.page-hero--cesis .page-hero__bg {
	--hero-bg-position: center 34%;
}

.cesis-hero__eyebrow {
	margin-bottom: 16px;
	color: var(--color-pink);
}

.cesis-hero__lead {
	max-width: 760px;
	line-height: 1.7;
}

.button--inactive,
.button--inactive:hover,
.button--inactive:active {
	border-color: rgba(255, 255, 255, 0.22);
	background: linear-gradient(135deg, rgba(255, 79, 163, 0.72), rgba(192, 24, 112, 0.72));
	color: rgba(255, 255, 255, 0.88);
	box-shadow: 0 14px 32px rgba(255, 79, 163, 0.18);
	transform: none;
	cursor: default;
	user-select: none;
}

.cesis-location {
	background: var(--color-white);
}

.cesis-location__card {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(26px, 5vw, 48px);
	/* Solid dark base FIRST (separate longhand) so the card can never fall
	   back to the light .season-card background if the layered gradient ever
	   fails to paint (e.g. older iOS Safari dropping a var()-in-gradient
	   multi-background) — the canonical dark identity is then guaranteed at
	   every viewport, not just where the gradient happens to parse. */
	background-color: var(--color-black);
	background-image:
		radial-gradient(circle at 90% 0%, rgba(255, 79, 163, 0.2), transparent 45%),
		linear-gradient(145deg, var(--color-black), var(--color-charcoal));
	color: var(--color-white);
	font-style: normal;
	text-align: center;
}

.cesis-location__address {
	margin: 0;
	color: var(--color-white);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 700;
	line-height: 1.4;
}

.cesis-groups__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto;
}

.cesis-group-card__media {
	min-height: 260px;
}

.cesis-group-card__media--kids img {
	object-position: center 34%;
}

.cesis-group-card__media--juniores img {
	object-position: center 38%;
}

.cesis-group-card__schedule {
	display: grid;
	gap: 8px;
	margin-top: auto;
	padding: 16px;
	border: 1px solid rgba(192, 24, 112, 0.16);
	border-radius: 14px;
	background: rgba(255, 79, 163, 0.07);
}

.cesis-group-card__schedule p {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: baseline;
	margin: 0;
	color: var(--text-muted);
	font-size: 0.9rem;
}

/* Time column stays hard-right against the panel edge; weekday takes the
   remaining space. Two explicit tracks guarantee they can never visually
   touch or overlap, at any width, regardless of string lengths. */
.cesis-group-card__schedule p span {
	text-align: right;
}

.cesis-group-card__schedule strong {
	color: var(--color-ink);
}

.cesis-group-card__schedule .cesis-group-card__schedule-label {
	margin-bottom: 2px;
	color: var(--color-pink-deep);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.cesis-group-card .season-group-card__price {
	margin-bottom: 8px;
	color: var(--color-pink-deep);
}

.cesis-group-card .season-group-card__price-unit {
	color: var(--text-muted);
}

.cesis-about__card {
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 48px);
	border-left: 3px solid var(--color-pink);
}

.cesis-about__card .content-card__text {
	font-size: 1rem;
	line-height: 1.8;
}

.cesis-about__card .content-card__text + .content-card__text {
	margin-top: 18px;
}

.cesis-values {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto;
}

.cesis-values .content-card__title {
	color: var(--color-pink-deep);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.cesis-cta__card {
	max-width: 820px;
	margin: 0 auto;
	padding: clamp(34px, 6vw, 60px);
	background: rgba(255, 255, 255, 0.04);
}

/* -------------------------------------------------------------------------
   Cēsis canonical-identity SAFETY NET
   -------------------------------------------------------------------------
   The primary rules above target the element-level .cesis-* modifier classes
   (.cesis-location__card, .cesis-values, .cesis-group-card__schedule) that
   the current page-cesis.php emits — verified present, so those rules match
   the DOM and win. This block re-asserts the SAME canonical identity through
   the STABLE page/section wrappers (.cesis-page / .cesis-location) against the
   SHARED base classes as well, so the approved design still renders correctly
   even if a cached or not-yet-redeployed page-cesis.php emits the base classes
   WITHOUT those element modifiers — which is the observed live-production
   failure mode (white location card, missing pink schedule panel, black
   value titles). Every selector here is scoped under a Cēsis-only wrapper, so
   no other template can be affected. Keep the values here in sync with the
   primary rules above. */

/* Location card stays the dark black→burgundy gradient with white address even
   if the card lacks .cesis-location__card. Two independent anchors: the
   section wrapper (.cesis-location .season-card) and the card's own
   .contacts-location__card class scoped to the page — either alone rescues it,
   and neither can touch the CTA card (which is .season-card but NOT
   .contacts-location__card and lives in .cesis-cta, not .cesis-location). */
.cesis-location .season-card,
.cesis-page .contacts-location__card {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(26px, 5vw, 48px);
	background-color: var(--color-black);
	background-image:
		radial-gradient(circle at 90% 0%, rgba(255, 79, 163, 0.2), transparent 45%),
		linear-gradient(145deg, var(--color-black), var(--color-charcoal));
	color: var(--color-white);
	font-style: normal;
	text-align: center;
}

.cesis-location .season-card__label,
.cesis-page .contacts-location__card .season-card__label {
	color: var(--color-pink);
}

.cesis-location address,
.cesis-page .contacts-location__card {
	font-style: normal;
}

/* Value card titles stay pink + uppercase even if the <ul> lacks .cesis-values
   (only .content-grid remains — used solely by the values section on this
   page, so this cannot hit the single-card about section). */
.cesis-page .content-grid .content-card__title {
	color: var(--color-pink-deep);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

/* Schedule keeps the canonical pale-pink inset panel with a separated
   weekday/time grid even if the markup used the shared
   .season-group-card__schedule classes (dark-page styled) on this light page.
   Scoped to .cesis-page so the /jauna-sezona/ schedule is untouched. */
.cesis-page .season-group-card__schedule {
	margin-top: auto;
	padding: 16px;
	border: 1px solid rgba(192, 24, 112, 0.16);
	border-radius: 14px;
	background: rgba(255, 79, 163, 0.07);
	color: var(--text-muted);
}

.cesis-page .season-group-card__schedule-label {
	color: var(--color-pink-deep);
}

.cesis-page .season-group-card__schedule p {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: baseline;
	margin: 0;
}

.cesis-page .season-group-card__schedule p span {
	text-align: right;
}

@media (max-width: 720px) {
	.page-hero--cesis .page-hero__bg {
		--hero-bg-position: 52% center;
	}

	/* Mobile hero: tighten the otherwise over-tall box so the heading sits
	   with balanced breathing below the fixed header instead of floating in
	   a large empty photo area, and keep the single CTA prominent without
	   letting it span the whole viewport. Scoped to Cēsis so the other
	   shared --season heroes stay exactly as they are. */
	.page-hero--cesis.page-hero--media {
		min-height: clamp(340px, calc(100svh - var(--header-height) - 16px), 440px);
	}

	.page-hero--cesis .page-hero__actions {
		align-items: center;
	}

	.page-hero--cesis .page-hero__actions .button {
		width: auto;
		min-width: 220px;
	}

	.cesis-hero__lead {
		font-size: 0.98rem;
	}

	/* Compact the whole Cēsis page vertically on phones so materially more of
	   the approved desktop composition is visible per screen — WITHOUT
	   changing any component's identity, colours or hierarchy. Every rule
	   below is Cēsis-scoped (.cesis-page / .cesis-*), so no other template is
	   touched. */
	.cesis-page .section {
		padding-top: 34px;
		padding-bottom: 34px;
	}

	.cesis-page .section__header {
		margin-bottom: 20px;
	}

	.cesis-groups__grid,
	.cesis-values {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.cesis-location__card {
		padding: 22px 20px;
	}

	.cesis-group-card__media {
		min-height: 172px;
	}

	.cesis-group-card__media--kids img,
	.cesis-group-card__media--juniores img {
		object-position: center 32%;
	}

	.cesis-group-card .group-card__body {
		padding: 18px 20px 20px;
	}

	.cesis-group-card .group-card__title {
		font-size: 1.3rem;
	}

	.cesis-group-card__schedule {
		padding: 14px;
	}

	.cesis-group-card__schedule p {
		column-gap: 12px;
	}

	.cesis-about__card {
		padding: 24px 22px;
	}

	.cesis-about__card .content-card__text {
		font-size: 0.95rem;
		line-height: 1.7;
	}

	.cesis-about__card .content-card__text + .content-card__text {
		margin-top: 14px;
	}

	.cesis-values .content-card {
		padding: 22px;
	}

	.cesis-cta__card {
		padding: 30px 20px;
	}

	.cesis-cta__card .button {
		width: 100%;
	}
}
