/* ESV 7.42 – one mobile layer. Desktop card/hero design is left unchanged.
   Scope via body class also covers saved Gutenberg templates. */

.esv-mobile-shortcuts,
.esv-mobile-legal,
.esv-subnav-arrow,
.esv-menu-expand {
  display: none;
}

.esv-mobile-jump-target {
  scroll-margin-top: 90px;
}

.esv-mobile-about-trial>summary {
  cursor: pointer;
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .esv-mobile-journey :is(.esv-sport-card,.esv-contact-card,.esv-sponsor-card,.esv-news-card) {
    transition: none !important;
  }
}

@media (max-width:900px) {
  body.esv-mobile-journey {
    --esv-mobile-gap: 28px;
    --esv-mobile-gutter: 16px;
  }

  body.esv-mobile-journey :is(.esv-page-content,.esv-verein-page-content,.esv-sport-page,.esv-news-page,.esv-termine-page,.esv-sparten-page,.esv-updates-overview-page) {
    width: calc(100% - 32px) !important;
    max-width: var(--esv-content-rail,1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 32px !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .wp-block-post-content {
    min-width: 0;
  }

  body.esv-mobile-journey :is(.esv-page-content,.esv-verein-page-content,.esv-sport-page,.esv-sparten-page,.esv-news-page,.esv-termine-page,.esv-updates-overview-page) :is(h2,h3,p) {
    overflow-wrap: break-word;
  }

  body.esv-mobile-journey :is(.esv-trial-intro,.esv-contact-intro,.esv-membership-intro,.esv-board-intro,.esv-grounds-intro,.esv-verein-overview-intro,.esv-sport-intro,.esv-sparten-intro,.esv-safe-intro,.esv-news-intro,.esv-updates-overview-intro) .has-large-font-size {
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    margin-top: 12px !important;
  }

  body.esv-mobile-journey :is(.esv-page-content,.esv-verein-page-content,.esv-sport-page) h2 {
    font-size: clamp(1.35rem,4.8vw,1.65rem) !important;
    line-height: 1.2 !important;
  }

  body.esv-mobile-journey :is(.esv-page-content,.esv-sport-page) .esv-kicker {
    font-size: .72rem !important;
    line-height: 1.5 !important;
    margin-bottom: 8px !important;
  }

  /* Header: visible logo, readable title, real 44px menu control. */

  body.esv-mobile-journey .esv-header-inner {
    width: calc(100% - 24px) !important;
    min-height: 64px !important;
    padding: 8px 0 !important;
    gap: 10px !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-header .esv-brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: 9px !important;
  }

  body.esv-mobile-journey .esv-header .esv-logo {
    flex: 0 0 44px !important;
    width: 44px !important;
    margin: 0 !important;
  }

  body.esv-mobile-journey .esv-header .esv-logo img {
    width: 44px !important;
    height: 44px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  body.esv-mobile-journey .esv-header .esv-brand-copy {
    min-width: 0 !important;
  }

  body.esv-mobile-journey .esv-header .wp-block-site-title {
    font-size: clamp(.88rem,3.6vw,1.05rem) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  body.esv-mobile-journey .esv-header .esv-subtitle {
    display: none !important;
  }

  body.esv-mobile-journey .esv-header .wp-block-navigation__responsive-container-open {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.esv-mobile-journey .esv-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 20px max(18px,env(safe-area-inset-right)) 28px max(18px,env(safe-area-inset-left)) !important;
    box-sizing: border-box;
    max-height: 100dvh;
    overflow-y: auto !important;
  }

  body.esv-mobile-journey .esv-header .is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 76px !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  body.esv-mobile-journey .esv-mobile-menu-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.esv-mobile-journey .esv-mobile-menu-actions a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 10px 9px !important;
    border: 1px solid var(--esv-color-link,#007b36) !important;
    border-radius: 10px !important;
    line-height: 1.25 !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    white-space: normal !important;
    text-align: center !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-mobile-menu-trial {
    background: var(--esv-color-primary,#007b36) !important;
    color: var(--esv-color-on-primary,#fff) !important;
  }

  body.esv-mobile-journey .esv-mobile-menu-join {
    background: var(--esv-color-surface,#fff) !important;
    color: var(--esv-color-link,#00672d) !important;
  }

  body.esv-mobile-journey .esv-header .esv-menu-collapsible {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 44px !important;
    gap: 0 !important;
    width: 100% !important;
    align-items: center !important;
  }

  body.esv-mobile-journey .esv-header .esv-menu-collapsible>.wp-block-navigation-submenu__toggle {
    display: none !important;
  }

  body.esv-mobile-journey .esv-menu-expand {
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--esv-color-border,#d2e3d8);
    border-radius: 9px;
    background: var(--esv-color-surface-2,#edf7f0);
    color: var(--esv-color-link,#00672d);
    cursor: pointer;
    padding: 10px;
  }

  body.esv-mobile-journey .esv-menu-expand svg {
    width: 20px;
    height: 20px;
    transform: rotate(90deg);
  }

  body.esv-mobile-journey .esv-menu-expand[aria-expanded="true"] svg {
    transform: rotate(-90deg);
  }

  body.esv-mobile-journey .esv-header .esv-menu-collapsible>.wp-block-navigation__submenu-container {
    grid-column: 1/-1;
    width: 100% !important;
    padding: 5px 0 10px 12px !important;
    position: static !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-header .esv-menu-collapsible>.wp-block-navigation__submenu-container[hidden] {
    display: none !important;
  }

  body.esv-mobile-journey .esv-header .is-menu-open a.wp-block-navigation-item__content {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    white-space: normal !important;
    padding: 10px 8px !important;
    box-sizing: border-box;
  }

  /* Heroes: same typography and padding, but never crop multiline text. */

  /* Same approved locomotive, a smaller mobile file instead of the 1.8MB PNG. */

  body.esv-mobile-journey.home .esv-hero-v15 {
    background: linear-gradient(90deg,rgba(1,43,30,.96) 0%,rgba(2,50,34,.89) 48%,rgba(2,45,31,.56) 100%),url("../images/esv-home-hero-mobile.webp") 69% center/cover no-repeat !important;
  }

  body.esv-mobile-journey.home .esv-hero-grid {
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    min-height: 0 !important;
    padding: 30px 0 32px !important;
    display: block !important;
  }

  body.esv-mobile-journey.home .esv-hero-copy {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.esv-mobile-journey.home .esv-hero-copy h1 {
    font-size: clamp(2.15rem,10.8vw,3.15rem) !important;
    line-height: 1.02 !important;
    margin: 8px 0 16px !important;
    max-width: 100% !important;
    hyphens: none;
    overflow-wrap: normal;
  }

  body.esv-mobile-journey.home .esv-hero-copy .has-large-font-size {
    font-size: 1.08rem !important;
    line-height: 1.45 !important;
    max-width: 32ch !important;
  }

  body.esv-mobile-journey.home .esv-hero-visual {
    display: none !important;
  }

  body.esv-mobile-journey.home .esv-hero .wp-block-buttons {
    margin-top: 20px !important;
    gap: 9px !important;
  }

  body.esv-mobile-journey.home .esv-hero .wp-block-button__link {
    min-height: 46px !important;
    padding: 12px 15px !important;
    font-size: .94rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  body.esv-mobile-journey.home .esv-value-row {
    gap: 10px 15px !important;
    margin-top: 14px !important;
    flex-wrap: wrap !important;
  }

  body.esv-mobile-journey.home .esv-value-row p {
    font-size: .77rem !important;
  }

  /* Startpage tiles: still all visible, far less empty vertical area. */

  body.esv-mobile-journey.home .esv-sport-wrap {
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body.esv-mobile-journey.home .esv-sport-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  body.esv-mobile-journey.home .esv-sport-card {
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    gap: 6px 14px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 20px !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey.home .esv-sport-card>*:not(.esv-card-full-link) {
    margin: 0 !important;
    max-width: 100% !important;
    grid-column: 2;
  }

  body.esv-mobile-journey.home .esv-sport-card .esv-card-icon {
    grid-column: 1 !important;
    grid-row: 1/span 3 !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 1.08rem !important;
    align-self: start;
  }

  body.esv-mobile-journey.home .esv-sport-card h3 {
    font-size: 1.3rem !important;
    line-height: 1.15 !important;
    padding: 0 !important;
  }

  body.esv-mobile-journey.home .esv-sport-card p {
    font-size: .92rem !important;
    line-height: 1.4 !important;
  }

  body.esv-mobile-journey.home .esv-sport-card .esv-card-more {
    margin: 4px 0 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: .85rem !important;
  }

  body.esv-mobile-journey.home .esv-sport-card::after {
    opacity: .5;
  }

  body.esv-mobile-journey.home .esv-home-feature-feed {
    margin: 18px 0 !important;
    width: 100% !important;
  }

  body.esv-mobile-journey.home .esv-home-feature-feed .esv-home-updates-inner {
    width: 100% !important;
    margin: 0 !important;
  }

  body.esv-mobile-journey.home .esv-home-feature-feed .esv-home-update {
    min-height: 0 !important;
    padding: 14px !important;
    gap: 8px !important;
  }

  body.esv-mobile-journey.home .esv-home-feature-feed .esv-home-update-title {
    font-size: .96rem !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.esv-mobile-journey.home .esv-home-feature-feed .esv-home-update time {
    font-size: .85rem !important;
    line-height: 1.35 !important;
  }

  body.esv-mobile-journey.home :is(.esv-history,.esv-home-grid,.esv-home-live,.esv-sponsors) {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  body.esv-mobile-journey.home .esv-history h2 {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
  }

  body.esv-mobile-journey.home .esv-stats .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
  }

  /* Submenus: both swipe directions, keyboard and arrow taps; vertical page scrolling remains possible. */

  body.esv-mobile-journey .esv-runtime-subnav-wrap {
    width: calc(100% - 32px) !important;
    max-width: 1180px !important;
    box-sizing: border-box;
    margin-top: 16px !important;
  }

  body.esv-mobile-journey .esv-subnav-enhanced {
    position: relative;
  }

  body.esv-mobile-journey .esv-subnav-enhanced::before {
    display: none !important;
    content: none !important;
  }

  body.esv-mobile-journey :is(.esv-runtime-subnav,.esv-football-runtime-subnav) {
    touch-action: auto !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
  }

  body.esv-mobile-journey .esv-subnav-enhanced.esv-has-overflow>nav {
    padding-inline: 48px !important;
    scroll-padding-inline: 48px;
  }

  body.esv-mobile-journey .esv-subnav-arrow {
    display: grid;
    place-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    z-index: 5;
    border: 1px solid var(--esv-color-border,#cbded2);
    border-radius: 11px;
    background: var(--esv-color-surface-2,#f3faf6);
    color: var(--esv-color-link,#006f31);
    cursor: pointer;
    box-shadow: 0 1px 8px rgba(0,40,22,.07);
  }

  body.esv-mobile-journey .esv-subnav-arrow.is-back {
    left: 5px;
  }

  body.esv-mobile-journey .esv-subnav-arrow.is-forward {
    right: 5px;
  }

  body.esv-mobile-journey .esv-subnav-arrow[hidden] {
    display: none !important;
  }

  body.esv-mobile-journey .esv-subnav-arrow:disabled {
    opacity: .4;
    cursor: default;
  }

  body.esv-mobile-journey .esv-subnav-arrow svg {
    width: 20px;
    height: 20px;
  }

  body.esv-mobile-journey :is(.esv-runtime-subnav,.esv-football-runtime-subnav) a {
    min-height: 44px !important;
    font-size: .9rem !important;
    padding: 0 12px !important;
  }

  /* Reusable in-page shortcuts: no new persistent bar covering page content. */

  body.esv-mobile-journey .esv-mobile-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px !important;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-mobile-shortcuts a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    flex: 1 1 125px;
    padding: 10px 12px;
    border: 1px solid var(--esv-color-border,#bfd8c8);
    border-radius: 9px;
    background: var(--esv-color-surface-2,#edf7f0);
    color: var(--esv-color-link,#00672d);
    font-size: .87rem;
    font-weight: 750;
    text-decoration: none;
    line-height: 1.3;
    text-align: center;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-mobile-about-trial {
    padding: 0 16px;
    border: 1px solid var(--esv-color-border,#d4e3d9);
    border-radius: 12px;
    background: var(--esv-color-surface,#f6faf7);
    margin: 24px 0 !important;
  }

  body.esv-mobile-journey .esv-mobile-about-trial>summary {
    padding: 16px 0;
    min-height: 48px;
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.4;
  }

  body.esv-mobile-journey .esv-mobile-about-trial .esv-trial-step {
    min-height: 0 !important;
    padding: 16px !important;
    display: block !important;
  }

  body.esv-mobile-journey .esv-mobile-about-trial .esv-trial-steps {
    gap: 10px !important;
    margin: 18px 0 !important;
  }

  body.esv-mobile-journey .esv-trial-form-section {
    margin-top: 0 !important;
  }

  /* Contacts in a compact horizontal card rather than a tall empty poster. */

  body.esv-mobile-journey .esv-person-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.esv-mobile-journey .esv-contact-card {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 16px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px !important;
    text-align: left !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-contact-card .esv-contact-photo-wrap {
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    font-size: 1.12rem !important;
  }

  body.esv-mobile-journey .esv-contact-card .esv-contact-photo {
    width: 58px !important;
    height: 58px !important;
  }

  body.esv-mobile-journey .esv-contact-card-body {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.esv-mobile-journey .esv-contact-card h3 {
    margin: 4px 0 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
  }

  body.esv-mobile-journey .esv-contact-role {
    font-size: .7rem !important;
    line-height: 1.45 !important;
    letter-spacing: .05em !important;
    overflow-wrap: anywhere;
  }

  body.esv-mobile-journey .esv-contact-meta {
    margin: 7px 0 0 !important;
  }

  body.esv-mobile-journey .esv-contact-meta a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: .9rem;
  }

  /* Team training first on mobile, with its existing team colors. */

  body.esv-mobile-journey .esv-team-unified-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  body.esv-mobile-journey .esv-team-unified-section:has(.esv-team-training-row) {
    order: -1;
  }

  body.esv-mobile-journey .esv-team-unified-row .esv-team-training-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body.esv-mobile-journey .esv-team-unified-row .esv-team-training-row span {
    font-size: .94rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
    font-weight: 650 !important;
    overflow-wrap: anywhere;
  }

  body.esv-mobile-journey .esv-team-unified-row .esv-team-training-row strong {
    font-size: .85rem !important;
  }

  body.esv-mobile-journey .esv-team-unified-header {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  body.esv-mobile-journey .esv-team-unified-row {
    padding: 18px 14px !important;
    min-width: 0 !important;
  }

  body.esv-mobile-journey .esv-football-section {
    padding: 20px 16px !important;
    margin-top: 28px !important;
  }

  /* Sponsors use room, but no cropped brand artwork. */

  body.esv-mobile-journey .esv-sponsors-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  body.esv-mobile-journey .esv-sponsor-card {
    box-sizing: border-box !important;
    padding: 12px !important;
    min-height: 120px !important;
    max-width: 100% !important;
  }

  body.esv-mobile-journey .esv-sponsor-card img {
    max-height: 92px !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Scoped forms – checkbox/radio must NOT inherit width:100% from text fields. */

  body.esv-mobile-journey .esv-webform-wrap {
    padding: 20px 16px !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-form-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px !important;
  }

  body.esv-mobile-journey .esv-webform .esv-field {
    min-width: 0 !important;
  }

  body.esv-mobile-journey .esv-webform :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
    font-size: 16px !important;
    line-height: 1.4 !important;
    min-height: 46px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-webform :is(input[type="checkbox"],input[type="radio"]) {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    flex: 0 0 21px !important;
    padding: 0 !important;
    margin: 3px 0 0 !important;
    accent-color: var(--esv-color-link,#00873b);
  }

  body.esv-mobile-journey .esv-webform .esv-check-row {
    display: grid;
    grid-template-columns: 21px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  body.esv-mobile-journey .esv-webform .esv-check-row label {
    min-height: 44px;
    font-size: .9rem !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.esv-mobile-journey .esv-webform fieldset {
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding: 16px 12px !important;
  }

  body.esv-mobile-journey .esv-webform legend {
    font-size: 1.05rem !important;
    white-space: normal;
    max-width: 100%;
  }

  body.esv-mobile-journey .esv-webform :is(button[type="submit"],.esv-form-submit) {
    min-height: 48px !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  body.esv-mobile-journey .esv-webform .esv-honeypot {
    display: none !important;
  }

  /* Embedded provider pages: contain overflow, do not scale their text. */

  body.esv-mobile-journey :is(.esv-football-live,.esv-football-table) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 14px !important;
    overflow-x: visible !important;
  }

  body.esv-mobile-journey .esv-fussballde-wrap {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    touch-action: auto !important;
  }

  /* Footer: one breakpoint and real hidden-state; legal links always reachable. */

  body.esv-mobile-journey .esv-footer {
    padding: 28px 16px 18px !important;
  }

  body.esv-mobile-journey .esv-footer .esv-footer-accordion {
    padding: 0 !important;
    margin: 0 !important;
  }

  body.esv-mobile-journey .esv-footer .esv-footer-accordion h4 {
    margin: 0 !important;
  }

  body.esv-mobile-journey .esv-footer .esv-footer-accordion ul[hidden] {
    display: none !important;
  }

  body.esv-mobile-journey .esv-footer-accordion-button {
    min-height: 50px !important;
    width: 100% !important;
    color: var(--esv-color-on-primary,#fff) !important;
    font-size: 1rem !important;
    padding: 0 !important;
  }

  body.esv-mobile-journey .esv-footer-accordion ul {
    list-style: none;
    padding: 0 0 12px !important;
  }

  body.esv-mobile-journey .esv-footer-accordion li {
    margin: 0 !important;
  }

  body.esv-mobile-journey .esv-footer-accordion a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 4px;
    box-sizing: border-box;
  }

  body.esv-mobile-journey .esv-mobile-legal {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-top: 12px;
  }

  body.esv-mobile-journey .esv-mobile-legal a {
    min-height: 44px;
    display: flex;
    align-items: center;
    color: var(--esv-color-on-primary,#fff);
    font-size: .875rem;
  }

  body.esv-mobile-journey :is(.esv-menu-expand,.esv-subnav-arrow,.esv-footer-accordion-button,.esv-mobile-shortcuts a):focus-visible {
    outline: 3px solid var(--esv-color-focus,#00873b);
    outline-offset: 3px;
  }

  body.esv-mobile-journey .esv-footer :focus-visible {
    outline-color: var(--esv-color-focus,#8af0b4);
  }
}

@media (max-width:370px) {
  body.esv-mobile-journey .esv-contact-card {
    grid-template-columns: 48px minmax(0,1fr) !important;
    padding: 15px !important;
    gap: 12px !important;
  }

  body.esv-mobile-journey .esv-contact-card :is(.esv-contact-photo-wrap,.esv-contact-photo) {
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width:900px) {
  body.esv-mobile-journey.home .esv-hero-copy {
    text-align: left !important;
  }

  body.esv-mobile-journey.home .esv-hero-copy>.esv-kicker,
body.esv-mobile-journey.home .esv-hero-copy>p {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  body.esv-mobile-journey.home .esv-hero .wp-block-button__link {
    border-radius: 9px !important;
  }

  body.esv-mobile-journey.home .esv-inclusion-strip {
    width: calc(100% - 32px) !important;
    margin: 28px auto !important;
    padding: 0 !important;
    box-sizing: border-box;
  }

  body.esv-mobile-journey.home .esv-inclusion-inner {
    padding: 20px !important;
    gap: 14px !important;
  }

  body.esv-mobile-journey.home .esv-inclusion-inner>div {
    margin: 0 !important;
    width: 100% !important;
  }

  body.esv-mobile-journey.home .esv-inclusion-inner h2 {
    font-size: 1.4rem !important;
    line-height: 1.25 !important;
  }

  body.esv-mobile-journey .esv-webform [hidden] {
    display: none !important;
  }
}
