/**
 * EUTA Theme — Component Styles
 *
 * Uses theme.json design tokens via CSS custom properties.
 * Mobile-first. No !important unless overriding third-party.
 */

/* ============================================
   GLOBAL RESETS & BASE
   ============================================ */

img {
	border-radius: var(--wp--custom--radius--standard);
}

.euta-icon {
	display: block;
	flex-shrink: 0;
}

/* ============================================
   BUTTONS
   ============================================ */

.wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-button__link:hover {
	box-shadow: var(--wp--preset--shadow--card);
}

/* Outline button variant */
.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--euta-black);
	border: 2px solid var(--wp--preset--color--euta-coral);
	padding: 12px 34px;
}

.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
}

/* ============================================
   CARDS (generic)
   ============================================ */

.euta-card {
	background: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.euta-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.euta-card__image {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 0;
}

.euta-card__content {
	padding: var(--wp--preset--spacing--comfortable);
}

.euta-card__tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: var(--wp--custom--radius--sm);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
}

.euta-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: var(--wp--custom--font-weight--bold);
	color: var(--wp--preset--color--euta-black);
	margin: var(--wp--preset--spacing--tight) 0;
}

.euta-card__description {
	font-family: var(--wp--preset--font-family--vollkorn);
	color: var(--wp--preset--color--euta-neutral-70);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ============================================
   TAGS / BADGES
   ============================================ */

.euta-tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: var(--wp--custom--radius--sm);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 400;
}

.euta-tag--blue {
	background-color: var(--wp--preset--color--euta-blue-10);
	color: var(--wp--preset--color--euta-blue-70);
}

.euta-tag--coral {
	background-color: var(--wp--preset--color--euta-coral-10);
	color: var(--wp--preset--color--euta-coral-70);
}

.euta-tag--yellow {
	background-color: var(--wp--preset--color--euta-yellow-10);
	color: var(--wp--preset--color--euta-yellow-70);
}

.euta-tag--green {
	background-color: var(--wp--preset--color--euta-green-10);
	color: var(--wp--preset--color--euta-green-70);
}

/* ============================================
   HERO
   ============================================ */

.euta-hero {
	position: relative;
	overflow: hidden;
}

/* Push content to bottom of the hero */
.euta-hero .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: calc(600px - var(--wp--preset--spacing--comfortable) * 2);
	max-width: 1320px;
	margin-left: 0;
}

.euta-hero__content {
	position: relative;
	z-index: 1;
}

.euta-hero__social-proof {
	opacity: 0.9;
}

.euta-hero__stars {
	letter-spacing: 2px;
}

/* ============================================
   TRUST BADGES MARQUEE
   ============================================ */

.euta-trust-marquee {
	overflow: hidden;
	background-color: var(--wp--preset--color--euta-neutral-10);
	padding: var(--wp--preset--spacing--base) 0;
}

.euta-trust-marquee__track {
	display: flex;
	gap: var(--wp--preset--spacing--comfortable);
	animation: euta-marquee 30s linear infinite;
	width: max-content;
}

.euta-trust-marquee__item {
	flex-shrink: 0;
	padding: 10px 24px;
	border-radius: var(--wp--custom--radius--standard);
	background-color: var(--wp--preset--color--euta-white);
	box-shadow: var(--wp--preset--shadow--card);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
}

@keyframes euta-marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-33.333% - var(--wp--preset--spacing--comfortable) / 3)); }
}

@media (prefers-reduced-motion: reduce) {
	.euta-trust-marquee__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* ============================================
   SIGNPOST CARDS
   ============================================ */

.euta-signpost .wp-block-list {
	list-style: disc;
	padding-left: 20px;
}

.euta-signpost .wp-block-list li {
	margin-bottom: var(--wp--preset--spacing--tight);
}

/* ============================================
   SERVICE CARDS (3x2 bordered grid)
   ============================================ */

.euta-service-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-service-card {
	background: var(--white);
	border: 1px solid var(--neutral-20);
	border-radius: var(--radius);
	padding: var(--comfortable);
	text-align: center;
	box-shadow: var(--shadow);
	transition: transform 0.3s ease;
}

.euta-service-card:hover {
	transform: translateY(-2px);
}

.euta-service-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--blue);
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black);
}

.euta-service-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-service-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0;
}

/* ============================================
   PHOTO HIGHLIGHTS (full-bleed gallery)
   ============================================ */

.euta-photo-highlights {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--tight);
	padding: 0;
}

.euta-photo-highlights__item {
	background-color: var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--sm);
	aspect-ratio: 4 / 3;
}

/* ============================================
   HOW IT WORKS (bordered icon cards)
   ============================================ */

.euta-hiw-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-hiw-card {
	background: var(--white);
	border: 1px solid var(--neutral-20);
	border-radius: var(--radius);
	padding: var(--comfortable) var(--base);
	text-align: center;
	box-shadow: var(--shadow);
}

.euta-hiw-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--blue);
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black);
}

.euta-hiw-card__step {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: var(--wp--preset--spacing--tight);
}

.euta-hiw-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-hiw-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0;
}

/* How It Works CTAs */
.euta-hiw-ctas {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--base);
	margin-top: var(--wp--preset--spacing--comfortable);
}

/* How It Works "What you get" badges */
.euta-hiw-badges {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--wp--preset--spacing--tight);
	margin-top: var(--wp--preset--spacing--base);
	flex-wrap: wrap;
}

.euta-hiw-badges__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-hiw-badge {
	display: inline-block;
	padding: 6px 16px;
	border-radius: var(--wp--custom--radius--standard);
	background-color: var(--wp--preset--color--euta-blue-10);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--euta-blue-70);
}

/* ============================================
   VIDEO SECTION
   ============================================ */

.euta-video-placeholder {
	background-color: var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.euta-video-placeholder__play {
	opacity: 0.8;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.euta-video-placeholder:hover .euta-video-placeholder__play {
	opacity: 1;
	transform: scale(1.1);
}

/* ============================================
   LEAD CAPTURE FORM
   ============================================ */

.euta-lead-preview {
	background-color: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	aspect-ratio: 3 / 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-lead-preview__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--wp--preset--color--euta-coral);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-lead-preview__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin: 0;
}

.euta-lead-form {
	margin-top: var(--wp--preset--spacing--base);
}

.euta-lead-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--tight);
	margin-bottom: var(--wp--preset--spacing--tight);
}

.euta-lead-form__input {
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-30);
	padding: 14px 24px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 400;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	width: 100%;
	box-sizing: border-box;
}

.euta-lead-form__input:focus {
	border-color: var(--wp--preset--color--euta-blue);
	box-shadow: 0 0 0 3px rgba(140, 196, 220, 0.3);
	outline: none;
}

.euta-lead-form__consent {
	display: flex;
	gap: var(--wp--preset--spacing--tight);
	align-items: flex-start;
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: var(--wp--preset--spacing--base) 0;
	cursor: pointer;
}

.euta-lead-form__consent input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

/* Sidebar compact newsletter form */
/* Blog sidebar hover effects */
.blog-sidebar a:not(.btn) { transition: transform .2s, background .2s; }
.blog-sidebar a:not(.btn):hover { transform: translateY(-1px); }
.blog-sidebar .blog-sidebar__article:hover { background: var(--neutral-10); border-radius: var(--radius-sm); }
.blog-sidebar .blog-sidebar__project:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.1); }
.blog-sidebar .blog-sidebar__cat:hover { background: var(--blue) !important; }
.blog-sidebar .blog-sidebar__link:hover { background: var(--neutral-10); }

.sidebar-nl .gform_wrapper .gform_fields { gap: 6px !important; }
.sidebar-nl .gform_wrapper input[type="text"],
.sidebar-nl .gform_wrapper input[type="email"] { padding: 6px 10px !important; font-size: 12px !important; height: auto !important; min-height: 0 !important; }
.sidebar-nl .gform_wrapper .gform_footer { margin-top: 8px !important; padding: 0 !important; }
.sidebar-nl .gform_wrapper .gform_footer input[type="submit"],
.sidebar-nl .gform_wrapper .gform_footer button { padding: 8px 16px !important; font-size: 13px !important; width: 100%; }
.sidebar-nl .gform_wrapper label,
.sidebar-nl .gform_wrapper .gfield_label { font-size: 11px !important; margin-bottom: 2px !important; }
.sidebar-nl .gform_wrapper .gfield { margin-bottom: 0 !important; padding: 0 !important; }
.sidebar-nl .gform_wrapper .gchoice label { font-size: 10px !important; }
.sidebar-nl .gform_required_legend { display: none !important; }
.sidebar-nl .gfield--type-consent { margin-top: 8px !important; }
.sidebar-nl .gfield--type-consent .ginput_container { display: flex; align-items: flex-start; gap: 8px; }
.sidebar-nl .gfield--type-consent .gfield_consent_label { font-size: 10px !important; line-height: 1.4; }
.sidebar-nl .gfield--type-consent legend { font-size: 11px !important; margin-bottom: 6px !important; }

/* Global checkbox styling — yellow accent per design system */
.gform_wrapper input[type="checkbox"],
.lead-form input[type="checkbox"],
.euta-modal input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border: 2px solid var(--neutral-20);
	border-radius: var(--radius-sm);
	background: var(--white);
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
}
.gform_wrapper input[type="checkbox"]:checked,
.lead-form input[type="checkbox"]:checked,
.euta-modal input[type="checkbox"]:checked {
	background: var(--yellow);
	border-color: var(--yellow);
}
.gform_wrapper input[type="checkbox"]:checked::after,
.lead-form input[type="checkbox"]:checked::after,
.euta-modal input[type="checkbox"]:checked::after {
	content: '\2713';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 14px;
	font-weight: 700;
	color: var(--black);
}

/* ============================================
   COURSE CARDS (3-col with image, tags, price)
   ============================================ */

.euta-course-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-course-grid__cta {
	text-align: center;
	margin-top: var(--wp--preset--spacing--comfortable);
	font-family: var(--wp--preset--font-family--poppins);
}

.euta-course-card {
	background: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.euta-course-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.euta-course-card__image {
	width: 100%;
	height: 180px;
	background-color: var(--wp--preset--color--euta-neutral-20);
}

.euta-course-card__content {
	padding: var(--wp--preset--spacing--comfortable);
}

.euta-course-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 18px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-course-card__title a {
	color: inherit;
	text-decoration: none;
}

.euta-course-card__title a:hover {
	color: var(--wp--preset--color--euta-coral);
}

.euta-course-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0 0 var(--wp--preset--spacing--base);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.euta-course-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: var(--wp--preset--spacing--base);
}

.euta-course-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: var(--wp--preset--spacing--base);
	border-top: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.euta-course-card__price {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
}

.euta-course-card__link {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	text-decoration: none;
}

.euta-course-card__link:hover {
	color: var(--wp--preset--color--euta-coral);
}

/* ============================================
   DESTINATION HIGHLIGHTS (2-col map + text)
   ============================================ */

.euta-destination-map {
	background-color: var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	min-height: 400px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.euta-destination-map__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0;
}

/* ============================================
   ACCOMMODATION (2-col text + image)
   ============================================ */

.euta-accommodation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--comfortable);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	overflow: hidden;
}

.euta-accommodation__text {
	padding: var(--wp--preset--spacing--comfortable);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.euta-accommodation__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-accommodation__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.6;
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-accommodation__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--comfortable);
}

.euta-accommodation__list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: var(--wp--preset--spacing--tight);
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.5;
}

.euta-accommodation__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--euta-green);
	font-weight: 700;
}

.euta-accommodation__image {
	background-color: var(--wp--preset--color--euta-neutral-20);
	min-height: 400px;
}

/* ============================================
   STATS (white bordered cards)
   ============================================ */

.euta-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-stat-card {
	background: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	text-align: center;
}

.euta-stat-card__number {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 45px;
	color: var(--wp--preset--color--euta-coral);
	line-height: 0.9;
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-stat-card__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-stat-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0;
}

/* ============================================
   TESTIMONIALS
   ============================================ */

.euta-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-testimonial-card {
	display: flex;
	flex-direction: column;
}

.euta-testimonial-card__bubble {
	background: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: 24px;
	position: relative;
	margin-bottom: 20px;
}

/* Speech bubble tail */
.euta-testimonial-card__bubble::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 28px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid var(--wp--preset--color--euta-white);
}

.euta-testimonial-card__bubble::before {
	content: '';
	position: absolute;
	bottom: -12px;
	left: 27px;
	width: 0;
	height: 0;
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 11px solid var(--wp--preset--color--euta-neutral-20);
}

.euta-testimonial-card__stars {
	color: var(--wp--preset--color--euta-yellow);
	font-size: 16px;
	letter-spacing: 2px;
	display: flex;
	gap: 2px;
	margin: 0 0 12px;
}

.euta-testimonial-card__quote {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.6;
	font-style: italic;
	margin: 0;
}

.euta-testimonial-card__info {
	padding-left: 28px;
}

.euta-testimonial-card__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14px;
	color: var(--wp--preset--color--euta-black);
	margin: 0;
}

.euta-testimonial-card__role {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 12px;
	font-weight: 400;
	color: var(--wp--preset--color--euta-neutral-50);
	margin: 0;
}

.euta-testimonial-card__country {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 11px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-blue);
	margin-top: 4px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* ============================================
   EUROPE MAP
   ============================================ */

.euta-europe-map {
	background-color: var(--wp--preset--color--euta-neutral-10);
	border-radius: var(--wp--custom--radius--standard);
	min-height: 400px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.euta-europe-map__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-europe-map__sublabel {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-40);
	margin: 0;
}

/* ============================================
   BLOG CARDS
   ============================================ */

.euta-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-blog-card {
	background: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.euta-blog-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.euta-blog-card__image {
	width: 100%;
	height: 180px;
	background-color: var(--wp--preset--color--euta-neutral-20);
}

.euta-blog-card__content {
	padding: var(--wp--preset--spacing--comfortable);
}

.euta-blog-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
	line-height: 1.4;
}

.euta-blog-card__title a {
	color: inherit;
	text-decoration: none;
}

.euta-blog-card__title a:hover {
	color: var(--wp--preset--color--euta-coral);
}

.euta-blog-card__excerpt {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0 0 var(--wp--preset--spacing--base);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.euta-blog-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: var(--wp--preset--spacing--tight);
	border-top: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.euta-blog-card__date {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	color: var(--wp--preset--color--euta-neutral-40);
}

.euta-blog-card__link {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	text-decoration: none;
}

.euta-blog-card__link:hover {
	text-decoration: underline;
}

/* ============================================
   FAQ ACCORDION
   ============================================ */

.euta-faq details {
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--base) var(--wp--preset--spacing--comfortable);
	margin-bottom: var(--wp--preset--spacing--base);
	transition: box-shadow 0.2s ease;
}

.euta-faq details[open] {
	box-shadow: var(--wp--preset--shadow--card);
	border-color: var(--wp--preset--color--euta-blue);
}

.euta-faq summary {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
	color: var(--wp--preset--color--euta-black);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Remove default marker in webkit */
.euta-faq summary::-webkit-details-marker {
	display: none;
}

/* Chevron variant (replaces +/-) */
.euta-faq--chevron summary::after {
	content: "▼";
	font-size: 0.75rem;
	transition: transform 0.2s ease;
	color: var(--wp--preset--color--euta-neutral-40);
}

.euta-faq--chevron details[open] summary::after {
	transform: rotate(180deg);
}

/* Legacy +/- for non-chevron usage */
.euta-faq:not(.euta-faq--chevron) summary::after {
	content: "+";
	font-size: 1.5rem;
	font-weight: 300;
	transition: transform 0.2s ease;
}

.euta-faq:not(.euta-faq--chevron) details[open] summary::after {
	content: "\2212";
}

.euta-faq details > div {
	padding-top: var(--wp--preset--spacing--base);
	font-family: var(--wp--preset--font-family--vollkorn);
	color: var(--wp--preset--color--euta-neutral-70);
}

/* ============================================
   TABS
   ============================================ */

.euta-tabs__nav {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--tight);
	margin-bottom: var(--wp--preset--spacing--comfortable);
}

.euta-tabs__tab {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14px;
	padding: 10px 24px;
	border-radius: var(--wp--custom--radius--standard);
	border: 2px solid var(--wp--preset--color--euta-coral);
	background: transparent;
	color: var(--wp--preset--color--euta-neutral-60);
	cursor: pointer;
	transition: all 0.2s ease;
}

.euta-tabs__tab:hover {
	background: var(--wp--preset--color--euta-coral);
	border-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
}

.euta-tabs__tab--active {
	background: var(--wp--preset--color--euta-coral);
	border-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
}

.euta-tabs__panel {
	display: none;
}

.euta-tabs__panel--active {
	display: block;
}

/* ============================================
   FORM INPUTS (Gravity Forms overrides)
   ============================================ */

/* Override GF Theme Framework custom properties for brand styling.
   Must match framework specificity: .gform-theme--framework */
.gform_wrapper.gform-theme,
.gform_wrapper.gform-theme.gform-theme--framework,
.gform_wrapper.gform-theme.gform-theme--orbital,
.gform_wrapper[data-form-index].gform-theme {
	--gf-color-primary: #8CC4DC !important;
	--gf-color-primary-rgb: 140, 196, 220 !important;
	--gf-color-danger: #EF724F;
	--gf-color-danger-rgb: 239, 114, 79;
	--gf-ctrl-border-color: #e0e0e0;
	--gf-ctrl-border-radius: 8px;
	--gf-ctrl-bg-color: #ffffff;
	--gf-ctrl-label-color-primary: #262626;
	--gf-color-out-ctrl-dark: #262626 !important;
	--gf-color-out-ctrl-dark-lighter: #262626 !important;
	--gf-color-in-ctrl-contrast: #262626 !important;
	--gf-ctrl-btn-bg-color-primary: #EF724F !important;
	--gf-ctrl-btn-border-color-primary: #EF724F !important;
	--gf-ctrl-btn-color-primary: #ffffff !important;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select {
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-30);
	padding: 14px 24px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 400;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	border-color: var(--wp--preset--color--euta-blue);
	box-shadow: 0 0 0 3px rgba(140, 196, 220, 0.3);
	outline: none;
}

.gform_wrapper textarea {
	border-radius: var(--wp--custom--radius--standard);
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin-bottom: 6px;
}

/* Field spacing */
.gform_wrapper .gfield {
	margin-bottom: var(--wp--preset--spacing--base);
}

/* Submit button — high specificity to override GF Theme Framework */
.gform_wrapper .gform_button,
.gform_wrapper .gform-theme-button,
.gform_wrapper.gform-theme .gform_footer .gform_button,
.gform_wrapper.gform-theme .gform_footer button[type="submit"],
.gform_wrapper.gform-theme .gform_page_footer .gform_button {
	background: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
	border: none;
	border-radius: var(--wp--custom--radius--standard);
	padding: 14px 36px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper.gform-theme .gform_footer .gform_button:hover,
.gform_wrapper.gform-theme .gform_footer button[type="submit"]:hover {
	background: var(--wp--preset--color--euta-coral-60);
	transform: translateY(-1px);
}

.gform_wrapper .gform_button:active {
	transform: translateY(0);
}

/* Radio + Checkbox — ensure visible with yellow accent */
.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	accent-color: var(--wp--preset--color--euta-yellow);
	appearance: auto;
	-webkit-appearance: auto;
	margin: 0;
}
.gform_wrapper .gchoice {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
}

/* Multi-page navigation */
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {
	border-radius: var(--wp--custom--radius--standard);
	padding: 12px 28px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}

.gform_wrapper .gform_next_button {
	background: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
	border: none;
}

.gform_wrapper .gform_next_button:hover {
	background: var(--wp--preset--color--euta-coral-60);
}

.gform_wrapper .gform_previous_button {
	background: transparent;
	color: var(--wp--preset--color--euta-neutral-60);
	border: 2px solid var(--wp--preset--color--euta-neutral-30);
}

.gform_wrapper .gform_previous_button:hover {
	border-color: var(--wp--preset--color--euta-neutral-60);
	color: var(--wp--preset--color--euta-black);
}

/* Section breaks (step labels) */
.gform_wrapper .gsection_title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin-bottom: var(--wp--preset--spacing--base);
	padding-bottom: var(--wp--preset--spacing--tight);
	border-bottom: 2px solid var(--wp--preset--color--euta-blue);
}

/* Checkbox / radio overrides */
.gform_wrapper .gchoice label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-70);
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
}

/* Confirmation message */
.gform_confirmation_message {
	background: var(--wp--preset--color--euta-neutral-10);
	border: 1px solid var(--wp--preset--color--euta-green);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--base);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	color: var(--wp--preset--color--euta-black);
}

/* Validation errors */
.gform_wrapper .gfield_error .gfield_label {
	color: var(--wp--preset--color--euta-coral);
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: var(--wp--preset--color--euta-coral);
}

.gform_wrapper .gfield_validation_message {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	color: var(--wp--preset--color--euta-coral);
}

/* ============================================
   FORM PRICING (dynamic JS-rendered sections)
   ============================================ */

.euta-form-pricing {
	background: var(--wp--preset--color--euta-neutral-10);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--base) var(--wp--preset--spacing--comfortable);
}

.euta-form-pricing__loading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	text-align: center;
	padding: var(--wp--preset--spacing--base) 0;
}

.euta-form-pricing__section {
	margin-bottom: var(--wp--preset--spacing--base);
}

.euta-form-pricing__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 8px;
}

.euta-form-pricing__line {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-70);
	margin: 4px 0;
}

.euta-form-pricing__line--highlight {
	color: var(--wp--preset--color--euta-green);
	font-weight: 600;
}

.euta-form-pricing__checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-70);
	padding: 6px 0;
	cursor: pointer;
}

.euta-form-pricing__checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--wp--preset--color--euta-coral);
	flex-shrink: 0;
}

.euta-form-pricing__summary {
	border-top: 2px solid var(--wp--preset--color--euta-blue);
	padding-top: var(--wp--preset--spacing--base);
	margin-top: var(--wp--preset--spacing--base);
}

.euta-form-pricing__total {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 24px;
	color: var(--wp--preset--color--euta-black);
	margin: 8px 0;
}

.euta-form-pricing__note {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	color: var(--wp--preset--color--euta-neutral-60);
	font-style: italic;
	margin-top: 8px;
}

/* Newsletter form inline layout */
.euta-newsletter-form .gform_wrapper {
	max-width: 500px;
	margin: 0 auto;
}

.euta-newsletter-form .gform_button {
	width: 100%;
	background: var(--wp--preset--color--euta-black);
}

.euta-newsletter-form .gform_button:hover {
	background: var(--wp--preset--color--euta-coral);
}

/* Lead capture form */
.euta-lead-form .gform_button {
	background: var(--wp--preset--color--euta-coral);
	width: 100%;
}

/* ============================================
   NAVIGATION OVERRIDES
   ============================================ */

/* Utility bar — icon-only contact + social links */
.utility-bar { background: var(--yellow); padding: 6px var(--base); }
.utility-bar__inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.utility-bar__left, .utility-bar__right { display: flex; align-items: center; gap: 12px; }
.utility-bar__icon { color: var(--black); display: flex; align-items: center; transition: color .2s; }
.utility-bar__icon:hover { color: var(--coral); }
.utility-bar__icon svg { display: block; }

/* Sticky header */
header.wp-block-template-part { position: sticky; top: 0; z-index: 1000; }
header.wp-block-template-part .is-layout-flow > * + * { margin-block-start: 0 !important; margin-top: 0 !important; }
header.wp-block-template-part .is-layout-flow > *:last-child { border-bottom: none !important; }

/* Nav link hover */
.wp-block-navigation a:hover {
	color: var(--wp--preset--color--euta-coral);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2.5px;
}

/* Active/current page indicator */
.wp-block-navigation-item.is-active > a {
	color: var(--wp--preset--color--euta-coral);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2.5px;
}

/* Dropdown styling */
.wp-block-navigation__submenu-container {
	background: var(--white);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow);
	border: 1px solid var(--neutral-10);
	padding: 8px 0;
	min-width: 200px;
}
.wp-block-navigation__submenu-container a {
	padding: 8px 20px;
	font-size: 14px;
	display: block;
}
.wp-block-navigation__submenu-container a:hover {
	background: var(--neutral-10);
	text-decoration: none;
	color: var(--coral);
}

/* ============================================
   MOBILE NAV OVERLAY (matches Dribbble reference)
   ============================================ */

/* Full-screen white overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--white) !important;
	padding: 24px !important;
}

/* Close button — top right, black X */
.wp-block-navigation__responsive-container-close {
	top: 24px !important;
	right: 24px !important;
}
.wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

/* Menu items container */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 48px !important;
	gap: 0 !important;
}

/* Top-level menu items — large, clean, with bottom border */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid var(--neutral-10);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a {
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: var(--black);
	padding: 16px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Hide chevrons — sub-menus always visible, no toggle */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
	display: none !important;
}

/* WhatsApp button in mobile menu */
.mobile-menu-whatsapp { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .mobile-menu-whatsapp {
	display: block;
	margin-top: auto;
	padding-top: 24px;
}

/* Sub-items — always visible in rounded bordered boxes */
.wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation__submenu-container {
	display: block !important;
	padding: 12px 16px !important;
	margin: 8px 0 4px !important;
	border: 1px solid var(--neutral-20) !important;
	border-radius: var(--radius) !important;
	box-shadow: none !important;
	background: var(--neutral-10) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a {
	font-size: 15px;
	font-weight: 400;
	color: var(--neutral-70);
	padding: 10px 0 10px 16px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	color: var(--coral);
	background: none;
}

/* Hamburger button styling */
.wp-block-navigation__responsive-container-open svg {
	width: 28px;
	height: 28px;
}

/* ============================================
   FOOTER
   ============================================ */

footer .wp-block-list {
	list-style: none;
	padding-left: 0;
}

footer .wp-block-list li {
	margin-bottom: var(--wp--preset--spacing--tight);
}

footer a:hover {
	color: var(--wp--preset--color--euta-white) !important;
}

/* ============================================
   COURSE DETAIL — HERO
   ============================================ */

.euta-course-hero__inner {
	max-width: var(--wp--style--global--content-size, 1200px);
	margin: 0 auto;
}

.euta-course-hero__breadcrumb {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-course-hero__breadcrumb a {
	color: var(--wp--preset--color--euta-neutral-60);
	text-decoration: none;
}

.euta-course-hero__breadcrumb a:hover {
	color: var(--wp--preset--color--euta-coral);
}

.euta-course-hero__breadcrumb span {
	margin: 0 6px;
}

/* ============================================
   COURSE DETAIL — 2-COLUMN LAYOUT
   ============================================ */

.euta-course-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: var(--wp--preset--spacing--comfortable);
	align-items: start;
}

.euta-course-layout__main {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 16px;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.7;
}

.euta-course-layout__main p {
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-course-layout__section-heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.25rem + 0.75vw, 2rem);
	color: var(--wp--preset--color--euta-black);
	margin: var(--wp--preset--spacing--section) 0 var(--wp--preset--spacing--comfortable);
}

.euta-objectives-grid--inline {
	grid-template-columns: 1fr 1fr;
}

/* ============================================
   COURSE DETAIL — BOOKING SIDEBAR
   ============================================ */

.euta-booking-sidebar {
	position: sticky;
	top: var(--wp--preset--spacing--comfortable);
	background: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-booking-sidebar__price {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	color: var(--wp--preset--color--euta-coral);
	margin: 0 0 4px;
}

.euta-booking-sidebar__price-sub {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 400;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-booking-sidebar__info {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--base);
	border-top: 1px solid var(--wp--preset--color--euta-neutral-10);
	padding-top: var(--wp--preset--spacing--base);
}

.euta-booking-sidebar__info li {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	border-bottom: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.euta-booking-sidebar__info-label {
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-booking-sidebar__info-value {
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
}

.euta-booking-sidebar__dates-title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 14px;
	color: var(--wp--preset--color--euta-black);
	margin: var(--wp--preset--spacing--base) 0 var(--wp--preset--spacing--tight);
}

.euta-booking-sidebar__date-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid var(--wp--preset--color--euta-neutral-10);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
}

a.euta-booking-sidebar__date-item--link {
	text-decoration: none;
	border-radius: var(--wp--custom--radius--sm);
	padding: 8px;
	margin: 0 -8px;
	transition: background-color 0.15s ease;
}

a.euta-booking-sidebar__date-item--link:hover {
	background: var(--wp--preset--color--euta-blue-10);
}

.euta-booking-sidebar__date-label {
	color: var(--wp--preset--color--euta-neutral-70);
}

.euta-booking-sidebar__date-status {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 2px 8px;
	border-radius: var(--wp--custom--radius--sm);
}

.euta-booking-sidebar__date-status--available {
	background-color: var(--wp--preset--color--euta-green-10);
	color: var(--wp--preset--color--euta-green-70);
}

.euta-booking-sidebar__date-status--confirmed {
	background-color: var(--wp--preset--color--euta-blue-10);
	color: var(--wp--preset--color--euta-blue-70);
}

.euta-booking-sidebar__date-status--full {
	background-color: var(--wp--preset--color--euta-coral-10);
	color: var(--wp--preset--color--euta-coral-70);
}

.euta-booking-sidebar__actions {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--tight);
	margin-top: var(--wp--preset--spacing--base);
}

.euta-booking-sidebar__cta {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 24px;
	background-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 15px;
	border: 2px solid var(--wp--preset--color--euta-coral);
	border-radius: var(--wp--custom--radius--standard);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.euta-booking-sidebar__cta:hover {
	background-color: #db5538;
	border-color: #db5538;
	color: var(--wp--preset--color--euta-white);
}

.euta-booking-sidebar__cta--outline {
	background-color: transparent;
	color: var(--wp--preset--color--euta-coral);
	border: 2px solid var(--wp--preset--color--euta-coral);
}

.euta-booking-sidebar__cta--outline:hover {
	background-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
}

.euta-booking-sidebar__cta--subtle {
	background-color: transparent;
	color: var(--wp--preset--color--euta-black);
	border: 2px solid var(--wp--preset--color--euta-neutral-20);
	font-weight: 400;
	font-size: 14px;
}

.euta-booking-sidebar__cta--subtle:hover {
	border-color: var(--wp--preset--color--euta-black);
	color: var(--wp--preset--color--euta-black);
}

.euta-booking-sidebar__erasmus-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--euta-green-10);
	color: var(--wp--preset--color--euta-green-70);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 12px;
	font-weight: 600;
}

/* ============================================
   COURSE DETAIL — OBJECTIVES GRID
   ============================================ */

.euta-objectives-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-objective-card {
	border: 1px solid var(--neutral-20);
	border-radius: var(--radius);
	padding: 24px;
	text-align: center;
	box-shadow: var(--shadow);
}

.euta-objective-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--blue);
	color: var(--black);
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.euta-objective-card__title {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: var(--black);
	margin: 0 0 6px;
}

.euta-objective-card__desc {
	font-size: 14px;
	color: var(--neutral-70);
	line-height: 1.5;
	margin: 0;
}

/* ============================================
   COURSE DETAIL — PRICING TABLE
   ============================================ */

.euta-pricing-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-pricing-card {
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	display: flex;
	flex-direction: column;
}

.euta-pricing-card--featured {
	background-color: var(--wp--preset--color--euta-blue-10);
	border-color: var(--wp--preset--color--euta-blue-40);
}

.euta-pricing-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 18px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-pricing-card__price {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	color: var(--wp--preset--color--euta-coral);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-pricing-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--comfortable);
	flex-grow: 1;
}

.euta-pricing-card__features li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 10px;
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.5;
}

.euta-pricing-card__features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--euta-green);
	font-weight: 700;
}

.euta-pricing-card__cta {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 24px;
	background-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-white);
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 15px;
	border: none;
	border-radius: var(--wp--custom--radius--standard);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.euta-pricing-card__cta:hover {
	background-color: #db5538;
	color: var(--wp--preset--color--euta-white);
}

.euta-pricing-note {
	text-align: center;
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin-top: var(--wp--preset--spacing--base);
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
	/* Hero */
	.euta-hero {
		min-height: 500px !important;
	}

	.euta-hero .wp-block-cover__inner-container {
		min-height: calc(500px - var(--wp--preset--spacing--comfortable) * 2);
	}

	/* Service cards: 2 columns */
	.euta-service-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Photo highlights: 2 columns */
	.euta-photo-highlights {
		grid-template-columns: repeat(2, 1fr);
	}

	/* How It Works: 2-3 columns */
	.euta-hiw-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.euta-hiw-ctas {
		flex-direction: column;
		align-items: center;
	}

	/* Course cards: 2 columns */
	.euta-course-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Stats: stack */
	.euta-stats-grid {
		grid-template-columns: 1fr;
	}

	/* Testimonials: stack */
	.euta-testimonial-grid {
		grid-template-columns: 1fr;
	}

	/* Blog: 2 columns */
	.euta-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Accommodation: stack */
	.euta-accommodation {
		grid-template-columns: 1fr;
	}

	.euta-accommodation__image {
		min-height: 250px;
	}

	/* Tabs nav */
	.euta-tabs__nav {
		flex-direction: column;
		align-items: center;
	}

	.euta-tabs__tab {
		width: 100%;
		max-width: 280px;
	}

	/* Lead form rows */
	.euta-lead-form__row {
		grid-template-columns: 1fr;
	}

	/* Cards */
	.euta-card__image {
		height: 160px;
	}

	/* Course detail: stack 2-column layout */
	.euta-course-layout {
		grid-template-columns: 1fr;
	}

	.euta-booking-sidebar {
		position: static;
	}

	/* Pricing table: stack */
	.euta-pricing-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	/* Hero */
	.euta-hero {
		min-height: auto !important;
	}

	.euta-hero .wp-block-cover__inner-container {
		min-height: auto;
	}

	/* Service cards: single column */
	.euta-service-grid {
		grid-template-columns: 1fr;
	}

	/* How It Works: single column */
	.euta-hiw-grid {
		grid-template-columns: 1fr;
	}

	/* Course cards: single column */
	.euta-course-grid {
		grid-template-columns: 1fr;
	}

	/* Blog: single column */
	.euta-blog-grid {
		grid-template-columns: 1fr;
	}

	/* Photo highlights: 2 columns (kept) */

	/* Cards */
	.euta-card__content {
		padding: var(--wp--preset--spacing--base);
	}

	/* Objectives: single column */
	.euta-objectives-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   STUDENT PROGRAMME — LEADER BADGE
   ============================================ */

.euta-booking-sidebar__leader-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--euta-blue-10);
	color: var(--wp--preset--color--euta-blue-70);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 12px;
	font-weight: 600;
	margin-bottom: var(--wp--preset--spacing--base);
}

/* ============================================
   STUDENT PROGRAMME — WHAT'S INCLUDED CARD
   ============================================ */

.euta-included-card {
	background-color: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--comfortable);
	text-align: center;
}

.euta-included-card__price {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 28px;
	color: var(--wp--preset--color--euta-coral);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-included-card__price span {
	font-size: 16px;
	font-weight: 400;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-included-card__leader {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--comfortable);
}

.euta-included-card__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--comfortable);
	text-align: left;
}

.euta-included-card__list li {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	padding: var(--wp--preset--spacing--tight) 0;
	border-bottom: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.euta-included-card__list li:last-child {
	border-bottom: none;
}

.euta-pricing-note {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	text-align: center;
	margin-top: var(--wp--preset--spacing--base);
}

/* ============================================
   ERASMUS+ HUB — STAT CARD
   ============================================ */

.euta-erasmus-stat-card {
	background: var(--blue-10);
	border-radius: var(--radius);
	padding: var(--comfortable);
	text-align: center;
	border: 1px solid var(--neutral-20);
	box-shadow: var(--shadow);
}

.euta-erasmus-stat-card__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-neutral-60);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-erasmus-stat-card__value {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem);
	font-weight: 700;
	color: var(--black);
	margin: 0 0 8px;
	line-height: 1.1;
}

.euta-erasmus-stat-card__period {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-erasmus-stat-card__note {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0;
}

/* ============================================
   ERASMUS+ HUB — GRID VARIANTS
   ============================================ */

.euta-service-grid--4col {
	grid-template-columns: repeat(4, 1fr);
}

.euta-service-grid--5col {
	grid-template-columns: repeat(5, 1fr);
}

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

@media (max-width: 768px) {
	.euta-service-grid--4col {
		grid-template-columns: repeat(2, 1fr);
	}

	.euta-service-grid--5col {
		grid-template-columns: repeat(2, 1fr);
	}

	.euta-hiw-grid--3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.euta-service-grid--4col {
		grid-template-columns: 1fr;
	}

	.euta-service-grid--5col {
		grid-template-columns: 1fr;
	}

	.euta-hiw-grid--3col {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   AUDIENCE TOGGLE BAR
   ============================================ */

.euta-audience-bar {
	background: var(--wp--preset--color--euta-white);
	border-bottom: 1px solid var(--wp--preset--color--euta-neutral-10);
	padding: 12px var(--wp--preset--spacing--base);
}

.euta-audience-bar__inner {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--base);
}

.euta-audience-bar__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-audience-toggle {
	display: flex;
	position: relative;
	background: var(--wp--preset--color--euta-neutral-10);
	border-radius: var(--wp--custom--radius--standard);
	padding: 4px;
}

.euta-audience-toggle__btn {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	padding: 8px 24px;
	border: none;
	border-radius: var(--wp--custom--radius--standard);
	background: transparent;
	color: var(--wp--preset--color--euta-neutral-60);
	cursor: pointer;
	position: relative;
	z-index: 1;
	transition: color 0.25s ease;
	white-space: nowrap;
}

.euta-audience-toggle__btn--active {
	color: var(--wp--preset--color--euta-white);
}

.euta-audience-toggle__slider {
	position: absolute;
	top: 4px;
	left: 4px;
	height: calc(100% - 8px);
	width: calc(50% - 4px);
	background: var(--wp--preset--color--euta-coral);
	border-radius: var(--wp--custom--radius--standard);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 0;
}

.euta-audience-toggle[data-active="student"] .euta-audience-toggle__slider {
	transform: translateX(100%);
}

@media (max-width: 480px) {
	.euta-audience-bar__label {
		display: none;
	}

	.euta-audience-toggle__btn {
		font-size: 13px;
		padding: 8px 16px;
	}
}

/* ============================================
   CARD GRID (tabbed course/programme cards)
   ============================================ */

.euta-card-grid {
	display: grid;
	gap: var(--wp--preset--spacing--base);
	margin-top: var(--wp--preset--spacing--comfortable);
}

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

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

.euta-card-grid__item {
	background: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--comfortable);
}

.euta-card-grid__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 18px;
	color: var(--wp--preset--color--euta-black);
	margin: var(--wp--preset--spacing--tight) 0;
}

.euta-card-grid__title a {
	color: inherit;
	text-decoration: none;
}

.euta-card-grid__title a:hover {
	color: var(--wp--preset--color--euta-coral);
}

.euta-card-grid__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--tight);
	line-height: 1.6;
}

.euta-card-grid__price {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	margin: 0;
}

.euta-card-grid__more {
	text-align: center;
	margin-top: var(--wp--preset--spacing--comfortable);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
}

.euta-card-grid__more a {
	color: var(--wp--preset--color--euta-coral);
	text-decoration: none;
	font-weight: 600;
}

.euta-card-grid__more a:hover {
	text-decoration: underline;
}

/* Tag variants for card grid */
.euta-tag {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 400;
	padding: 4px 12px;
	border-radius: var(--wp--custom--radius--sm);
}

.euta-tag--blue {
	background: var(--wp--preset--color--euta-blue-10);
	color: var(--wp--preset--color--euta-blue-70);
}

.euta-tag--coral {
	background: var(--wp--preset--color--euta-coral-10);
	color: var(--wp--preset--color--euta-coral-70);
}

.euta-tag--green {
	background: var(--wp--preset--color--euta-green-10);
	color: var(--wp--preset--color--euta-green-70);
}

.euta-tag--yellow {
	background: var(--wp--preset--color--euta-yellow-10);
	color: var(--wp--preset--color--euta-yellow-70);
}

@media (max-width: 768px) {
	.euta-card-grid--2col {
		grid-template-columns: repeat(2, 1fr);
	}

	.euta-card-grid--3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.euta-card-grid--2col,
	.euta-card-grid--3col {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   WHY EUTA — Icon Card Grid
   ============================================ */

.euta-why-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--wp--preset--spacing--base);
	max-width: 1200px;
	margin: 0 auto;
}

.euta-why-card {
	background: var(--white);
	border-radius: var(--radius);
	padding: var(--comfortable);
	box-shadow: var(--shadow);
	text-align: center;
	transition: transform 0.3s ease;
}

.euta-why-card:hover {
	transform: translateY(-2px);
}

.euta-why-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--blue);
	color: var(--black);
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
}

.euta-why-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 16px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-why-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	color: var(--wp--preset--color--euta-neutral-60);
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 768px) {
	.euta-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.euta-why-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   FUNDING TYPE CARDS (KA121, KA122, KA152)
   ============================================ */

.euta-funding-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-funding-card {
	background: var(--white);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: var(--comfortable);
	border-top: 4px solid transparent;
	display: flex;
	flex-direction: column;
}

.euta-funding-card--blue {
	border-top-color: var(--wp--preset--color--euta-blue);
}

.euta-funding-card--coral {
	border-top-color: var(--wp--preset--color--euta-coral);
}

.euta-funding-card--green {
	border-top-color: var(--wp--preset--color--euta-green);
}

.euta-funding-card__badge {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 4px 14px;
	border-radius: var(--wp--custom--radius--sm);
	width: fit-content;
	margin-bottom: var(--wp--preset--spacing--base);
}

.euta-funding-card--blue .euta-funding-card__badge {
	background: var(--wp--preset--color--euta-blue-10);
	color: var(--wp--preset--color--euta-blue-70);
}

.euta-funding-card--coral .euta-funding-card__badge {
	background: var(--wp--preset--color--euta-coral-10);
	color: var(--wp--preset--color--euta-coral-70);
}

.euta-funding-card--green .euta-funding-card__badge {
	background: var(--wp--preset--color--euta-green-10);
	color: var(--wp--preset--color--euta-green-70);
}

.euta-funding-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: 20px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-funding-card__audience {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-funding-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-funding-card__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--comfortable);
	flex-grow: 1;
}

.euta-funding-card__list li {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-black);
	padding: 6px 0 6px 20px;
	position: relative;
}

.euta-funding-card__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--euta-green);
	font-weight: 700;
}

.euta-funding-card__link {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	margin-top: auto;
}

.euta-funding-card--blue .euta-funding-card__link {
	color: var(--wp--preset--color--euta-blue);
}

.euta-funding-card--coral .euta-funding-card__link {
	color: var(--wp--preset--color--euta-coral);
}

.euta-funding-card--green .euta-funding-card__link {
	color: var(--wp--preset--color--euta-green);
}

.euta-funding-card__link:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.euta-funding-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   TESTIMONIAL SECTIONS (split teacher/student)
   ============================================ */

.euta-testimonial-section {
	margin-bottom: var(--wp--preset--spacing--comfortable);
}

.euta-testimonial-section:last-child {
	margin-bottom: 0;
}

.euta-testimonial-section__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 20px;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--base);
}

/* ============================================
   PROJECT REPORT CARDS
   ============================================ */

.euta-project-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--base);
}

.euta-project-card {
	background: var(--wp--preset--color--euta-white);
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.euta-project-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-project-card__image-link {
	display: block;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}

.euta-project-card__image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.euta-project-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.euta-project-card:hover .euta-project-card__image img {
	transform: scale(1.05);
}

.euta-project-card__image--placeholder {
	background: linear-gradient(135deg, var(--wp--preset--color--euta-blue-10) 0%, var(--wp--preset--color--euta-neutral-20) 100%);
}

.euta-project-card__tag {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--wp--preset--color--euta-blue);
	color: var(--wp--preset--color--euta-white);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: var(--wp--custom--radius--sm);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.euta-project-card__body {
	padding: var(--wp--preset--spacing--comfortable);
	display: flex;
	flex-direction: column;
	flex: 1;
}

.euta-project-card__date {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--euta-neutral-50);
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.euta-project-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-project-card__title a {
	color: inherit;
	text-decoration: none;
}

.euta-project-card__title a:hover {
	color: var(--wp--preset--color--euta-blue);
}

.euta-project-card__excerpt {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
	flex: 1;
}

.euta-project-card__link {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	text-decoration: none;
	transition: color 0.2s ease;
}

.euta-project-card__link:hover {
	color: var(--wp--preset--color--euta-black);
}

@media (max-width: 1024px) {
	.euta-project-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.euta-project-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   FOUNDERS GRID
   ============================================ */

.euta-founders-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--comfortable);
	max-width: 900px;
	margin: 0 auto;
}

.euta-founder-card {
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--comfortable);
	text-align: center;
}

.euta-founder-card__photo {
	width: 120px;
	height: 120px;
	margin: 0 auto var(--wp--preset--spacing--base);
	border-radius: 50%;
	overflow: hidden;
	background: var(--wp--preset--color--euta-blue-10);
}

.euta-founder-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.euta-founder-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--wp--preset--color--euta-blue) 0%, var(--wp--preset--color--euta-blue-10) 100%);
}

.euta-founder-card__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 4px;
}

.euta-founder-card__role {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.95rem;
	color: var(--wp--preset--color--euta-coral);
	font-weight: 600;
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-founder-card__bio {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.95rem;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.6;
	text-align: left;
}

.euta-founder-card__bio p {
	margin: 0;
}

@media (max-width: 600px) {
	.euta-founders-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   WEATHER WIDGET
   ============================================ */

.euta-weather {
	max-width: 720px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	padding: 32px;
	box-shadow: var(--wp--preset--shadow--card);
	text-align: center;
}

.euta-weather__today {
	margin-bottom: 24px;
}

.euta-weather__main {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 16px;
}

.euta-weather__icon {
	display: flex;
	align-items: center;
	color: var(--wp--preset--color--euta-coral);
}

.euta-weather__temp {
	display: flex;
	flex-direction: column;
}

.euta-weather__degrees {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	line-height: 1;
}

.euta-weather__condition {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 1rem;
	color: var(--wp--preset--color--euta-neutral-60);
	margin-top: 4px;
}

.euta-weather__details {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.euta-weather__detail {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.85rem;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-weather__location {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0;
}

/* 5-day forecast row */
.euta-weather__forecast {
	display: flex;
	justify-content: space-between;
	gap: 0;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--euta-neutral-10);
	margin-bottom: 16px;
}

.euta-weather__day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	flex: 1;
	min-width: 0;
	padding: 8px 4px;
	border-right: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.euta-weather__day:last-child {
	border-right: none;
}

.euta-weather__day-name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.euta-weather__day-icons {
	display: flex;
	align-items: center;
	gap: 4px;
}

.euta-weather__day-icon {
	display: flex;
	align-items: center;
}

.euta-weather__day-icon--day {
	color: var(--wp--preset--color--euta-coral);
}

.euta-weather__day-icon--night {
	color: var(--wp--preset--color--euta-neutral-40);
}

.euta-weather__day-high {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
}

.euta-weather__day-low {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.8rem;
	color: var(--wp--preset--color--euta-neutral-40);
}

@media (max-width: 600px) {
	.euta-weather {
		padding: 24px 16px;
	}

	.euta-weather__forecast {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.euta-weather__day {
		min-width: 64px;
	}

	.euta-weather__day-icon {
		width: 30px;
		height: 30px;
	}
}

.euta-weather__updated {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.75rem;
	color: var(--wp--preset--color--euta-neutral-40);
	margin: 0;
}

/* ============================================
   YOUTUBE EMBED
   ============================================ */

.euta-video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	max-width: 900px;
	margin: 0 auto;
}

.euta-video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ============================================
   MAP EMBED (16:9)
   ============================================ */

.euta-map-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
}

.euta-map-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* ============================================
   CAMPUS: TOUR PLACEHOLDER
   ============================================ */

.euta-tour-placeholder {
	max-width: 900px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: 48px 32px;
	text-align: center;
}

.euta-tour-placeholder__icon {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 16px;
}

.euta-tour-placeholder__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 8px;
}

.euta-tour-placeholder__text {
	font-family: var(--wp--preset--font-family--vollkorn);
	color: var(--wp--preset--color--euta-neutral-70);
	margin: 0;
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

.euta-tour-placeholder__text a {
	color: var(--wp--preset--color--euta-coral);
	text-decoration: underline;
}

.euta-tour-placeholder__text a:hover {
	color: var(--wp--preset--color--euta-black);
}

/* ============================================
   CAMPUS: FACILITY CARDS
   ============================================ */

.euta-section {
	max-width: 100%;
}

.euta-constrained {
	max-width: 1200px;
	margin: 0 auto;
}

.euta-section__heading {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	text-align: center;
	margin-bottom: var(--wp--preset--spacing--comfortable);
}

.euta-facility-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media (max-width: 900px) {
	.euta-facility-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.euta-facility-grid {
		grid-template-columns: 1fr;
	}
}

.euta-facility-card {
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.euta-facility-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-facility-card__image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--standard) var(--wp--custom--radius--standard) 0 0;
}

.euta-facility-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.euta-facility-card:hover .euta-facility-card__image img {
	transform: scale(1.05);
}

.euta-facility-card__body {
	padding: 20px 24px 24px;
}

.euta-facility-card__icon {
	font-size: 1.5rem;
	line-height: 1;
	display: block;
	margin-bottom: 8px;
}

.euta-facility-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 6px;
}

.euta-facility-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9rem;
	color: var(--wp--preset--color--euta-neutral-70);
	margin: 0;
	line-height: 1.5;
}

/* ============================================
   CAMPUS: SAFETY CARDS
   ============================================ */

.euta-safety-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.euta-safety-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 500px) {
	.euta-safety-grid {
		grid-template-columns: 1fr;
	}
}

.euta-safety-card {
	background: #ffffff;
	border: none;
	border-radius: var(--wp--custom--radius--standard);
	padding: 32px;
	text-align: center;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.euta-safety-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-safety-card__icon {
	font-size: 2.5rem;
	line-height: 1;
	margin-bottom: 16px;
}

.euta-safety-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 700;
	color: #262626;
	margin: 0 0 8px;
}

.euta-safety-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9rem;
	color: var(--wp--preset--color--euta-neutral-70);
	margin: 0;
	line-height: 1.5;
}

/* ============================================
   CAMPUS: FAQ
   ============================================ */

.euta-faq {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.euta-faq__item {
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.euta-faq__question {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 600;
	color: #262626;
	padding: 24px 32px;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.euta-faq__question::-webkit-details-marker {
	display: none;
}

.euta-faq__question::after {
	content: "+";
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--wp--preset--color--euta-neutral-70);
	flex-shrink: 0;
	transition: transform 0.25s ease;
}

.euta-faq__item[open] .euta-faq__question::after {
	content: "−";
}

.euta-faq__answer {
	padding: 0 32px 24px;
}

.euta-faq__answer p {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.95rem;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.6;
	margin: 0;
}

.euta-faq__answer a {
	color: var(--wp--preset--color--euta-blue);
	text-decoration: underline;
}

.euta-faq__answer a:hover {
	text-decoration: none;
}

/* ============================================
   DESTINATION CARDS
   ============================================ */

.euta-dest-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
}

.euta-dest-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 320px;
	border-radius: var(--wp--custom--radius--standard);
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.euta-dest-card:hover,
.euta-dest-card:focus-visible {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-dest-card:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
}

.euta-dest-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.euta-dest-card:hover .euta-dest-card__img {
	transform: scale(1.06);
}

.euta-dest-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0.05) 100%);
	transition: background 0.3s ease;
}

.euta-dest-card:hover .euta-dest-card__overlay {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
}

.euta-dest-card__content {
	position: relative;
	z-index: 1;
	padding: 32px;
}

.euta-dest-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: #fff;
}

.euta-dest-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.9);
}

.euta-dest-card__cta {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.85rem;
	font-weight: 600;
	color: #fff;
	border-bottom: 2px solid var(--wp--preset--color--euta-coral);
	padding-bottom: 2px;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.euta-dest-card:hover .euta-dest-card__cta {
	color: var(--wp--preset--color--euta-coral);
}

@media (max-width: 768px) {
	.euta-dest-grid {
		grid-template-columns: 1fr;
	}

	.euta-dest-card {
		min-height: 260px;
	}

	.euta-dest-card__content {
		padding: 24px;
	}

	.euta-dest-card__title {
		font-size: 1.25rem;
	}
}

/* ============================================
   TEAM GRID
   ============================================ */

.euta-team-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--comfortable);
}

.euta-team-card {
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--comfortable);
	text-align: center;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.euta-team-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.euta-team-card__photo {
	width: 120px;
	height: 120px;
	margin: 0 auto var(--wp--preset--spacing--base);
	border-radius: 50%;
	overflow: hidden;
	background: var(--wp--preset--color--euta-blue-10);
}

.euta-team-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.euta-team-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--wp--preset--color--euta-blue) 0%, var(--wp--preset--color--euta-blue-10) 100%);
}

.euta-team-card__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 4px;
}

.euta-team-card__role {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.875rem;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--tight);
}

/* Specialty tags */
.euta-team-card__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-top: var(--wp--preset--spacing--tight);
}

.euta-team-card__tag {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--wp--preset--color--euta-blue);
	background: var(--wp--preset--color--euta-blue-10);
	padding: 3px 10px;
	border-radius: var(--wp--custom--radius--sm);
	white-space: nowrap;
}

/* Tiered bio: always show preview, expand, then modal */
.euta-team-card__bio {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9rem;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.6;
	text-align: left;
	margin-top: var(--wp--preset--spacing--tight);
}

.euta-team-card__bio p {
	margin: 0;
}

/* Preview (50 words) — always visible */
.euta-team-card__bio--preview {
	display: block;
}

.euta-team-card__bio--preview[aria-hidden="true"] {
	display: none;
}

/* Expanded (100 words) — hidden until tier 2 */
.euta-team-card__bio--expanded {
	display: none;
}

.euta-team-card__bio--expanded[aria-hidden="false"] {
	display: block;
}

.euta-team-card__toggle {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	background: none;
	border: none;
	padding: 0;
	margin-top: var(--wp--preset--spacing--tight);
	cursor: pointer;
	transition: color 0.2s ease;
}

.euta-team-card__toggle:hover {
	color: var(--wp--preset--color--euta-black);
}

.euta-team-card__actions {
	display: flex;
	gap: 16px;
	align-items: center;
}

.euta-team-card__collapse {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-neutral-60);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	margin-top: 8px;
}

.euta-team-card__collapse[aria-hidden="true"] {
	display: none;
}

.euta-team-card__collapse:hover {
	color: var(--wp--preset--color--euta-black);
}

/* ============================================
   TEAM MODAL
   ============================================ */

.euta-team-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.euta-team-modal[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
}

.euta-team-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.euta-team-modal__content {
	position: relative;
	background: #ffffff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--comfortable);
	max-width: 440px;
	width: 90%;
	max-height: 80vh;
	overflow-y: auto;
	transform: translateY(20px);
	transition: transform 0.25s ease;
}

.euta-team-modal[aria-hidden="false"] .euta-team-modal__content {
	transform: translateY(0);
}

.euta-team-modal__close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: none;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--wp--preset--color--euta-neutral-60);
	cursor: pointer;
	padding: 4px 8px;
	transition: color 0.2s ease;
}

.euta-team-modal__close:hover {
	color: var(--wp--preset--color--euta-black);
}

.euta-team-modal__photo {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--wp--preset--spacing--tight);
	border-radius: 50%;
	overflow: hidden;
}

.euta-team-modal__photo img,
.euta-team-modal__photo .euta-team-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.euta-team-modal__photo .euta-team-card__placeholder {
	width: 100%;
	height: 100%;
}

.euta-team-modal__name {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	text-align: center;
	margin: 0 0 2px;
}

.euta-team-modal__role {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.875rem;
	color: var(--wp--preset--color--euta-coral);
	font-weight: 600;
	text-align: center;
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.euta-team-modal__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-bottom: var(--wp--preset--spacing--base);
}

.euta-team-modal__bio {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9rem;
	color: var(--wp--preset--color--euta-neutral-70);
	line-height: 1.65;
}

.euta-team-modal__bio p {
	margin: 0 0 var(--wp--preset--spacing--base);
}

.euta-team-modal__bio p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.euta-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.euta-team-grid {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--base);
	}

	.euta-team-modal__content {
		padding: var(--wp--preset--spacing--base);
	}
}

/* =========================================================================
   THINGS TO DO — Explorer: Tabs, Cards, Carousel, Map
   ========================================================================= */

.euta-ttd {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--wp--preset--spacing--base);
}

/* ── Sticky Tab Navigation ── */

.euta-ttd-nav {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--base);
	padding: 12px var(--wp--preset--spacing--comfortable);
	background: #fff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	margin-bottom: var(--wp--preset--spacing--comfortable);
}

.euta-ttd-nav__tabs {
	display: flex;
	gap: 8px;
	flex: 1;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.euta-ttd-nav__tabs::-webkit-scrollbar {
	display: none;
}

.euta-ttd-nav__tab {
	flex-shrink: 0;
	padding: 10px 20px;
	border: 2px solid transparent;
	border-radius: var(--wp--custom--radius--standard);
	background: var(--wp--preset--color--euta-neutral-10, #F4F4F4);
	color: var(--wp--preset--color--euta-black);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	line-height: 1.4;
}

.euta-ttd-nav__tab:hover {
	background: var(--wp--preset--color--euta-blue-10, #EAFCFE);
	border-color: var(--wp--preset--color--euta-blue);
}

.euta-ttd-nav__tab.euta-tabs__tab--active {
	background: var(--wp--preset--color--euta-blue);
	color: #fff;
	border-color: var(--wp--preset--color--euta-blue);
}

.euta-ttd-nav__tab:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
}

/* ── Mobile Dropdown (hidden on desktop) ── */

.euta-ttd-nav__select {
	display: none;
}

.euta-ttd-nav__map-toggle {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border: 2px solid var(--wp--preset--color--euta-neutral-30, #C6C6C6);
	border-radius: var(--wp--custom--radius--standard);
	background: #fff;
	color: var(--wp--preset--color--euta-black);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	line-height: 1.4;
}

.euta-ttd-nav__map-toggle:hover {
	border-color: var(--wp--preset--color--euta-coral);
	color: var(--wp--preset--color--euta-coral);
}

.euta-ttd-nav__map-toggle[aria-pressed="true"] {
	background: var(--wp--preset--color--euta-coral);
	border-color: var(--wp--preset--color--euta-coral);
	color: #fff;
}

.euta-ttd-nav__map-toggle:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
}

.euta-ttd-nav__map-toggle svg {
	width: 20px;
	height: 20px;
}

/* ── Tab Panels ── */

.euta-ttd-panel {
	padding: var(--wp--preset--spacing--comfortable) 0;
}

.euta-ttd-panel__intro {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--wp--preset--color--euta-neutral-70, #525252);
	max-width: 800px;
	margin: 0 0 var(--wp--preset--spacing--comfortable);
}

.euta-ttd-panel__empty {
	font-family: var(--wp--preset--font-family--vollkorn);
	color: var(--wp--preset--color--euta-neutral-50, #8D8D8D);
	font-style: italic;
	text-align: center;
	padding: var(--wp--preset--spacing--section) 0;
}

/* ── Activity Cards ── */

.euta-ttd-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--wp--custom--radius--standard) var(--wp--custom--radius--standard) 0 0;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--wp--preset--shadow--card);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.euta-ttd-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--card);
}

.euta-ttd-card__image {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--wp--preset--color--euta-blue-10, #EAFCFE);
}

.euta-ttd-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.euta-ttd-card:hover .euta-ttd-card__image img {
	transform: scale(1.06);
}

.euta-ttd-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--wp--preset--color--euta-blue);
	opacity: 0.4;
}

.euta-ttd-card__content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--wp--preset--spacing--comfortable);
}

.euta-ttd-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 8px;
	line-height: 1.3;
}

.euta-ttd-card__desc {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--wp--preset--color--euta-neutral-70, #525252);
	margin: 0 0 var(--wp--preset--spacing--base);
	flex: 1;
}

.euta-ttd-card__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	text-decoration: none;
	transition: color 0.2s ease;
	margin-top: auto;
}

.euta-ttd-card__link:hover {
	color: var(--wp--preset--color--euta-black);
}

.euta-ttd-card__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--sm);
}

/* ── Paginated Grid Layout ── */

.euta-ttd-grid {
	position: relative;
}

.euta-ttd-grid__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding-bottom: 4px; /* room for card shadow */
}

.euta-ttd-grid__item {
	min-width: 0;
}

.euta-ttd-grid__item[hidden] {
	display: none;
}

/* ── Pagination Dots ── */

.euta-ttd-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: var(--wp--preset--spacing--comfortable);
}

.euta-ttd-dots[hidden] {
	display: none;
}

.euta-ttd-dot {
	width: 12px;
	height: 12px;
	border-radius: var(--wp--custom--radius--standard);
	border: 2px solid var(--wp--preset--color--euta-neutral-30, #C6C6C6);
	background: transparent;
	cursor: pointer;
	padding: 0;
	transition: all 0.2s ease;
}

.euta-ttd-dot:hover {
	border-color: var(--wp--preset--color--euta-coral);
	background: rgba(239, 114, 79, 0.2);
}

.euta-ttd-dot--active {
	background: var(--wp--preset--color--euta-coral);
	border-color: var(--wp--preset--color--euta-coral);
}

.euta-ttd-dot:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
}

/* ── Show More Button ── */

.euta-ttd-showmore {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--comfortable);
}

.euta-ttd-showmore[hidden] {
	display: none;
}

.euta-ttd-showmore__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 32px;
	border: 2px solid var(--wp--preset--color--euta-coral);
	border-radius: var(--wp--custom--radius--standard);
	background: transparent;
	color: var(--wp--preset--color--euta-black);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.euta-ttd-showmore__btn:hover {
	background: var(--wp--preset--color--euta-coral);
	color: #fff;
}

.euta-ttd-showmore__btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--euta-coral);
	outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
	.euta-ttd-nav {
		border-radius: var(--wp--custom--radius--standard);
		padding: 10px var(--wp--preset--spacing--base);
	}

	.euta-ttd-nav__tabs {
		display: none;
	}

	.euta-ttd-nav__select {
		display: block;
		flex: 1;
		appearance: none;
		-webkit-appearance: none;
		padding: 10px 40px 10px 16px;
		border: 2px solid var(--wp--preset--color--euta-neutral-30, #C6C6C6);
		border-radius: var(--wp--custom--radius--sm);
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23262626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 14px center;
		font-family: var(--wp--preset--font-family--poppins);
		font-size: 0.875rem;
		font-weight: 600;
		color: var(--wp--preset--color--euta-black);
		cursor: pointer;
		min-height: 44px;
	}

	.euta-ttd-nav__select:focus-visible {
		outline: 3px solid var(--wp--preset--color--euta-coral);
		outline-offset: 2px;
	}

	.euta-ttd-grid__cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media (max-width: 480px) {
	.euta-ttd-nav {
		border-radius: var(--wp--custom--radius--sm);
		padding: 8px;
		gap: 8px;
	}

	.euta-ttd-nav__tab {
		padding: 8px 14px;
		font-size: 0.75rem;
	}

	.euta-ttd-card__content {
		padding: var(--wp--preset--spacing--base);
	}

	.euta-ttd-card__title {
		font-size: 1rem;
	}

	.euta-ttd-grid__cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ============================================
   REGISTER / ENQUIRE — COURSE BADGE
   ============================================ */

.euta-register-course-card {
	background: var(--wp--preset--color--euta-blue-10);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	margin-bottom: var(--wp--preset--spacing--comfortable);
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.euta-register-course-card__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--base);
	flex-wrap: wrap;
}

.euta-register-course-card__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin: 0;
}

.euta-register-course-card__price {
	text-align: right;
}

.euta-register-course-card__price-amount {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-coral);
}

.euta-register-course-card__price-label {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.875rem;
	color: var(--wp--preset--color--euta-neutral-60);
	margin-left: 4px;
}

.euta-register-course-card__price-alt {
	display: block;
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-register-course-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--base) var(--wp--preset--spacing--comfortable);
	margin-top: var(--wp--preset--spacing--base);
	padding-top: var(--wp--preset--spacing--base);
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.euta-register-course-card__meta-item {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--euta-neutral-60);
}

.euta-register-course-card__meta-item strong {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	color: var(--wp--preset--color--euta-black);
}

@media (max-width: 600px) {
	.euta-register-course-card__header {
		flex-direction: column;
		gap: var(--wp--preset--spacing--tight);
	}

	.euta-register-course-card__price {
		text-align: left;
	}
}

/* Register page — 2-column layout with sticky sidebar */
.register-layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: var(--wp--preset--spacing--comfortable);
	align-items: start;
}

.register-layout__form .ask-form {
	max-width: none;
}

.register-layout__sidebar {
	position: sticky;
	top: 100px;
}

.register-sidebar {
	background: var(--wp--preset--color--euta-white);
	border: 1px solid var(--wp--preset--color--euta-neutral-20);
	border-radius: var(--wp--custom--radius--standard);
	padding: var(--wp--preset--spacing--comfortable);
	box-shadow: var(--wp--preset--shadow--card);
}

.register-sidebar__course {
	margin-bottom: var(--wp--preset--spacing--base);
	padding-bottom: var(--wp--preset--spacing--base);
	border-bottom: 1px solid var(--wp--preset--color--euta-neutral-20);
}

.register-sidebar__course-title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin: 0 0 4px;
}

.register-sidebar__meta {
	display: inline-block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin-right: 12px;
}

.register-sidebar__prices {
	margin-bottom: var(--wp--preset--spacing--base);
}

.register-sidebar__price-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 6px 0;
}

.register-sidebar__price-row + .register-sidebar__price-row {
	border-top: 1px solid var(--wp--preset--color--euta-neutral-10);
}

.register-sidebar__price-label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
}

.register-sidebar__price-amount {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--wp--preset--color--euta-coral);
}

@media (max-width: 900px) {
	.register-layout {
		grid-template-columns: 1fr;
	}

	.register-layout__sidebar {
		position: static;
		order: -1;
	}

	.register-sidebar {
		margin-bottom: var(--wp--preset--spacing--base);
	}
}

/* ============================================
   MODAL
   ============================================ */

.euta-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--base);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.euta-modal[hidden] {
	display: none;
}

.euta-modal--open {
	opacity: 1;
	pointer-events: auto;
}

.euta-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

.euta-modal__panel {
	position: relative;
	background: #fff;
	border-radius: var(--wp--custom--radius--standard);
	box-shadow: var(--wp--preset--shadow--card);
	width: 100%;
	max-width: 520px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 24px;
	transform: translateY(16px);
	transition: transform 0.25s ease;
}

.euta-modal--open .euta-modal__panel {
	transform: translateY(0);
}

.euta-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--tight);
}

.euta-modal__title {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--euta-black);
	margin: 0;
}

.euta-modal__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	background: transparent;
	border: none;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--euta-neutral-60);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.euta-modal__close:hover {
	background: var(--wp--preset--color--euta-neutral-10);
	color: var(--wp--preset--color--euta-black);
}

.euta-modal__subtitle {
	font-family: var(--wp--preset--font-family--vollkorn);
	font-size: 14px;
	color: var(--wp--preset--color--euta-neutral-60);
	margin: 0 0 var(--wp--preset--spacing--base);
	line-height: 1.5;
}

.euta-modal__body {
	/* Compact modal form styling */
}
.euta-modal__body .gform_wrapper .gfield {
	margin-bottom: 6px;
}
.euta-modal__body .gform_wrapper .gform_fields {
	gap: 6px !important;
}
.euta-modal__body .gform_wrapper .gfield_label,
.euta-modal__body .gform_wrapper .gform-field-label,
.euta-modal__body .gform_wrapper .gfield_consent_label {
	font-size: 12px;
	font-weight: 600;
	color: var(--black);
	margin-bottom: 4px;
}
.euta-modal__body .gform_wrapper .gfield_description {
	color: var(--black);
	font-size: 12px;
}
.euta-modal__body .gform_wrapper .instruction { display: none; }
/* Hide section headers, required legend, required asterisks, placeholders, pre-filled programme */
.euta-modal__body .gform_wrapper .gsection { display: none; }
.euta-modal__body .gform_wrapper .gform_required_legend { display: none; }
.euta-modal__body .gform_wrapper .gfield_required { display: none; }
.euta-modal__body .gform_wrapper .populate-programmes { display: none; }
.euta-modal__body .gform_wrapper input::placeholder,
.euta-modal__body .gform_wrapper textarea::placeholder,
.euta-modal__body .gform_wrapper select option[value=""] { color: transparent; }
/* Inputs — all types */
.euta-modal__body .gform_wrapper input[type="text"],
.euta-modal__body .gform_wrapper input[type="email"],
.euta-modal__body .gform_wrapper input[type="tel"],
.euta-modal__body .gform_wrapper input[type="number"],
.euta-modal__body .gform_wrapper select,
.euta-modal__body .gform_wrapper textarea {
	padding: 7px 16px;
	font-size: 13px;
	font-family: 'Poppins', sans-serif;
	color: var(--black);
	border: 1px solid var(--neutral-20);
	border-radius: var(--radius-sm);
	background: var(--white);
}
.euta-modal__body .gform_wrapper textarea {
	min-height: 80px !important;
	max-height: 120px;
	resize: vertical;
}
.euta-modal__body .gform_wrapper input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	accent-color: var(--yellow);
	appearance: auto;
	-webkit-appearance: checkbox;
}
.euta-modal__body .gform_wrapper input[type="radio"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	accent-color: var(--yellow);
	appearance: auto;
	-webkit-appearance: radio;
	margin: 0;
}
.euta-modal__body .gform_wrapper .gchoice {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
}
.euta-modal__body .gform_wrapper .gchoice label {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	color: var(--black);
}
.euta-modal__body .gform_wrapper .gfield--type-consent .ginput_container {
	display: flex;
	align-items: center;
	gap: 8px;
}
/* Datepicker: must sit above modal (z-index 10000) */
#ui-datepicker-div { z-index: 10001 !important; }

/* Submit button — coral, left-aligned */
.euta-modal__body .gform_wrapper .gform_footer .gform_button,
.euta-modal__body .gform_wrapper.gform-theme .gform_footer button[type="submit"] {
	background: var(--coral) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: var(--radius) !important;
	padding: 12px 32px;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	width: auto;
}
.euta-modal__body .gform_wrapper .gform_footer .gform_button:hover,
.euta-modal__body .gform_wrapper.gform-theme .gform_footer button[type="submit"]:hover {
	background: #d9603f !important;
	transform: translateY(-1px);
}

/* Make sidebar CTA button match anchor styling */
button.euta-booking-sidebar__cta {
	font-family: var(--wp--preset--font-family--poppins);
	border: none;
	cursor: pointer;
}

@media (max-width: 600px) {
	.euta-modal__panel {
		max-height: 95vh;
		padding: var(--wp--preset--spacing--base);
		border-radius: var(--wp--custom--radius--sm);
	}
}

/* ============================================
   ORGANISM STYLES (from design system)
   ============================================
   Short class names (no euta- prefix) used by
   organism patterns from preview-all-organisms.html.
   Variables mapped to WP theme.json tokens.
   ============================================ */

/* Ensure hidden attribute works on elements with explicit display */
[hidden] { display: none !important; }

/* --- Variable mapping: short names → WP tokens --- */
:root {
	--blue: var(--wp--preset--color--euta-blue);
	--blue-10: #EAFCFE;
	--coral: var(--wp--preset--color--euta-coral);
	--coral-hover: var(--wp--preset--color--euta-coral-60);
	--yellow: var(--wp--preset--color--euta-yellow);
	--green: var(--wp--preset--color--euta-green);
	--black: var(--wp--preset--color--euta-black);
	--neutral-70: var(--wp--preset--color--euta-neutral-70);
	--neutral-50: var(--wp--preset--color--euta-neutral-50);
	--neutral-20: var(--wp--preset--color--euta-neutral-20);
	--neutral-10: var(--wp--preset--color--euta-neutral-10);
	--white: var(--wp--preset--color--euta-white);
	--radius-sm: var(--wp--custom--radius--sm);
	--radius: var(--wp--custom--radius--standard);
	--shadow: var(--wp--preset--shadow--card);
	--tight: var(--wp--preset--spacing--tight);
	--base: var(--wp--preset--spacing--base);
	--comfortable: var(--wp--preset--spacing--comfortable);
	--section: var(--wp--preset--spacing--section);
}

/* --- Shared utilities --- */
.constrained { max-width: 1200px; margin: 0 auto; padding: 0 var(--base); }
.narrow { max-width: 800px; margin: 0 auto; padding: 0 var(--base); }
.section:not(.wp-block-group):not([class*="wp-block-"]) { padding: 48px var(--base); }
.section--grey { background: var(--neutral-10); }
.section--blue { background: var(--blue); color: var(--black); }
.section--blue h2, .section--blue h3, .section--blue h4, .section--blue p, .section--blue li, .section--blue span, .section--blue a, .section--blue .body { color: var(--black); }
.section--blue a.btn { color: var(--white); }
.section--blue a.btn--outline { color: var(--black); }
.section--dark { background: var(--black); color: var(--white); }
.section--yellow { background: var(--yellow); }
.section--coral { background: var(--coral); color: var(--white); }
.text-center { text-align: center; }
h1, h2, h3, h4, h5 { font-family: 'Poppins', sans-serif; color: var(--black); }
h2 { font-weight: 700; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); margin-bottom: var(--base); }
h3 { font-weight: 700; font-size: 1.25rem; margin-bottom: var(--tight); }
h4 { font-weight: 600; font-size: 1.1rem; margin-bottom: 4px; }
p.body { font-size: 16px; line-height: 1.6; color: var(--neutral-70); }

/* --- Buttons (organism short classes) --- */
.btn { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; text-decoration: none; border-radius: var(--radius); transition: all .2s; cursor: pointer; box-sizing: border-box; }
.btn--coral { background: var(--coral); color: var(--white); border: 2px solid var(--coral); padding: 14px 36px; }
.btn--coral:hover { background: var(--coral-hover); border-color: var(--coral-hover); }
.btn--outline { background: transparent; color: var(--black); border: 2px solid var(--coral); padding: 12px 34px; }
.btn--outline:hover { background: var(--coral); color: var(--white); border-color: var(--coral); }
.btn--outline-white { background: transparent; color: var(--white); border: 2px solid var(--white); padding: 12px 34px; }
.btn--outline-white:hover { background: var(--coral); color: var(--white); border-color: var(--coral); }
.btn--white { background: var(--white); color: var(--black); border: 2px solid var(--white); padding: 14px 36px; }
.btn--white:hover { background: var(--coral); color: var(--white); border-color: var(--coral); }
.btn--white-on-coral { background: var(--white); color: var(--black); border: 2px solid var(--white); padding: 14px 36px; }
.btn--white-on-coral:hover { background: var(--black); color: var(--white); border-color: var(--black); }
.btn--outline-on-coral { background: transparent; color: var(--white); border: 2px solid var(--white); padding: 12px 34px; }
.btn--outline-on-coral:hover { background: var(--white); color: var(--coral); border-color: var(--white); }
.btn--sm { font-size: 14px; }
.btn--sm.btn--coral { padding: 10px 24px; }
.btn--sm.btn--outline { padding: 10px 24px; }
.btn--sm.btn--white { padding: 10px 24px; }
.btn--sm.btn--outline-white { padding: 10px 24px; }
.btn--sm.btn--white-on-coral { padding: 10px 24px; }
.btn--sm.btn--outline-on-coral { padding: 10px 24px; }
.btn-group { display: flex; gap: var(--base); flex-wrap: wrap; }

/* --- Tags, links, badges --- */
.tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: var(--radius-sm); font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--neutral-10); color: var(--black); }
.cta-link { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; color: var(--coral); text-decoration: none; }
.cta-link:hover { color: var(--coral-hover); }
.placeholder-img { background: linear-gradient(135deg, #ddd 0%, #eee 100%); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; color: var(--neutral-50); font-family: 'Poppins', sans-serif; font-size: 13px; }
.erasmus-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: var(--radius-sm); font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; background: rgba(140, 196, 220, .92); color: var(--black); }

/* --- 1. Hero Home --- */
.hero-home { position: relative; min-height: 560px; background: linear-gradient(rgba(38,38,38,.45), rgba(38,38,38,.5)), url('https://images.unsplash.com/photo-1559526324-593bc073d938?w=1400&h=700&fit=crop') center/cover; display: flex; align-items: flex-end; padding: var(--section) var(--base) var(--comfortable); }
.hero-home__content { max-width: 700px; }
.hero-home h1 { color: var(--white); font-size: clamp(2rem, 1.5rem + 1.5vw, 3rem); line-height: 1.15; margin-bottom: var(--base); text-shadow: 0 2px 8px rgba(0,0,0,.15); }
.hero-home h1 em { font-style: normal; color: var(--yellow); }
.hero-home p { color: rgba(255,255,255,.92); font-size: 17px; line-height: 1.6; margin-bottom: 24px; }
.hero-home .social-proof { color: rgba(255,255,255,.85); font-family: 'Poppins', sans-serif; font-size: 14px; margin-top: 20px; }
.hero-home .social-proof .stars { color: var(--yellow); letter-spacing: 2px; }

/* --- Trust Marquee --- */
.trust-marquee { background: var(--neutral-10); padding: 14px 0; overflow: hidden; position: relative; }
.trust-marquee__track { display: flex; gap: var(--comfortable); animation: marquee 30s linear infinite; width: max-content; will-change: transform; }
.trust-marquee__item { flex-shrink: 0; padding: 8px 20px; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 500; white-space: nowrap; }
/* Alias marquee keyframes to match organism short name */
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-50% - var(--comfortable) / 2)); } }

/* --- 2. Hero Page --- */
.hero-page { background: var(--neutral-10); padding: var(--comfortable) var(--base) var(--comfortable); }
.hero-page__inner { max-width: 1200px; margin: 0 auto; }
.hero-page .breadcrumb { display: inline-flex; align-items: center; gap: 10px; font-family: 'Poppins', sans-serif; font-size: 13px; margin-bottom: var(--base); }
.hero-page .breadcrumb a { color: var(--neutral-50); text-decoration: none; transition: color .2s; display: flex; align-items: center; }
.hero-page .breadcrumb a:hover { color: var(--coral); }
.hero-page .breadcrumb__sep { color: var(--neutral-20); font-size: 12px; }
.hero-page .breadcrumb__current { color: var(--black); font-weight: 600; }
.hero-page__tag { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 12px; padding: 3px 12px; border-radius: var(--radius-sm); background: var(--blue); color: var(--black); margin-bottom: 12px; }
.hero-page h1 { font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem); color: var(--black); max-width: 800px; margin-bottom: 12px; }
.hero-page p { color: var(--neutral-70); max-width: 650px; margin-bottom: 16px; }
/* Image variant for top-level overview pages */
.hero-page--image { background: linear-gradient(rgba(38,38,38,.5), rgba(38,38,38,.55)), var(--hero-bg) center/cover no-repeat; padding: var(--section) var(--base) var(--comfortable); min-height: 320px; display: flex; align-items: flex-end; }
.hero-page--image h1 { color: var(--white); text-shadow: 0 2px 8px rgba(0,0,0,.15); }
.hero-page--image p { color: rgba(255,255,255,.9); }
.hero-page--image .breadcrumb a { color: rgba(255,255,255,.7); }
.hero-page--image .breadcrumb a:hover { color: var(--yellow); }
.hero-page--image .breadcrumb__sep { color: rgba(255,255,255,.35); }
.hero-page--image .breadcrumb__current { color: var(--white); }
.hero-page__meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-family: 'Poppins', sans-serif; font-size: 13px; }
.hero-page__meta-stars { color: var(--yellow); font-size: 16px; letter-spacing: 1px; }
.hero-page__meta-rating { font-weight: 600; color: var(--black); }
.hero-page__meta-reviews { color: var(--neutral-50); }
.hero-page__meta-divider { width: 1px; height: 16px; background: var(--neutral-20); }
.hero-page__meta-item { color: var(--neutral-50); display: inline-flex; align-items: center; gap: 4px; }

/* --- 3. Signposts --- */
.signposts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--base); max-width: 1200px; margin: 0 auto; }
.signpost-card { border-radius: var(--radius); padding: var(--comfortable); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.signpost-card .btn-group { flex-direction: row; margin-top: auto; }
.signpost-card--blue { background: var(--blue); }
.signpost-card--yellow { background: var(--yellow); }
.signpost-card h3 { color: var(--black); font-size: 1.4rem; margin-bottom: 12px; }
.signpost-card p { color: var(--black); line-height: 1.6; margin-bottom: 16px; opacity: .8; }
.signpost-card ul { list-style: disc; margin-bottom: 20px; padding-left: 20px; }
.signpost-card li { color: var(--black); font-family: 'Poppins', sans-serif; font-size: 14px; padding: 4px 0; }

/* --- 4. Service Cards --- */
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--base); max-width: 1200px; margin: 0 auto; }
.service-card { background: var(--white); border: 1px solid var(--neutral-20); border-radius: var(--radius); padding: 24px; text-align: center; box-shadow: var(--shadow); transition: box-shadow .3s, transform .3s; }
.service-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.service-card__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--blue); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 24px; }
.service-card h4 { font-size: 15px; }
.service-card p { font-size: 14px; color: var(--neutral-70); line-height: 1.5; margin-top: 6px; }

/* --- 5. How It Works --- */
.tabs { display: flex; gap: 8px; justify-content: center; margin-bottom: var(--comfortable); }
.tab-btn { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; padding: 10px 24px; border-radius: var(--radius); border: 2px solid var(--coral); background: transparent; color: var(--black); cursor: pointer; transition: all .2s; }
.tab-btn:hover { background: var(--coral); color: var(--white); }
.tab-btn--active { background: var(--coral); color: var(--white); }
.steps-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--base); max-width: 1200px; margin: 0 auto; }
.step-card { text-align: center; padding: 20px 12px; }
.step-card__number { width: 40px; height: 40px; border-radius: 50%; background: var(--coral); color: var(--white); font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.step-card h4 { font-size: 14px; margin-bottom: 6px; }
.step-card p { font-size: 13px; color: var(--neutral-70); line-height: 1.5; }

/* --- 6. Video Section --- */
.video-section { display: grid; grid-template-columns: 1fr 1fr; gap: var(--comfortable); align-items: center; max-width: 1200px; margin: 0 auto; }
.video-placeholder { aspect-ratio: 16/9; background: var(--wp--preset--color--euta-black); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; }
.play-btn { width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,.9); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s, box-shadow .2s; box-shadow: var(--wp--preset--shadow--card); }
.play-btn:hover { transform: scale(1.08); box-shadow: var(--wp--preset--shadow--card); }
.play-btn svg { margin-left: 3px; }

/* --- 7. Video Embed --- */
.video-embed { max-width: 800px; margin: 0 auto; aspect-ratio: 16/9; background: var(--wp--preset--color--euta-black); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; }

/* --- 8. Lead Capture --- */
.lead-capture { display: grid; grid-template-columns: 2fr 3fr; gap: var(--comfortable); align-items: center; max-width: 1000px; margin: 0 auto; }
.lead-preview { background: var(--white); border-radius: var(--radius); padding: var(--comfortable); box-shadow: var(--shadow); text-align: center; }
.lead-preview__label { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: var(--coral); margin-bottom: 8px; }
.lead-form h2 { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.5rem); margin-bottom: 8px; }
.lead-form p.body { font-size: 14px; }
.lead-form .form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.lead-form label { font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; }
.lead-form input { border: 1px solid var(--neutral-20); border-radius: var(--radius-sm); padding: 7px 16px; font-size: 12px; font-family: 'Poppins', sans-serif; }

/* GF overrides inside lead-form — compact inputs, no placeholders, small button */
.lead-form .gform_wrapper.gform-theme,
.lead-form .gform_wrapper.gform-theme.gform-theme--framework {
	--gf-ctrl-border-radius: 8px;
	--gf-ctrl-border-color: rgba(255,255,255,0.4);
}
.lead-form .gform_wrapper input[type="text"],
.lead-form .gform_wrapper input[type="email"],
.lead-form .gform_wrapper textarea,
.lead-form .gform_wrapper select {
	padding: 7px 16px !important;
	font-size: 12px !important;
	border-radius: var(--radius-sm) !important;
	border: 1px solid rgba(255,255,255,0.4) !important;
	background: var(--white);
}
.lead-form .gform_wrapper input::placeholder,
.lead-form .gform_wrapper textarea::placeholder { color: transparent; }
.lead-form .gform_wrapper .gfield_label,
.lead-form .gform_wrapper .gform-field-label { font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.lead-form .gform_wrapper .gfield { margin-bottom: 10px; }
.lead-form .gform_wrapper .gform_button,
.lead-form .gform_wrapper.gform-theme .gform_footer .gform_button,
.lead-form .gform_wrapper.gform-theme .gform_footer button[type="submit"] {
	padding: 10px 24px !important;
	font-size: 14px !important;
	border-radius: var(--radius) !important;
}
.lead-form .gform_wrapper .gform_footer { margin-top: 8px; padding-top: 0; }
.lead-form .gform_wrapper .gform_fields { gap: 10px; }
.lead-form .gform_wrapper .gform_required_legend { display: none; }

/* --- 9. Course Card --- */
/* V1 — Vertical cards (homepage grid) */
.course-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--base); max-width: 1200px; margin: 0 auto; }
.course-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .3s, transform .3s; }
.course-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.course-card__img { position: relative; height: 170px; overflow: hidden; }
.course-card__img img { width: 100%; height: 100%; object-fit: cover; }
.course-card__img .erasmus-badge { position: absolute; top: 10px; left: 10px; }
.course-card__body { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.course-card__tags { display: flex; gap: 6px; }
.course-card__title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 16px; color: var(--black); }
.course-card__title a { color: inherit; text-decoration: none; }
.course-card__desc { font-size: 14px; color: var(--neutral-70); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.course-card__meta { display: flex; gap: 14px; font-family: 'Poppins', sans-serif; font-size: 11px; color: var(--neutral-50); }
.course-card__footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--neutral-10); }
.course-card__price { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: var(--coral); }
/* V3 — Horizontal cards (listing pages) */
.course-card-list { display: flex; flex-direction: column; gap: var(--base); max-width: 1200px; margin: 0 auto; }
.course-card--h { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; display: grid; grid-template-columns: 280px 1fr; transition: box-shadow .3s, transform .3s; }
.course-card--h:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.course-card--h .course-card__img { height: 100%; min-height: 200px; }
.course-card--h .course-card__img img { width: 100%; height: 100%; object-fit: cover; }
.course-card--h .course-card__body { padding: 22px 28px; display: flex; flex-direction: column; gap: 6px; }
.course-card--h .course-card__toprow { display: flex; justify-content: space-between; align-items: center; }
.course-card--h .course-card__desc { -webkit-line-clamp: 2; }

/* --- 11. Destination Highlights --- */
.dest-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: var(--comfortable); align-items: center; max-width: 1200px; margin: 0 auto; overflow: hidden; }
.dest-map { min-height: 300px; }

/* --- 12. Accommodation Card --- */
.accommodation { display: grid; grid-template-columns: 1fr 1fr; gap: var(--comfortable); align-items: center; max-width: 1200px; margin: 0 auto; overflow: hidden; }
.accommodation ul { list-style: none; margin: var(--base) 0; }
.accommodation li { font-family: 'Poppins', sans-serif; font-size: 14px; padding: 5px 0 5px 22px; position: relative; color: var(--neutral-70); }
.accommodation li::before { content: '\2713'; color: var(--green); position: absolute; left: 0; font-weight: 700; }

/* --- 12b. Split Layout (generic 2-col text + image) --- */
.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--comfortable); align-items: center; max-width: 1200px; margin: 0 auto; overflow: hidden; }

/* --- 13. Stats Bar --- */
.stats-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--base); max-width: 1000px; margin: 0 auto; text-align: center; }
.stat-card { padding: var(--comfortable); border: 1px solid var(--neutral-20); border-radius: var(--radius); background: var(--white); }
.stat-card__number { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 45px; color: var(--coral); line-height: .9; }
.stat-card__label { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: var(--black); margin-top: var(--tight); }
.stat-card__desc { font-size: 14px; color: var(--neutral-70); margin-top: var(--tight); line-height: 1.5; }

/* --- 14. Testimonial Carousel --- */
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--base); max-width: 1200px; margin: 0 auto; }
.testimonial-card { display: flex; flex-direction: column; }
.testimonial-card__bubble { background: var(--white); border: 1px solid var(--neutral-20); border-radius: var(--radius); padding: var(--comfortable); position: relative; margin-bottom: var(--base); }
.testimonial-card__bubble::after { content: ''; position: absolute; bottom: -10px; left: 28px; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid var(--white); }
.testimonial-card__bubble::before { content: ''; position: absolute; bottom: -12px; left: 27px; width: 0; height: 0; border-left: 11px solid transparent; border-right: 11px solid transparent; border-top: 11px solid var(--neutral-20); }
.testimonial-card__stars { color: var(--yellow); font-size: 16px; letter-spacing: 2px; display: flex; gap: 2px; margin-bottom: 12px; }
.testimonial-card__stars .star { display: inline-block; }
.testimonial-card__stars .star--empty { color: var(--neutral-20); }
.testimonial-card__stars .star--half { position: relative; }
.testimonial-card__stars .star--half::after { content: '\2605'; position: absolute; left: 0; overflow: hidden; width: 50%; color: var(--yellow); }
.testimonial-card__text { font-size: 15px; line-height: 1.6; color: var(--neutral-70); font-style: italic; }
.testimonial-card__info { padding-left: 28px; }
.testimonial-card__name { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; color: var(--black); }
.testimonial-card__role { font-family: 'Poppins', sans-serif; font-size: 12px; color: var(--neutral-50); }
.testimonial-card__course { font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 600; color: var(--blue); margin-top: 4px; display: inline-flex; align-items: center; gap: 4px; }

/* Testimonial slider */
.testimonial-slider { position: relative; display: flex; align-items: center; gap: 12px; }
.testimonial-slider__track { display: flex; gap: var(--base); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 4px 0; }
.testimonial-slider__track::-webkit-scrollbar { display: none; }
.testimonial-slider__track .testimonial-card { flex: 0 0 calc(33.333% - 11px); scroll-snap-align: start; min-width: 300px; }
.testimonial-slider__btn { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--neutral-20); background: var(--white); color: var(--black); font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .2s; }
.testimonial-slider__btn:hover { border-color: var(--coral); color: var(--coral); }

/* --- 15. Europe Map --- */
.europe-map__container { border-radius: var(--radius); overflow: hidden; }
.europe-map__svg { width: 100%; height: auto; display: block; }
.map-line { fill: none; stroke: var(--coral); stroke-width: .5; stroke-dasharray: 200; stroke-dashoffset: 200; animation: drawLine 2s ease-out forwards; opacity: .6; }
.map-line:nth-child(2) { animation-delay: .2s; }
.map-line:nth-child(3) { animation-delay: .4s; }
.map-line:nth-child(4) { animation-delay: .6s; }
.map-line:nth-child(5) { animation-delay: .8s; }
.map-line:nth-child(6) { animation-delay: 1s; }
.map-line:nth-child(7) { animation-delay: 1.2s; }
.map-line:nth-child(8) { animation-delay: 1.4s; }
.map-line:nth-child(9) { animation-delay: 1.6s; }
.map-line:nth-child(10) { animation-delay: 1.8s; }
.map-line:nth-child(11) { animation-delay: 2s; }
.map-line:nth-child(12) { animation-delay: 2.2s; }
@keyframes drawLine { to { stroke-dashoffset: 0; } }
.map-dot { fill: var(--yellow); }
.map-dot--target { fill: var(--green); }
.map-dot-pulse { fill: var(--green); opacity: 0; animation: pulse 2s ease-out infinite; }
@keyframes pulse { 0% { r: 1.5; opacity: .6; } 100% { r: 6; opacity: 0; } }
.map-label { font-family: 'Poppins', sans-serif; font-size: 3px; font-weight: 500; fill: var(--neutral-70); }
.map-label--target { font-family: 'Poppins', sans-serif; font-size: 3.5px; font-weight: 700; fill: var(--green); }

/* --- 18. Blog Card --- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--base); max-width: 1200px; margin: 0 auto; }
.blog-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; transition: box-shadow .3s, transform .3s; }
.blog-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.blog-card__img { height: 180px; overflow: hidden; position: relative; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; }
.blog-card__category { position: absolute; top: 10px; left: 10px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 11px; padding: 3px 10px; border-radius: var(--radius-sm); background: var(--blue); color: var(--black); }
.blog-card__body { padding: var(--base); }
.blog-card__date { font-family: 'Poppins', sans-serif; font-size: 12px; color: var(--neutral-50); margin-bottom: var(--tight); }
.blog-card__title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 16px; margin-bottom: 8px; }
.blog-card__title a { color: var(--black); text-decoration: none; }
.blog-card__title a:hover { color: var(--coral); }
.blog-card__excerpt { font-size: 14px; color: var(--neutral-70); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: var(--base); }

/* --- 18b. Blog Layout (archive + single) --- */
.blog-layout { display: grid; grid-template-columns: 1fr 300px; gap: var(--comfortable); align-items: start; }
.blog-layout .blog-sidebar { position: sticky; top: 32px; }
.blog-layout .blog-grid { grid-template-columns: repeat(2, 1fr); max-width: none; margin: 0; }

/* --- 18c. Project Info Grid (Erasmus+ single) --- */
.project-info-grid { background: var(--blue); border-radius: var(--radius); padding: 24px; margin-bottom: var(--comfortable); display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* --- 18d. Homepage Course Grid --- */
.hp-course-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--base); }

/* --- 18e. Contact Layout (form + info side-by-side) --- */
.contact-layout { display: grid; grid-template-columns: 340px 1fr; gap: var(--tight); align-items: start; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--base); }

/* --- 21. FAQ Accordion --- */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--neutral-20); }
.faq-item summary { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; padding: 16px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::after { content: '\FF0B'; font-size: 18px; color: var(--neutral-50); transition: transform .2s; }
.faq-item[open] summary::after { content: '\FF0D'; }
.faq-item .faq-answer { padding: 0 0 16px; font-size: 15px; color: var(--neutral-70); line-height: 1.6; }

/* --- 22. Newsletter --- */
/* O22 newsletter — inline row: [Name] [Email] [Subscribe] */
.newsletter-form { max-width: 500px; margin: 0 auto; }
.newsletter-form .form-inline { display: flex; gap: 8px; }
.newsletter-form .form-inline input { flex: 1; border: none; border-radius: var(--radius-sm); padding: 10px 16px; font-size: 13px; font-family: 'Poppins', sans-serif; }

/* GF adaptation of O22 */
.newsletter-form .gform_wrapper.gform-theme,
.newsletter-form .gform_wrapper.gform-theme.gform-theme--framework {
	--gf-ctrl-border-radius: 8px;
	--gf-ctrl-border-color: transparent;
}
.newsletter-form .gform_wrapper .gform_required_legend { display: none; }

/* Row 1: inputs + submit all inline */
/* Form layout: [Name] [Email] [Submit] on one row, consent below */
.newsletter-form .gform_wrapper form {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 8px;
	align-items: flex-end;
}
.newsletter-form .gform_wrapper .gform_body {
	flex: 1;
	min-width: 0;
}
/* Consent wraps below inside gform_body but doesn't affect button alignment */
.newsletter-form .gform_wrapper .gform_footer {
	align-self: flex-end;
	padding-bottom: 28px; /* offset for consent row height below */
}
.newsletter-form .gform_wrapper .gform_fields {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px !important;
	grid-template-columns: unset !important;
}
.newsletter-form .gform_wrapper .gfield:not(.gfield--type-consent) {
	flex: 1;
	min-width: 120px;
	margin-bottom: 0 !important;
}

/* Labels above inputs, left-aligned */
.newsletter-form .gform_wrapper .gfield_label,
.newsletter-form .gform_wrapper .gform-field-label {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: var(--black);
	text-align: left;
	margin-bottom: 4px;
}

/* Inputs — no border, white, no placeholder */
.newsletter-form .gform_wrapper input[type="text"],
.newsletter-form .gform_wrapper input[type="email"] {
	padding: 10px 16px !important;
	font-size: 13px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	background: var(--white);
}
.newsletter-form .gform_wrapper input::placeholder { color: transparent; }

/* Submit button */
.newsletter-form .gform_wrapper .gform_footer {
	margin-top: 0 !important;
	padding-top: 0 !important;
	flex-shrink: 0;
}
.newsletter-form .gform_wrapper .gform_button,
.newsletter-form .gform_wrapper.gform-theme .gform_footer .gform_button,
.newsletter-form .gform_wrapper.gform-theme .gform_footer button[type="submit"] {
	width: auto;
	padding: 10px 28px !important;
	font-size: 14px !important;
	border-radius: var(--radius) !important;
	background: var(--coral) !important;
	color: var(--white) !important;
	white-space: nowrap;
}
.newsletter-form .gform_wrapper .gform_button:hover,
.newsletter-form .gform_wrapper.gform-theme .gform_footer .gform_button:hover {
	background: var(--coral-hover, #DB5538) !important;
}

/* Row 2: consent checkbox — full width, left-aligned */
.newsletter-form .gform_wrapper .gfield--type-consent {
	flex-basis: 100%;
	text-align: left;
	margin-top: 4px !important;
	margin-bottom: 0 !important;
	order: 99;
}
.newsletter-form .gform_wrapper .gfield--type-consent > legend { display: none; }
.newsletter-form .gform_wrapper .gfield--type-consent .ginput_container {
	display: flex;
	align-items: center;
	gap: 8px;
}
.newsletter-form .gform_wrapper .gfield--type-consent .gfield_consent_label {
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	color: var(--black);
}
.newsletter-form .gform_wrapper input[type="checkbox"] {
	width: 16px;
	height: 16px;
	min-width: 16px;
	border-radius: var(--wp--custom--radius--sm) !important;
	accent-color: var(--yellow);
	appearance: auto;
	-webkit-appearance: checkbox;
	cursor: pointer;
}

/* --- 23. Pricing Table --- */
.pricing-grid { display: grid; grid-template-columns: 2fr 3fr; gap: var(--base); max-width: 800px; margin: 0 auto; align-items: start; }
.pricing-card { background: var(--white); border: 1px solid var(--neutral-20); border-radius: var(--radius); padding: 24px; text-align: center; }
.pricing-card--featured { border-color: var(--coral); box-shadow: var(--shadow); position: relative; padding: var(--comfortable); transform: scale(1.02); }
.pricing-card--featured::before { content: 'Most Popular'; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--coral); color: var(--white); font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 600; padding: 3px 14px; border-radius: var(--radius-sm); }
.pricing-card__price { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 2rem; color: var(--coral); margin: 12px 0; }
.pricing-card__price span { font-size: 14px; font-weight: 400; color: var(--neutral-50); }
.pricing-card ul { list-style: none; text-align: left; margin: 16px 0 24px; }
.pricing-card li { font-family: 'Poppins', sans-serif; font-size: 13px; padding: 6px 0 6px 20px; position: relative; color: var(--neutral-70); border-bottom: 1px solid var(--neutral-10); }
.pricing-card li::before { content: '\2713'; color: var(--green); position: absolute; left: 0; font-weight: 700; }

/* --- 25. Booking Sidebar --- */
.booking-layout { display: grid; grid-template-columns: 1fr 340px; gap: var(--comfortable); max-width: 1200px; margin: 0 auto; align-items: start; }
.booking-layout > *:first-child { min-width: 0; }
.booking-sidebar { background: var(--white); border: 1px solid var(--neutral-20); border-radius: var(--radius); position: sticky; top: 32px; margin-top: -200px; box-shadow: var(--shadow); min-width: 0; word-wrap: break-word; }
.booking-sidebar__price { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.75rem; color: var(--coral); margin-bottom: 4px; }
.booking-sidebar__alt-price { font-family: 'Poppins', sans-serif; font-size: 13px; color: var(--neutral-50); margin-bottom: 16px; }
.booking-sidebar__info { list-style: none; margin-bottom: 16px; padding: 0; }
.booking-sidebar__info li { font-family: 'Poppins', sans-serif; font-size: 13px; padding: 8px 0; border-bottom: 1px solid var(--neutral-10); display: flex; justify-content: space-between; }
.booking-sidebar__info li span:first-child { color: var(--neutral-50); }
.booking-sidebar__info li span:last-child { font-weight: 600; color: var(--black); }
.booking-sidebar__erasmus { display: flex; align-items: center; gap: 6px; font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; color: var(--green); margin-bottom: 16px; }
.booking-sidebar .btn { width: 100%; text-align: center; display: block; margin-bottom: 8px; box-sizing: border-box; }
.booking-sidebar__share { display: flex; gap: 8px; justify-content: center; margin-top: 12px; }
.booking-sidebar__share-btn { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1px solid var(--neutral-20); background: var(--white); color: var(--neutral-50); text-decoration: none; transition: all .2s; cursor: pointer; }
.booking-sidebar__share-btn:hover { border-color: var(--coral); color: var(--coral); }

/* --- 26. What's Included --- */
.whats-included-card { max-width: 600px; margin: 0 auto; background: var(--white); border-radius: var(--radius); padding: var(--comfortable); box-shadow: var(--shadow); }
.whats-included-card__price { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.5rem; color: var(--coral); text-align: center; margin-bottom: 4px; }
.whats-included-card__ratio { text-align: center; font-family: 'Poppins', sans-serif; font-size: 13px; color: var(--neutral-50); margin-bottom: 16px; }
.whats-included-card ul { list-style: none; margin-bottom: 20px; padding: 0; }
.whats-included-card li { font-family: 'Poppins', sans-serif; font-size: 14px; padding: 8px 0; display: flex; align-items: center; gap: 10px; color: var(--neutral-70); border-bottom: 1px solid var(--neutral-10); }
.whats-included-card li::before { content: '\2713'; color: var(--green); font-weight: 700; flex-shrink: 0; width: 16px; }

/* --- 27. Gallery --- */
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 180px; gap: 8px; max-width: 1000px; margin: 0 auto; }
.gallery-grid__item { border-radius: var(--radius-sm); overflow: hidden; }
.gallery-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; cursor: pointer; }
.gallery-grid__item img:hover { transform: scale(1.05); }
.gallery-grid__item:first-child { grid-column: span 2; grid-row: span 2; }

/* --- Lightbox --- */
.lightbox-overlay { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(38,38,38,.92); align-items: center; justify-content: center; flex-direction: column; }
.lightbox-overlay.is-open { display: flex; }
.lightbox-overlay__img { max-width: 90vw; max-height: 75vh; object-fit: contain; border-radius: var(--radius); }
.lightbox-overlay__close { position: absolute; top: 20px; right: 24px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s; border: none; }
.lightbox-overlay__close:hover { background: rgba(255,255,255,.3); }
.lightbox-overlay__close svg { stroke: var(--white); }
.lightbox-overlay__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.15); border: none; color: var(--white); font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.lightbox-overlay__nav:hover { background: rgba(255,255,255,.3); }
.lightbox-overlay__nav--prev { left: 20px; }
.lightbox-overlay__nav--next { right: 20px; }
.lightbox-overlay__dots { display: flex; gap: 8px; margin-top: 16px; }
.lightbox-overlay__dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.3); border: none; cursor: pointer; transition: background .2s; padding: 0; }
.lightbox-overlay__dot.is-active { background: var(--white); }
/* Legacy lightbox (keep for backward compat) */
.lightbox { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(38,38,38,.92); align-items: center; justify-content: center; }
.lightbox:target { display: flex; }
.lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: var(--radius); }
.lightbox__close { position: absolute; top: 20px; right: 24px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s; }
.lightbox__close:hover { background: rgba(255,255,255,.3); }
.lightbox__close svg { stroke: var(--white); }

/* --- 30b. Contact Sidebar --- */
.contact-sidebar__card { background: var(--white); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); margin-bottom: var(--base); }
.contact-sidebar__card--blue { background: var(--blue); }
.contact-sidebar__card h4 { font-size: 15px; color: var(--black); }
.contact-sidebar__row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--neutral-10); }
.contact-sidebar__row:last-child { border-bottom: none; padding-bottom: 0; }
.contact-sidebar__row:first-of-type { padding-top: 0; }
.contact-sidebar__row svg { flex-shrink: 0; color: var(--coral); margin-top: 2px; }
.contact-sidebar__label { display: block; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 600; color: var(--neutral-50); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.contact-sidebar__value { display: block; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; color: var(--black); text-decoration: none; }
a.contact-sidebar__value:hover { color: var(--coral); }

/* --- 31. Ask Question Form --- */
.ask-form { max-width: 600px; margin: 0 auto; background: var(--white); border-radius: var(--radius); padding: var(--comfortable); box-shadow: var(--shadow); }
.ask-form .form-row { margin-bottom: 12px; }
.ask-form label { display: block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.ask-form input, .ask-form textarea { width: 100%; border: 1px solid var(--neutral-20); border-radius: var(--radius-sm); padding: 7px 16px; font-size: 12px; font-family: 'Poppins', sans-serif; }
.ask-form textarea { min-height: 100px; resize: vertical; }
.ask-form .gform_wrapper .gform_required_legend { display: none; }
.ask-form .gform_wrapper .gfield_required { display: none; }
.ask-form .gform_wrapper input::placeholder,
.ask-form .gform_wrapper textarea::placeholder { color: transparent; }
.ask-form .gform_wrapper .gfield { margin-bottom: 6px; }
.ask-form .gform_wrapper .gfield_label,
.ask-form .gform_wrapper .gform-field-label { color: var(--black); }
.ask-form .gform_wrapper .gfield_description { color: var(--black); }
.ask-form .gform_wrapper .gform_fields { gap: 6px; }
.ask-form .gform_wrapper .gform_footer .gform_button,
.ask-form .gform_wrapper.gform-theme .gform_footer button[type="submit"] {
	background: var(--coral); color: var(--white); border: none; border-radius: var(--radius);
	padding: 14px 36px; font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 600;
	cursor: pointer; width: auto;
}
.ask-form .gform_wrapper .gform_footer { text-align: left; }
.ask-form .gform_wrapper .gform_footer .gform_button:hover,
.ask-form .gform_wrapper.gform-theme .gform_footer button[type="submit"]:hover {
	background: #d9603f; transform: translateY(-1px);
}

/* --- 32. Destination Carousel --- */
.carousel-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; max-width: 1200px; margin: 0 auto; }
.carousel-track::-webkit-scrollbar { height: 6px; }
.carousel-track::-webkit-scrollbar-thumb { background: var(--neutral-20); border-radius: var(--wp--custom--radius--sm); }
.carousel-slide { flex: 0 0 320px; scroll-snap-align: start; border-radius: var(--radius); overflow: hidden; height: 220px; }
.carousel-slide img { width: 100%; height: 100%; object-fit: cover; }

/* --- 33. Content Section --- */
.content-section { display: grid; grid-template-columns: 1fr 1fr; gap: var(--comfortable); align-items: center; max-width: 1200px; margin: 0 auto; }
.content-section--reverse { direction: rtl; }
.content-section--reverse > * { direction: ltr; }

/* ============================================
   RESPONSIVE — BLOG LAYOUT (900px)
   ============================================ */

@media (max-width: 900px) {
	.blog-layout { grid-template-columns: 1fr; }
	.blog-layout .blog-sidebar { position: static; top: auto; }
	.contact-layout { grid-template-columns: 1fr; }
	.contact-layout .contact-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: var(--base); }
	.contact-layout .contact-sidebar__card { margin-bottom: 0; }
	.contact-layout .ask-form { max-width: none; }
}

/* ============================================
   RESPONSIVE — TABLET (768px)
   ============================================ */

@media (max-width: 768px) {
	/* Service cards: 3-col → 2-col */
	.euta-service-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* How it works: 5-col → 2-col */
	.euta-hiw-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Course cards: 3-col → 2-col */
	.euta-course-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Blog cards: 3-col → 2-col */
	.euta-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Testimonials: 3-col → 1-col (cards are wide) */
	.euta-testimonial-grid {
		grid-template-columns: 1fr;
		max-width: 600px;
		margin: 0 auto;
	}

	/* Accommodation: 2-col → 1-col */
	.euta-accommodation {
		grid-template-columns: 1fr;
	}

	.euta-accommodation__image {
		min-height: 250px;
		order: -1;
	}

	/* Course detail layout: 2-col → 1-col */
	.euta-course-layout {
		grid-template-columns: 1fr;
	}

	.euta-booking-sidebar {
		position: static;
	}

	/* Tabs nav: allow wrapping */
	.euta-tabs__nav {
		flex-wrap: wrap;
	}

	/* Footer: 4-col → 2-col */
	footer .wp-block-columns {
		flex-wrap: wrap;
	}

	footer .wp-block-column {
		flex-basis: 48% !important;
	}

	/* Organism short-class responsive (tablet) */
	.booking-layout { grid-template-columns: 1fr; }
	.booking-layout > *:first-child { order: 2; }
	.booking-sidebar { position: static; margin-top: 0; order: 1; }
	.pricing-grid { grid-template-columns: 1fr; }
	.pricing-card--featured { transform: none; }
	.gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
	.gallery-grid__item:first-child { grid-column: span 2; grid-row: span 1; }
	.euta-objectives-grid--inline { grid-template-columns: 1fr; }
	.signposts { grid-template-columns: 1fr; }
	.service-grid { grid-template-columns: repeat(2, 1fr); }
	.steps-grid { grid-template-columns: repeat(2, 1fr); }
	.video-section { grid-template-columns: 1fr; }
	.lead-capture { grid-template-columns: 1fr; }
	.dest-highlights { grid-template-columns: 1fr; }
	.content-section { grid-template-columns: 1fr; }
	.content-section--reverse { direction: ltr; }
	.accommodation { grid-template-columns: 1fr; }
	.split-layout { grid-template-columns: 1fr; }
	.testimonial-grid { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; }
	.blog-grid { grid-template-columns: repeat(2, 1fr); }
	.blog-layout .blog-grid { grid-template-columns: 1fr; }
	.course-card-grid { grid-template-columns: repeat(2, 1fr); }

	/* Testimonial slider: show 2 cards at tablet */
	.testimonial-slider__track .testimonial-card { flex: 0 0 calc(50% - 8px); min-width: 280px; }

	/* Hero image variant: reduce min-height */
	.hero-page--image { min-height: 260px; }

	/* Stats bar: 3-col → 1-col on tablet */
	.stats-bar { grid-template-columns: 1fr; }

	/* Project info card: 2-col → 1-col on tablet */
	.project-info-grid { grid-template-columns: 1fr; }
}

/* ============================================
   RESPONSIVE — MOBILE (480px)
   ============================================ */

@media (max-width: 480px) {
	/* Service cards: 2-col → 1-col */
	.euta-service-grid {
		grid-template-columns: 1fr;
	}

	/* How it works: 2-col → 1-col */
	.euta-hiw-grid {
		grid-template-columns: 1fr;
	}

	/* Course cards: 2-col → 1-col */
	.euta-course-grid {
		grid-template-columns: 1fr;
	}

	/* Blog cards: 2-col → 1-col */
	.euta-blog-grid {
		grid-template-columns: 1fr;
	}

	/* Stats: 3-col → 1-col */
	.euta-stats-grid {
		grid-template-columns: 1fr;
	}

	/* Buttons: stack vertically */
	.wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.wp-block-buttons .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons .wp-block-button__link {
		display: block;
		text-align: center;
	}

	/* Hero: reduce min-height */
	.euta-hero .wp-block-cover__inner-container {
		min-height: calc(400px - var(--wp--preset--spacing--comfortable) * 2);
	}

	/* Footer: 2-col → 1-col */
	footer .wp-block-column {
		flex-basis: 100% !important;
	}

	/* Newsletter: stack form fields */
	.euta-newsletter-form .gform_wrapper .gform_fields {
		grid-template-columns: 1fr;
	}

	/* How it works CTAs: stack */
	.euta-hiw-ctas {
		flex-direction: column;
		align-items: center;
	}

	/* Organism short-class responsive (mobile) */
	.service-grid { grid-template-columns: 1fr; }
	.steps-grid { grid-template-columns: 1fr; gap: 0; }
	.step-card { padding: 10px 12px; }
	.stats-bar { grid-template-columns: 1fr; }
	.blog-grid { grid-template-columns: 1fr; }
	.blog-sidebar > div { padding: 16px !important; }
	.blog-card__title { font-size: clamp(15px, 4vw, 17px); }
	.blog-card__excerpt { font-size: 13px; }
	.project-info-grid { grid-template-columns: 1fr; }
	.hp-course-grid { grid-template-columns: 1fr; }
	.contact-grid { grid-template-columns: 1fr; }
	.contact-layout .contact-sidebar { grid-template-columns: 1fr; }
	.contact-layout .contact-sidebar__card { margin-bottom: 0; }
	.course-card-grid { grid-template-columns: 1fr; }
	.course-card--h { grid-template-columns: 1fr; }
	.course-card--h .course-card__img { min-height: 180px; }
	.btn-group { flex-direction: column; }
	.euta-programme-card { flex-direction: column; }
	.euta-programme-card__image { width: 100%; height: 180px; }

	/* Buttons: full-width centered on mobile */
	.btn { max-width: 100%; }
	.btn-group { width: 100%; max-width: 100%; }
	.btn-group .btn { display: block; width: 100%; text-align: center; }
	.split-layout .btn { display: block; width: 100%; text-align: center; }
	.cta-link { display: block; text-align: center; }

	/* Erasmus stat card: show above text on mobile */
	.euta-erasmus-stat-card { order: -1; }

	/* Gallery: horizontal scroll strip on mobile */
	.gallery-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.gallery-grid::-webkit-scrollbar { display: none; }
	.gallery-grid__item { flex: 0 0 75%; scroll-snap-align: start; height: 180px; }
	.gallery-grid__item:first-child { grid-column: unset; grid-row: unset; }

	/* Lightbox nav smaller on mobile */
	.lightbox-overlay__nav { width: 36px; height: 36px; font-size: 16px; }
	.lightbox-overlay__nav--prev { left: 8px; }
	.lightbox-overlay__nav--next { right: 8px; }

	/* Testimonial slider: 1 card at mobile */
	.testimonial-slider__track .testimonial-card { flex: 0 0 100%; min-width: 0; }
	.testimonial-slider__btn { width: 32px; height: 32px; font-size: 14px; }
	.testimonial-slider { gap: 6px; }

	/* Hero image: smaller on mobile */
	.hero-page--image { min-height: 220px; padding: var(--comfortable) var(--base); }
	.hero-page h1 { font-size: clamp(1.4rem, 1rem + 2vw, 2rem); }

	/* Tabs: smaller on mobile */
	.tab-btn { font-size: 13px; padding: 8px 16px; }
	.tabs { gap: 6px; }

	/* Homepage hero: reduce min-height on mobile */
	.hero-home { min-height: 400px; padding-bottom: var(--base); }

	/* Section padding tighter on mobile */
	.section:not(.wp-block-group):not([class*="wp-block-"]) { padding: 36px var(--base); }
}

/* ============================================
   V3 HORIZONTAL PROGRAMME CARDS
   ============================================ */

.euta-programme-list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--base);
	max-width: 1200px;
	margin: 0 auto;
}

.euta-programme-card {
	display: flex;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
	overflow: hidden;
	transition: box-shadow 0.3s, transform 0.3s;
}

.euta-programme-card:hover {
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.euta-programme-card__image {
	width: 240px;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}

.euta-programme-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.euta-programme-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(140, 196, 220, 0.9);
	color: #262626;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 8px;
}

.euta-programme-card__body {
	flex: 1;
	padding: 24px;
	display: flex;
	flex-direction: column;
}

.euta-programme-card__top-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.euta-programme-card__tags {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.euta-programme-card__tag {
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 10px;
	border-radius: 8px;
	background: var(--wp--preset--color--euta-blue);
	color: #262626;
}

.euta-programme-card__price {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
}

.euta-programme-card__title {
	font-family: 'Poppins', sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	color: #262626;
	margin-bottom: 6px;
}

.euta-programme-card__title a {
	color: inherit;
	text-decoration: none;
}

.euta-programme-card__title a:hover {
	color: var(--wp--preset--color--euta-coral);
}

.euta-programme-card__desc {
	font-family: 'Vollkorn', serif;
	font-size: 15px;
	color: #525252;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 12px;
}

.euta-programme-card__meta {
	display: flex;
	gap: 16px;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	color: #8D8D8D;
	margin-bottom: 12px;
}

.euta-programme-card__footer {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.euta-programme-card__cta {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--euta-coral);
	text-decoration: none;
}

.euta-programme-card__cta:hover {
	text-decoration: underline;
}

/* ============================================
   INCLUDED CARD CHECKMARKS
   ============================================ */

.euta-included-card__list li {
	position: relative;
	padding-left: 22px;
}

.euta-included-card__list li::before {
	content: '\2713';
	color: var(--wp--preset--color--euta-green);
	position: absolute;
	left: 0;
	font-weight: 700;
}

.euta-included-card__cta-wrap {
	text-align: center;
	margin-top: var(--wp--preset--spacing--comfortable);
}

/* ============================================
   IMAGE PLACEHOLDER
   ============================================ */

.euta-image-placeholder {
	background: var(--wp--preset--color--euta-neutral-10);
	border-radius: 15px;
	min-height: 350px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--euta-neutral-40);
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
}

.euta-image-placeholder--tall {
	min-height: 400px;
}

/* ================================================================
   COOKIE BANNER (Complianz overrides)
   ================================================================ */

.cmplz-cookiebanner {
	background: #fff !important;
	box-shadow: 0 8px 30px rgba(0,0,0,0.10) !important;
	border-radius: 15px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important;
	color: var(--black, #262626) !important;
	border: none !important;
}

.cmplz-cookiebanner .cmplz-title {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	color: var(--black, #262626) !important;
}

.cmplz-cookiebanner .cmplz-message {
	font-family: 'Vollkorn', serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--black, #262626) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background: var(--coral, #EF724F) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border: 2px solid var(--coral, #EF724F) !important;
	padding: 10px 24px !important;
	transition: background 0.2s ease !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background: #D9603F !important;
	border-color: #D9603F !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
	background: transparent !important;
	color: var(--black, #262626) !important;
	border: 2px solid var(--black, #262626) !important;
	border-radius: 999px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	padding: 10px 24px !important;
	transition: background 0.2s ease, color 0.2s ease !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover {
	background: var(--black, #262626) !important;
	color: #fff !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-manage {
	background: transparent !important;
	color: var(--coral, #EF724F) !important;
	border: none !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	text-decoration: underline !important;
	padding: 8px 16px !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-manage:hover {
	color: #D9603F !important;
}

/* Category toggles in preferences view */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-toggle {
	background: #ccc !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-toggle.cmplz-active {
	background: var(--blue, #8CC4DC) !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category label {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--black, #262626) !important;
}

/* Save preferences button */
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: var(--coral, #EF724F) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	border: 2px solid var(--coral, #EF724F) !important;
	padding: 10px 24px !important;
}

/* Link to cookie policy */
.cmplz-cookiebanner a {
	color: var(--coral, #EF724F) !important;
	text-decoration: underline !important;
}

.cmplz-cookiebanner a:hover {
	color: #D9603F !important;
}
