/**
 * IELTSMerit base foundation.
 * Intentionally light — avoid fighting Astra / Elementor globals.
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.ieltsmerit {
  margin: 0;
  background-color: var(--im-color-background);
  color: var(--im-color-text);
  font-family: var(--im-type-body-family);
  font-weight: var(--im-type-body-weight);
  font-size: var(--im-type-body-size);
  line-height: var(--im-type-body-line);
  letter-spacing: var(--im-type-body-tracking);
}

/* :where() keeps specificity at 0 so component rules (e.g. .im-logo img) can size images */
body.ieltsmerit :where(img, svg, video) {
  max-width: 100%;
  height: auto;
}

body.ieltsmerit a {
  color: var(--im-color-primary);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
  transition: color var(--im-duration-fast) var(--im-ease);
}

body.ieltsmerit a:hover,
body.ieltsmerit a:focus-visible {
  color: var(--im-color-accent-hover);
}

body.ieltsmerit :focus-visible {
  outline: 2px solid var(--im-color-accent);
  outline-offset: 3px;
}

body.ieltsmerit ::selection {
  background: color-mix(in srgb, var(--im-color-accent) 35%, white);
  color: var(--im-color-primary-dark);
}

body.ieltsmerit h1,
body.ieltsmerit h2,
body.ieltsmerit h3,
body.ieltsmerit h4,
body.ieltsmerit h5,
body.ieltsmerit h6 {
  color: var(--im-color-primary-dark);
  text-wrap: balance;
}

body.ieltsmerit h1 {
  font-family: var(--im-type-h1-family);
  font-weight: var(--im-type-h1-weight);
  font-size: var(--im-type-h1-size);
  line-height: var(--im-type-h1-line);
  letter-spacing: var(--im-type-h1-tracking);
}

body.ieltsmerit h2 {
  font-family: var(--im-type-h2-family);
  font-weight: var(--im-type-h2-weight);
  font-size: var(--im-type-h2-size);
  line-height: var(--im-type-h2-line);
  letter-spacing: var(--im-type-h2-tracking);
}

body.ieltsmerit h3 {
  font-family: var(--im-type-h3-family);
  font-weight: var(--im-type-h3-weight);
  font-size: var(--im-type-h3-size);
  line-height: var(--im-type-h3-line);
  letter-spacing: var(--im-type-h3-tracking);
}

body.ieltsmerit p {
  margin-block: 0 1em;
  max-width: var(--im-reading-width);
}

body.ieltsmerit ul,
body.ieltsmerit ol {
  padding-inline-start: 1.25em;
}

body.ieltsmerit ul.im-contact__list,
body.ieltsmerit .im-footer ul,
body.ieltsmerit .im-nav__menu {
  padding-inline-start: 0;
  list-style: none;
}

body.ieltsmerit button,
body.ieltsmerit .wp-block-button__link {
  font-family: var(--im-type-button-family);
  font-weight: var(--im-type-button-weight);
  font-size: var(--im-type-button-size);
  line-height: var(--im-type-button-line);
  letter-spacing: var(--im-type-button-tracking);
}

.im-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  body.ieltsmerit *,
  body.ieltsmerit *::before,
  body.ieltsmerit *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
