/* Homepage medium/mobile composition for the hero.
   From 920px down: hero is one dynamic viewport; copy, dots, finder sit at the
   bottom in separate rows so they do not overlap. Dots stay dots (not arrows).
   Custom listbox finder stays in home-search.js. This sheet loads after
   home-search.css so it can win the layout. */

@media (max-width: 920px) {
  body.home {
    margin: 0;
  }

  .option-three .o3-hero {
    height: 100vh !important;
    height: 100svh !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 20px;
    grid-template-rows: 76px minmax(0, 1fr) 40px auto;
  }

  .option-three .o3-hero-content {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    grid-column: 2;
    grid-row: 2;
    z-index: 3;
    align-self: start;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    margin-top: clamp(64px, 10svh, 110px) !important;
    padding-right: 0 !important;
    padding-bottom: 16px !important;
  }

  .o3-hero-actions .o3-text-action {
    display: none !important;
  }

  .o3-hero h1 {
    margin-bottom: 14px !important;
    font-size: var(--mv-text-h1, clamp(34px, 6vw, 48px)) !important;
    line-height: 1.02 !important;
  }

  .o3-hero .o3-kicker {
    margin-bottom: 10px;
  }

  .o3-hero-content > p:not(.o3-kicker) {
    margin-bottom: 14px !important;
    max-width: none;
    line-height: 1.45 !important;
  }

  .o3-hero-actions .o3-button {
    min-height: 44px;
    padding-inline: 18px;
  }

  .option-three .o3-hero-progress {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    grid-column: 2;
    grid-row: 3;
    z-index: 4;
    align-self: center;
    justify-self: start;
  }

  .option-three .o3-hero-controls {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    grid-column: 2;
    grid-row: 3;
    z-index: 4;
    align-self: center;
    justify-self: end;
  }

  .option-three .o3-search {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    grid-column: 2;
    grid-row: 4;
    z-index: 5;
    width: 100% !important;
    transform: none !important;
    margin-bottom: 20px;
  }
}

@media (max-width: 760px) {
  .option-three .o3-hero {
    grid-template-columns: 18px minmax(0, 1fr) 18px;
    grid-template-rows: 76px minmax(0, 1fr) 40px auto;
  }

  .option-three .o3-hero-content {
    align-self: end;
    justify-content: flex-end !important;
    margin-top: 0 !important;
    padding-bottom: clamp(34px, 5svh, 52px) !important;
  }

  .o3-hero h1 {
    font-size: var(--mv-text-h1, clamp(34px, 10vw, 38px)) !important;
  }

  .option-three .o3-search label {
    min-height: 56px;
    padding: 10px 16px !important;
    gap: 4px 12px;
  }

  .option-three .o3-search > .o3-button {
    min-height: 54px !important;
    height: 54px !important;
  }
}

@media (max-width: 760px) and (max-height: 720px) {
  .option-three .o3-hero {
    grid-template-rows: 68px minmax(0, 1fr) 36px auto;
  }

  .option-three .o3-hero-content {
    align-self: end;
    justify-content: flex-end !important;
    margin-top: 0 !important;
    padding-bottom: 6px !important;
  }

  .o3-hero h1 {
    margin-bottom: 10px !important;
    font-size: clamp(29px, calc(9vw - 3px), 32px) !important;
  }

  .o3-hero .o3-kicker {
    margin-bottom: 7px;
  }

  .o3-hero-content > p:not(.o3-kicker) {
    margin-bottom: 10px !important;
    font-size: 14px !important; /* experiment -3px: 11px */
    line-height: 1.38 !important;
  }

  .o3-hero-actions .o3-button {
    min-height: 40px;
  }

  .option-three .o3-search label {
    min-height: 48px;
    padding-block: 7px !important;
  }

  .option-three .o3-search > .o3-button {
    min-height: 48px !important;
    height: 48px !important;
  }
}

/* Desarrollos titles: stay readable in the 2-col mobile grid. */
@media (max-width: 920px) and (min-width: 681px) {
  .o3-deliveries > div:last-of-type > a > h3 {
    font-size: clamp(14px, 5.2vw, 27px) !important; /* experiment -3px: clamp(11px, calc(5.2vw - 3px), 24px) */
    line-height: 1.08 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    right: 12px;
    left: 14px;
  }
}
