/*
Theme Name:     Dalil Academy
Theme URI:      https://dalil.tech/academy
Template:       twentytwentyfive
Author:         Dalil Technology
Author URI:     https://dalil.tech
Description:    Public face of the Dalil Academy training portal. Lightweight child theme that applies the Dalil design system on top of Twenty Twenty-Five and ships course-grid, hero, and enrollment templates. Pair with the dalil-academy plugin.
Version:        0.1.0
Requires at least: 6.5
Requires PHP:   8.1
License:        GPL-2.0-or-later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    dalil-academy-theme
Tags:           education, one-column, block-styles, full-site-editing, rtl-language-support, translation-ready
*/

:root {
	--navy-900: #071A33;
	--navy-800: #0A2540;
	--navy-700: #122F54;
	--navy-50:  #EEF2F8;
	--teal-500: #00B8A3;
	--teal-600: #009685;
	--teal-50:  #E6F7F4;
	--gold-500: #D4A04C;
	--gold-50:  #FBF4E6;
	--ink-900:  #0C1628;
	--ink-700:  #2A3447;
	--ink-500:  #5A6376;
	--ink-300:  #9AA3B4;
	--line:     #E4E8EF;
	--bg:       #F7F8FB;

	--radius:        14px;
	--radius-input:  10px;

	--shadow-sm: 0 1px 2px rgba(12, 22, 40, 0.04);
	--shadow-md: 0 10px 24px -12px rgba(10, 37, 64, 0.18);

	--font-latin:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-arabic: 'Tajawal', 'Inter', sans-serif;
	--font-body:   var(--font-latin);
}

html[dir="rtl"] { --font-body: var(--font-arabic); }

body {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-900);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, .da-h1 { font-size: 62px; line-height: 1.03; letter-spacing: -0.025em; font-weight: 800; }
h2, .da-h2 { font-size: 40px; line-height: 1.08; letter-spacing: -0.02em; font-weight: 700; }

a      { color: var(--teal-600); }
a:hover { color: var(--teal-500); }

.da-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--teal-600);
	margin: 0 0 8px;
}

/* ------------------------------------------------------------------
 * Site header
 * ------------------------------------------------------------------ */
.da-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
}
.da-site-header .wp-block-navigation {
	font-size: 14.5px;
	font-weight: 500;
}
.da-site-header .wp-block-navigation a:hover { color: var(--teal-500); }
.da-brand img { border-radius: 8px; }

/* ------------------------------------------------------------------
 * Hero
 * ------------------------------------------------------------------ */
.da-hero {
	position: relative;
	background: linear-gradient(180deg, var(--navy-900) 0%, var(--navy-800) 100%);
	color: #fff;
	padding: 72px 32px;
	border-bottom-left-radius: 28px;
	border-bottom-right-radius: 28px;
	overflow: hidden;
}
.da-hero__inner {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 48px;
	max-width: 1240px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
@media (max-width: 980px) {
	.da-hero { padding: 48px 24px; }
	.da-hero__inner { grid-template-columns: 1fr; }
}
.da-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: 0.1em;
	font-weight: 600;
	color: #cfe7e0;
	margin: 0 0 24px;
}
.da-hero__dot {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--teal-500);
	box-shadow: 0 0 0 4px rgba(0, 184, 163, 0.22);
}
.da-hero__title {
	font-size: clamp(42px, 5vw, 66px);
	line-height: 1.03;
	letter-spacing: -0.025em;
	margin: 0 0 20px;
	font-weight: 800;
}
.da-hero__highlight {
	background: linear-gradient(90deg, var(--teal-500) 0%, var(--gold-500) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.da-hero__body p { font-size: 17px; line-height: 1.55; color: #c8d1dc; max-width: 540px; }
.da-hero__cta { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.da-hero__bg {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0.08;
	filter: blur(2px);
}

.da-hero__rail { display: flex; flex-direction: column; gap: 12px; }

/* ----- Right-side media (hero featured image) ----- */
.da-hero__media {
	position: relative;
	min-height: 360px;
	border-radius: 18px;
	overflow: hidden;
	background: rgba(255,255,255,0.04);
	box-shadow: 0 24px 60px -24px rgba(0,0,0,0.55);
}
.da-hero__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .4s ease, transform 6s linear;
	transform: scale(1);
}
.da-hero__media-img.is-active {
	opacity: 1;
	transform: scale(1.04);
}
@media (max-width: 980px) { .da-hero__media { min-height: 240px; } }
@media (prefers-reduced-motion: reduce) {
	.da-hero__media-img,
	.da-hero__media-img.is-active { transform: none; transition: opacity .2s ease; }
}

/* ----- Slider ----- */
.da-hero__slides { position: relative; min-height: 280px; }
.da-hero__slide {
	transition: opacity .35s ease, transform .35s ease;
}
.da-hero__slide:not(.is-active) {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transform: translateY(8px);
}
.da-hero__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	transform: none;
}

.da-hero__nav {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 28px;
}
.da-hero__arrow {
	appearance: none;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	color: #fff;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .15s ease, border-color .15s ease;
}
.da-hero__arrow:hover { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.32); }
.da-hero__arrow:focus-visible { outline: 2px solid var(--teal-500); outline-offset: 2px; }
.da-hero__dots {
	display: flex;
	gap: 8px;
	align-items: center;
}
.da-hero__dot {
	appearance: none;
	background: rgba(255,255,255,0.28);
	border: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	cursor: pointer;
	padding: 0;
	transition: background .15s ease, transform .15s ease, width .15s ease;
}
.da-hero__dot:hover { background: rgba(255,255,255,0.5); }
.da-hero__dot.is-active {
	background: var(--teal-500);
	width: 22px;
	border-radius: 5px;
}
.da-hero__dot:focus-visible { outline: 2px solid var(--teal-500); outline-offset: 2px; }
.da-hero-card {
	background: #fff;
	color: var(--ink-900);
	border-radius: var(--radius);
	padding: 16px 18px;
	box-shadow: var(--shadow-md);
	text-decoration: none;
	display: flex; flex-direction: column; gap: 6px;
	transition: transform .12s ease;
}
.da-hero-card:hover { transform: translateY(-2px); color: var(--ink-900); }
.da-hero-card__eyebrow {
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-500);
	margin: 0;
	font-weight: 600;
}
.da-hero-card__title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	color: var(--navy-800);
}
.da-hero-card__meta {
	margin: 4px 0 0;
	font-size: 12.5px;
	color: var(--ink-500);
	display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.da-hero-card--trust { background: #fff; }
.da-dot.da-dot--live {
	display: inline-block;
	width: 7px; height: 7px;
	border-radius: 50%;
	background: #E0344B;
	box-shadow: 0 0 0 3px rgba(224, 52, 75, 0.2);
	margin-inline-end: 6px;
}

/* ------------------------------------------------------------------
 * Stats strip
 * ------------------------------------------------------------------ */
.da-stats {
	background: #fff;
	border-bottom: 1px solid var(--line);
}
.da-stats__inner {
	max-width: 1240px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 28px 32px;
}
@media (max-width: 780px) {
	.da-stats__inner { grid-template-columns: repeat(2, 1fr); }
}
.da-stats__item { display: flex; flex-direction: column; gap: 4px; }
.da-stats__value {
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--navy-800);
	margin: 0;
}
.da-stats__label { color: var(--ink-500); font-size: 13.5px; margin: 0; }

/* ------------------------------------------------------------------
 * Course grid
 * ------------------------------------------------------------------ */
.da-course-grid {
	padding: 72px 32px;
	max-width: 1240px;
	margin: 0 auto;
}
.da-course-grid__head { margin-bottom: 28px; }
.da-course-grid__title {
	font-size: clamp(30px, 3.2vw, 42px);
	letter-spacing: -0.02em;
	font-weight: 700;
	margin: 4px 0 10px;
	max-width: 520px;
}
.da-course-grid__lede {
	color: var(--ink-500);
	font-size: 15.5px;
	max-width: 420px;
}
.da-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 28px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 6px;
	width: fit-content;
	max-width: 100%;
}
.da-chip {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 999px;
	padding: 8px 16px;
	font: inherit;
	font-size: 13.5px;
	font-weight: 500;
	cursor: pointer;
	color: var(--ink-700);
}
.da-chip:hover { background: var(--navy-50); }
.da-chip.is-active {
	background: var(--navy-800);
	color: #fff;
}

.da-course-grid__items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) { .da-course-grid__items { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .da-course-grid__items { grid-template-columns: 1fr; } }
.da-course-grid__empty { color: var(--ink-500); }

/* ------------------------------------------------------------------
 * Course card
 * ------------------------------------------------------------------ */
.da-card {
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--line);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
/* The chip filter sets card.hidden = true; .da-card's `display: flex`
 * overrides the user-agent [hidden] { display: none } rule, so we re-enforce
 * the hide here. Same shape applies to any element using a [hidden] toggle. */
.da-card[hidden] { display: none !important; }
.da-card--hover { transition: box-shadow .15s ease, transform .15s ease; }
.da-card--hover:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.da-course-card { height: 100%; }
.da-course-card__banner {
	position: relative;
	min-height: 170px;
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #fff;
	overflow: hidden;
	gap: 12px;
}
.da-course-card__head {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.da-course-card__banner::after {
	content: "";
	position: absolute; inset: 0;
	background: repeating-linear-gradient(
		-45deg,
		transparent 0 10px,
		rgba(255,255,255,0.04) 10px 12px
	);
	pointer-events: none;
}
.da-pill {
	display: inline-block;
	background: #fff;
	color: var(--ink-900);
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.da-pill--seats { background: var(--gold-50); color: var(--gold-500); }
.da-pill--full  { background: var(--navy-50); color: var(--navy-800); }
.da-pill--track { background: rgba(255,255,255,0.14); color: #fff; }

.da-course-card__eyebrow {
	align-self: flex-start;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
	font-weight: 700;
	background: rgba(255,255,255,0.16);
	border: 1px solid rgba(255,255,255,0.22);
	padding: 4px 10px;
	border-radius: 999px;
	backdrop-filter: blur(4px);
	position: relative;
	z-index: 1;
}

.da-course-card__body {
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
/* Track + title now live on the banner — light treatment for legibility on
 * the gradient. The body's own track/title rules still apply when used
 * outside the grid card. */
.da-course-card__track {
	font-size: 11px;
	letter-spacing: 0.14em;
	color: rgba(255,255,255,0.84);
	font-weight: 700;
	margin: 0;
}
.da-course-card__title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	color: #fff;
	letter-spacing: -0.01em;
}
.da-course-card__title a { color: inherit; text-decoration: none; }
.da-course-card__title a:hover { color: #fff; opacity: 0.92; }
.da-course-card__desc {
	color: var(--ink-500);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 4px;
}
.da-course-card__meta {
	list-style: none;
	padding: 0;
	margin: 6px 0 0;
	color: var(--ink-500);
	font-size: 13px;
	display: grid;
	gap: 4px;
}
.da-course-card__footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
.da-course-card__footer .da-btn--primary {
	flex: 1;
	justify-content: center;
}
.da-course-card__tuition {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-700);
}

/* ------------------------------------------------------------------
 * Banner gradients (matches da_course._da_banner_gradient enum)
 * ------------------------------------------------------------------ */
.da-gradient-web   { background: linear-gradient(135deg, #0A2540 0%, #00B8A3 100%); }
.da-gradient-qa    { background: linear-gradient(135deg, #3A2A15 0%, #D4A04C 100%); }
.da-gradient-cloud { background: linear-gradient(135deg, #122F54 0%, #2E5AAC 100%); }
.da-gradient-ai    { background: linear-gradient(135deg, #2B1763 0%, #8A5CF7 100%); }
.da-gradient-ux    { background: linear-gradient(135deg, #5B1E4A 0%, #D94FA1 100%); }
.da-gradient-sec   { background: linear-gradient(135deg, #063B34 0%, #19C29E 100%); }

/* ------------------------------------------------------------------
 * Button styles (registered via functions.php block styles)
 * ------------------------------------------------------------------ */
.wp-block-button.is-style-da-primary .wp-block-button__link,
.da-btn.da-btn--primary {
	background: var(--navy-800);
	color: #fff;
	padding: 12px 20px;
	font-weight: 600;
	border-radius: var(--radius-input);
	border: 1px solid transparent;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
}
.wp-block-button.is-style-da-primary .wp-block-button__link:hover,
.da-btn.da-btn--primary:hover { background: var(--navy-700); color: #fff; }

.wp-block-button.is-style-da-ghost .wp-block-button__link,
.da-btn.da-btn--ghost {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.24);
	padding: 12px 20px;
	font-weight: 600;
	border-radius: var(--radius-input);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
}
.wp-block-button.is-style-da-ghost .wp-block-button__link:hover,
.da-btn.da-btn--ghost:hover { background: rgba(255,255,255,0.08); color: #fff; }

.da-btn.da-btn--light {
	background: #fff;
	color: var(--navy-800);
	padding: 12px 20px;
	font-weight: 600;
	border-radius: var(--radius-input);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
}
.da-btn.da-btn--light:hover { background: var(--navy-50); color: var(--navy-800); }

/* ------------------------------------------------------------------
 * CTA band
 * ------------------------------------------------------------------ */
.da-cta-band {
	margin: 64px auto;
	max-width: 1120px;
}

/* ------------------------------------------------------------------
 * Course detail — full-bleed banner
 * ------------------------------------------------------------------ */
.da-course-head {
	color: #fff;
	padding: 56px 32px 64px;
	position: relative;
	overflow: hidden;
}
.da-course-head::after {
	content: "";
	position: absolute; inset: 0;
	background: repeating-linear-gradient(
		-45deg,
		transparent 0 14px,
		rgba(255,255,255,0.035) 14px 16px
	);
	pointer-events: none;
}
.da-course-head__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}
.da-crumbs {
	font-size: 12.5px;
	color: rgba(255,255,255,0.78);
	margin-bottom: 24px;
	letter-spacing: 0.02em;
}
.da-crumbs a {
	color: rgba(255,255,255,0.92);
	text-decoration: none;
	border-bottom: 1px dotted rgba(255,255,255,0.3);
}
.da-crumbs a:hover { color: #fff; border-bottom-color: #fff; }
.da-crumbs__current { color: #fff; font-weight: 600; }

.da-course-head__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}
.da-pill-lite {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid rgba(255,255,255,0.22);
	background: rgba(255,255,255,0.08);
	backdrop-filter: blur(6px);
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #fff;
}
.da-pill-lite--seats { background: rgba(212, 160, 76, 0.22); border-color: rgba(212, 160, 76, 0.4); }
.da-pill-lite--full  { background: rgba(224, 52, 75, 0.25); border-color: rgba(224, 52, 75, 0.4); }

.da-course-head__title {
	font-size: clamp(32px, 4.5vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.025em;
	font-weight: 800;
	margin: 0 0 20px;
	color: #fff;
	max-width: 860px;
}

.da-course-head__meta {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	color: rgba(255,255,255,0.9);
	font-size: 14px;
}
.da-course-head__meta li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ------------------------------------------------------------------
 * Course detail — body grid
 * ------------------------------------------------------------------ */
.da-course-body { width: 100%; }
.da-course-body__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 40%;
	gap: 56px;
	align-items: start;
}
@media (max-width: 1080px) {
	.da-course-body__grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
}
@media (max-width: 900px) {
	.da-course-body__grid { grid-template-columns: 1fr; gap: 32px; }
}
.da-course-body__main { min-width: 0; }
.da-course-body__main p {
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--ink-700);
}
.da-course-body__main > p:first-of-type,
.da-course-body__main .wp-block-post-content > p:first-child {
	font-size: 18px;
	color: var(--ink-900);
	line-height: 1.65;
}
.da-course-section__heading {
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: var(--navy-800) !important;
	margin: 0 0 14px !important;
	line-height: 1.25 !important;
}

.da-course-body__side { min-width: 0; }

.da-course-sidebar {
	position: sticky;
	top: 96px;
	border-radius: var(--radius);
	background: transparent;
}
@media (max-width: 900px) { .da-course-sidebar { position: static; } }

.da-course-sidebar .da-enroll {
	box-shadow: var(--shadow-md);
	border: 1px solid var(--line);
	max-width: none;
}

/* Compact form variant — used in the course-detail sidebar where the
 * banner already surfaces course meta. Tightens padding, typography,
 * and drops the redundant meta row. */
.da-enroll--compact .da-enroll__form { padding: 22px; }
.da-enroll--compact .da-enroll__header { margin-bottom: 18px; }
.da-enroll--compact .da-enroll__eyebrow { font-size: 11.5px; margin-bottom: 4px; }
.da-enroll--compact .da-enroll__title {
	font-size: 19px;
	line-height: 1.25;
	margin: 0 0 6px;
}
.da-enroll--compact .da-enroll__seats-compact {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--teal-600);
}
.da-enroll--compact .da-enroll__fieldset { margin-bottom: 20px; gap: 12px; }
.da-enroll--compact .da-enroll__fieldset > legend { font-size: 13.5px; margin-bottom: 6px; }
.da-enroll--compact .da-field > label,
.da-enroll--compact .da-field > legend { font-size: 12.5px; }
.da-enroll--compact .da-grid--3 { grid-template-columns: 1fr; }
.da-enroll--compact .da-grid--2 { grid-template-columns: 1fr 1fr; gap: 10px; }
.da-enroll--compact .da-enroll__footer { flex-direction: column; align-items: stretch; gap: 12px; }
.da-enroll--compact .da-consent { max-width: none; font-size: 12.5px; }
.da-enroll--compact .da-enroll__actions .da-btn { width: 100%; justify-content: center; }
.da-enroll--compact .da-field--segmented { grid-template-columns: 1fr 1fr; }
.da-enroll--compact .da-radio--card { flex-basis: 100%; padding: 10px 12px; }

/* ------------------------------------------------------------------
 * "What you'll build" highlights strip
 * ------------------------------------------------------------------ */
.da-highlights__grid {
	gap: 16px !important;
	margin-top: 18px;
}
.da-highlight {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px 20px;
	height: 100%;
	transition: box-shadow .15s ease, transform .15s ease;
}
.da-highlight:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.da-highlight__icon {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1;
}
.da-highlight__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--navy-800);
	margin: 0 0 8px;
	line-height: 1.3;
}
.da-highlight__desc {
	color: var(--ink-500);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}
@media (max-width: 780px) {
	.da-highlights__grid { grid-template-columns: 1fr !important; }
}

/* ------------------------------------------------------------------
 * Schedule rows
 * ------------------------------------------------------------------ */
.da-schedule__rows {
	margin-top: 12px;
	border-top: 1px solid var(--line);
}
.da-schedule__row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
}
.da-schedule__row strong {
	color: var(--navy-800);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding-top: 2px;
}
.da-schedule__row span { color: var(--ink-700); }
@media (max-width: 600px) {
	.da-schedule__row { grid-template-columns: 1fr; gap: 2px; }
}

/* ------------------------------------------------------------------
 * Graduates / partners strip
 * ------------------------------------------------------------------ */
.da-partners__list {
	color: var(--ink-500);
	font-size: 15.5px;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin: 12px 0 0;
}
