/* ============================================
   CIVIC CMS BRASIL — Responsive
   ============================================ */

/* ---- Small screens (< 480px) ---- */
@media (max-width: 479px) {
  .hero {
    min-height: auto;
    padding: calc(var(--header-height) + var(--space-8)) 0 var(--space-8);
  }

  .hero__container {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .hero__content {
    max-width: 100%;
    text-align: center;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero__actions {
    flex-direction: column;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .hero__trust {
    justify-content: center;
    gap: var(--space-4);
  }

  .hero__visual,
  .hero--inner .hero__image {
    order: 2;
  }

  .hero__floating-card {
    display: none;
  }

  .hero__image-wrapper {
    border-radius: var(--radius-xl);
  }

  .hero__img {
    border-radius: var(--radius-xl);
  }

  .hero--inner .hero__image img {
    border-radius: var(--radius-xl);
  }

  .two-col {
    grid-template-columns: 1fr;
  }

  .two-col__image {
    order: -1;
  }

  .cta-banner {
    padding: var(--space-8) var(--space-4);
    border-radius: var(--radius-xl);
  }

  .cta-banner__actions {
    flex-direction: column;
  }

  .cta-banner__actions .btn {
    width: 100%;
  }

  .footer__bottom {
    text-align: center;
  }

  .trust-bar__list {
    gap: var(--space-4);
  }

  .stats {
    gap: var(--space-4);
  }
}

/* ---- Medium screens (480px - 767px) ---- */
@media (min-width: 480px) and (max-width: 767px) {
  .hero {
    min-height: auto;
    padding: calc(var(--header-height) + var(--space-10)) 0 var(--space-10);
  }

  .hero__container {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .hero__content {
    max-width: 100%;
    text-align: center;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero__actions {
    justify-content: center;
  }

  .hero__trust {
    justify-content: center;
  }

  .hero__visual,
  .hero--inner .hero__image {
    order: 2;
    max-width: 480px;
    margin: 0 auto;
  }

  .hero__floating-card {
    display: none;
  }

  .two-col {
    grid-template-columns: 1fr;
  }

  .two-col__image {
    order: -1;
  }
}

/* ---- Tablet (768px+) ---- */
@media (min-width: 768px) {
  :root {
    --container-padding: var(--space-6);
  }

  .section {
    padding-top: var(--space-20);
    padding-bottom: var(--space-20);
  }

  .section--lg {
    padding-top: var(--space-24);
    padding-bottom: var(--space-24);
  }

  .hero {
    padding-top: calc(var(--header-height) + var(--space-20));
    padding-bottom: var(--space-20);
    min-height: 520px;
  }

  .hero__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

  .hero__floating-card {
    display: flex;
    font-size: 0.7rem;
    padding: 6px 10px;
  }

  .hero__floating-card--1 { top: 5%; right: -3%; }
  .hero__floating-card--2 { top: 35%; left: -6%; }
  .hero__floating-card--3 { bottom: 28%; right: -2%; }
  .hero__floating-card--4 { bottom: 6%; left: -3%; }
  .hero__floating-card--5 { top: 15%; left: 10%; }

  .form__row--2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .timeline {
    padding-left: var(--space-12);
  }
}

/* ---- Desktop (1024px+) ---- */
@media (min-width: 1024px) {
  :root {
    --container-padding: var(--space-8);
  }

  .section {
    padding-top: var(--space-24);
    padding-bottom: var(--space-24);
  }

  .section--lg {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }

  .hero {
    padding-top: calc(var(--header-height) + var(--space-24));
    padding-bottom: var(--space-24);
    min-height: 580px;
  }

  .hero__container {
    grid-template-columns: 45fr 55fr;
    gap: var(--space-10);
  }

  .hero__floating-card {
    font-size: var(--text-xs);
    padding: var(--space-2) var(--space-3);
  }

  .hero__floating-card--1 { top: 8%; right: -5%; }
  .hero__floating-card--2 { top: 38%; left: -8%; }
  .hero__floating-card--3 { bottom: 30%; right: -3%; }
  .hero__floating-card--4 { bottom: 8%; left: -5%; }
  .hero__floating-card--5 { top: 18%; left: 15%; }

  .hero--inner {
    padding-top: calc(var(--header-height) + var(--space-12));
    padding-bottom: var(--space-12);
  }
}

/* ---- Large desktop (1200px+) ---- */
@media (min-width: 1200px) {
  .container {
    max-width: var(--max-content);
  }
}

/* ---- Print ---- */
@media print {
  .hero {
    background: none;
    color: #000;
    padding: 0;
    min-height: auto;
  }

  .hero::before,
  .hero::after,
  .hero__bg {
    display: none;
  }

  .hero__title {
    color: #000;
    font-size: 24pt;
  }

  .hero__title span {
    -webkit-text-fill-color: #000;
    color: #000;
  }

  .hero__text {
    color: #333;
  }

  .hero__actions,
  .hero__trust,
  .hero__badge {
    display: none;
  }

  .hero__container {
    display: block;
  }

  .hero__visual,
  .hero--inner .hero__image {
    margin-top: 1rem;
  }

  .hero--inner .hero__image img {
    box-shadow: none;
    border: 1px solid #ccc;
  }

  .hero__floating-card,
  .hero__image-glow {
    display: none;
  }

  .hero__img {
    box-shadow: none;
    border: 1px solid #ccc;
  }

  .header {
    position: static;
    background: none;
    backdrop-filter: none;
    border: none;
  }

  .footer {
    background: none;
    color: #000;
    border-top: 1px solid #ccc;
    padding: 1rem 0;
  }

  .footer__logo img {
    filter: none;
  }

  .footer__logo-text,
  .footer__column-title {
    color: #000;
  }

  .footer__link,
  .footer__description,
  .footer__contact-item {
    color: #333;
  }

  .whatsapp-float,
  .scroll-top {
    display: none;
  }

  .section--bg-dark,
  .section--bg-primary,
  .section--bg-primary-dark {
    background: none;
    color: #000;
  }

  .card--dark {
    background: none;
    border: 1px solid #ccc;
  }

  .card--dark .card__title,
  .card--dark .card__text {
    color: inherit;
  }
}
