/**
 * Driving Licence page.
 *
 * Modern panels, type cards, step timeline, and method grid —
 * patterned after online-renewal while keeping yellow-pill labels
 * and navy titles from the section-page language.
 *
 * @package jpd-theme
 */

.jpd-page--driving-licence {
	padding: 0 0 72px;
	color: #333333;
	background: var(--jpd-white);
}

.jpd-driving-licence {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.jpd-driving-licence__header {
	margin: 0;
}

.jpd-driving-licence__title {
	margin: 0;
	color: #0b3a74;
	font-family: var(--jpd-font-heading);
	font-size: clamp(1.5rem, 2.2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
}

/* ── Section labels ───────────────────────────────────────────── */

.jpd-driving-licence__section {
	margin: 0;
}

.jpd-driving-licence__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	margin: 0 0 1.25rem;
	padding: 0.45rem 1.5rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #fde08d 0%, #f5c842 100%);
	color: #1a1a1a;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jpd-driving-licence__lead {
	margin: 0 0 1.15rem;
	color: #333333;
	font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.05rem);
	line-height: 1.7;
}

.jpd-driving-licence__subhead {
	margin: 0 0 0.65rem;
	color: #0b3a74;
	font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.05rem);
	font-weight: 700;
	line-height: 1.4;
}

.jpd-driving-licence__list {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
	list-style: disc;
	color: #333333;
	font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.05rem);
	line-height: 1.7;
}

.jpd-driving-licence__list:last-child {
	margin-bottom: 0;
}

.jpd-driving-licence__list li {
	margin: 0 0 0.65rem;
	padding-left: 0.2rem;
}

.jpd-driving-licence__list li:last-child {
	margin-bottom: 0;
}

.jpd-driving-licence a {
	color: #103d74;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jpd-driving-licence a:hover,
.jpd-driving-licence a:focus {
	color: #0a2647;
}

/* ── Licence type rows (original 3-column table layout) ───────── */

.jpd-driving-licence__types {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
}

.jpd-driving-licence__type {
	display: grid;
	grid-template-columns: 13.5rem minmax(0, 1fr) 11rem;
	gap: 1.5rem 1.75rem;
	align-items: center;
	margin: 0;
	min-height: 11.5rem;
	padding: 1.5rem 1.65rem;
	border-radius: 12px;
	background: #f5f6f8;
}

.jpd-driving-licence__type-title {
	margin: 0;
	color: #0b3a74;
	font-size: clamp(1.05rem, 0.4vw + 0.95rem, 1.2rem);
	font-weight: 700;
	line-height: 1.35;
}

.jpd-driving-licence__type-duration {
	display: block;
	margin-top: 0.25rem;
	color: #555555;
	font-size: clamp(0.9rem, 0.3vw + 0.8rem, 1rem);
	font-weight: 600;
	line-height: 1.35;
}

.jpd-driving-licence__type-body {
	min-width: 0;
	color: #333333;
	font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.05rem);
	line-height: 1.7;
}

.jpd-driving-licence__type-body p {
	margin: 0;
}

.jpd-driving-licence__type-body .jpd-driving-licence__list {
	margin: 0;
}

.jpd-driving-licence__type-media {
    width: 11rem;
    min-height: 8.5rem;
    border-radius: 10px;
    overflow: hidden;
    background: #d0d5db;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .35rem;
    box-sizing: border-box;
}

.jpd-driving-licence__type-media img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* ── Panels & option cards ────────────────────────────────────── */

.jpd-driving-licence__panel {
	padding: 1.5rem 1.65rem;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	background: #f7f8fa;
}

.jpd-driving-licence__options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.jpd-driving-licence__option {
	display: flex;
	gap: 0.85rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: var(--jpd-white);
}

.jpd-driving-licence__option-index {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: linear-gradient(90deg, #fde08d 0%, #f5c842 100%);
	color: #1a1a1a;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
}

.jpd-driving-licence__option-body {
	min-width: 0;
}

.jpd-driving-licence__option-body p {
	margin: 0;
	color: #333333;
	font-size: clamp(0.92rem, 0.3vw + 0.82rem, 1rem);
	line-height: 1.65;
}

/* ── Note callout ─────────────────────────────────────────────── */

.jpd-driving-licence__note {
	margin: 1rem 0 0;
	padding: 0.95rem 1.1rem;
	border-left: 4px solid var(--jpd-secondary);
	border-radius: 0 8px 8px 0;
	background: #fff8e8;
	color: #333333;
	font-size: clamp(0.92rem, 0.3vw + 0.82rem, 1rem);
	line-height: 1.65;
}

.jpd-driving-licence__panel .jpd-driving-licence__note {
	margin-top: 1.15rem;
}

.jpd-driving-licence__step-body .jpd-driving-licence__note {
	margin-top: 0.85rem;
}

/* ── Lost / damaged timeline ──────────────────────────────────── */

.jpd-driving-licence__timeline {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jpd-driving-licence__step {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 0 1.15rem;
	margin: 0;
}

.jpd-driving-licence__step-marker {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.jpd-driving-licence__step-marker::after {
	content: '';
	flex: 1 1 auto;
	width: 2px;
	margin-top: 0.5rem;
	background: #d9e2ea;
}

.jpd-driving-licence__step:last-child .jpd-driving-licence__step-marker::after {
	display: none;
}

.jpd-driving-licence__step-num {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 2px solid #f5c842;
	border-radius: 50%;
	background: linear-gradient(90deg, #fde08d 0%, #f5c842 100%);
	color: #1a1a1a;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 4px rgba(245, 200, 66, 0.22);
}

.jpd-driving-licence__step-body {
	padding-bottom: 2rem;
	min-width: 0;
}

.jpd-driving-licence__step:last-child .jpd-driving-licence__step-body {
	padding-bottom: 0;
}

.jpd-driving-licence__step-title {
	margin: 0.35rem 0 0.55rem;
	color: #0b3a74;
	font-size: clamp(1.05rem, 0.4vw + 0.95rem, 1.2rem);
	font-weight: 700;
	line-height: 1.35;
}

.jpd-driving-licence__step-body p {
	margin: 0;
	color: #333333;
	font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.05rem);
	line-height: 1.7;
}

/* ── Contact method cards ─────────────────────────────────────── */

.jpd-driving-licence__methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.jpd-driving-licence__method {
	display: flex;
	gap: 0.85rem;
	margin: 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: #fafbfc;
}

.jpd-driving-licence__method-index {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: linear-gradient(90deg, #fde08d 0%, #f5c842 100%);
	color: #1a1a1a;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
}

.jpd-driving-licence__method-body {
	min-width: 0;
}

.jpd-driving-licence__method .jpd-driving-licence__subhead {
	padding-bottom: 0.55rem;
	border-bottom: 2px solid #f5c842;
}

.jpd-driving-licence__method-body p {
	margin: 0.75rem 0 0;
	color: #333333;
	font-size: clamp(0.92rem, 0.3vw + 0.82rem, 1rem);
	line-height: 1.65;
}

@media (max-width: 900px) {
	.jpd-driving-licence__type {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 1rem;
		min-height: 0;
	}

	.jpd-driving-licence__type-media {
		width: 100%;
		height: 9rem;
	}

	.jpd-driving-licence__options,
	.jpd-driving-licence__methods {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.jpd-page--driving-licence {
		padding: 32px 0 48px;
	}

	.jpd-driving-licence {
		gap: 2rem;
	}

	.jpd-driving-licence__pill {
		padding: 0.4rem 1.15rem;
		font-size: 0.85rem;
	}

	.jpd-driving-licence__type,
	.jpd-driving-licence__panel {
		padding: 1.15rem 1.1rem;
	}

	.jpd-driving-licence__option,
	.jpd-driving-licence__method {
		padding: 1rem;
	}

	.jpd-driving-licence__list {
		padding-left: 1.1rem;
	}

	.jpd-driving-licence__step {
		grid-template-columns: 2.25rem minmax(0, 1fr);
		gap: 0 0.85rem;
	}

	.jpd-driving-licence__step-num {
		width: 2.15rem;
		height: 2.15rem;
		font-size: 0.9rem;
	}

	.jpd-driving-licence__step-body {
		padding-bottom: 1.65rem;
	}

	.jpd-driving-licence__type-media {
		height: 8rem;
	}
}
