/**
 * International Patients page — sits on top of components.css / main.css.
 * Breakpoints mirror the shared set: 1024px (tablet) · 640px (mobile).
 */

/* ============================================================= *
 *  Hero
 * ============================================================= */
.ne-intl-hero { background: var(--ne-secondary-a10); padding-block: var(--ne-space-6xl); }
.ne-intl-hero__inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: var(--ne-space-3xl);
	align-items: center;
}
.ne-intl-hero__title { margin: 0 0 var(--ne-space-m); font-size: var(--ne-h1-size); line-height: 1.1; }
.ne-intl-hero__sub { margin: 0 0 var(--ne-space-xl); color: var(--ne-neutral-800); max-width: 56ch; }
.ne-intl-hero__actions { display: flex; flex-wrap: wrap; gap: var(--ne-space-s); }
.ne-intl-hero__media { border-radius: 20px; overflow: hidden; aspect-ratio: 485 / 372; background: var(--ne-neutral-200); box-shadow: var(--ne-shadow-deep); }
.ne-intl-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============================================================= *
 *  International Patient Services
 * ============================================================= */
.ne-intl-services__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ne-space-3xl);
	align-items: center;
}
.ne-intl-services__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ne-space-2xl); }
.ne-intl-services__row { display: flex; align-items: flex-start; gap: var(--ne-space-s); }
.ne-intl-services__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 14px; flex: 0 0 auto;
	background: var(--ne-tertiary-500); color: var(--ne-neutral-100);
}
.ne-intl-services__icon .ne-icon { width: 24px; height: 24px; }
.ne-intl-services__icon img { width: 26px; height: 26px; object-fit: contain; }
.ne-intl-services__body { display: flex; flex-direction: column; gap: var(--ne-space-2xs); }
.ne-intl-services__title { font-size: var(--ne-h8-size); font-weight: 700; color: var(--ne-primary-400); }
.ne-intl-services__desc { font-size: var(--ne-b3-size); line-height: var(--ne-b3-line); color: var(--ne-neutral-800); }
.ne-intl-services__media { border-radius: 16px; overflow: hidden; aspect-ratio: 551 / 309; background: var(--ne-neutral-200); }
.ne-intl-services__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============================================================= *
 *  Second-Opinion CTA banner (gradient variant of .ne-cta-banner)
 * ============================================================= */
.ne-cta-banner--gradient {
	background-image: linear-gradient(103deg, #170b5b 0%, #221573 55%, #2d1d8c 100%);
}
/* Ghost/secondary CTA on the dark banner needs light contrast */
.ne-cta-banner .ne-btn--secondary {
	color: var(--ne-neutral-100);
	border-color: rgba(255, 255, 255, 0.55);
	background: transparent;
}
.ne-cta-banner .ne-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--ne-neutral-100);
	color: var(--ne-neutral-100);
}

/* ============================================================= *
 *  Enquiry form + FAQ two-column band
 * ============================================================= */
.ne-intl-enquiry__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ne-space-3xl); align-items: start; }
.ne-intl-enquiry__faq { padding-top: var(--ne-space-xs); }

/* ============================================================= *
 *  Enquiry form (CF7 .ne-form-grid inside .ne-formwrap) — shared block
 * ============================================================= */
.ne-enquiry__head { display: flex; align-items: center; gap: var(--ne-space-s); margin-bottom: var(--ne-space-l); }
.ne-enquiry__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 12px;
	background: var(--ne-secondary-a10); color: var(--ne-secondary-400);
}
.ne-enquiry__icon .ne-icon { width: 24px; height: 24px; }
.ne-enquiry__title { margin: 0; font-size: var(--ne-h6-size); line-height: var(--ne-h6-line); color: var(--ne-primary-500); }

.ne-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ne-space-m) var(--ne-space-l); }
.ne-form-grid .ne-field { margin-bottom: 0; }
.ne-field-full { grid-column: 1 / -1; }
.ne-form-actions { display: flex; }
.ne-form-actions input[type=submit] {
	width: 100%;
	font-family: var(--ne-font);
	font-size: var(--ne-b1-size);
	font-weight: 600;
	line-height: 1;
	padding: 15px var(--ne-space-xl);
	border-radius: 999px;
	border: 2px solid var(--ne-primary-400);
	background: var(--ne-primary-400);
	color: var(--ne-neutral-100);
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease;
}
.ne-form-actions input[type=submit]:hover { background: var(--ne-primary-500); border-color: var(--ne-primary-500); }
.wpcf7 form .wpcf7-response-output {
	margin: var(--ne-space-m) 0 0;
	border-radius: 10px;
	padding: var(--ne-space-s) var(--ne-space-m);
	font-size: var(--ne-b2-size);
}
.wpcf7-not-valid-tip { color: var(--ne-red-200); font-size: var(--ne-b3-size); margin-top: var(--ne-space-2xs); }
.wpcf7 .wpcf7-spinner { margin: 0 0 0 var(--ne-space-s); }

/* ============================================================= *
 *  Why Choose New Era — shared block
 * ============================================================= */
.ne-whychoose__head { text-align: center; max-width: 720px; margin: 0 auto var(--ne-space-3xl); }
.ne-whychoose__title { margin: 0 0 var(--ne-space-s); font-size: var(--ne-h4-size); line-height: var(--ne-h4-line); color: var(--ne-primary-500); }
.ne-whychoose__sub { margin: 0; color: var(--ne-neutral-800); }
.ne-whychoose__card {
	background: var(--ne-tertiary-a10);
	border-radius: 18px;
	padding: var(--ne-space-l);
	display: flex; flex-direction: column; gap: var(--ne-space-s);
}
.ne-whychoose__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 14px;
	background: var(--ne-neutral-100); color: var(--ne-tertiary-500);
}
.ne-whychoose__icon .ne-icon { width: 24px; height: 24px; }
.ne-whychoose__icon img { width: 28px; height: 28px; object-fit: contain; }
.ne-whychoose__card-title { margin: 0; font-size: var(--ne-h8-size); color: var(--ne-primary-400); font-weight: 700; }
.ne-whychoose__card-body { margin: 0; color: var(--ne-neutral-800); font-size: var(--ne-b3-size); line-height: var(--ne-b3-line); }

/* ============================================================= *
 *  Testimonials — shared block
 * ============================================================= */
.ne-testimonial {
	display: flex; flex-direction: column; gap: var(--ne-space-m);
	background: var(--ne-neutral-100);
	border: 1px solid var(--ne-neutral-200);
	border-radius: 20px;
	padding: var(--ne-space-2xl);
	height: 100%;
}
.ne-testimonial__mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 12px;
	background: var(--ne-primary-a10); color: var(--ne-primary-400);
}
.ne-testimonial__mark .ne-icon { width: 26px; height: 26px; }
.ne-testimonial__quote { margin: 0; font-size: var(--ne-h7-size); line-height: var(--ne-h7-line); color: var(--ne-neutral-900); font-weight: 400; }
.ne-testimonial__foot { display: flex; align-items: center; gap: var(--ne-space-s); margin-top: auto; }
.ne-testimonial__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.ne-testimonial__meta { display: flex; flex-direction: column; }
.ne-testimonial__name { font-weight: 700; color: var(--ne-primary-500); }
.ne-testimonial__role { font-size: var(--ne-b2-size); color: var(--ne-neutral-700); }

/* ============================================================= *
 *  Responsive
 * ============================================================= */
@media (max-width: 1024px) {
	.ne-intl-hero__inner { grid-template-columns: 1fr; gap: var(--ne-space-2xl); }
	.ne-intl-services__layout { grid-template-columns: 1fr; gap: var(--ne-space-2xl); }
	.ne-intl-enquiry__grid { grid-template-columns: 1fr; gap: var(--ne-space-2xl); }
}
@media (max-width: 640px) {
	.ne-form-grid { grid-template-columns: 1fr; }
	.ne-intl-hero__actions .ne-btn { flex: 1 1 auto; }
}
