/* Sirius — Mobile First Fixes
   Carregado em todas as páginas após o CSS por rota.
   Corrige problemas de UX mobile sem alterar o CSS minificado original. */

/* ===== PÁGINA QUEM SOMOS — banner azul sem imagem ===== */
main.page-about-wrapper div.banner div.banner-bg {
  background-image: none !important;
  background-color: #0f5bbc !important;
  padding: 30px 30px !important;
}
main.page-about-wrapper div.banner div.banner-bg h1 {
  color: #fff !important;
  text-align: center !important;
}
main.page-about-wrapper div.banner div.banner-bg::after {
  display: none !important;
}

/* ===== BASE ===== */
body { overflow-x: hidden; -webkit-overflow-scrolling: touch; }

/* Previne zoom automático do iOS em campos de formulário (font-size < 16px dispara zoom) */
@media (max-width: 767px) {
  input:not([type="hidden"]), select, textarea, .form-control {
    font-size: 16px !important;
  }
}

/* ===== WHATSAPP FLOAT — suporte a safe-area do iOS (notch / home indicator) ===== */
.whatsapp-float {
  bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 16px));
  right: max(24px, calc(env(safe-area-inset-right, 0px) + 16px));
}

/* ===== COOKIES BANNER ===== */

/* Banner oculto por padrão — original usa -100px mas no mobile o banner
   é mais alto que isso, fazendo o topo vazar. Sobrepomos a base com -600px
   e garantimos que .open (especificidade maior) traga de volta a 0. */
div.cookies {
  bottom: -600px !important;
}
div.cookies.open {
  bottom: 0 !important;
}

@media (max-width: 767px) {
  div.cookies {
    padding: 14px 15px max(20px, env(safe-area-inset-bottom, 0px)) !important;
  }
  div.cookies p {
    max-width: 100% !important;
    font-size: 13px !important;
    margin: 0 0 12px !important;
    line-height: 1.5 !important;
  }
  /* Botão fora da <p>: bloco full-width, touch target 48px */
  div.cookies button.cookies-accept {
    display: block !important;
    width: 100% !important;
    padding: 14px 8px !important;
    font-size: 15px !important;
    min-height: 48px !important;
    margin: 0 !important;
  }
}

/* ===== HEADER / NAVEGAÇÃO =====
   Breakpoint 991px = navbar-expand-lg do Bootstrap (não 767px).
   O menu colapsa abaixo de 992px, então as correções mobile precisam
   cobrir toda essa faixa. */
@media (max-width: 991px) {
  /* Bootstrap .align-items-center no <ul> centraliza itens em coluna —
     override para alinhar à esquerda como padrão de menu mobile */
  header#header .navbar-collapse .navbar-nav {
    align-items: flex-start !important;
  }

  /* Links do menu principal (têm classe nav-link) */
  header#header .navbar-nav .nav-link {
    padding: 12px 15px !important;
    font-size: 15px !important;
  }

  /* "Área do Parceiro" — <a> sem classe nav-link */
  header#header .navbar-nav li.nav-item > a:not(.nav-link):not(.dropdown-item) {
    display: block !important;
    padding: 12px 15px !important;
    font-size: 15px !important;
  }

  /* Carrinho + Comprar: mesma linha, carrinho esq / Comprar dir */
  header#header .navbar-nav.align-items-center {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 6px 15px !important;
    border-top: 1px solid rgba(0,0,0,.08);
    margin-top: 4px !important;
  }
  /* Carrinho vai para a esquerda */
  header#header .navbar-nav.align-items-center li:not(.highlight) {
    order: 1 !important;
  }
  /* Comprar vai para a direita */
  header#header .navbar-nav.align-items-center li.highlight {
    order: 2 !important;
    margin: 0 !important;
  }
  header#header .navbar-nav li.highlight > a {
    display: inline-block !important;
    border-radius: 10px !important;
    padding: 10px 24px !important;
    margin-left: 0 !important;
  }
  header#header span.cart {
    display: inline-block !important;
    margin: 0 !important;
  }
}

/* ===== PÁGINA SOBRE (about) ===== */
@media (max-width: 767px) {
  main.page-about-wrapper div.banner div.banner-bg h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
  main.page-about-wrapper div.banner div.banner-bg {
    padding: 40px 15px !important;
  }
  main.page-about-wrapper div.content p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  main.page-about-wrapper div.content h3 {
    font-size: 20px !important;
    text-align: center !important;
  }
  main.page-about-wrapper div.highlight p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  main.page-about-wrapper div.highlight {
    padding: 60px 0 !important;
  }
  main.page-about-wrapper div.content a {
    display: block !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
  }
}

/* ===== PÁGINA SUPORTE ===== */
@media (max-width: 767px) {
  main.page-support-wrapper div.banner div.banner-bg {
    padding: 40px 15px 50px !important;
  }
  main.page-support-wrapper div.banner div.banner-bg h2.title {
    font-size: 26px !important;
  }
  main.page-support-wrapper div.banner div.banner-bg ul.services {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 20px 0 !important;
    padding: 0 !important;
  }
  main.page-support-wrapper div.banner div.banner-bg ul.services li {
    flex: 0 0 calc(50% - 10px) !important;
    margin: 0 !important;
    padding: 20px 15px !important;
    box-sizing: border-box !important;
  }
  main.page-support-wrapper div.form form textarea {
    height: 120px !important;
    min-height: 120px !important;
  }
  main.page-support-wrapper div.form form {
    padding: 20px !important;
  }
  main.page-support-wrapper div.content {
    padding: 30px 0 !important;
  }
}

/* ===== PÁGINA PARCERIAS ===== */
@media (max-width: 767px) {
  main.page-partnerships-wrapper div.banner div.banner-bg {
    padding: 40px 15px 220px !important;
  }
  main.page-partnerships-wrapper div.banner div.banner-bg p {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  main.page-partnerships-wrapper div.banner div.banner-bg p strong {
    font-size: 14px !important;
    margin-bottom: 4px !important;
  }
  main.page-partnerships-wrapper div.form form textarea {
    height: 120px !important;
    min-height: 120px !important;
  }
  main.page-partnerships-wrapper div.form form {
    padding: 20px !important;
  }
}

/* ===== PÁGINAS DE CERTIFICADO (PF / PJ) ===== */
@media (max-width: 767px) {
  main.page-certificate-wrapper div.banner div.banner-bg h2 {
    font-size: 26px !important;
    padding: 0 15px !important;
    text-align: center !important;
  }
  main.page-certificate-wrapper div.content {
    padding: 30px 0 !important;
  }
  main.page-certificate-wrapper div.content p {
    font-size: 14px !important;
  }
  main.page-certificate-wrapper div.content a.buy-now {
    font-size: 16px !important;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 14px 20px !important;
  }
}

/* ===== PÁGINA COMPRAR ===== */
@media (max-width: 767px) {
  main.page-purchase-wrapper div.banner div.banner-bg h1,
  main.page-purchase-wrapper div.banner div.banner-bg h2 {
    font-size: 20px !important;
    line-height: 1.4 !important;
    padding: 0 15px !important;
  }
  main.page-purchase-wrapper div.purchase-steps div.step-item {
    margin-bottom: 20px !important;
  }
  main.page-purchase-wrapper div.cert-types h3 {
    font-size: 20px !important;
    text-align: center !important;
    margin-top: 20px !important;
  }
  main.page-purchase-wrapper div.cert-types p {
    font-size: 14px !important;
    text-align: center !important;
  }
}

/* ===== HOME PAGE ===== */
@media (max-width: 767px) {
  main.page-home-wrapper div.banner div.banner-bg a {
    display: block !important;
    text-align: center !important;
    margin: 0 15px 15px !important;
  }
  main.page-home-wrapper div.banner div.banner-bg h1 {
    font-size: 26px !important;
  }
  main.page-home-wrapper div.purchase-steps div.step-item {
    margin-bottom: 20px !important;
  }
  main.page-home-wrapper div.store h2 {
    font-size: 26px !important;
  }
  main.page-home-wrapper div.store p {
    font-size: 15px !important;
  }
}

/* ===== CHECKOUT ===== */
@media (max-width: 767px) {
  /* Tabela de resumo de produtos: overflow para não vazar da tela */
  div.page-checkout-wrapper div.products-preview {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Cabeçalhos da tabela: 12px → 13px */
  div.page-checkout-wrapper table.products thead tr th,
  div.page-checkout-wrapper div.products-preview table.products thead tr th {
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  /* Info do produto (valid-until): 12px → 13px */
  div.page-checkout-wrapper div.products-preview table.products tbody tr td .info p.valid-until {
    font-size: 13px !important;
  }

  /* Preço: 13px → 14px */
  div.page-checkout-wrapper table.products tbody tr td:nth-child(4) p.price,
  div.page-checkout-wrapper div.products-preview table.products tbody tr td:nth-child(4) p.price {
    font-size: 14px !important;
  }

  /* Labels do cartão de crédito: 10px → 13px (crítico) */
  div.page-checkout-wrapper form .block_pagamento .tab_itens .credit-card label {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* Título de seção */
  div.page-checkout-wrapper .block_title {
    font-size: 15px !important;
  }

  /* Botão de submissão */
  div.page-checkout-wrapper form button[type="submit"],
  div.page-checkout-wrapper form input[type="submit"] {
    min-height: 52px !important;
    width: 100% !important;
    font-size: 16px !important;
  }
}

/* ===== PAYMENT ===== */
@media (max-width: 767px) {
  div.page-payment-wrapper div.products-preview {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  div.page-payment-wrapper table.products thead tr th,
  div.page-payment-wrapper div.products-preview table.products thead tr th {
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  div.page-payment-wrapper div.products-preview table.products tbody tr td .info p.valid-until {
    font-size: 13px !important;
  }
  div.page-payment-wrapper table.products tbody tr td:nth-child(4) p.price,
  div.page-payment-wrapper div.products-preview table.products tbody tr td:nth-child(4) p.price {
    font-size: 14px !important;
  }
  div.page-payment-wrapper form .block_pagamento .tab_itens .credit-card label {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  div.page-payment-wrapper .block_title {
    font-size: 15px !important;
  }
  div.page-payment-wrapper form button[type="submit"],
  div.page-payment-wrapper form input[type="submit"] {
    min-height: 52px !important;
    width: 100% !important;
    font-size: 16px !important;
  }
}

/* ===== FOOTER ===== */
@media (max-width: 767px) {
  footer#footer div.main {
    padding: 30px 0 10px !important;
  }
  footer#footer div.main .col-md-2 {
    margin-bottom: 20px;
  }
  footer#footer div.main ul {
    padding-left: 0 !important;
  }
  footer#footer div.main ul li a {
    font-size: 14px !important;
    line-height: 2 !important;
  }
  footer#footer div.main p.footer-heading {
    margin-top: 10px !important;
    font-size: 15px !important;
  }
}

/* ===== FORMULÁRIOS GLOBAIS ===== */
@media (max-width: 767px) {
  .form-item {
    margin-bottom: 12px !important;
  }
  select.form-control {
    -webkit-appearance: menulist !important;
    height: 50px !important;
  }
  main.page-support-wrapper div.form form button,
  main.page-partnerships-wrapper div.form form button {
    min-height: 52px !important;
    width: 100% !important;
  }
}

/* ===== CARRINHO DE COMPRAS ===== */

/* Ícone Excluir (fa-xmark) — área de toque e tamanho legível */
div.page-cart-wrapper table.products a.btn-delete {
  font-size: 20px !important;
  padding: 6px 8px !important;
  display: inline-block !important;
}

/* Ícone Continuar Comprando (fa-store) */
div.page-cart-wrapper table.products a.btn-continue {
  font-size: 14px !important;
}
div.page-cart-wrapper table.products a.btn-continue i {
  font-size: 16px;
  margin-right: 4px;
}

/* Ícone Esvaziar Carrinho (fa-trash) */
div.page-cart-wrapper table.products a.btn-clear-cart {
  font-size: 14px !important;
}
div.page-cart-wrapper table.products a.btn-clear-cart i {
  font-size: 16px;
  margin-right: 4px;
}

/* Botão "Finalizar Pedido" — maior em todos os tamanhos */
div.page-cart-wrapper aside a.btn-finish {
  height: 52px !important;
  font-size: 16px !important;
  border-radius: 10px !important;
  margin-top: 16px !important;
  letter-spacing: 0.5px !important;
}

@media (max-width: 767px) {
  /* Aside fica abaixo dos produtos (ordem natural do Bootstrap) */
  div.page-cart-wrapper .col-md-4 {
    margin-top: 24px;
  }

  /* Botões +/- : touch target confortável sem estourar a tabela */
  div.page-cart-wrapper table.products > tbody > tr > td div.quantity button {
    height: 40px !important;
    width: 36px !important;
    font-size: 18px !important;
    border-radius: 4px !important;
  }
  div.page-cart-wrapper table.products > tbody > tr > td div.quantity input {
    height: 40px !important;
    max-width: 36px !important;
    font-size: 16px !important;
  }

  /* Delete: padding mínimo no mobile para não vazar */
  div.page-cart-wrapper table.products a.btn-delete {
    padding: 6px 2px !important;
  }

  /* Tfoot: Esvaziar esq / Loja dir — mesma linha */
  div.page-cart-wrapper table.products > tfoot {
    display: block !important;
    width: 100% !important;
  }
  div.page-cart-wrapper table.products > tfoot > tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 8px 0 !important;
  }
  div.page-cart-wrapper table.products > tfoot > tr > td {
    border-bottom: none !important;
    padding: 6px 4px !important;
  }
}
