/*
Theme Name: AIM Astra Child
Theme URI: https://aimimgacademy.com.au
Description: Astra child with scoped AIM public responsive and accessibility rules. Base design tokens and classes are managed in CrocoBuilder.
Author: Moatasem Gamal
Author URI: https://github.com/MoatasemGamal
Template: astra
Version: 0.1.3
Text Domain: aim-astra-child
*/

/* Restore the reference rem baseline only while an AIM public document is present.
 * Astra otherwise shrinks html at smaller viewports, including every rem token. */
html:has(.aim-public) { font-size: 100%; }

/* Contextual selectors not expressible as single native class style maps. */
.aim-public *,
.aim-public *::before,
.aim-public *::after {
  box-sizing: border-box;
}
.aim-public img {
  display: block;
  max-width: 100%;
  height: auto;
}
.aim-public :is(.aim-grid, .aim-grid--2, .aim-grid--3, .aim-grid--4, .aim-grid--courses, .aim-grid--steps, .aim-grid--trust, .aim-grid--inside, .aim-grid--footer, .aim-grid--centered) > * {
  min-width: 0;
}
.aim-public :is(.aim-split, .aim-split--detail, .aim-split--about, .aim-split--services, .aim-split--contact, .aim-split--pesci) > * {
  min-width: 0;
}
.aim-public :is(.aim-btn, .aim-btn--primary, .aim-btn--outline, .aim-btn--inverse, .aim-btn--promo, .aim-btn--small):is(:disabled, [aria-disabled="true"]) {
  cursor: not-allowed;
  opacity: .6;
  transform: none;
}
.aim-public :is(.aim-btn, .aim-btn--primary, .aim-btn--outline, .aim-btn--inverse, .aim-btn--promo, .aim-btn--small):active {
  transform: none;
}
.aim-public textarea.aim-control {
  min-height: 110px;
  resize: vertical;
}
.aim-public :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--aim-navy);
  outline-offset: 3px;
}
.aim-public .aim-surface-dark :is(a, button, input, select, textarea, [tabindex]):focus-visible,
.aim-public .aim-cta :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--aim-surface);
}

/* Reviewed source cutoffs and reduced motion, scoped to the public wrapper. */
@media (max-width: 1120px) {
  .aim-public .aim-nav-desktop { display: none; }
  .aim-public .aim-nav-toggle { display: inline-flex; }
}
@media (max-width: 980px) {
  .aim-public .aim-grid--3,
  .aim-public .aim-grid--4,
  .aim-public .aim-grid--steps,
  .aim-public .aim-grid--trust,
  .aim-public .aim-grid--footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aim-public .aim-grid--2,
  .aim-public .aim-grid--courses,
  .aim-public .aim-split--detail,
  .aim-public .aim-split--about,
  .aim-public .aim-split--services,
  .aim-public .aim-split--contact,
  .aim-public .aim-split--pesci,
  .aim-public .aim-split { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .aim-public .aim-heading--display { font-size: var(--aim-text-display-mobile); line-height: 1.15; }
  .aim-public .aim-section-heading { text-align: left; }
  .aim-public .aim-hero:not(.aim-hero--inner):not(.aim-hero--about) { padding-top: 52px; }
  .aim-public .aim-grid,
  .aim-public .aim-grid--2,
  .aim-public .aim-grid--3,
  .aim-public .aim-grid--4,
  .aim-public .aim-grid--courses,
  .aim-public .aim-grid--steps,
  .aim-public .aim-grid--trust,
  .aim-public .aim-grid--inside,
  .aim-public .aim-grid--footer,
  .aim-public .aim-grid--centered,
  .aim-public .aim-form-row { grid-template-columns: minmax(0, 1fr); }
  .aim-public .aim-grid--footer { gap: 26px; }
  .aim-public .aim-cta { display: block; }
  .aim-public .aim-cta .aim-actions { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .aim-public *,
  .aim-public *::before,
  .aim-public *::after { transition: none; animation: none; scroll-behavior: auto; }
  .aim-public :is(.aim-btn, .aim-btn--primary, .aim-btn--outline, .aim-btn--inverse, .aim-btn--promo, .aim-btn--small) { transition: none; }
  .aim-public :is(.aim-btn, .aim-btn--primary, .aim-btn--outline, .aim-btn--inverse, .aim-btn--promo, .aim-btn--small):hover { transform: none; }
}
