/* ==========================================================================
   Diagnostic page (/diagnostic/). Loaded only on that page.
   ========================================================================== */

.dg svg { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dg-head { max-width: 760px; margin-bottom: 3rem; }
.dg-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.dg-head--center .aa-lead { margin: 0 auto; }
.dg-head .aa-h2 { margin-bottom: 1rem; }

/* 1. HERO ---------------------------------------------------------------- */
.dg-hero { background: var(--aa-navy); padding: 5rem var(--aa-gutter) 4.5rem; position: relative; overflow: hidden; }
.dg-hero::before { content: ''; position: absolute; right: -140px; top: -120px; width: 540px; height: 540px; border-radius: 50%; border: 1px solid rgba(201, 168, 76, .1); pointer-events: none; }
.dg-hero__inner { position: relative; display: grid; grid-template-columns: 1.5fr 1fr; gap: 4rem; align-items: center; }
.dg-hero .aa-label { color: var(--aa-gold); }
.dg-hero .aa-h1 { font-size: clamp(2.2rem, 4vw, 3.4rem); }
.dg-hero .aa-h1 em { display: block; margin-top: .25rem; }
.dg-hero__sub { margin: 1.5rem 0 2.25rem; max-width: 600px; font-size: 1.08rem; font-weight: 300; line-height: 1.82; color: var(--aa-ice); }
.dg-facts { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.dg-facts li { padding: 1.25rem 1.1rem; background: rgba(255, 255, 255, .04); border: 1px solid rgba(202, 220, 252, .14); display: flex; flex-direction: column; }
.dg-facts__icon { color: var(--aa-gold); margin-bottom: .75rem; }
.dg-facts__icon svg { width: 26px; height: 26px; }
.dg-facts strong { font-family: var(--aa-serif); font-size: 1.35rem; font-weight: 600; color: var(--aa-white); line-height: 1.2; }
.dg-facts li > span:last-child { font-size: .82rem; color: var(--aa-muted-dark); margin-top: .2rem; }
@media (max-width: 960px) { .dg-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } }
@media (max-width: 600px) { .dg-hero { padding: 3.5rem var(--aa-gutter); } }

/* 2. THREE PARTS --------------------------------------------------------- */
.dg-parts { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; counter-reset: none; }
.dg-part { position: relative; padding: 2.25rem 1.75rem 2rem; background: var(--aa-white); border: 1px solid var(--aa-line); border-top: 3px solid var(--aa-gold); }
.dg-part:not(:last-child)::after {
	content: '→'; position: absolute; right: -1.05rem; top: 2.6rem; z-index: 1;
	width: 2rem; text-align: center; color: var(--aa-gold-on-light); background: var(--aa-white); font-size: 1rem;
}
.dg-part__num { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: var(--aa-navy); color: var(--aa-gold); font-family: var(--aa-serif); font-size: 1.2rem; font-weight: 700; margin-bottom: 1.1rem; }
.dg-part__title { font-family: var(--aa-serif); font-size: 1.5rem; font-weight: 600; color: var(--aa-navy); margin-bottom: .6rem; }
.dg-part p { font-weight: 300; line-height: 1.75; color: var(--aa-body); }
.dg-watch { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.1rem; }
.dg-watch li { font-size: .76rem; font-weight: 500; letter-spacing: .04em; padding: .3rem .7rem; background: var(--aa-mist); color: var(--aa-navy); }
@media (max-width: 860px) {
	.dg-parts { grid-template-columns: 1fr; }
	.dg-part:not(:last-child)::after { content: '↓'; right: auto; left: 1.75rem; top: auto; bottom: -1.1rem; width: auto; padding: 0 .3rem; }
}

/* 3. WHY IT WORKS -------------------------------------------------------- */
.dg-why { display: grid; grid-template-columns: 1.3fr 1fr; gap: 4rem; align-items: center; }
.dg-why__copy > p:not(.aa-label) { font-weight: 300; line-height: 1.85; color: var(--aa-body); margin-bottom: 1.5rem; }
.dg-quote { margin: 0; background: var(--aa-navy); border-top: 3px solid var(--aa-gold); padding: 2.5rem 2.25rem 2rem; position: relative; }
.dg-quote::before { content: '\201C'; position: absolute; top: .5rem; left: 1.5rem; font-family: var(--aa-serif); font-size: 5rem; line-height: 1; color: var(--aa-gold); opacity: .3; }
.dg-quote blockquote { margin: 0; position: relative; font-family: var(--aa-serif); font-size: 1.45rem; font-style: italic; line-height: 1.5; color: var(--aa-white); }
.dg-quote figcaption { display: flex; align-items: center; gap: .9rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(202, 220, 252, .15); }
.dg-quote img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid var(--aa-gold); }
.dg-quote figcaption span { font-size: .85rem; color: var(--aa-muted-dark); display: flex; flex-direction: column; }
.dg-quote figcaption strong { font-weight: 500; color: var(--aa-white); }
@media (max-width: 860px) { .dg-why { grid-template-columns: 1fr; gap: 2.5rem; } }

/* 4. BOOKING ------------------------------------------------------------- */
.dg-book { scroll-margin-top: calc(var(--aa-header-h) + var(--aa-admin-bar)); }
.dg-booking { max-width: 980px; margin: 0 auto; }
.dg-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.dg-tab {
	display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; text-align: left;
	padding: 1.25rem 1.25rem 1.1rem; border: 1px solid rgba(202, 220, 252, .22); background: rgba(255, 255, 255, .04);
	transition: border-color .2s, background-color .2s, transform .2s var(--aa-ease);
}
.dg-tab:hover { border-color: rgba(201, 168, 76, .6); background: rgba(201, 168, 76, .07); }
.dg-tab[aria-selected="true"] { background: var(--aa-gold); border-color: var(--aa-gold); transform: translateY(-2px); }
.dg-tab__name { font-family: var(--aa-serif); font-size: 1.6rem; font-weight: 700; line-height: 1.1; color: var(--aa-white); }
.dg-tab__meta { font-size: .78rem; color: var(--aa-muted-dark); }
.dg-tab[aria-selected="true"] .dg-tab__name { color: var(--aa-navy); }
.dg-tab[aria-selected="true"] .dg-tab__meta { color: var(--aa-navy); opacity: .8; }

.dg-prompt { margin-top: 1.5rem; padding: 2.5rem 1.5rem; text-align: center; border: 1px dashed rgba(202, 220, 252, .25); color: var(--aa-ice); font-weight: 300; }
.dg-prompt[hidden] { display: none; }
.dg-panel { margin-top: 1.5rem; }
.dg-panel__note { margin-bottom: .9rem; font-size: .92rem; color: var(--aa-ice); font-weight: 300; }
.dg-panel__note strong { color: var(--aa-white); font-weight: 500; }
.dg-embed { position: relative; min-height: 700px; background: var(--aa-white); border-top: 3px solid var(--aa-gold); box-shadow: 0 18px 44px rgba(8, 12, 36, .35); overflow: hidden; }
.dg-embed .calendly-inline-widget, .dg-embed iframe { width: 100%; min-width: 320px; height: 700px; border: 0; }
.dg-embed.is-loading::after {
	content: 'Loading available times…'; position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center; color: var(--aa-muted);
}
.dg-embed.is-unavailable { min-height: 0; padding: 2.5rem 1.5rem; text-align: center; color: var(--aa-body); }
.dg-embed.is-unavailable::before { content: 'Online booking for this exam opens shortly. Please write to mail@akashavhad.com to book your session.'; }
.dg-fallback { margin-top: 1.25rem; text-align: center; font-size: .85rem; color: var(--aa-muted-dark); }
.dg-fallback a { color: var(--aa-ice); border-bottom: 1px solid rgba(201, 168, 76, .6); }
.dg-fallback a:hover { color: var(--aa-gold); }
@media (max-width: 760px) {
	.dg-tabs { grid-template-columns: 1fr 1fr; }
	.dg-embed, .dg-embed .calendly-inline-widget, .dg-embed iframe { height: 1000px; min-height: 1000px; }
	.dg-embed.is-unavailable { height: auto; min-height: 0; }
}

/* 5. FAQ ----------------------------------------------------------------- */
.dg-faq { display: grid; grid-template-columns: 1fr 1.6fr; gap: 4rem; align-items: start; }
.dg-faq__list { border-top: 1px solid var(--aa-line); }
@media (max-width: 860px) { .dg-faq { grid-template-columns: 1fr; gap: 1.5rem; } }

/* 6. CLOSING ------------------------------------------------------------- */
.dg-close__inner { display: grid; grid-template-columns: auto 1fr auto; gap: 2.5rem; align-items: center; }
.dg-close__photo { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; border: 3px solid var(--aa-gold); }
.dg-close .aa-h2 { margin-bottom: .5rem; font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
.dg-close__creds { font-size: .88rem; color: var(--aa-muted); }
@media (max-width: 860px) {
	.dg-close__inner { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 1.5rem; }
}
