/* =============================================================
   PAGE — WHEELCHAIR HOOPS  (Term 3 2026)
   --------------------------------------------------------------
   FULL REPLACEMENT for assets/css/page-wheelchair-hoops.css
   Overwrite the existing file with this one.

   Covers the entire page:
     1. Hero (Aussie Hoops pattern, self-contained — no dependency
        on page-aussie-hoops.css) + partner strip
     2. Sticky anchor nav
     3. Free Come & Try panel
     4. Program info grid
     5. About (pilot photo + quote)
     6. Highlights grid
     7. Partners dark panel (BV + GippSport)
     8. FAQ accordion
     9. Register dark panel + "opening soon" state
    10. Sign-off

   Shared primitives (.jd-section__inner, .jd-eyebrow, .jd-h2,
   .jd-lead-p, .jd-section__head, .wba-fade-up, .wba-icon) come
   from play-shared.css as usual and are NOT redefined here.
   Page personality: ORANGE accents (per brief §2 / §3.1).
   ============================================================= */

/* =============================================================
   1. HERO — exact Aussie Hoops values (page-aussie-hoops.css),
      scoped to .wh-page. Fixed 58vh height, no vertical padding
      on the inner — content flex-centres, so both heroes match.
   ============================================================= */
.wh-page .ah-hero {
	position: relative;
	height: 58vh;
	min-height: 480px;
	background-color: var(--wba-dark);
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
	color: var(--wba-white);
	display: flex;
	align-items: center;
	overflow: hidden;
}
.wh-page .ah-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient( 105deg, rgba(26,26,26,0.92) 0%, rgba(26,26,26,0.72) 50%, rgba(26,26,26,0.40) 100% ),
		radial-gradient( circle at 78% 50%, rgba(247,147,30,0.32) 0%, transparent 55% );
	z-index: 1;
}
.wh-page .ah-hero__inner {
	position: relative; z-index: 2;
	max-width: 1240px; margin: 0 auto;
	padding: 0 var(--gutter-d); width: 100%;
}

/* Eyebrow pill */
.wh-page .ah-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(255,255,255,0.85);
	padding: 9px 18px;
	border: 1px solid rgba(247,147,30,0.4);
	border-radius: 999px;
	margin-bottom: 28px;
	background: rgba(247,147,30,0.08);
}
.wh-page .ah-hero__eyebrow svg,
.wh-page .ah-hero__eyebrow .wba-icon { width: 12px; height: 12px; color: var(--wba-orange); }

/* Headline — program logo serves as the headline (AH pattern) */
.wh-page .ah-hero__headline {
	font-size: clamp(2.6rem, 7.5vw, 6rem);
	font-weight: 800; line-height: 0.95;
	letter-spacing: -0.025em;
	margin: 0 0 22px;
	color: var(--wba-white);
}
.wh-page .ah-hero__headline--logo { margin: 0 0 20px; line-height: 1; }
.wh-page .ah-hero__logo {
	display: block;
	width: auto;
	max-width: 360px;
	max-height: 200px;
	margin: 0;
}
/* COMPENSATION for transparent canvas padding in the current
   Wheelchair-Hoops-Logo-1.png export (~16% left inset + a little
   top/bottom air). Pulls the visible artwork flush-left with the
   eyebrow and tagline, matching the Ford lockup on Aussie Hoops.
   ⚠ If the PNG is re-exported tightly cropped to the artwork,
   DELETE this rule — the base rule above is then correct. */
.wh-page .ah-hero__logo {
	max-width: 380px;
	max-height: 212px;
	margin: -8px 0 -8px -58px;
}
/* Text fallback only shows if the logo image fails (onerror adds .is-nologo) */
.wh-page .ah-hero__text-fallback { display: none; }
.wh-page .ah-hero__headline.is-nologo .ah-hero__text-fallback { display: block; }
.wh-page .ah-hero__word { font-weight: 800; text-transform: uppercase; }
.wh-page .ah-hero__qualifier {
	display: block;
	font-style: italic; font-weight: 300;
	color: var(--wba-orange);
	letter-spacing: -0.012em; margin-top: 6px;
}

/* Tagline */
.wh-page .ah-hero__tagline {
	max-width: 600px;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.5; color: rgba(255,255,255,0.85);
	margin: 0 0 36px;
}

/* Buttons — exact AH base + variants */
.wh-page .ah-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.wh-page .ah-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 28px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: lowercase;
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid transparent;
	transition: transform 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
	cursor: pointer;
	font-family: inherit;
}
.wh-page .ah-btn svg,
.wh-page .ah-btn .wba-icon { width: 14px; height: 14px; }
.wh-page .ah-btn--primary {
	background: var(--wba-orange);
	color: var(--wba-dark);
	border-color: var(--wba-orange);
	font-weight: 800;
}
.wh-page .ah-btn--primary:hover {
	background: var(--wba-dark);
	color: var(--wba-orange);
	transform: translateY(-2px);
}
.wh-page .ah-btn--ghost {
	background: transparent;
	color: var(--wba-dark);
	border-color: var(--wba-border);
}
.wh-page .ah-btn--ghost:hover {
	background: var(--wba-cream);
	border-color: var(--wba-dark);
}
.wh-page .ah-hero .ah-btn--ghost {
	color: var(--wba-white);
	border-color: rgba(255,255,255,0.4);
}
.wh-page .ah-hero .ah-btn--ghost:hover {
	background: rgba(255,255,255,0.1);
	border-color: var(--wba-white);
}

/* =============================================================
   2. STICKY ANCHOR NAV — exact Aussie Hoops values
   ============================================================= */
.wh-page .ah-anchors {
	position: sticky; top: 0; z-index: 30;
	background: var(--wba-white);
	border-bottom: 1px solid var(--wba-border);
	border-top: 3px solid var(--wba-orange);
}
.wh-page .ah-anchors__inner {
	max-width: 1240px; margin: 0 auto;
	padding: 0 var(--gutter-d);
	display: flex; gap: 28px;
	overflow-x: auto; scrollbar-width: none;
	align-items: center;
}
.wh-page .ah-anchors__inner::-webkit-scrollbar { display: none; }
.wh-page .ah-anchors__inner a {
	position: relative;
	padding: 18px 2px;
	font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: lowercase;
	color: var(--wba-dark); text-decoration: none;
	white-space: nowrap; transition: color 0.2s;
}
.wh-page .ah-anchors__inner a:not(.is-cta)::after {
	content: ""; position: absolute;
	left: 0; right: 0; bottom: -1px; height: 2px;
	background: var(--wba-orange);
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.25s;
}
.wh-page .ah-anchors__inner a:not(.is-cta):hover { color: var(--wba-orange); }
.wh-page .ah-anchors__inner a:not(.is-cta):hover::after { transform: scaleX(1); }
.wh-page .ah-anchors__inner a.is-cta {
	margin-left: auto;
	padding: 9px 18px;
	background: var(--wba-orange); color: var(--wba-dark);
	border-radius: 4px; font-weight: 800;
	transition: background 0.2s, transform 0.2s;
}
.wh-page .ah-anchors__inner a.is-cta:hover {
	background: var(--wba-dark); color: var(--wba-orange);
	transform: translateY(-1px);
}

/* =============================================================
   3. FREE COME & TRY
   ============================================================= */
.wht-cometry { padding: 88px 0 0; }
.wht-cometry__panel {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(28px, 4vw, 56px);
	align-items: center;
	background: var(--wba-cream, #F8F8F6);
	border: 1px solid var(--wba-border);
	border-top: 3px solid var(--wba-orange);
	border-radius: 14px;
	padding: clamp(28px, 4vw, 52px);
}
.wht-cometry__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	margin-bottom: 16px;
	background: var(--wba-orange);
	color: var(--wba-white);
	border-radius: 999px;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.wht-cometry__badge svg,
.wht-cometry__badge .wba-icon { width: 13px; height: 13px; }
.wht-cometry__copy .jd-h2 { margin-bottom: 14px; }
.wht-cometry__copy .jd-lead-p { margin: 0; }

.wht-cometry__facts {
	display: flex;
	flex-direction: column;
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 13px;
	overflow: hidden;
}
.wht-cometry__fact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--wba-border);
}
.wht-cometry__fact-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wba-muted);
}
.wht-cometry__fact-label svg,
.wht-cometry__fact-label .wba-icon { width: 13px; height: 13px; color: var(--wba-orange); }
.wht-cometry__fact-value {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wba-dark);
}
.wht-cometry__mail {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 24px;
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--wba-dark);
	transition: color 0.2s, background 0.2s;
}
.wht-cometry__mail svg,
.wht-cometry__mail .wba-icon { width: 14px; height: 14px; }
.wht-cometry__mail:hover,
.wht-cometry__mail:focus-visible {
	color: var(--wba-red);
	background: var(--wba-cream, #F8F8F6);
}

/* =============================================================
   4. PROGRAM INFO — Term 3 at a glance
   ============================================================= */
.wh-info { padding: 88px 0; }
.wh-info__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 44px;
}
.wh-info__cell {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 13px;
	padding: 28px 26px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.wh-info__cell:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(26,26,26,0.07);
}
.wh-info__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wba-muted);
}
.wh-info__label svg,
.wh-info__label .wba-icon { width: 14px; height: 14px; color: var(--wba-orange); flex-shrink: 0; }
.wh-info__value {
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	font-weight: 800;
	line-height: 1.15;
	color: var(--wba-dark);
}
.wh-info__sub {
	font-size: 0.82rem;
	color: var(--wba-muted);
}

/* =============================================================
   5. ABOUT — pilot photo + inclusive philosophy
   ============================================================= */
.wh-about {
	padding: 88px 0;
	background: var(--wba-cream, #F8F8F6);
}
.wh-about__layout {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
.wh-about__media { position: relative; }
.wh-about__photo {
	width: 100%;
	aspect-ratio: 4 / 5;
	background-size: cover;
	background-position: center;
	border-radius: 14px;
}
.wh-about__photo-tag {
	position: absolute;
	left: 16px;
	bottom: 16px;
	padding: 8px 14px;
	background: rgba(26,26,26,0.82);
	color: var(--wba-white);
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	backdrop-filter: blur(2px);
}
.wh-about__content .jd-h2 { margin-bottom: 20px; }
.wh-about__content p { color: var(--wba-dark); }
.wh-about__quote {
	margin: 28px 0 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid var(--wba-orange);
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--wba-dark);
}

/* =============================================================
   6. PROGRAM HIGHLIGHTS
   ============================================================= */
.wh-highlights { padding: 88px 0; }
.wh-highlights__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 44px;
}
.wh-highlight {
	position: relative;
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 13px;
	padding: 30px 26px 28px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
}
.wh-highlight:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(26,26,26,0.07);
}
.wh-highlight__num {
	display: block;
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--wba-border);
	margin-bottom: 14px;
}
.wh-highlight__title {
	margin: 0 0 8px;
	font-size: 1rem;
	font-weight: 800;
	color: var(--wba-dark);
}
.wh-highlight__sub {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--wba-muted);
}

/* =============================================================
   7. PARTNERS — dark feature panel (BV + GippSport)
   ============================================================= */
.wh-partnership { padding: 0 0 88px; }
.wh-partnership__panel {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
	background: var(--wba-dark);
	border-radius: 16px;
	padding: clamp(32px, 5vw, 64px);
	color: var(--wba-white);
}
.wh-partnership__copy .jd-h2--white { margin-bottom: 18px; }
.wh-partnership__copy p {
	color: rgba(255,255,255,0.85);
	line-height: 1.7;
}
.wh-partnership__copy strong { color: var(--wba-white); }
.wh-partnership__copy em { color: var(--wba-white); }

.wh-partnership__contact {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 13px;
	padding: 28px 26px;
}
.wh-partnership__contact-label {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
}
.wh-partnership__contact-phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--wba-white);
	text-decoration: none;
	transition: color 0.2s;
}
.wh-partnership__contact-phone svg,
.wh-partnership__contact-phone .wba-icon { width: 16px; height: 16px; color: var(--wba-orange); }
.wh-partnership__contact-phone:hover,
.wh-partnership__contact-phone:focus-visible { color: var(--wba-orange); }

/* Partner logo chips */
.wht-partner-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 10px;
}
.wht-partner-logos__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wba-white);
	border-radius: 10px;
	padding: 10px 16px;
	height: 56px;
	box-sizing: border-box;
}
.wht-partner-logos__chip img {
	display: block;
	max-height: 36px;
	max-width: 140px;
	width: auto;
	object-fit: contain;
}

/* =============================================================
   8. FAQ
   ============================================================= */
.wh-faq { padding: 0 0 88px; }
.wh-faq__list {
	max-width: 840px;
	margin: 44px auto 0;
	border-top: 1px solid var(--wba-border);
}
.wh-faq__item { border-bottom: 1px solid var(--wba-border); }
.wh-faq__q {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 22px 4px;
	cursor: pointer;
	list-style: none;
}
.wh-faq__q::-webkit-details-marker { display: none; }
.wh-faq__num {
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--wba-orange);
	flex-shrink: 0;
}
.wh-faq__q-text {
	flex: 1;
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--wba-dark);
}
.wh-faq__icon {
	font-size: 1.3rem;
	font-weight: 300;
	color: var(--wba-muted);
	line-height: 1;
	transition: transform 0.2s, color 0.2s;
	flex-shrink: 0;
}
.wh-faq__item[open] .wh-faq__icon {
	transform: rotate(45deg);
	color: var(--wba-red);
}
.wh-faq__q:hover .wh-faq__q-text { color: var(--wba-red); }
.wh-faq__a {
	padding: 0 4px 26px 42px;
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--wba-dark);
}
.wh-faq__a a { color: var(--wba-red); }

/* =============================================================
   9. REGISTER — dark panel + opening-soon state
   ============================================================= */
.wh-register { padding: 0 0 88px; }
.wh-register__panel {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
	background: var(--wba-dark);
	border-radius: 16px;
	padding: clamp(32px, 5vw, 64px);
	color: var(--wba-white);
}
.wh-register__copy .jd-h2--white { margin-bottom: 18px; }
.wh-register__copy p { color: rgba(255,255,255,0.85); line-height: 1.7; }
.wh-register__copy strong { color: var(--wba-white); }
.wh-register__sub {
	font-size: 0.86rem;
	color: rgba(255,255,255,0.6) !important;
}

.wh-register__action {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
}

/* Live PlayHQ button (only renders once the URL filter is set) */
.wh-register .jd-btn--white,
.wh-register__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 17px 32px;
	border-radius: 6px;
	background: var(--wba-white);
	color: var(--wba-dark);
	border: 1px solid var(--wba-white);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, transform 0.2s;
}
.wh-register .jd-btn--white:hover,
.wh-register .jd-btn--white:focus-visible {
	background: var(--wba-orange);
	border-color: var(--wba-orange);
	color: var(--wba-white);
	transform: translateY(-2px);
}
.wh-register .jd-btn--white svg,
.wh-register .jd-btn--white .wba-icon { width: 14px; height: 14px; }

/* Opening-soon state */
.wht-reg-soon {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 22px 26px;
	background: rgba(255,255,255,0.07);
	border: 1px dashed rgba(255,255,255,0.35);
	border-radius: 13px;
	max-width: 360px;
}
.wht-reg-soon__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--wba-white);
	color: var(--wba-dark);
	border-radius: 999px;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.wht-reg-soon__pill svg,
.wht-reg-soon__pill .wba-icon { width: 13px; height: 13px; }
.wht-reg-soon__text {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.85);
}
.wht-reg-soon__text strong { color: var(--wba-white); }

/* Contacts */
.wh-register__contacts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.wh-register__contact {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 0.86rem;
	font-weight: 600;
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	transition: color 0.2s;
}
.wh-register__contact svg,
.wh-register__contact .wba-icon { width: 14px; height: 14px; color: var(--wba-orange); flex-shrink: 0; }
.wh-register__contact:hover,
.wh-register__contact:focus-visible { color: var(--wba-orange); }

/* =============================================================
   10. SIGN-OFF
   ============================================================= */
.wh-signoff { padding: 0 0 72px; }
.wh-signoff__line {
	margin: 0;
	text-align: center;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: var(--wba-muted);
}
.wh-signoff__line strong { color: var(--wba-dark); }

/* =============================================================
   11. RESPONSIVE
   ============================================================= */
@media (max-width: 1080px) {
	.wh-info__grid { grid-template-columns: repeat(2, 1fr); }
	.wh-highlights__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.wh-page .ah-hero__inner { padding: 0 var(--gutter-m, 24px); }
	.wh-page .ah-anchors__inner { padding: 0 var(--gutter-m, 24px); gap: 22px; }
	.wh-about__layout,
	.wh-partnership__panel,
	.wh-register__panel { grid-template-columns: 1fr; }
	.wh-about__photo { aspect-ratio: 16 / 11; }
}
@media (max-width: 860px) {
	.wht-cometry { padding-top: 56px; }
	.wht-cometry__panel { grid-template-columns: 1fr; }
	.wh-info,
	.wh-about,
	.wh-highlights { padding-top: 56px; padding-bottom: 56px; }
	.wh-partnership,
	.wh-faq,
	.wh-register { padding-bottom: 56px; }
	.wh-info__grid,
	.wh-highlights__grid { margin-top: 32px; }
}
@media (max-width: 700px) {
	.wh-page .ah-hero { min-height: 440px; background-position: 68% center; }
	.wh-page .ah-hero__eyebrow { font-size: 0.6rem; letter-spacing: 0.18em; margin-bottom: 20px; }
	.wh-page .ah-hero__ctas { flex-direction: column; align-items: stretch; }
	.wh-page .ah-btn { justify-content: center; }
	.wh-page .ah-hero__logo { max-width: 275px; max-height: 158px; margin: -6px 0 -6px -42px; }
	.wh-page .ah-anchors__inner a.is-cta { margin-left: 0; }
	.wh-info__grid,
	.wh-highlights__grid { grid-template-columns: 1fr; }
	.wh-faq__a { padding-left: 4px; }
	.wht-reg-soon { max-width: none; }
	.wh-register .jd-btn--white { width: 100%; }
}

/* =============================================================
   12. REDUCED MOTION
   ============================================================= */
@media (prefers-reduced-motion: reduce) {
	.wh-page .ah-btn,
	.wh-page .ah-anchors__inner a,
	.wht-cometry__mail,
	.wh-info__cell,
	.wh-highlight,
	.wh-faq__icon,
	.wh-register .jd-btn--white,
	.wh-register__contact,
	.wh-partnership__contact-phone {
		transition: none;
		transform: none;
	}
}
