/* atmosphera.css — Identidade da Atmosphera Concept, carregada por último.
   Clássica: vinho, marfim e um fio de ouro velho, com Cormorant Garamond e EB Garamond. */
:root {
  --atm-tinta: #2b1a1c;
  --atm-tinta-2: #66534f;
  --atm-papel: #f6f0e6;
  --atm-areia: #ebe1d1;
  --atm-linha: #d9cbb4;
  --atm-vinho: #4f1a26;
  --atm-vinho-2: #3a121b;
  --atm-ouro: #b8955c;
  --atm-ouro-claro: #e3c893;
  --atm-marfim-2: #e6dacb;
  --atm-foco: var(--atm-tinta);
  --atm-serif: 'Cormorant Garamond', 'Garamond', Georgia, serif;
  --font-main: 'EB Garamond', 'Garamond', Georgia, serif;
  --bg-color: var(--atm-papel);
  --card-bg: var(--atm-papel);
  --text-primary: var(--atm-tinta);
  --text-secondary: var(--atm-tinta-2);
  --text-muted: var(--atm-tinta-2);
  --border-color: var(--atm-linha);
  --accent-color: var(--atm-vinho);
  --accent-light: var(--atm-vinho);
  --border-radius: 0;
  --header-height: 76px;
  --max-width: 1320px;
}

html { font-size: 109.375%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background: var(--atm-papel); color: var(--atm-tinta); font-weight: 400; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 1px solid var(--atm-foco); outline-offset: 3px; }
/* Fundo vinho pede contorno claro. */
header, footer, .atm-hero, .atm-visite { --atm-foco: var(--atm-papel); }

/* O que a loja padrão traz e a Atmosphera não usa: selos, oferta, barra de aplicativo. */
.hero, #collections, .benefits-bar, #testimonials, .vt-hero, #vt-cats, #vt-lists, #vt-ofertas,
.vt-bottom-nav, .vt-badges, .vt-card-cat, .vt-add { display: none !important; }
body.layout-vitrine #vt-root { padding-top: 0; }

/* ---------- Cabeçalho ---------- */
header { background: var(--atm-vinho); border-bottom: 1px solid var(--atm-ouro); backdrop-filter: none; }
.menu-toggle span { background: var(--atm-papel); }
nav { max-width: var(--max-width); }
.logo a {
  font-family: var(--atm-serif);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--atm-papel);
}
.nav-links { gap: 2.2rem; }
.nav-links a, .cart-icon {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--atm-papel);
}
.nav-links a:hover, .cart-icon:hover { color: var(--atm-ouro-claro); text-decoration: underline; text-underline-offset: 4px; }
.nav-links a::after { display: none; }
.cart-icon { display: flex; align-items: baseline; gap: .3rem; cursor: pointer; position: static; }
.cart-badge {
  position: static;
  width: auto;
  height: auto;
  min-width: 0;
  padding: 0;
  background: none;
  color: inherit;
  font-size: 1rem;
  font-weight: 400;
  border-radius: 0;
}
.cart-badge::before { content: '('; }
.cart-badge::after { content: ')'; }

.search-container {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: .7rem 1.5rem;
  background: var(--atm-vinho);
  border-bottom: 1px solid var(--atm-ouro);
}
body:not(.atm-busca) .search-container { display: none !important; }
body.atm-busca .search-container { display: block !important; }
.search-input { max-width: var(--max-width); margin: 0 auto; display: block; background: transparent; border: 0; border-radius: 0; padding: .4rem 0; font-size: 1rem; color: var(--atm-papel); }
.search-input:focus { background: transparent; box-shadow: none; }
.search-input::placeholder { color: var(--atm-marfim-2); font-size: 1rem; }
body.atm-sem-produtos #atm-buscar { display: none; }

/* ---------- Capa ---------- */
.atm-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: min(92vh, 860px);
  padding: calc(var(--header-height) + 4rem) 1.5rem 4rem;
  overflow: hidden;
  background: var(--atm-vinho-2);
  color: var(--atm-papel);
}
.atm-hero picture, .atm-hero picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.atm-hero picture img { display: block; object-fit: cover; object-position: 70% center; }
.atm-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(58, 18, 27, .95) 0%, rgba(58, 18, 27, .86) 42%, rgba(58, 18, 27, .18) 80%, rgba(58, 18, 27, .1) 100%);
}
.atm-hero-in { position: relative; z-index: 1; width: 100%; max-width: var(--max-width); margin: 0 auto; }
.atm-hero h1 { font-family: var(--atm-serif); font-weight: 500; }
.atm-marca { display: block; font-size: clamp(3rem, 6.4vw, 5.6rem); line-height: 1.02; letter-spacing: .005em; }
.atm-sub {
  display: block;
  width: fit-content;
  max-width: 24em;
  margin-top: 1.5rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--atm-ouro);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-style: italic;
  line-height: 1.25;
}
.atm-hero p.atm-lead { margin-top: .8rem; font-size: 1.05rem; line-height: 1.6; color: var(--atm-marfim-2); }
.atm-acoes { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }
.atm-link { font-size: 1.06rem; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.atm-link:hover { color: var(--atm-vinho); }
.atm-visite .atm-link:hover { color: var(--atm-ouro-claro); }

/* ---------- Botões ---------- */
.atm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: .8rem 2.2rem;
  font-family: inherit;
  font-size: .98rem;
  font-weight: 400;
  letter-spacing: .02em;
  border: 1px solid var(--atm-tinta);
  border-radius: 0;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.atm-btn-escuro { background: var(--atm-vinho); border-color: var(--atm-vinho); color: var(--atm-papel); }
.atm-btn-escuro:hover { background: var(--atm-vinho-2); border-color: var(--atm-vinho-2); color: var(--atm-papel); }
.atm-btn-linha { background: transparent; border-color: var(--atm-vinho); color: var(--atm-vinho); }
.atm-btn-linha:hover { background: var(--atm-vinho); color: var(--atm-papel); }
.atm-btn-claro { background: var(--atm-papel); border-color: var(--atm-papel); color: var(--atm-vinho-2); }
.atm-btn-claro:hover { background: transparent; color: var(--atm-papel); }
.atm-btn-vazado { background: transparent; border-color: var(--atm-papel); color: var(--atm-papel); }
.atm-btn-vazado:hover { background: var(--atm-papel); color: var(--atm-vinho-2); }
.btn { border-radius: 0; font-weight: 400; letter-spacing: .02em; text-transform: none; }

/* ---------- Títulos de seção ---------- */
.atm-sec { max-width: calc(var(--max-width) + 3rem); margin: 0 auto; padding: 5rem 1.5rem 0; }
.atm-sec-head { margin-bottom: 2.6rem; text-align: center; }
.atm-sec-head h2::after, .atm-visite h2::after { content: ''; display: block; width: 64px; height: 1px; margin: 1rem auto 0; background: var(--atm-ouro); }
.atm-visite h2::after { margin-left: 0; }
.atm-sec-head small { display: block; margin-top: .5rem; font-size: .92rem; color: var(--atm-tinta-2); }
.atm-sec-head h2, .section-title, .vt-head h2 {
  font-family: var(--atm-serif);
  font-weight: 500;
  font-size: clamp(2.1rem, 3.6vw, 3rem);
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  color: var(--atm-vinho);
}
.vt-head h2::after { display: none; }
.vt-head h2 { padding-bottom: 0; }
.section-header { text-align: left; }

/* ---------- Coleções: índice de texto; vira grade de fotos quando todas tiverem foto real ---------- */
.atm-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.atm-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-height: 190px;
  padding: 1.4rem 1rem;
  text-align: center;
  background: var(--atm-vinho);
  color: var(--atm-papel);
  outline: 1px solid var(--atm-ouro);
  outline-offset: -9px;
  transition: background .2s;
}
.atm-tile:hover { background: var(--atm-vinho-2); }
.atm-tile h3 { font-family: var(--atm-serif); font-size: 1.65rem; font-weight: 500; line-height: 1.15; }
.atm-tile span { font-size: .95rem; font-style: italic; color: var(--atm-marfim-2); white-space: nowrap; }
body.atm-sem-produtos .atm-tile span { display: none; }

body.atm-com-fotos .atm-tiles { grid-template-columns: repeat(4, 1fr); gap: 2.4rem 1.2rem; border-top: 0; }
body.atm-com-fotos .atm-tile { display: block; min-height: 0; padding: 0; text-align: left; background: transparent; color: var(--atm-tinta); }
body.atm-com-fotos .atm-tile:not(:focus-visible) { outline: 0; }
body.atm-com-fotos .atm-tile:hover { background: transparent; }
body.atm-com-fotos .atm-tile:hover h3 { font-style: italic; }
body.atm-com-fotos .atm-tile span { color: var(--atm-tinta-2); }
body.atm-com-fotos .atm-tile::before { content: ''; display: block; aspect-ratio: 3 / 4; margin-bottom: .8rem; background: var(--atm-areia) var(--atm-capa) center / cover no-repeat; }
body.atm-com-fotos .atm-tile h3 { font-size: 1.3rem; }

.atm-vazio { display: none; margin-top: 2.4rem; font-size: 1.06rem; line-height: 1.6; color: var(--atm-tinta-2); }
.atm-vazio a { color: var(--atm-tinta); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
body.atm-sem-produtos .atm-vazio, .atm-vazio-aberto { display: block; }
body.atm-sem-produtos #loja, body.atm-sem-produtos #vt-root { display: none !important; }

/* ---------- Peças ---------- */
/* A home mostra coleções e novidades; a lista completa só aparece em busca ou categoria. */
#loja { display: none; }
/* Só depois de saber o layout: antes disso o título piscava na home. */
body.layout-ready:not(.layout-vitrine) #loja { display: block; }
body.atm-catalogo #loja { display: block; padding-top: calc(var(--header-height) + 5rem); }
body.atm-catalogo .atm-hero, body.atm-catalogo #colecoes, body.atm-catalogo #vt-root { display: none !important; }
#loja .section-header > div:not(#store-filter-header), #loja .btn-outline, #loja .store-filter-select { display: none; }
#loja .section-header { padding: 0; margin-bottom: 1.5rem; }
.vt-section { max-width: calc(var(--max-width) + 3rem); margin-left: auto; margin-right: auto; padding-top: 5rem; }
.vt-head { align-items: baseline; margin-bottom: 2rem; }
.vt-head a { font-size: .92rem; text-decoration: underline; text-underline-offset: 4px; }
#loja.section { max-width: calc(var(--max-width) + 3rem); margin: 0 auto; background: transparent !important; padding: 5rem 1.5rem 0; }
.vt-grid, #store-container .products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.6rem 1.2rem; }
.vt-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.vt-card:hover { transform: none; box-shadow: none; }
.vt-card-media { aspect-ratio: 3 / 4; background: var(--atm-areia); border-radius: 0; }
.vt-card-body { padding: .75rem 0 0; gap: .15rem; }
.vt-card-name { min-height: 0; font-family: inherit; font-size: .98rem; font-weight: 400; line-height: 1.35; color: var(--atm-tinta); }
.vt-card-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.vt-card-unit { display: none; }
.vt-card-price, .vt-card-price strong { margin: 0; font-size: .95rem; font-weight: 400; color: var(--atm-tinta-2); }
.img-placeholder { background: var(--atm-areia); }
body.theme-fashion .img-placeholder::after, .img-placeholder::after {
  background: none;
  content: 'Foto em breve';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: .86rem;
  color: var(--atm-tinta-2);
}
.atm-ver-mais {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 3rem auto 0;
  padding: 0;
  font-size: 1rem;
  color: var(--atm-tinta);
  background: transparent;
  border: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.category-title { font-family: var(--atm-serif); font-weight: 500; font-size: 1.6rem; margin: 3rem 0 1.2rem; }

/* ---------- Banner ---------- */
.atm-banner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 500px;
  margin-top: 6rem;
  padding: 3.5rem 1.5rem;
  overflow: hidden;
  background: var(--atm-vinho-2);
  color: var(--atm-papel);
  border-top: 1px solid var(--atm-ouro);
  --atm-foco: var(--atm-papel);
}
.atm-banner picture, .atm-banner picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.atm-banner picture img { display: block; object-fit: cover; object-position: center 12%; }
.atm-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(58, 18, 27, .92) 0%, rgba(58, 18, 27, .62) 40%, rgba(79, 26, 38, .12) 72%, rgba(79, 26, 38, .12) 100%);
}
.atm-banner-in { position: relative; z-index: 1; width: 100%; max-width: var(--max-width); margin: 0 auto; }
.atm-banner h2 { font-family: var(--atm-serif); font-weight: 500; font-size: clamp(2.3rem, 4.4vw, 3.8rem); line-height: 1.05; }
.atm-banner p { margin: .8rem 0 1.8rem; font-size: 1.1rem; color: var(--atm-marfim-2); }
body.atm-catalogo .atm-banner { display: none; }

/* ---------- A loja ---------- */
body.atm-catalogo .atm-visite { margin-top: 6rem; }
.atm-visite { background: var(--atm-vinho-2); color: var(--atm-papel); border-top: 1px solid var(--atm-ouro); }
.atm-visite-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
.atm-visite-info { padding: 4.5rem 3rem 4.5rem max(1.5rem, calc((100vw - var(--max-width)) / 2)); }
.atm-visite h2 { font-family: var(--atm-serif); font-weight: 500; font-size: clamp(2.1rem, 3.6vw, 3rem); line-height: 1.1; margin-bottom: 1.8rem; }
.atm-visite address { font-style: normal; font-size: 1.06rem; line-height: 1.65; }
.atm-visite-dados { margin-top: 1.1rem; font-size: 1.06rem; line-height: 1.8; color: var(--atm-marfim-2); }
.atm-visite-dados a { color: var(--atm-papel); text-decoration: underline; text-underline-offset: 4px; }
.atm-mapa { min-height: 480px; background: var(--atm-areia); }
.atm-mapa iframe { display: block; width: 100%; height: 100%; min-height: 480px; border: 0; filter: sepia(.35) saturate(.75); }

/* ---------- Rodapé ---------- */
footer { margin-top: 0; padding: 3.2rem 1.5rem 2rem; background: var(--atm-vinho); color: var(--atm-marfim-2); border-top: 1px solid var(--atm-ouro); }
.footer-content { max-width: var(--max-width); margin: 0 auto; gap: 2.5rem; }
.footer-col h4 { font-family: var(--atm-serif); font-size: 1.2rem; font-weight: 600; letter-spacing: .02em; color: var(--atm-papel); margin-bottom: .7rem; }
.footer-col p, .footer-col ul li, .footer-col ul li a { font-size: .95rem; line-height: 1.7; color: var(--atm-marfim-2); }
.footer-col a:hover { color: var(--atm-papel); text-decoration: underline; }
.footer-col li[style] { font-size: .95rem !important; color: var(--atm-marfim-2) !important; margin-top: 0 !important; }
.social-icon[href="#"] { display: none; }
.footer-bottom { max-width: var(--max-width); margin: 2.4rem auto 0; padding-top: 1.2rem; border-top: 1px solid rgba(184, 149, 92, .5); text-align: left; font-size: .9rem; color: var(--atm-marfim-2); }
.footer-bottom:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.footer-bottom a { color: var(--atm-marfim-2) !important; font-size: inherit !important; text-decoration: underline; text-underline-offset: 3px; }
.whatsapp-float { right: 1.25rem; bottom: 1.25rem; width: 48px; height: 48px; background: var(--atm-vinho); box-shadow: none; animation: none; }
.whatsapp-float svg { width: 24px; height: 24px; }

/* ---------- Páginas geradas no servidor ---------- */
.atm-pagina { max-width: calc(var(--max-width) + 3rem); margin: 0 auto; padding: calc(var(--header-height) + 2.4rem) 1.5rem 5rem; }
.atm-centro { padding-top: calc(var(--header-height) + 6rem); }
.atm-centro p { margin: 1rem 0 2rem; font-size: 1.06rem; color: var(--atm-tinta-2); }
.atm-paginas { display: flex; align-items: center; gap: 1.8rem; margin-top: 3.5rem; font-size: .95rem; color: var(--atm-tinta-2); }
.atm-paginas a { color: var(--atm-tinta); text-decoration: underline; text-underline-offset: 4px; }
.pdp-breadcrumb { display: block; font-size: .88rem; color: var(--atm-tinta-2); margin-bottom: 1.8rem; }
.pdp-breadcrumb a:hover { color: var(--atm-tinta); text-decoration: underline; }
.pdp-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 4.5rem; align-items: start; }
.pdp-main-img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--atm-areia); display: block; }
.pdp-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.pdp-thumbs img { width: 72px; height: 96px; object-fit: cover; cursor: pointer; border: 1px solid transparent; }
.pdp-thumbs img.active { border-color: var(--atm-tinta); }
.pdp-info { position: sticky; top: calc(var(--header-height) + 2rem); }
.pdp-marca { font-size: .92rem; color: var(--atm-tinta-2); margin-bottom: .4rem; }
.pdp-info h1 { font-family: var(--atm-serif); font-weight: 500; color: var(--atm-vinho); font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.14; }
.pdp-price { font-size: 1.12rem; font-weight: 400; margin: .9rem 0 2rem; }
.pdp-stock.out { color: var(--atm-tinta-2); margin-bottom: 1rem; }
.pdp-nota { font-size: .95rem; color: var(--atm-tinta-2); margin-bottom: 1rem; }
.pdp-opcao { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1.8rem; }
.pdp-opcao > span { flex: 1 1 100%; font-size: .92rem; color: var(--atm-tinta-2); }
.pdp-var { min-width: 52px; min-height: 46px; padding: .4rem .9rem; font-family: inherit; font-size: .95rem; background: transparent; border: 1px solid var(--atm-linha); border-radius: 0; color: var(--atm-tinta); cursor: pointer; }
.pdp-var:hover { border-color: var(--atm-tinta); }
.pdp-var.selected { background: var(--atm-vinho); border-color: var(--atm-vinho); color: var(--atm-papel); }
.pdp-actions { display: grid; gap: .6rem; }
.pdp-actions .atm-btn { width: 100%; }
.pdp-desc { margin-top: 2rem; line-height: 1.7; color: var(--atm-tinta-2); }
.pdp-garantias { margin: 2rem 0 1rem; padding-top: 1.3rem; border-top: 1px solid var(--atm-linha); font-size: .95rem; line-height: 1.6; color: var(--atm-tinta-2); list-style: none; display: grid; gap: .3rem; }
.pdp-garantias a { text-decoration: underline; text-underline-offset: 3px; }
.pdp-share { background: none; border: 0; padding: .3rem 0; font-family: inherit; font-size: .95rem; color: var(--atm-tinta-2); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pdp-similares { margin-top: 6rem; }
.pdp-similares h2 { margin-bottom: 2rem; }

/* ---------- Sobre e políticas ---------- */
.atm-texto { max-width: 680px; margin: 0 auto; padding: calc(var(--header-height) + 4.5rem) 1.5rem 6rem; }
.atm-texto h1 { font-family: var(--atm-serif); font-weight: 500; color: var(--atm-vinho); font-size: clamp(2.2rem, 4.4vw, 3.3rem); line-height: 1.1; margin-bottom: 2.2rem; }
.atm-texto h2 { font-family: var(--atm-serif); font-weight: 600; color: var(--atm-vinho); font-size: 1.6rem; line-height: 1.2; margin: 2.6rem 0 .9rem; scroll-margin-top: calc(var(--header-height) + 1.5rem); }
.atm-voltar { margin-top: 3rem; }
.atm-texto-corpo { font-size: 1.06rem; line-height: 1.75; color: var(--atm-tinta-2); white-space: pre-line; }

/* ---------- Sacola e janelas ---------- */
.cart-sidebar, .modal-content { border-radius: 0; background: var(--atm-papel); }
.cart-header h3 { font-family: var(--atm-serif); font-weight: 400; font-size: 1.5rem; }
.modal-content h2 { font-family: var(--atm-serif); font-weight: 400; }
.form-input { border-radius: 0; border-color: var(--atm-linha); background: transparent; }
.cart-item img { border-radius: 0; }
.cart-sidebar b, .cart-sidebar strong { font-weight: 500; }
.cart-total { font-size: 1rem; font-weight: 400; }
.cart-sidebar .item-remove { border: 0 !important; padding: 0 !important; color: var(--atm-tinta-2) !important; background: none !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Aviso de cookies ---------- */
#cookie-consent-banner {
  position: fixed;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 99999;
  width: min(380px, calc(100vw - 2.5rem));
  padding: 1.1rem 1.2rem;
  font-size: .92rem;
  line-height: 1.5;
  color: var(--atm-tinta);
  background: var(--atm-papel);
  border: 1px solid var(--atm-ouro);
}
#cookie-consent-banner a { text-decoration: underline; text-underline-offset: 3px; }
#cookie-consent-banner div { display: flex; gap: 1.2rem; margin-top: .8rem; }
#cookie-consent-banner button { padding: 0; font: inherit; color: var(--atm-tinta); background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ---------- Telas menores ---------- */
@media (max-width: 1100px) {
  .atm-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atm-visite-in { grid-template-columns: 1fr; }
  .atm-visite-info { padding: 3.5rem 1.5rem; }
  .pdp-grid { gap: 2.5rem; }
  body.atm-com-fotos .atm-tiles { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  :root { --header-height: 64px; }
  header { padding: 0 1rem; }
  nav { justify-content: flex-start; gap: 1rem; }
  .logo a { font-size: .82rem; letter-spacing: .08em; }
  .nav-links { align-items: flex-start; background: var(--atm-vinho); box-shadow: none; border-right: 1px solid var(--atm-ouro); }
  .nav-links a { font-size: 1.1rem; }
  /* A sacola fica sempre à vista, fora da gaveta do menu. */
  .cart-icon { position: fixed; top: 0; right: 1rem; height: var(--header-height); align-items: center; }
  .search-container { padding: .6rem 1rem; }
  .atm-hero { align-items: flex-end; min-height: min(88vh, 760px); padding: calc(var(--header-height) + 2rem) 1rem 2.6rem; }
  .atm-hero picture img { object-position: center top; }
  .atm-hero::after { background: linear-gradient(0deg, rgba(58, 18, 27, .96) 0%, rgba(58, 18, 27, .82) 42%, rgba(58, 18, 27, .12) 78%); }
  .atm-acoes .atm-btn { flex: 1 1 auto; }
  .atm-sec, .vt-section, #loja.section { padding-left: 1rem; padding-right: 1rem; padding-top: 3.5rem; }
  .atm-tiles { grid-template-columns: 1fr 1fr; gap: .6rem; }
  .atm-tile { min-height: 130px; padding: 1rem .7rem; outline-offset: -6px; }
  .atm-tile h3 { font-size: 1.3rem; }
  body.atm-com-fotos .atm-tiles { grid-template-columns: 1fr 1fr; gap: 1.8rem .8rem; }
  .vt-grid, #store-container .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8rem .8rem; }
  body.atm-catalogo #loja { padding-top: calc(var(--header-height) + 4.5rem); }
  .atm-banner { min-height: 360px; margin-top: 4rem; padding: 2.6rem 1rem; align-items: flex-end; }
  .atm-banner::after { background: linear-gradient(0deg, rgba(58, 18, 27, .94) 0%, rgba(58, 18, 27, .6) 46%, rgba(79, 26, 38, .1) 100%); }
  .atm-banner .atm-btn { width: 100%; }
  body.atm-catalogo .atm-visite { margin-top: 4rem; }
  .atm-visite-info { padding: 3rem 1rem; }
  .atm-mapa, .atm-mapa iframe { min-height: 320px; }
  .atm-pagina { padding-left: 1rem; padding-right: 1rem; }
  .atm-texto { padding-left: 1rem; padding-right: 1rem; }
  .pdp-grid { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .pdp-info { position: static; }
  footer { padding: 2.6rem 1rem 1.6rem; }
  #cookie-consent-banner { left: 1rem; right: 1rem; bottom: 1rem; width: auto; }
}
/* Celular estreito: o nome da loja precisa caber antes da sacola. */
@media (max-width: 379px) {
  .logo a { font-size: .7rem; letter-spacing: .04em; }
}
@media (max-width: 339px) {
  .logo a { font-size: .64rem; letter-spacing: .02em; }
}
