/* Mobile — Dama de Ouro (touch, safe areas, layout fluido) */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Espaço lateral padrão no celular (não encostar na borda) */
:root {
  --page-gutter: 16px;
}
@media (min-width: 640px) {
  :root { --page-gutter: 40px; }
}
@media (max-width: 639px) {
  .wrap,
  header.site .wrap,
  .tips-section > .wrap,
  .auth-section > .wrap,
  .testimonials-section > .wrap,
  .cat-shop-section > .wrap,
  .feature-banners.wrap,
  .news-section.wrap,
  #novidades.wrap,
  .section.wrap,
  .foot-top > .wrap,
  .foot-lower > .wrap,
  .product-page .wrap,
  main#productRoot.shop-mode .shop-inner {
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
    box-sizing: border-box;
  }
  .hero-inner.wrap {
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
  }
  .grid,
  .feature-banners-grid,
  .testimonials-grid,
  .tips-grid,
  .auth-grid,
  .cat-strip {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Safe area (iPhone notch / barra inferior) */
@supports (padding: env(safe-area-inset-bottom)) {
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
  @media (min-width: 960px) {
    body { padding-bottom: env(safe-area-inset-bottom); }
  }
  nav.bottom-nav {
    padding-bottom: calc(6px + env(safe-area-inset-bottom));
    height: calc(64px + env(safe-area-inset-bottom));
  }
  .cookie-banner {
    bottom: calc(84px + env(safe-area-inset-bottom));
  }
  .float-actions {
    bottom: calc(84px + env(safe-area-inset-bottom));
  }
  @media (min-width: 960px) {
    .float-actions { bottom: calc(26px + env(safe-area-inset-bottom)); }
    .cookie-banner { bottom: calc(20px + env(safe-area-inset-bottom)); }
  }
  .drawer {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* Áreas de toque mínimas */
@media (max-width: 959px) {
  .icon-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .close-btn {
    min-width: 44px;
    min-height: 44px;
  }
  nav.bottom-nav .bn-item {
    min-height: 48px;
    padding: 8px 4px;
  }
  .wp-btn {
    min-height: 42px;
    padding: 10px 14px;
  }
  .btn, .card-add, button.frete-opt {
    min-height: 44px;
  }
  .cat-bar-item {
    min-height: 44px;
  }
  nav.desktop-nav a,
  .nav-dd > button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* Drawer / modais em tela cheia no mobile */
@media (max-width: 759px) {
  .drawer {
    width: 100% !important;
    max-width: 100%;
  }
  .site-drawer {
    width: 100% !important;
    max-width: 100%;
  }
  .qv-panel {
    max-height: 100vh;
    max-height: 100dvh;
    border-radius: 14px 14px 0 0 !important;
  }
  .login-card {
    max-width: calc(100vw - 24px);
    margin: 12px;
  }
  .promo-card {
    max-width: calc(100vw - 24px);
  }
  .account-panel,
  .track-panel {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
  }
}

/* Admin responsivo */
@media (max-width: 879px) {
  .admin-app.show {
    flex-direction: column;
  }
  .admin-sidebar {
    width: 100%;
    max-height: none;
    flex: 0 0 auto;
  }
  .admin-sidebar:not(.nav-open) .admin-nav {
    display: none;
  }
  .admin-main {
    flex: 1;
    min-height: 0;
  }
  .admin-content {
    padding: 12px 14px;
  }
  .admin-topbar {
    padding: 12px 14px;
    gap: 10px;
  }
  .admin-topbar h1 {
    font-size: 17px;
    flex: 1 1 100%;
  }
  .admin-topbar-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .admin-search,
  .admin-cat-filter {
    max-width: none;
    min-width: 0;
    width: 100%;
  }
  .admin-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .admin-form-layout {
    grid-template-columns: 1fr !important;
  }
  .form-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-card-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .admin-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .admin-actions .wp-btn {
    width: 100%;
  }
  .admin-table .row-actions {
    flex-wrap: wrap;
  }
}

/* Dimensões da embalagem no admin */
.pack-dims-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.pack-dims-row input {
  width: 100%;
  min-width: 0;
}
@media (max-width: 420px) {
  .pack-dims-row {
    grid-template-columns: 1fr;
  }
}

/* Loja / produto — sidebar vira scroll horizontal */
@media (max-width: 979px) {
  .shop-sidebar {
    padding: 14px 12px;
  }
  .cat-list {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .cat-list::-webkit-scrollbar {
    display: none;
  }
  .cat-list a {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 10px 14px;
    border: 1px solid var(--line, rgba(13,15,12,.14));
    border-radius: 999px;
    font-size: 12.5px;
  }
  .product-page {
    padding-top: 16px;
  }
  .actions {
    flex-direction: column;
  }
  .actions .btn {
    width: 100%;
  }
  .frete-row {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .frete-row input {
    width: 148px;
    max-width: calc(100% - 120px);
    flex: 0 0 auto;
  }
  .frete-row button {
    width: auto;
    flex: 0 0 auto;
  }
  .frete-opt {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .frete-opt .price {
    text-align: left;
    margin-top: 4px;
  }
  .specs th,
  .specs td {
    display: block;
    width: 100%;
    padding: 10px 14px;
  }
  .specs tr {
    display: block;
    border-bottom: 1px solid var(--line, rgba(13,15,12,.14));
  }
  .specs th {
    padding-bottom: 4px;
    background: transparent;
  }
  .specs td {
    padding-top: 0;
    padding-bottom: 12px;
  }
}

/* Grids e filtros da home */
@media (max-width: 639px) {
  .filter-bar {
    gap: 8px;
  }
  .filter-tabs,
  .shop-toolbar .tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .filter-tabs::-webkit-scrollbar,
  .shop-toolbar .tabs::-webkit-scrollbar {
    display: none;
  }
  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .shop-toolbar select,
  .shop-toolbar .price-filter {
    width: 100%;
  }
  .foot-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .foot-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
@media (max-width: 759px) {
  .foot-grid {
    gap: 24px;
  }
  .foot-grid > .foot-col {
    padding-top: 16px;
    border-top: 1px solid #e0e0e0;
  }
}

/* Formulários admin em coluna única */
@media (max-width: 639px) {
  .admin-card-body [style*="grid-template-columns:1fr 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
}

/* Evita zoom indesejado no iOS em inputs */
@media (max-width: 759px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px;
  }
}
