/*
 * Mobile release layer.
 *
 * This file intentionally loads after every route family. It contains only
 * narrow-screen corrections proven by the full candidate-estate audit; page
 * data, commerce controls and desktop composition remain with their owners.
 */

@media (max-width: 700px) {
  .aiesep-app {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.aiesep-native-auth :is(
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="submit"],
    select
  ) {
    font-size: 1rem !important;
  }

  body.aiesep-app.page-id-186 .woocommerce form :is(
    input.input-text,
    select,
    textarea
  ) {
    font: 400 1rem/1.45 var(--a-font-body) !important;
  }

  body.aiesep-native-auth :is(#wp-submit, .language-switcher input.button) {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.aiesep-native-auth #rememberme {
    width: 24px !important;
    min-width: 24px;
    height: 24px !important;
    min-height: 24px;
  }

  body.aiesep-native-auth .forgetmenot label {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  /* Shared controls: a reliable finger target without making compact cards bulky. */
  .aiesep-app :is(
    .menu-toggle,
    .motion-toggle,
    .news-copy,
    .news-citation summary,
    .news-contents > summary,
    .learning-feature-actions .button,
    .home-purpose-footer .button,
    .aiesep-join__country-suggestion,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    button.button,
    a.button
  ) {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .aiesep-app :is(input[type="checkbox"], input[type="radio"]) {
    width: 24px !important;
    min-width: 24px;
    height: 24px !important;
    min-height: 24px;
    margin: 0 10px 0 0;
  }

  .aiesep-app label:has(> :is(input[type="checkbox"], input[type="radio"])),
  .aiesep-app :is(.login-remember, .woocommerce-form__label-for-checkbox) label {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    margin: 0;
  }

  /* iOS must not zoom forms; the same size improves scanning on all phones. */
  .aiesep-app :is(
    input[type="text"],
    input[type="search"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="date"],
    input[type="submit"],
    select,
    textarea
  ) {
    font-size: 1rem !important;
  }

  .aiesep-app :is(.woocommerce .quantity .qty, .search-form .search-submit) {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Local navigation and in-page indexes remain compact but fully tappable. */
  .aiesep-app :is(
    .learning-quick-paths a,
    .learning-programme-rail nav a,
    .news-contents nav a,
    .woocommerce-breadcrumb a,
    .reading-content ol a,
    .policy-document-content ol a,
    .policy-toc nav a
  ) {
    display: flex;
    min-height: 44px !important;
    align-items: center;
  }

  .aiesep-app .news-contents > summary {
    justify-content: space-between;
    padding-block: 10px;
  }

  /* The command-layer desktop catalogue rule loads after the workspace rule.
   * Reassert the single-column mobile composition so programme copy cannot be
   * squeezed beside the hidden preview rail at standard phone widths. */
  .aiesep-app .learning-catalogue-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aiesep-app .learning-catalogue-layout > * {
    min-width: 0;
  }

  /* Microcopy remains secondary without dropping below a legible 12px. */
  .aiesep-app :is(small, figcaption) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .aiesep-app :is(
    .footer-directory-heading p,
    .news-opening-meta small,
    .news-facts dt,
    .news-filters label,
    .publication-command-facts small,
    .aiesep-join__progress li,
    .learning-brief-metrics dd,
    .recording-access-label,
    .gallery-results-kicker,
    .award-award-name,
    .section-label,
    .eyebrow,
    #learning-search-help,
    .resources-access-note,
    .resources-command .experience-library-search > p,
    .member-passport-number dt,
    .saved-library-empty__kicker,
    .award-session,
    .membership-plan-audience,
    .membership-plan-term,
    .directory-group-heading p,
    .site-search-result-type,
    .help-contact-card-label,
    .policy-document-kicker,
    .context-review-plan > small,
    .award-results-count,
    .source-event-facts li,
    .anniversary-facts dd,
    .event-group-kicker,
    .source-project-kicker,
    .news-result-status,
    .help-kicker,
    .help-section-kicker,
    .newsletter-section-label,
    .newsletter-eyebrow,
    .newsletter-kicker,
    .directory-eyebrow,
    .directory-kicker,
    main dl > div > dt,
    .award-filters label,
    .site-search-eyebrow,
    .site-search-kicker,
    .site-search-sort label,
    .source-history-chronology > p,
    .source-event-eyebrow,
    .anniversary-story__visual > p,
    .anniversary-board-list article > div > p,
    .record-app__document-list article > div > p,
    .election-directory__identity > p,
    .newsletter-privacy,
    .anniversary-provider-note
  ) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .aiesep-app .footer-community-action > span > small {
    font-size: .75rem !important;
  }

  /* Archived news prose: source copy is unchanged; its mobile hierarchy is calmer. */
  .news-article .news-source-prose-heading {
    margin: 0 0 1.45em;
    color: #26394e;
    font: 420 1rem/1.78 var(--a-font-body);
    letter-spacing: 0;
  }

  .news-article .news-source-list-line {
    margin: 0 0 .72em;
    padding-left: 1.05rem;
    color: #26394e;
    font: 450 .975rem/1.62 var(--a-font-body);
    letter-spacing: 0;
    text-indent: -1.05rem;
  }

  .news-article .news-prose .news-heading-long {
    font-size: clamp(1.2rem, 5.6vw, 1.45rem) !important;
    line-height: 1.28;
    letter-spacing: -.018em;
    text-wrap: pretty;
  }

  .aiesep-app .source-policy-intro {
    max-width: 54ch;
    margin: 0 0 1.6rem;
    color: #17334f;
    font: 520 clamp(1.05rem, 4.8vw, 1.25rem)/1.55 var(--a-font-display);
    letter-spacing: -.018em;
    text-wrap: pretty;
  }

  .news-article .news-prose > :is(img, a:has(> img)) {
    display: block;
    max-width: 100%;
    margin: 1.3rem auto;
  }

  .news-article .news-prose > a:has(> img) img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  /* Long retained titles need space-efficient, readable wrapping on phones. */
  .aiesep-app .source-feature-title {
    max-width: none !important;
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .learning-detail .recording-heading h1 {
    max-width: none;
    font-size: clamp(1.65rem, 7.7vw, 2rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  body.page-id-28771 .connect-programme-session h3 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
    letter-spacing: -.018em;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }
}

@media (max-width: 420px) {
  body.aiesep-task .finder-main .aiesep-join .aiesep-join__progress {
    width: calc(100% - 16px) !important;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__progress li {
    padding-inline: 6px !important;
  }

  .news-article-opening h1 {
    max-width: none !important;
    font-size: clamp(1.5rem, 7.5vw, 1.8rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .news-article-opening h1.news-article-title--long {
    font-size: 1.25rem !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
  }

  .news-article-opening h1.news-article-title--very-long {
    font-size: 1.125rem !important;
    line-height: 1.16 !important;
    letter-spacing: -.018em !important;
  }

  .news-article .news-prose h2 {
    font-size: clamp(1.35rem, 6.8vw, 1.55rem) !important;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: pretty;
  }

  .news-article .news-prose .news-heading-long {
    font-size: 1.125rem !important;
    line-height: 1.32;
  }

  .news-article .news-prose h3 {
    font-size: 1.2rem !important;
    line-height: 1.28;
    letter-spacing: -.02em;
    text-wrap: pretty;
  }

  .news-article .news-prose h4 {
    font-size: 1.075rem !important;
    line-height: 1.35;
    letter-spacing: -.012em;
    text-wrap: pretty;
  }

  .news-archive .news-result {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    padding: 18px 16px !important;
  }

  .news-archive .news-result-date {
    grid-column: 1 !important;
    padding: 0 52px 11px 0 !important;
  }

  .news-archive .news-result-arrow {
    position: absolute;
    top: 14px;
    right: 14px;
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .news-archive .news-result h4 {
    font-size: 1.0625rem !important;
    line-height: 1.27;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .aiesep-app .source-feature-title {
    font-size: clamp(1.4rem, 7vw, 1.7rem) !important;
  }

  .learning-detail .recording-heading h1 {
    font-size: clamp(1.5rem, 7.5vw, 1.75rem) !important;
  }
}

@media (max-width: 360px) {
  /* Give retained, descriptive session titles the complete card width instead
   * of reserving a separate year column on the narrowest phones. */
  .aiesep-app .learning-workspace-page .learning-catalogue-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px;
  }

  .aiesep-app .learning-workspace-page .recording-list-year {
    width: auto;
    max-width: none;
    text-align: left;
  }
}

@media (max-width: 320px) {
  body.aiesep-task .finder-main .aiesep-join .aiesep-join__progress {
    width: calc(100% - 8px) !important;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__progress li {
    padding-inline: 2px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aiesep-app :is(.menu-toggle, .motion-toggle, .news-result, .learning-quick-paths a) {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .aiesep-app :is(.news-contents > summary, .learning-quick-paths a) {
    border: 1px solid ButtonText;
  }
}

/* October 2026 mobile audit: keep independent disclosures above stretched links. */
.learning-workspace-page .learning-catalogue-row .learning-card-credits {
  position: relative;
  z-index: 1;
}

/* Native hash/focus scrolling must clear the sticky site header. */
.current-source-page--resource-directory [id^="reading-section-"],
.current-source-page--resource-directory .source-directory-category > summary,
.learning-workspace-page .learning-card-credits > summary {
  scroll-margin-top: 96px;
}

@media (max-width: 700px) {
  .aiesep-app :is(.purpose-kicker, .purpose-eyebrow) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .learning-workspace-page .learning-card-credits > summary {
    min-height: 44px;
    padding-block: 11px;
    line-height: 1.5;
  }
}

/* Avoid the abrupt article-heading size jump immediately above 420px. */
@media (min-width: 421px) and (max-width: 700px) {
  .news-article-opening h1 {
    max-width: none !important;
    font-size: clamp(1.5rem, 6.5vw, 2rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .news-article-opening h1.news-article-title--long {
    font-size: clamp(1.25rem, 5.5vw, 1.6rem) !important;
    line-height: 1.25 !important;
  }

  .news-article-opening h1.news-article-title--very-long {
    font-size: clamp(1.125rem, 4.5vw, 1.4rem) !important;
    line-height: 1.3 !important;
  }
}

/* Large phones in landscape and touch tablets still need touch-sized controls. */
@media (max-width: 1024px) and (pointer: coarse) {
  .aiesep-app :is(button, input[type="submit"], input[type="button"], input[type="reset"], a.button, summary) {
    min-width: 44px !important;
    min-height: 2.75rem !important;
  }

  .aiesep-app :is(input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea),
  body.aiesep-native-auth :is(input[type="text"], input[type="email"], input[type="password"], select) {
    min-width: 0;
    min-height: 2.75rem;
    font-size: 1rem !important;
  }

  .aiesep-app :is(input[type="checkbox"], input[type="radio"]) {
    width: 24px !important;
    min-width: 24px;
    height: 24px !important;
    min-height: 24px;
  }

  .aiesep-app label:has(> :is(input[type="checkbox"], input[type="radio"])),
  .aiesep-app :is(.login-remember, .woocommerce-form__label-for-checkbox) label {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
  }

  body.aiesep-app.page-id-186 .woocommerce form :is(input.input-text, select, textarea) {
    font: 400 1rem/1.45 var(--a-font-body) !important;
  }

  .aiesep-app :is(
    .compact-footer-links a,
    .learning-quick-paths a,
    .learning-programme-rail nav a,
    .news-contents nav a,
    .woocommerce-breadcrumb a,
    .reading-content ol a,
    .policy-document-content ol a,
    .policy-toc nav a
  ) {
    display: inline-flex;
    min-height: 44px !important;
    align-items: center;
  }

  .aiesep-app :is(.mobile-menu-search > label, #aiesep-country-search-status, .aiesep-join__eyebrow) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .learning-workspace-page .learning-card-credits > summary {
    min-height: 2.75rem;
    padding-block: 11px;
    line-height: 1.5;
  }

  /* These rails are taller than a short landscape viewport. Natural document
     scrolling keeps their final links reachable, including with enlarged text. */
  .aiesep-app :is(.policy-rail, .site-search-refine, .help-contacts) {
    position: static !important;
    top: auto;
  }

  /* Microcopy remains secondary without dropping below a legible 12px. */
  .aiesep-app :is(small, figcaption) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .aiesep-app :is(
    .footer-directory-heading p,
    .news-opening-meta small,
    .news-facts dt,
    .news-filters label,
    .publication-command-facts small,
    .aiesep-join__progress li,
    .learning-brief-metrics dd,
    .recording-access-label,
    .gallery-results-kicker,
    .award-award-name,
    .section-label,
    .eyebrow,
    #learning-search-help,
    .resources-access-note,
    .resources-command .experience-library-search > p,
    .member-passport-number dt,
    .saved-library-empty__kicker,
    .award-session,
    .membership-plan-audience,
    .membership-plan-term,
    .directory-group-heading p,
    .site-search-result-type,
    .help-contact-card-label,
    .policy-document-kicker,
    .context-review-plan > small,
    .award-results-count,
    .source-event-facts li,
    .anniversary-facts dd,
    .event-group-kicker,
    .source-project-kicker,
    .news-result-status,
    .help-kicker,
    .help-section-kicker,
    .newsletter-section-label,
    .newsletter-eyebrow,
    .newsletter-kicker,
    .directory-eyebrow,
    .directory-kicker,
    main dl > div > dt,
    .award-filters label,
    .site-search-eyebrow,
    .site-search-kicker,
    .site-search-sort label,
    .source-history-chronology > p,
    .source-event-eyebrow,
    .anniversary-story__visual > p,
    .anniversary-board-list article > div > p,
    .record-app__document-list article > div > p,
    .election-directory__identity > p,
    .newsletter-privacy,
    .anniversary-provider-note
  ) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  .aiesep-app .footer-community-action > span > small {
    font-size: .75rem !important;
  }


  .aiesep-app :is(.purpose-kicker, .purpose-eyebrow) {
    font-size: .75rem !important;
    line-height: 1.45;
  }
}

@media (max-width: 700px) {
  .learning-detail .recording-programme-notes .recording-body h2 {
    font-size: clamp(1.125rem, 4.5vw, 1.4rem);
    line-height: 1.35;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .learning-detail .recording-programme-notes .recording-body h3 {
    font-size: 1.05rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .learning-detail .recording-programme-notes .recording-body {
    padding-inline: 12px;
  }
}

/* Search results need their full text width on the narrowest phones. */
@media (max-width: 420px) {
  .aiesep-app .site-search-result {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .aiesep-app .site-search-result-number {
    width: 32px;
    height: 32px;
  }

  .aiesep-app .site-search-result h3 {
    font-size: 1.0625rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }
}

@media (max-width: 1024px) and (pointer: coarse) {
  .aiesep-app .learning-catalogue-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aiesep-app .learning-catalogue-layout > * {
    min-width: 0;
  }

  .aiesep-app .aiesep-join__summary {
    position: static !important;
    top: auto;
  }

  .aiesep-app :is(.policy-rail-label, .recovery-eyebrow, .recovery-kicker) {
    font-size: .75rem !important;
    line-height: 1.45;
  }
}

@media (min-width: 701px) and (max-width: 1024px) and (pointer: coarse) {
  .news-article-opening h1 {
    max-width: none !important;
    font-size: clamp(2rem, 4vw, 2.6rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .news-article-opening h1.news-article-title--long {
    font-size: clamp(1.6rem, 3.2vw, 2.1rem) !important;
  }

  .news-article-opening h1.news-article-title--very-long {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem) !important;
  }

  body.aiesep-native-auth :is(input[type="submit"], input[type="button"], input[type="reset"]) {
    font-size: 1rem !important;
    min-height: 2.75rem;
  }
}

@media (max-width: 1024px) and (pointer: coarse) {
  .aiesep-app .news-reading-rail {
    position: static !important;
    top: auto;
  }

  body.aiesep-task .member-nav-desktop {
    position: relative !important;
    top: auto !important;
  }

  body.aiesep-task.woocommerce-account.logged-in .member-community__heading {
    grid-template-columns: minmax(0, 1fr);
  }

  body.aiesep-task.woocommerce-account.logged-in .member-community__heading h2 {
    max-width: none;
  }

  .aiesep-app :is(.resources-preview-access, .resources-preview-status) {
    font-size: .75rem !important;
    line-height: 1.45;
  }

  body.aiesep-app #wpadminbar #adminbar-search {
    min-width: 44px;
  }
}

@media (max-width: 1024px) and (max-height: 640px) and (pointer: coarse) {
  .aiesep-app :is(.event-actions, .anniversary-story__visual, .newsletter-archive-rail) {
    position: static !important;
    top: auto;
  }
}

/* Keep the staff toolbar, its controls and the sticky-header offset together. */
@media (min-width: 783px) and (max-width: 1024px) and (pointer: coarse) {
  html:has(> body.aiesep-app.admin-bar) {
    margin-top: 46px !important;
  }

  body.aiesep-app #wpadminbar {
    height: 46px;
  }

  body.aiesep-app #wpadminbar .ab-top-menu > li > a.ab-item {
    display: flex;
    min-width: 44px;
    height: 46px;
    align-items: center;
    line-height: 46px;
  }

  body.aiesep-app #wpadminbar #adminbarsearch,
  body.aiesep-app #wpadminbar #wp-admin-bar-search > .ab-item {
    display: flex;
    height: 46px;
    align-items: center;
  }

  body.aiesep-app #wpadminbar #wp-admin-bar-search > .ab-item::before {
    top: 13px;
  }

  body.aiesep-app.admin-bar .site-header {
    top: 46px;
  }
}

/* Let the selected plan wrap at enlarged text sizes. Its normal form space
   also reserves the exact bar height instead of guessing a fixed bottom gap. */
@media (max-width: 640px) {
  body.aiesep-task .finder-main .aiesep-join .aiesep-mobile-summary {
    position: sticky;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px 12px;
    bottom: 0;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-mobile-summary > div:first-of-type {
    flex: 1 1 160px;
    min-width: 0;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-mobile-summary > div:last-child {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 100%;
    min-width: 0;
    justify-content: space-between;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-mobile-summary :is(small, span, [data-mobile-plan]) {
    font-size: .75rem !important;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
  }

  .aiesep-app .aiesep-join:has(.aiesep-mobile-summary:not([hidden])) .aiesep-join__layout {
    padding-bottom: 24px;
  }
}

@media (max-width: 640px) and (max-height: 640px) {
  body.aiesep-task .finder-main .aiesep-join .aiesep-mobile-summary {
    position: static;
  }
}

/* Enlarged text may move account shortcuts onto another header row. */
@media (max-width: 700px) {
  body.aiesep-task .task-header > .a-container {
    flex-wrap: wrap;
  }

  body.aiesep-task .task-command-bar {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body.aiesep-task .finder-main .aiesep-join .aiesep-join__terms label > span {
    min-width: 0;
    max-width: 100%;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__terms strong {
    font-size: clamp(1.75rem, 11.5vw, 2.5rem);
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__best i {
    position: static;
    display: inline-flex;
    align-self: flex-start;
    max-width: 100%;
    margin-bottom: 8px;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__total {
    flex-wrap: wrap;
  }

  body.aiesep-task .finder-main .aiesep-join .aiesep-join__total strong {
    font-size: clamp(1.75rem, 14vw, 2.75rem);
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* Shared utility mastheads should not consume the phone viewport. */
@media(max-width:700px){
 .aiesep-app:not(.home):not(.woocommerce-checkout) #main .page-masthead h1{font-size:32px;line-height:1.15;letter-spacing:-.035em}
}

/* The directory should reach its navigation and search quickly on a phone. */
.aiesep-app #main .directory-archive-note h2{color:#fff}
@media(max-width:620px){
 .aiesep-app #main .directory-command h1{font-size:36px;line-height:1.12;letter-spacing:-.04em;max-width:18ch}
 #main .directory-command-copy{min-height:0;padding:24px}
 #main .directory-eyebrow{margin-top:20px}
 #main .directory-journeys{grid-template-columns:minmax(0,1fr)}
 #main .directory-journey{grid-template-columns:minmax(0,1fr) 24px;min-height:142px;padding:18px 20px;gap:10px}
 #main .directory-journey-icon{display:none}
 #main .directory-journey-copy{margin-top:0}
 #main .directory-journey-copy small{font-size:13px}
 .aiesep-app.aiesep-context-route--donation #main .app-photo-copy h1{font-size:34px;line-height:1.1}
}

/* Focused community handoff and recovery pages, with one clear reading surface. */
.aiesep-app #main .reading-content.section:has(>.legacy-community-handoff){max-width:960px;margin-inline:auto;padding:32px}
#main .legacy-community-handoff h2{font-size:30px;line-height:1.2;margin:0 0 16px}
#main .legacy-community-handoff>p{font-size:17px;line-height:1.65;max-width:70ch}
#main .legacy-community-handoff .actions{display:flex;flex-wrap:wrap;gap:14px;margin-block:24px}
#main .legacy-community-handoff .legacy-community-note{font-size:15px;margin-bottom:0}
.aiesep-account-security-heading{max-width:760px;margin:28px auto 20px;padding-inline:20px}
.aiesep-account-security-heading h1{font-size:32px;line-height:1.2;margin-bottom:14px}
.aiesep-app #main .reading-content.section:has(>.external-handoff){max-width:1040px;margin-inline:auto;padding:0;border:0;background:transparent;box-shadow:none}
.aiesep-app #main .external-handoff{width:100%;max-width:none;margin:0;padding:32px}
@media(max-width:620px){
 .aiesep-app #main .reading-content.section:has(>.legacy-community-handoff),.aiesep-app #main .external-handoff{padding:22px}
 #main .legacy-community-handoff h2{font-size:25px}
 #main .legacy-community-handoff .actions{flex-direction:column;align-items:stretch}
 #main .legacy-community-handoff .actions a{min-height:44px;justify-content:space-between}
 .aiesep-app:not(.home):not(.woocommerce-checkout) #main .help-opening h1{font-size:32px;line-height:1.12}
}

/* Shared document pages use balanced margins and restrained phone titles. */
.aiesep-app #main>.a-container>.reading-content.section{margin-inline:auto}
@media(max-width:700px){.aiesep-app #main .publication-command h1{font-size:32px;line-height:1.15;letter-spacing:-.035em}}

/* Current account forms can be outside Woo's legacy wrapper. */
.aiesep-task #main form .password-input{display:block;position:relative}
.aiesep-task #main form .password-input input{padding-right:54px}
.aiesep-task #main form .password-input .show-password-input{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:0;background:transparent;font-size:16px;line-height:1}
.aiesep-task #main form .password-input .show-password-input::after{margin:0}

/* Preserve year uncertainty as readable metadata, not a narrow numeric column. */
.aiesep-app #main .publication-object dl>div:has(dd small){grid-template-columns:1fr;gap:6px}
.aiesep-app #main .publication-object dl>div:has(dd small) dd{text-align:left;max-width:none;overflow-wrap:normal;word-break:normal}
.aiesep-app #main .publication-object dd small{display:block;margin-top:4px;font-size:13px;line-height:1.5;font-weight:400}
