/* Global responsive helpers for DIAN flow pages */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

table {
  width: 100%;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

input, select, textarea, button {
  max-width: 100%;
}

select {
  background-position: right 0.75rem center;
}

.container, .content-wrapper, .main-card, .card-container, .panel {
  width: 100%;
}

@media (max-width: 992px) {
  .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  .main-card,
  .card-container,
  .panel {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .row {
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  .row > [class*='col-'] {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .btn,
  .btn-confirm,
  .btn-pay,
  button,
  input[type='submit'] {
    min-height: 46px;
  }

  .payment-method {
    min-height: 64px;
  }
}

@media (max-width: 576px) {
  .header-main,
  .dian-header,
  .header-top {
    padding: 10px 12px !important;
  }

  .logo-container {
    gap: 10px !important;
  }

  .logo-container img,
  .dian-header img,
  .header-top img {
    max-height: 40px;
  }

  h1, .page-title {
    font-size: 1.35rem !important;
    line-height: 1.2;
  }

  .page-subtitle,
  .subtitle,
  small,
  .text-muted {
    font-size: 0.9rem !important;
  }

  select[size] {
    max-height: 220px;
  }
}
