/* ==========================================================================
   responsive.css — SOMENTE MEDIA QUERIES (SITE + APP, SEM CONFLITO)
   REGRA: NADA fora de @media
   ========================================================================== */

/* =========================================================
   1) SITE / LANDING (até 768px)
   ========================================================= */
@media (max-width: 768px){

  body.site-page .main-container,
  body:not(.app-page) .main-container{
    flex-direction: column;
    align-items: center;
    padding: 16px 8px;
  }

  body.site-page .top-bar,
  body:not(.app-page) .top-bar{
    font-size: 14px;
    padding: 10px 12px;
  }

  body.site-page .image-column img,
  body:not(.app-page) .image-column img{
    max-width: 90%;
    margin: 0 auto;
  }

  body.site-page .features,
  body:not(.app-page) .features{
    flex-direction: column;
  }

  body.site-page .hero,
  body:not(.app-page) .hero{
    padding: 18px 10px;
    gap: 18px;
  }

  body.site-page .hero-title,
  body:not(.app-page) .hero-title{
    font-size: 22px;
  }

  body.site-page .hero-actions,
  body:not(.app-page) .hero-actions{
    justify-content: center;
  }

  body.site-page .btn-primary,
  body.site-page .btn-secondary,
  body:not(.app-page) .btn-primary,
  body:not(.app-page) .btn-secondary{
    width: 92%;
  }

  body.site-page .garantia-conteudo,
  body:not(.app-page) .garantia-conteudo{
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  body.site-page .img-garantia img,
  body:not(.app-page) .img-garantia img{
    margin-right: 0;
    margin-bottom: 20px;
    max-width: 250px;
  }

  body.site-page .package-column,
  body:not(.app-page) .package-column{
    width: 92%;
    max-width: 380px;
  }

  body.site-page .package-image img,
  body:not(.app-page) .package-image img{
    height: 160px;
  }

  body.site-page .container-final,
  body:not(.app-page) .container-final{
    flex-direction: column;
    text-align: center;
  }

  body.site-page .ano-marca,
  body.site-page .notice,
  body:not(.app-page) .ano-marca,
  body:not(.app-page) .notice{
    text-align: center;
  }
}

/* =========================================================
   2) APP — MENU (DESKTOP >= 980px) abre overlay no clique
   ========================================================= */
@media (min-width: 980px){

  body.app-page .burger{
    display: flex;
  }

  body.app-page .sidebar{
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 300px;
    max-width: 86vw;
    background: var(--cor-branco);
    transform: translateX(-110%);
    transition: var(--transition);
    border-radius: 0;
    margin: 0;
    z-index: calc(var(--z-topbar) + 10);
  }

  body.app-page .sidebar.open{
    transform: translateX(0);
  }

  body.app-page .backdrop{
    display: none;
  }

  body.app-page .backdrop.open{
    display: block;
  }

  body.app-page .page{
    max-width: var(--container-wide);
    padding-left: 0;
  }

  body.app-page .sidebar-close{
    display: inline-flex;
  }
}

/* =========================================================
   3) APP — TABLET/MOBILE (<=980px)
   ========================================================= */
@media (max-width: 980px){

  body.app-page .page-layout{
    display: block;
  }

  body.app-page .page-main{
    width: 100%;
  }

  body.app-page .grid-2{
    display: block;
  }

  body.app-page .two-col{
    flex-direction: column;
  }

  body.app-page .col-side{
    width: 100%;
  }

  body.app-page .client-topbar{
    flex-wrap: wrap;
    gap: 10px;
  }

  body.app-page .title-wrap{
    width: 100%;
  }

  body.app-page .top-actions,
  body.app-page .actions{
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  body.app-page .table-wrap{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.app-page .table{
    min-width: 720px;
  }
}

/* =========================================================
   4) APP — MOBILE (<=700px)
   ========================================================= */
@media (max-width: 700px){

  body.app-page .col-12,
  body.app-page .col-9,
  body.app-page .col-6,
  body.app-page .col-5,
  body.app-page .col-4,
  body.app-page .col-3,
  body.app-page .col-2{
    width: 100%;
  }

  body.app-page .card-page{
    padding: 14px;
  }

  body.app-page .page-title{
    font-size: 22px;
  }

  body.app-page .pill-row{
    flex-wrap: wrap;
    gap: 8px;
  }

  body.app-page .btn-block{
    width: 100%;
  }
}


