/* ===== MOBILE TWEAKS ===== */
@media (max-width: 767px) {
  :root {
    --step-space-y: 24px;
    --step-section-gap: 20px;
    --step-action-gap: 16px;
  }


  /* Linhas de produto (Etapa 4) */
  .prod-row {
    padding: 14px;
  }

  .prod-img {
    width: 64px;
    height: 64px;
  }

  .qty-input {
    width: 42px;
    min-width: 42px;
  }

  /* Tela final (etapa 5) */
  .final-card {
    padding: 16px;
  }

  .fc-pay {
    font-size: 30px;
  }

  .fc-pay--rev {
    font-size: 22px;
  }

  .review-items-table td:not(:last-child) {
    padding-right: 10px;
  }

  .review-totals .rt-final .rt-val {
    font-size: 24px;
  }

  .wa-heading {
    margin: 32px 0 20px;
  }

  .chat-card {
    padding: 18px;
  }

  .review-actions {
    flex-direction: column-reverse;
  }

  .review-actions .btn {
    width: 100%;
  }

  @media (max-width: 500px) {
    .review-items-table th:nth-child(1) {
      width: 42%;
    }

    .review-items-table th:nth-child(2) {
      width: 28%;
    }

    .review-items-table th:nth-child(3) {
      width: 30%;
    }

    .review-product-name {
      overflow-wrap: anywhere;
      word-break: normal;
    }
  }

  /* Success */
  .success-content {
    padding: var(--step-action-gap) 0 0;
  }

  .success-summary .ss-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .success-summary .ss-val {
    text-align: left;
  }

  /* Form */
  .form-section-title {
    font-size: 19px;
  }

  .lgpd-label {
    font-size: 0.85rem;
    gap: 10px;
  }

  /* Footer */
  .site-footer {
    padding: 24px 20px;
    line-height: 1.8;
  }
}

/* Extra small screens (< 380px) */
@media (max-width: 379px) {
  :root {
    --step-space-y: 16px;
  }

  .container {
    padding-inline: 16px;
  }

  .qty-btn {
    width: 34px;
    height: 34px;
  }

  .qty-input {
    width: 38px;
    min-width: 38px;
    font-size: 0.88rem;
  }
}

/* ===== SHARED MOBILE TWEAKS ===== */
@media (max-width: 767px) {
  .acc-name {
    white-space: normal;
    font-size: 0.88rem;
  }

  .acc-header {
    padding: 12px 14px;
    gap: 8px;
  }

  .badge-best {
    font-size: 0.6rem;
    padding: 2px 6px;
  }

  .badge-separator {
    font-size: 0.6rem;
  }

  .badge-priority {
    font-size: 0.6rem;
    padding: 2px 6px;
  }
}

@media (max-width: 535px) {
  .acc-badges-desktop {
    display: none;
  }

  .acc-badges-mobile {
    display: block;
  }

  .acc-badges-row {
    padding: 0 14px 10px 42px;
  }

  .acc-item.highlight .acc-header {
    padding-bottom: 0;
  }
}

@media (max-width: 379px) {
  .acc-header {
    padding: 10px 12px;
  }

  .acc-name {
    font-size: 0.82rem;
  }
}