/*
 * Volebný program: landing page, chapter index, chapter pages.
 * Tokens from 00-tokens.css.
 */

/* ------------------------------------------------------------- landing hero */

.program-hero__container {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: var(--space-9);
	align-items: start;
	padding-block: var(--space-10) var(--space-9);
}

@media screen and (max-width: 900px) {
	.program-hero__container {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
	}
}

.program-hero__top { display: flex; flex-direction: column; align-items: flex-start; }
.program-hero__title { margin: 0 0 var(--space-5); }
.program-hero__lead { margin: 0; max-width: 42rem; }

.program-hero__vision {
	padding: var(--space-6);
	background-color: var(--color-light-gray);
	border-radius: 0.625rem;
	border-left: 3px solid var(--color-primary);
}

.program-hero__vision-label {
	margin: 0 0 var(--space-3);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-sm);
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.program-hero__vision-text {
	margin: 0;
	font-size: var(--text-base);
	line-height: 1.6;
	color: var(--color-dark);
}

/* ------------------------------------------------------- flagship projects */

.program-flagship__container {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
	padding-bottom: var(--space-10);
}

.program-flagship__top { display: flex; flex-direction: column; align-items: flex-start; }

.label--small.program-hero__label,
.label--small.program-flagship__label,
.label--small.program-index__label {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	margin-bottom: var(--space-3);
	color: var(--color-white);
	background-color: var(--color-primary);
	border-radius: 999px;
}

.program-flagship__items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 700px) {
	.program-flagship__items { grid-template-columns: minmax(0, 1fr); }
}

.program-flagship__item {
	display: flex;
	flex-direction: column;
	padding: var(--space-6) var(--space-5);
	background: linear-gradient(160deg, var(--color-secondary) 0%, var(--color-dark) 100%);
	border-radius: 0.625rem;
	color: var(--color-white);
}

.program-flagship__num {
	display: block;
	margin-bottom: var(--space-3);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-md);
	line-height: 1;
	color: var(--color-primary);
}

.program-flagship__item-title { margin: 0 0 var(--space-2); color: var(--color-white); }
.program-flagship__item-text  { margin: 0; color: var(--color-white); opacity: 0.85; }

.program-flagship__item .program-flagship__link {
	display: inline-flex;
	gap: 0.5rem;
	align-self: flex-start;
	margin-top: auto;
	padding-top: var(--space-4);
	font-size: var(--text-sm);
	color: var(--color-white);
	text-decoration: underline;
	text-decoration-color: var(--color-primary);
	text-underline-offset: 0.25em;
}

.program-flagship__item .program-flagship__link:hover,
.program-flagship__item .program-flagship__link:focus-visible { text-decoration-thickness: 2px; }

/* ----------------------------------------------------------- chapter index */

.program-index__container {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
	margin-bottom: var(--space-section);
}

.program-index__top {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-6);
	width: 100%;
}

.program-index__text { max-width: 34rem; }

@media screen and (max-width: 900px) {
	.program-index__top { flex-direction: column; align-items: flex-start; }
}

.program-index__items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: none;
}

@media screen and (max-width: 767px) {
	.program-index__items { grid-template-columns: minmax(0, 1fr); }
}

.program-card {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--space-4);

	height: 100%;
	padding: var(--space-4) var(--space-5);

	color: var(--color-dark);
	text-decoration: none;

	background-color: var(--color-light-gray);
	border-radius: 0.625rem;

	transition: transform 0.26s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.2s ease-out;
}

.program-card__num {
	flex-shrink: 0;
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-sm);
	line-height: 1.5;
	color: var(--color-primary);
}

.program-card__body { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }

.program-card__title {
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-base);
	line-height: 1.3;
}

.program-card__lead {
	font-size: var(--text-sm);
	line-height: 1.45;
	opacity: 0.75;
}

.program-card__arrow {
	flex-shrink: 0;
	margin-inline-start: auto;
	color: var(--color-secondary);
	transition: transform 0.26s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (hover: hover) {
	.program-card:hover,
	.program-card:focus-visible {
		transform: translateY(-2px);
		background-color: var(--color-white);
		box-shadow: 0 0.75rem 1.5rem rgb(2 4 38 / 0.1);
	}
	.program-card:hover .program-card__arrow { transform: translateX(3px); }
}

/* --------------------------------------------------------------- chapter */

.program-chapter__container {
	max-width: 48rem;
	margin-inline: auto;
	padding-block: var(--space-9) var(--space-10);
}

.program-chapter__breadcrumb {
	margin-bottom: var(--space-5);
	font-size: var(--text-sm);
}

.program-chapter__breadcrumb a { color: var(--color-primary); }

.program-chapter__num {
	margin: 0 0 var(--space-2);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-sm);
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.program-chapter__title { margin: 0 0 var(--space-4); }
.program-chapter__lead  { margin: 0; font-size: var(--text-md); line-height: 1.55; }

.program-chapter__pledge {
	margin: var(--space-7) 0;
	padding: var(--space-6);
	background: linear-gradient(160deg, var(--color-secondary) 0%, var(--color-dark) 100%);
	border-radius: 0.625rem;
	color: var(--color-white);
}

.program-chapter__pledge-label {
	margin: 0 0 var(--space-2);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-sm);
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.program-chapter__pledge-text {
	margin: 0;
	font-size: var(--text-md);
	line-height: 1.55;
	color: var(--color-white);
}

.program-chapter__body h3 {
	margin: var(--space-7) 0 var(--space-3);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-lg);
	line-height: 1.3;
	color: var(--color-dark);
}

.program-chapter__body p { margin: 0 0 var(--space-4); }

.program-chapter__body .program__lead {
	font-size: var(--text-md);
	line-height: 1.55;
}

.program-chapter__body .program__list {
	margin: 0 0 var(--space-5);
	padding-left: var(--space-5);
}

.program-chapter__body .program__list li { margin-bottom: var(--space-2); }

/* In-body commitment callouts (chapters can carry more than one). */
.program-chapter__body .program__commitment {
	margin: var(--space-6) 0;
	padding: var(--space-5);
	background-color: var(--color-light-gray);
	border-left: 3px solid var(--color-primary);
	border-radius: 0.625rem;
}

.program-chapter__body .program__commitment p { margin: 0; }

.program-chapter__body .program__commitment-label {
	display: block;
	margin-bottom: var(--space-2);
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-sm);
	color: var(--color-primary);
}

/* prev / next */

.program-chapter__nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
	margin-top: var(--space-9);
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-dark-gray);
}

@media screen and (max-width: 640px) {
	.program-chapter__nav { grid-template-columns: minmax(0, 1fr); }
}

.program-chapter__nav-link {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: var(--space-4);
	color: var(--color-dark);
	text-decoration: none;
	background-color: var(--color-light-gray);
	border-radius: 0.625rem;
	transition: background-color 0.2s ease-out;
}

.program-chapter__nav-link--next { text-align: right; grid-column: 2; }

@media screen and (max-width: 640px) {
	.program-chapter__nav-link--next { grid-column: 1; text-align: left; }
}

.program-chapter__nav-dir {
	font-size: var(--text-sm);
	color: var(--color-primary);
}

.program-chapter__nav-title {
	font-family: "Gotham", sans-serif;
	font-weight: 450;
	font-size: var(--text-base);
	line-height: 1.3;
}

@media (hover: hover) {
	.program-chapter__nav-link:hover { background-color: var(--color-white); box-shadow: 0 0.5rem 1.25rem rgb(2 4 38 / 0.08); }
}

/* Print: the programme should save to PDF cleanly from the browser. */
@media print {
	.header, .footer, .mainnav, .program-chapter__nav,
	.program-chapter__breadcrumb, .skip-link { display: none !important; }
	.program-chapter__container, .container { max-width: none; padding: 0; }
	[data-reveal] { opacity: 1 !important; transform: none !important; }
	.program-chapter__pledge, .program-flagship__item {
		background: none !important;
		color: #000 !important;
		border: 1px solid #999;
	}
	.program-chapter__pledge-text, .program-flagship__item-title, .program-flagship__item-text { color: #000 !important; }
}

@media (prefers-reduced-motion: reduce) {
	.program-card, .program-card__arrow, .program-chapter__nav-link { transition: none; }
	.program-card:hover { transform: none; }
}
