/* Mobile refinements are isolated from the approved desktop and result layouts. */
@media screen {
  .hd-v21-page .hd-v21-mobile-copy,
  .hd-v21-page .hd-v21-mobile-signature,
  .hd-v21-page .hd-v21-status-spiral { display: none; }
}

@media screen and (max-width: 760px) {
  .hd-v21-page .hd-landing-hero__lead,
  .hd-v21-page .hd-v21-desktop-copy,
  .hd-v21-page .hd-v21-result-time { display: none; }

  .hd-v21-page .hd-v21-mobile-copy { display: inline; }
  .hd-v21-page .hd-v21-mobile-signature {
    display: block;
    position: relative;
    margin: 16px 0 0;
    padding: 0 8px 7px 0;
    color: var(--v10-red-dark);
    font: 400 clamp(42px, 12vw, 50px)/1.2 "Manchester", var(--hd-serif);
    text-align: right;
    transform: rotate(-4deg);
    transform-origin: right center;
  }

  .hd-v21-page .hd-generator__form {
    padding: 20px 18px;
    gap: 16px;
  }
  .hd-v21-page .hd-generator__form-intro {
    padding-bottom: 16px;
    margin-bottom: 0;
  }
  .hd-v21-page .hd-generator__form-intro h2 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(28px, 8vw, 32px);
    line-height: 1.12;
    text-wrap: balance;
  }
  .hd-v21-page .hd-generator__form-intro > p:not(.hd-v18-form-status) {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.55;
  }
  .hd-v21-page .hd-generator__form-intro .hd-v21-mobile-copy strong {
    font-weight: 600;
    color: var(--v10-wine);
  }
  .hd-v21-page .hd-v18-form-status {
    gap: 8px;
    margin-bottom: 12px !important;
  }
  .hd-v21-page .hd-v18-form-status::before { display: none; }
  .hd-v21-page .hd-v21-status-spiral {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: var(--v10-red);
  }
  .hd-v21-page .hd-generator__field { min-width: 0; gap: 6px; }
  .hd-v21-page .hd-generator__field > label {
    font-size: 11px;
    letter-spacing: .065em;
    line-height: 1.4;
  }
  .hd-v21-page .hd-generator__field input:not([type="hidden"]),
  .hd-v21-page .hd-generator__field select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 48px;
    min-height: 48px;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.3;
    box-sizing: border-box;
  }
  .hd-v21-page .hd-generator__field input::-webkit-datetime-edit { min-width: 0; padding: 0; }
  .hd-v21-page .hd-generator__field input::-webkit-date-and-time-value { min-height: 1.3em; text-align: left; }
  .hd-v21-page .hd-city-picker { min-width: 0; max-width: 100%; }
  .hd-v21-page .hd-generator__field small,
  .hd-v21-page .hd-generator__privacy { font-size: 12px; line-height: 1.5; }
  .hd-v21-page #hdHora + small { display: none; }
  .hd-v21-page .hd-generator__consent { gap: 10px; font-size: 12px; line-height: 1.5; }
  .hd-v21-page .hd-generator__submit { min-height: 50px; padding: 12px; }
}

@media screen and (max-width: 480px) {
  .hd-v21-page .hd-generator__form { grid-template-columns: minmax(0, 1fr); }
  .hd-v21-page .hd-generator__field--birth { grid-column: 1 / -1; }
}

@media screen and (max-width: 359px) {
  .hd-v21-page .hd-generator__form { padding-inline: 16px; }
}
