/* Goolee Academy readability layer: larger type, clearer controls and stronger focus states. */
@media screen {
  html {
    font-size: 16px;
  }

  body.older-friendly {
    color: #102f43;
    line-height: 1.6;
  }

  body.older-friendly main p,
  body.older-friendly main li,
  body.older-friendly main td,
  body.older-friendly main dd,
  body.older-friendly main label,
  body.older-friendly main input,
  body.older-friendly main select,
  body.older-friendly main textarea,
  body.older-friendly main button {
    font-size: .95rem !important;
    line-height: 1.55;
  }

  body.older-friendly main small {
    font-size: .8rem !important;
    line-height: 1.45;
  }

  body.older-friendly .eyebrow,
  body.older-friendly .service-label,
  body.older-friendly .badge,
  body.older-friendly .course-taxonomy-tag small {
    font-size: .78rem !important;
    letter-spacing: .08em;
  }

  body.older-friendly .public-nav-links a,
  body.older-friendly .nav-login,
  body.older-friendly .nav-signout,
  body.older-friendly .nav-booking {
    min-height: 46px;
    font-size: .94rem !important;
  }

  body.older-friendly .footer-column a,
  body.older-friendly .footer-contact a,
  body.older-friendly .footer-brand p,
  body.older-friendly .footer-contact p {
    font-size: .92rem !important;
    line-height: 1.55;
  }

  body.older-friendly .admin-nav-groups a,
  body.older-friendly .admin-sidebar-footer button,
  body.older-friendly .admin-sidebar-footer > a,
  body.older-friendly .admin-header-actions a {
    font-size: .94rem !important;
    line-height: 1.4;
  }

  body.older-friendly main .btn,
  body.older-friendly main button,
  body.older-friendly main input[type="submit"],
  body.older-friendly main input[type="button"] {
    min-height: 46px;
    padding: 10px 17px;
    font-size: .95rem !important;
    line-height: 1.25;
  }

  body.older-friendly main .btn-sm {
    min-height: 42px;
    padding: 8px 14px;
    font-size: .9rem !important;
  }

  body.older-friendly main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  body.older-friendly main select,
  body.older-friendly main textarea,
  body.older-friendly .input {
    min-height: 46px;
    padding: 9px 11px;
    border-width: 2px;
  }

  body.older-friendly main textarea {
    min-height: 100px;
  }

  body.older-friendly a:focus-visible,
  body.older-friendly button:focus-visible,
  body.older-friendly input:focus-visible,
  body.older-friendly select:focus-visible,
  body.older-friendly textarea:focus-visible,
  body.older-friendly summary:focus-visible {
    outline: 4px solid #f0a400;
    outline-offset: 3px;
  }

  /* Keep the connector behind a solid label so it never looks like crossed-out text. */
  body.older-friendly .course-checkout-steps {
    max-width: 900px;
    margin-bottom: 34px;
  }

  body.older-friendly .course-checkout-steps span {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: #5e7584;
    font-size: .9rem !important;
  }

  body.older-friendly .course-checkout-steps span:not(:last-child)::after {
    top: 21px;
    right: 0;
    left: 32px;
    height: 3px;
    background: #b8cbd5;
  }

  body.older-friendly .course-checkout-steps i {
    width: 32px;
    height: 32px;
    font-size: .8rem !important;
    font-weight: 900;
  }

  body.older-friendly .course-checkout-steps b {
    position: relative;
    z-index: 2;
    display: block;
    width: max-content;
    max-width: 100%;
    padding: 3px 8px 3px 0;
    color: #526d7d;
    background: #edf4f8;
    font-size: .9rem !important;
    font-weight: 800;
    line-height: 1.25;
  }

  body.older-friendly .course-checkout-steps .done > b {
    color: #0c6289;
  }

  body.older-friendly .course-checkout-steps .active > b {
    color: #082f4b;
    font-weight: 950;
  }
}

@media screen and (max-width: 760px) {
  body.older-friendly .course-checkout-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 26px;
  }

  body.older-friendly .course-checkout-steps span {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 6px;
    min-height: 70px;
    text-align: center;
  }

  body.older-friendly .course-checkout-steps span:not(:last-child)::after {
    display: none;
  }

  body.older-friendly .course-checkout-steps b {
    width: auto;
    padding: 0;
    font-size: .86rem !important;
  }
}

/* Consistent type scale for information that was previously set between 9px and 13px. */
@media screen {
  body.older-friendly main p:not(.eyebrow),
  body.older-friendly main li,
  body.older-friendly main td,
  body.older-friendly main th,
  body.older-friendly main dd,
  body.older-friendly main label,
  body.older-friendly main a:not(.btn):not(.course-taxonomy-tag):not(.course-poster-thumb),
  body.older-friendly main span:not([aria-hidden="true"]):not(.badge):not(.service-label):not(.course-taxonomy-tag),
  body.older-friendly main div:not([aria-hidden="true"]) {
    font-size: .9rem !important;
    line-height: 1.55;
  }

  body.older-friendly main small,
  body.older-friendly main .muted,
  body.older-friendly main .help,
  body.older-friendly main .form-note,
  body.older-friendly main .field-help {
    font-size: .85rem !important;
    line-height: 1.5;
  }

  body.older-friendly main .eyebrow,
  body.older-friendly main .service-label,
  body.older-friendly main .badge,
  body.older-friendly main .course-taxonomy-tag,
  body.older-friendly main .course-session-date b,
  body.older-friendly main .course-session-date small {
    font-size: .76rem !important;
  }

  body.older-friendly .public-brand small,
  body.older-friendly .admin-sidebar-brand small,
  body.older-friendly .admin-header-title small,
  body.older-friendly .admin-nav-groups p {
    font-size: .72rem !important;
    line-height: 1.4;
  }

  body.older-friendly .admin-user-card b,
  body.older-friendly .admin-user-card small,
  body.older-friendly .admin-sidebar-footer button,
  body.older-friendly .admin-sidebar-footer > a,
  body.older-friendly .admin-header-actions a {
    font-size: .86rem !important;
    line-height: 1.45;
  }

  body.older-friendly .site-footer p,
  body.older-friendly .site-footer a,
  body.older-friendly .site-footer span,
  body.older-friendly .site-footer small,
  body.older-friendly .footer-bottom .wrap {
    font-size: .84rem !important;
    line-height: 1.5;
  }

  body.older-friendly .cookie-banner p,
  body.older-friendly .cookie-panel-dialog p,
  body.older-friendly .cookie-choice small,
  body.older-friendly .cookie-banner-actions .btn,
  body.older-friendly .cookie-panel-actions .btn {
    font-size: .86rem !important;
    line-height: 1.5;
  }

  body.older-friendly .cookie-choice b,
  body.older-friendly .cookie-panel-dialog h2 {
    font-size: 1rem !important;
  }
}
