/* Responsive and accessibility additions to the preserved presentation. */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: 3px solid #16538a; outline-offset: 4px; }
.ls-hero :focus-visible, .ls-footer :focus-visible { outline-color: white; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-result:empty { display: none; }
.form-result { padding: 1rem; border: 2px solid #287646; border-radius: 4px; background: #f3faf5; color: #143e25; }
.form-result.is-error { border-color: #b32929; background: #fff5f5; color: #811a1a; }
.form-privacy { font-size: .9rem; }
.schulung-form input[type=checkbox] { width: 1.1rem; height: 1.1rem; margin: 0 0 0 .45rem; flex: 0 0 auto; }
.schulung-form .wpcf7-list-item { display: inline-flex; align-items: center; margin: .3rem 1rem .3rem 0; }
.schulung-form input[type=submit]:disabled { opacity: .65; cursor: wait; }
video { max-width: 100%; height: auto; }
[id] { scroll-margin-top: 1rem; }
.ls-card { height: 100%; }
.ls-card > .wp-block-group__inner-container { padding: 0; }
.ls-card .wp-block-columns { gap: 1rem; flex-wrap: nowrap !important; align-items: flex-start; }
.ls-card .wp-block-column:first-child { flex: 0 0 72px !important; }
.ls-card .wp-block-column:last-child { flex: 1 1 auto !important; }
.ls-card [class^="gb-element-"] { padding: 0; margin: 0; width: auto; }
.ls-card .wp-block-image img { width: 72px !important; }
/* Switch navigation before the desktop links start wrapping. Keep this
   breakpoint in sync with ui.ts. */
@media (max-width: 1350px) {
  .has-inline-mobile-toggle .inside-header {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 1rem clamp(1rem, 4vw, 2rem);
    text-align: left;
  }
  .site-logo { width: min(240px, calc(100% - 60px)); flex: 0 1 auto; }
  .site-header .header-image { width: 100%; height: auto; }
  .has-inline-mobile-toggle .mobile-menu-control-wrapper { display: flex; margin-left: auto; }
  #mobile-menu-control-wrapper .menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-height: 48px;
    padding: 0;
    border-radius: 8px;
    font-size: 20px;
    line-height: 1;
  }
  .menu-toggle[aria-expanded="true"] .icon-menu-bars svg:first-child { display: none; }
  .menu-toggle[aria-expanded="true"] .icon-menu-bars svg:nth-child(2) { display: block; }
  .has-inline-mobile-toggle #site-navigation { display: none; flex-basis: 100%; margin: 0; }
  .has-inline-mobile-toggle #site-navigation.toggled { display: block; width: 100%; margin: 0; border-radius: 8px; }
  #site-navigation .inside-navigation > .menu-toggle { display: none; }
  #site-navigation .main-nav { width: 100%; }
  #site-navigation .main-nav > ul { display: block; padding: .5rem; }
  #site-navigation .main-nav ul li a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: .75rem 1rem;
    border-radius: 4px;
    font-size: 1rem;
    line-height: 1.4;
  }
  #site-navigation .main-nav a:hover,
  #site-navigation .main-nav a:focus-visible { background: #eaf1f8; }
}

@media (max-width: 1024px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-size: 1rem; line-height: 1.6; }
  .entry-content { overflow-wrap: anywhere; }
  .entry-content :is(h1, h2, h3, h4) { text-wrap: balance; }
  .entry-content :is(h2, h3, h4) { hyphens: auto; }
  .entry-content h2 { font-size: clamp(1.5rem, 4vw, 2rem) !important; line-height: 1.25; }
  .entry-content h3 { font-size: 1.25rem; line-height: 1.35; }
  .entry-content h4 { font-size: 1.125rem; line-height: 1.4; }

  /* Imported blocks use desktop offsets and fixed widths on each page. */
  .entry-content [class^="gb-element-"] { width: auto; max-width: 100%; margin: 0; padding: 0; }
  .site-main .entry-content .wp-block-group__inner-container { padding: 0; }
  .entry-content .wp-block-columns { flex-direction: column; gap: 1.5rem; margin-block: 0; }
  .entry-content .wp-block-columns > .wp-block-column { flex: 1 1 auto !important; width: 100%; min-width: 0; }
  .entry-content > [class^="gb-element-"]:has(.ls-hero-top-image) { display: none; }
  .entry-content > p:empty, .entry-content h2:empty { display: none; }

  .ls-hero { padding: 1.75rem 1.25rem 2rem; }
  .ls-hero > .wp-block-group__inner-container { max-width: 40rem; margin-inline: auto; }
  .ls-hero .wp-block-columns { gap: 1rem; }
  .ls-hero .wp-block-column:empty { display: none; }
  .ls-hero .ls-hero-icon { margin: 0 auto; }
  .ls-hero .ls-hero-icon img { width: 88px !important; height: auto; }
  .ls-hero h1 { margin: 0; font-size: clamp(1.8rem, 7.5vw, 2.5rem) !important; line-height: 1.15; }
  .ls-hero h2 { margin: 1.25rem 0; font-size: clamp(1.2rem, 4.6vw, 1.5rem) !important; }
  .ls-hero .wp-block-buttons, .ls-hero .wp-block-button { width: 100%; max-width: 24rem; }
  .ls-hero .wp-block-buttons .wp-block-button .wp-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: .85rem 1rem;
    background-color: #86ea28 !important;
    color: #143e25 !important;
    font-size: clamp(1rem, 4.4vw, 1.25rem) !important;
    line-height: 1.4;
  }
  .ls-hero .wp-block-buttons .wp-block-button .wp-block-button__link:hover { transform: none; }
  .ls-hero p { max-width: 32rem; margin: .75rem auto 0; font-size: .9375rem; line-height: 1.5; }

  .entry-content > .wp-block-group,
  .ls-section { padding: 2.25rem 1.25rem; }
  .ls-section > .wp-block-group__inner-container { max-width: 44rem; margin-inline: auto; }
  .ls-section h2 { margin-bottom: 1.25rem; }
  .ls-card { padding: 1.25rem; }
  .ls-card .wp-block-columns { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; }
  .ls-card .wp-block-columns:has(> .wp-block-column:only-child) { grid-template-columns: minmax(0, 1fr); }
  .ls-card .wp-block-image img { width: 56px !important; }
  .ls-card .wp-block-image { margin: 0; }
  .ls-card h3 { margin-bottom: .5rem; font-size: 1.125rem !important; }
  .ls-card p { margin-bottom: .5rem; font-size: 1rem; }
  .ls-card p:last-child { margin-bottom: 0; }
  .ls-card a { display: inline-flex; align-items: center; min-height: 44px; }
  .ls-how-blended .wp-block-image img { width: min(100%, 280px) !important; height: auto; }
  .ls-what .ls-card-icon img { max-width: 180px; }
  .ls-section video { display: block; width: 100%; height: auto; }

  /* Keep each machine icon next to its matching training description. */
  .home .ls-what .wp-block-column > .wp-block-columns { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; }
  .home .ls-what .wp-block-column > .wp-block-columns > .wp-block-column { display: contents; }
  .home .ls-what .gb-element-57baa4a5 { grid-area: 1 / 1; }
  .home .ls-what .gb-element-8f0e1eb4 { grid-area: 2 / 1; }
  .home .ls-what .gb-element-36095f0a { grid-area: 3 / 1; }
  .home .ls-what .gb-element-97f3bcd0 { grid-area: 1 / 2; }
  .home .ls-what .gb-element-32a146b9 { grid-area: 2 / 2; }
  .home .ls-what .gb-element-cd25973b { grid-area: 3 / 2; }
  .home .ls-what .wp-block-column > .wp-block-columns :is(figure, p) { margin: 0; text-align: left; }
  .home .ls-what .ls-card-icon img { width: 100% !important; height: auto; }

  /* Let all four inquiry forms fill the available reading width. */
  .entry-content > .wp-block-group:has(form[data-inquiry]) > .wp-block-group__inner-container { max-width: 40rem; margin-inline: auto; }
  .entry-content > .wp-block-group:has(form[data-inquiry]) .ls-card-icon { margin-bottom: 0; }
  .entry-content > .wp-block-group:has(form[data-inquiry]) .ls-card-icon img { width: 72px !important; }
  .schulung-form p { margin-bottom: 1rem; }
  .schulung-form :is(input, select, textarea) { min-width: 0; max-width: 100%; margin-bottom: 0; font-size: 1rem; line-height: 1.5; }
  .schulung-form input:not([type=checkbox]), .schulung-form select { min-height: 48px; }
  .schulung-form textarea { min-height: 144px; height: 144px; resize: vertical; }
  .schulung-form input[type=submit] { min-height: 52px; font-weight: 600; }
  .schulung-form .wpcf7-checkbox { display: grid; gap: .5rem; }
  .schulung-form .wpcf7-checkbox > br { display: none; }
  .schulung-form .wpcf7-list-item { display: flex; gap: .75rem; min-height: 48px; margin: 0; padding: 0 .75rem; border: 1px solid #d9e1e8; border-radius: 6px; }
  .schulung-form .wpcf7-list-item label { display: flex; align-items: center; align-self: stretch; flex: 1; padding-block: .625rem; cursor: pointer; }
  .schulung-form input[type=checkbox] { width: 22px; height: 22px; margin: 0; padding: 0; accent-color: #16538a; }
  .schulung-form .wpcf7-list-item:has(:checked) { border-color: #16538a; background: #eaf1f8; }
  .schulung-form .wpcf7-form-control-wrap > label.screen-reader-text {
    position: static !important;
    display: block;
    width: auto;
    height: auto;
    margin: 0 0 .35rem;
    clip: auto;
    clip-path: none;
    overflow: visible;
    font-size: .9375rem;
    font-weight: 600;
  }
  .ls-footer > .wp-block-group__inner-container { max-width: 44rem; margin-inline: auto; }
  .ls-footer p { margin-bottom: .5rem; }
  .ls-footer h6 { margin-bottom: .75rem; font-size: 1rem; }
  .ls-footer a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
}

/* On phones, open the app store directly instead of scanning a QR code. */
@media (max-width: 600px) {
  .ls-how-tools .wp-block-image:has(img[src*="LW_QR_"]) { display: none; }
  .ls-store-link { display: inline-flex; align-items: center; min-height: 48px; }
  .ls-how-tools .wp-block-column:has(> h3) h3 { margin-bottom: .5rem; font-size: 1.125rem; }
  .ls-how-tools .ls-card-icon, .ls-how-tools .ls-card-icon img { margin-block: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
