/* ==================================================================
   EAS interior pages — assets/interior/style-interior.css
   Shared by all non-home EAS templates.
   ================================================================== */

/* ---------- Page hero ---------- */
.eas-pagehero {
	background: var(--eas-white);
	border-bottom: 1px solid var(--eas-line);
	padding: 64px 0 56px;
}
.eas-pagehero__inner { max-width: var(--eas-max); margin: 0 auto; padding: 0 var(--eas-pad); }
.eas-pagehero h1 { font-size: clamp(32px, 4vw, 44px); margin: 0 0 18px; max-width: 760px; }
.eas-pagehero__answer {
	font-size: 18.5px;
	color: var(--eas-ink-soft);
	max-width: 720px;
	margin: 0;
}
.eas-breadcrumb {
	font-size: 13.5px;
	color: var(--eas-ink-soft);
	margin: 0 0 18px;
}
.eas-breadcrumb a { color: var(--eas-ink-soft); text-decoration: none; }
.eas-breadcrumb a:hover { color: var(--eas-accent); }

/* ---------- Prose sections ---------- */
.eas-prose {
	max-width: 760px;
	margin: 0 auto;
	padding: 56px var(--eas-pad);
}
.eas-prose--wide { max-width: var(--eas-max); }
.eas-prose h2 { font-size: clamp(24px, 2.8vw, 31px); margin: 48px 0 16px; }
.eas-prose h2:first-child { margin-top: 0; }
.eas-prose h3 { font-size: 20px; margin: 30px 0 10px; }
.eas-prose p { margin: 0 0 16px; }
.eas-prose ul, .eas-prose ol { margin: 0 0 18px; padding-left: 24px; }
.eas-prose li { margin-bottom: 8px; }
.eas-prose table { width: 100%; border-collapse: collapse; margin: 20px 0 28px; font-size: 15.5px; }
.eas-prose th {
	text-align: left;
	font-weight: 600;
	border-bottom: 2px solid var(--eas-ink);
	padding: 10px 12px 8px;
}
.eas-prose td { border-bottom: 1px solid var(--eas-line); padding: 11px 12px; vertical-align: top; }

/* ---------- Callout / notice ---------- */
.eas-callout {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-left: 4px solid var(--eas-steel);
	border-radius: 8px;
	padding: 20px 24px;
	margin: 26px 0;
	font-size: 15.5px;
}
.eas-callout--key { border-left-color: var(--eas-accent); }
.eas-callout p:last-child { margin-bottom: 0; }

/* ---------- EEAT review block ---------- */
.eas-reviewed {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--eas-ink-soft);
	border-top: 1px solid var(--eas-line);
	border-bottom: 1px solid var(--eas-line);
	padding: 12px 0;
	margin: 26px 0 0;
}
.eas-reviewed strong { color: var(--eas-ink); font-weight: 600; }
.eas-reviewed__dot { color: var(--eas-steel); }

/* ---------- Card grids (hub pages) ---------- */
.eas-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin: 34px 0 10px;
	padding: 0;
	list-style: none;
}
.eas-card {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-radius: 10px;
	padding: 26px 26px 22px;
	display: flex;
	flex-direction: column;
}
.eas-card h3 { margin: 0 0 10px; font-size: 19px; }
.eas-card p { margin: 0 0 18px; font-size: 15px; color: var(--eas-ink-soft); flex: 1; }
.eas-card a.eas-card__link {
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}
.eas-card a.eas-card__link::after { content: " \2192"; }

/* ---------- Anaesthetist profiles ---------- */
.eas-profiles {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 26px;
	margin: 38px 0;
	padding: 0;
	list-style: none;
}
.eas-profile {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-radius: 10px;
	padding: 30px;
}
.eas-profile h3 { margin: 0 0 4px; font-size: 22px; }
.eas-profile__cred {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eas-steel);
	margin: 0 0 14px;
}
.eas-profile p { margin: 0 0 10px; font-size: 15.5px; color: var(--eas-ink-soft); }
.eas-profile p:last-child { margin: 0; }

/* ---------- Accordion (FAQ) ---------- */
.eas-acc { border-top: 1px solid var(--eas-line); margin: 30px 0; }
.eas-acc__item { border-bottom: 1px solid var(--eas-line); }
.eas-acc__q {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	background: none;
	border: 0;
	padding: 18px 4px;
	font-family: var(--eas-font-body);
	font-size: 17px;
	font-weight: 600;
	color: var(--eas-ink);
	text-align: left;
	cursor: pointer;
}
.eas-acc__q::after {
	content: "+";
	font-size: 22px;
	line-height: 1;
	color: var(--eas-accent);
	flex: 0 0 auto;
	transition: transform .18s ease;
}
.eas-acc__item.is-open .eas-acc__q::after { content: "\2212"; }
.eas-acc__a { display: none; padding: 0 4px 20px; color: var(--eas-ink-soft); }
.eas-acc__item.is-open .eas-acc__a { display: block; }
.eas-acc__a p { margin: 0 0 12px; }
.eas-acc__a p:last-child { margin: 0; }

/* ---------- Fee components ---------- */
.eas-fee-formula {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: stretch;
	gap: 14px;
	margin: 30px 0;
}
.eas-fee-formula__part {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-top: 3px solid var(--eas-accent);
	border-radius: 8px;
	padding: 18px;
	text-align: center;
}
.eas-fee-formula__part h3 { font-size: 16.5px; margin: 0 0 6px; }
.eas-fee-formula__part p { font-size: 14px; color: var(--eas-ink-soft); margin: 0; }
.eas-fee-formula__op {
	display: flex;
	align-items: center;
	font-family: var(--eas-font-display);
	font-size: 28px;
	color: var(--eas-steel);
}

/* ---------- Fasting calculator ---------- */
.eas-fast {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-radius: 12px;
	padding: 30px;
	margin: 34px 0;
}
.eas-fast h3 { margin: 0 0 6px; }
.eas-fast__note { font-size: 14px; color: var(--eas-ink-soft); margin: 0 0 20px; }
.eas-fast__row { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; }
.eas-fast label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.eas-fast input[type="time"] {
	font-family: var(--eas-font-body);
	font-size: 17px;
	padding: 10px 14px;
	border: 1.5px solid var(--eas-line);
	border-radius: 6px;
	background: var(--eas-paper);
	color: var(--eas-ink);
}
.eas-fast__results { display: none; margin-top: 26px; }
.eas-fast__results.is-visible { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.eas-fast__result {
	border: 1px solid var(--eas-line);
	border-left: 4px solid var(--eas-accent);
	border-radius: 8px;
	padding: 16px 20px;
}
.eas-fast__result strong { display: block; font-size: 22px; font-family: var(--eas-font-display); }
.eas-fast__result span { font-size: 14px; color: var(--eas-ink-soft); }
.eas-fast__disclaimer { font-size: 13px; color: var(--eas-ink-soft); margin-top: 16px; }

/* ---------- Anaesthesia spectrum + type cards ---------- */
.eas-spectrum { margin: 30px 0 8px; }
.eas-spectrum__bar {
	height: 10px;
	border-radius: 5px;
	background: linear-gradient(90deg, var(--eas-steel-lt) 0%, var(--eas-steel) 45%, var(--eas-accent) 100%);
}
.eas-spectrum__labels {
	display: flex;
	justify-content: space-between;
	font-size: 12.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--eas-ink-soft);
	margin-top: 8px;
}
.eas-types {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 26px 0 8px;
}
.eas-type {
	background: var(--eas-white);
	border: 1px solid var(--eas-line);
	border-top: 3px solid var(--eas-steel);
	border-radius: 8px;
	padding: 20px 22px;
}
.eas-type:last-child { border-top-color: var(--eas-accent); }
.eas-type h3 { margin: 0 0 8px; font-size: 18px; }
.eas-type p { margin: 0; font-size: 15px; color: var(--eas-ink-soft); }
@media (max-width: 700px) { .eas-types { grid-template-columns: 1fr; } }

/* ---------- Contact page ---------- */
.eas-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: start;
}
.eas-contact-grid .eas-callout { margin-top: 0; }
.eas-contact-detail { font-size: 17px; margin: 0 0 16px; }
.eas-contact-detail strong { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .07em; color: var(--eas-steel); margin-bottom: 3px; }
.eas-contact-detail a { text-decoration: none; font-weight: 600; }

/* ---------- Booking page ---------- */
.eas-booking-intro { margin-bottom: 8px; }
.eas-privacy-note {
	background: var(--eas-paper);
	border: 1px solid var(--eas-line);
	border-radius: 8px;
	padding: 16px 20px;
	font-size: 14px;
	color: var(--eas-ink-soft);
	margin: 0 0 30px;
}
.eas-privacy-note a { font-weight: 600; }

/* ---------- CTA band (reusable bottom-of-page) ---------- */
.eas-cta-band { background: var(--eas-accent); }
.eas-cta-band__inner {
	max-width: var(--eas-max);
	margin: 0 auto;
	padding: 52px var(--eas-pad);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
}
.eas-cta-band h2 { color: var(--eas-white) !important; font-size: clamp(23px, 2.6vw, 29px); margin: 0 0 8px; }
.eas-cta-band p { color: rgba(255,255,255,.85); margin: 0; max-width: 620px; }
.eas-cta-band .eas-btn--solid { background: var(--eas-white); color: var(--eas-accent) !important; white-space: nowrap; }
.eas-cta-band .eas-btn--solid:hover { background: #E3ECF8; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.eas-cards { grid-template-columns: 1fr 1fr; }
	.eas-profiles { grid-template-columns: 1fr; }
	.eas-fee-formula { grid-template-columns: 1fr; }
	.eas-fee-formula__op { justify-content: center; }
	.eas-contact-grid { grid-template-columns: 1fr; }
	.eas-cta-band__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
	.eas-cards { grid-template-columns: 1fr; }
	.eas-fast__results.is-visible { grid-template-columns: 1fr; }
	.eas-pagehero { padding: 44px 0 40px; }
	.eas-prose { padding-top: 40px; padding-bottom: 40px; }
}

/* ==================================================================
   Defensive Astra overrides — keep at BOTTOM (FT pattern step 2)
   ================================================================== */
body.eas-page .site-header { display: none !important; }
body.eas-page .ast-above-header-bar { display: none !important; }
body.eas-page #content { padding: 0 !important; margin: 0 !important; }
body.eas-page .entry-header { display: none !important; }
body.eas-page .ast-container { max-width: none !important; padding: 0 !important; }
body.eas-page article { margin: 0 !important; padding: 0 !important; }
body.eas-page .site-footer { display: none !important; }
