/* Long forms must remain usable without scroll-reveal thresholds. */
.whatsapp-channel-note { margin:.25rem 0 .65rem !important; color:#0f3b7a !important; line-height:1.45 !important; }
.form-container {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
/* Equal-height service cards keep their actions aligned across each row. */
.card.h-100 > .btn:last-child {
  margin-top: auto !important;
  white-space: normal;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.card.h-100 > p:last-of-type { margin-bottom: 24px; }
/* Once the report form stacks, its desktop equal-height labels and helper
   boxes must grow with their text instead of shrinking the mobile type. */
@media (max-width: 760px) {
  #report-service #reportModernForm .form-label {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
  #report-service #reportModernForm #reportPagesField .form-label,
  #report-service #reportModernForm #reportWordsField .form-label {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  #report-service #reportModernForm .form-control,
  #report-service #reportModernForm #reportCountrySelect {
    font-size: 1rem !important;
  }
  #report-service #reportModernForm .report-custom-select,
  #report-service #reportModernForm .report-custom-select__trigger {
    height: auto !important;
    min-height: 58px !important;
    max-height: none !important;
  }
  #report-service #reportModernForm .report-custom-select__value strong,
  #report-service #reportModernForm .report-custom-select__option strong {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
  #report-service #reportModernForm .report-custom-select__value small,
  #report-service #reportModernForm .report-custom-select__option small {
    font-size: .875rem !important;
    line-height: 1.4 !important;
  }
  #report-service #reportModernForm #reportPagesHelp,
  #report-service #reportModernForm #reportWordsHelp {
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
    font-size: .875rem !important;
    line-height: 1.5 !important;
  }
  #report-service #reportModernForm .turnitin-only-tag { font-size: .75rem !important; }
  #report-service .report-result-notice strong { font-size: 1rem !important; }
  #report-service .report-result-notice small { font-size: .875rem !important; line-height: 1.5 !important; }
}
/* Keep every navigation link inside the available width, including tablets. */
.navbar .navbar-collapse { min-width: 0; }
.navbar .navbar-nav {
  max-width: 100%;
  gap: .25rem .5rem;
}
.navbar .navbar-nav .nav-link { line-height: 1.35; white-space: normal; }
@media (min-width: 992px) {
  .navbar .navbar-nav { flex-wrap: wrap; justify-content: center; }
  .navbar .navbar-brand { margin-right: 0; }
}
@media (max-width: 991.98px) {
  /* The sticky header must not trap the last links below a short viewport. */
  .navbar .navbar-collapse.show {
    max-height: calc(100vh - 100px);
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .navbar .navbar-nav .nav-link { min-height: 44px; }
}
@media (max-width: 575px) {
  /* This section is itself the container, so the generic mobile section reset
     must not remove the reading gutters. */
  section#condiciones-reportes.container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .navbar .navbar-brand {
    min-width: 0;
    max-width: calc(100% - 64px);
    margin-right: .5rem;
    gap: .5rem;
    white-space: normal;
    overflow-wrap: break-word;
  }
  .navbar .navbar-brand img { flex-shrink: 0; }
  .navbar .navbar-toggler { flex-shrink: 0; }
}
.accordion-button {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-right: 3.25rem;
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
}
.accordion-button::after {
  position: absolute;
  right: 1.25rem;
  top: calc(50% - .625rem);
  margin-left: 0;
}
@media (max-width: 575px) {
  .accordion-button { font-size: 1rem; line-height: 1.45; padding: 1rem 3rem 1rem 1rem; }
  .accordion-body { padding: 1rem; overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  /* Reduce the visual gap between regional links and the footer on narrow screens. */
  .geo-service-links { padding-bottom: 1rem !important; }
  .geo-service-links + .site-footer-modern { padding-top: 16px !important; }
  /* Keep contact available without placing a message balloon over the text. */
  .wa-fab .wa-msg { display: none !important; }
  .wa-fab .wa-btn { width: 52px !important; height: 52px !important; animation: none !important; }
  .site-footer-modern { padding-top: 24px !important; }
}
