:root {
--bordo: #6D012B;
--bordo-escuro: #4E0120;
--bordo-claro: #F6ECEF;
--papel: #FBFAF8;
--linho: #EFE9E2;
--linho-escuro: #E6DED4;
--grafite: #262226;
--texto-2: #4A4549;
--pedra: #6F6A66;
--linha: #E3DDD6;
--branco: #FFFFFF;
--verde: #2F7D4F;
--f-titulo: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
--f-texto: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
--t-hero: clamp(46px, 6.6vw, 108px);
--t-h1: clamp(36px, 4.6vw, 64px);
--t-h2: clamp(30px, 3.4vw, 46px);
--t-h3: 20px;
--t-corpo: 16px;
--t-pequeno: 14px;
--t-mini: 13px;
--gutter: clamp(16px, 4vw, 56px);
--secao: clamp(72px, 9vw, 136px);
--largura-max: 1440px;
--texto-max: 64ch;
--r-g: 28px;
--r-m: 18px;
--r-p: 10px;
--r-pilula: 999px;
--beneficios-h: 38px;
--topo-h: 80px;
--sombra-etiqueta: 0 14px 28px rgba(38, 34, 38, .16);
--sombra-flutuante: 0 18px 40px rgba(38, 34, 38, .18);
--ease: cubic-bezier(.2, .7, .2, 1);
--rapido: .18s;
--medio: .32s;
}
@media (max-width: 759px) {
:root {
--topo-h: 64px;
--beneficios-h: 34px;
--r-g: 22px;
}
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
scroll-padding-top: 24px;
}
body {
margin: 0;
background: var(--papel);
color: var(--grafite);
font: 400 var(--t-corpo)/1.55 var(--f-texto);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-x: clip;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
dialog { padding: 0; border: 0; color: inherit; }
summary { cursor: pointer; }
h1, h2, h3 {
font-family: var(--f-titulo);
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.02;
text-wrap: balance;
}
p { text-wrap: pretty; }
::selection { background: var(--bordo); color: var(--branco); }
:focus-visible {
outline: 2px solid var(--bordo);
outline-offset: 3px;
border-radius: 4px;
}
.i { width: 20px; height: 20px; flex: none; }
.sr {
position: absolute !important;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0);
white-space: nowrap; border: 0;
}
.pular {
position: absolute;
left: 16px; top: -60px;
z-index: 100;
background: var(--grafite);
color: var(--branco);
padding: 10px 16px;
border-radius: var(--r-p);
transition: top var(--rapido);
}
.pular:focus { top: 12px; }
main:focus { outline: none; }
.titulo-pagina { font-size: var(--t-h1); }
.titulo-secao { font-size: var(--t-h2); }
.nota-ilustrativa {
position: absolute;
right: 16px; bottom: 14px;
z-index: 3;
font-size: 11px;
color: rgba(255, 255, 255, .9);
text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
pointer-events: none;
}
.nota-provisoria {
display: inline-block;
font-size: var(--t-mini);
color: var(--bordo);
background: var(--bordo-claro);
padding: 6px 12px;
border-radius: var(--r-pilula);
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
scroll-behavior: auto !important;
}
}
.beneficios {
height: var(--beneficios-h);
border-bottom: 1px solid var(--linha);
font-size: var(--t-mini);
color: var(--pedra);
overflow: hidden;
}
.beneficios-lista {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
gap: 44px;
padding: 0 var(--gutter);
white-space: nowrap;
}
.beneficios-lista li { display: flex; align-items: center; gap: 8px; }
.beneficios-lista .i { width: 16px; height: 16px; color: var(--bordo); }
.beneficios-lista strong { color: var(--grafite); font-weight: 500; }
.topo {
height: var(--topo-h);
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
gap: 24px;
padding: 0 var(--gutter);
position: relative;
z-index: 20;
background: var(--papel);
}
.topo-logo { justify-self: start; display: block; }
.topo-logo img { height: 52px; width: auto; }
.logo-compacto { display: none; }
.topo-nav ul { display: flex; gap: 30px; }
.topo-nav a {
position: relative;
display: block;
padding: 8px 0;
font-weight: 500;
font-size: 15px;
}
.topo-nav a::after {
content: "";
position: absolute;
left: 0; right: 0; bottom: 2px;
height: 1.5px;
background: currentColor;
transform: scaleX(0);
transform-origin: left;
transition: transform var(--medio) var(--ease);
}
.topo-nav a:hover::after,
.topo-nav a[aria-current="page"]::after { transform: scaleX(1); }
.topo-nav .nav-oferta { color: var(--bordo); }
.topo-acoes { justify-self: end; display: flex; align-items: center; gap: 12px; }
.topo-acoes .topo-menu { display: none; }
.menu-movel {
position: fixed;
inset: 0 0 0 auto;
width: min(420px, 100%);
height: 100dvh;
max-height: none;
margin: 0;
background: var(--papel);
display: none;
flex-direction: column;
padding: 16px var(--gutter) calc(24px + env(safe-area-inset-bottom));
}
.menu-movel[open] { display: flex; }
.menu-movel::backdrop { background: rgba(38, 34, 38, .45); }
.menu-movel-topo { display: flex; justify-content: space-between; align-items: center; height: 48px; }
.menu-movel nav { flex: 1; margin-top: 24px; }
.menu-movel nav a {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px 0;
border-bottom: 1px solid var(--linha);
font: 600 26px/1.1 var(--f-titulo);
letter-spacing: -.01em;
}
.menu-movel nav a .i { color: var(--pedra); }
.menu-movel nav a[aria-current="page"] { color: var(--bordo); }
.menu-movel-rodape { display: grid; gap: 10px; }
.migalhas { padding: 20px var(--gutter) 0; font-size: var(--t-mini); color: var(--pedra); }
.migalhas ol { display: flex; flex-wrap: wrap; gap: 6px; }
.migalhas li:not(:last-child)::after { content: "/"; margin-left: 6px; color: var(--linha-escuro); }
.migalhas a:hover { color: var(--grafite); text-decoration: underline; }
.migalhas [aria-current] { color: var(--grafite); }
.rodape {
margin-top: var(--secao);
background: var(--grafite);
color: rgba(255, 255, 255, .78);
padding: 72px var(--gutter) calc(32px + env(safe-area-inset-bottom));
font-size: var(--t-pequeno);
}
.rodape-grade {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
gap: 48px;
}
.rodape-marca img { width: 200px; height: auto; }
.rodape-marca p { margin-top: 20px; max-width: 30ch; }
.rodape-redes { display: flex; gap: 10px; margin-top: 20px; }
.rodape-col h2 {
font: 600 15px/1 var(--f-texto);
letter-spacing: 0;
color: var(--branco);
margin-bottom: 18px;
}
.rodape-col li + li { margin-top: 10px; }
.rodape-col a:hover { color: var(--branco); text-decoration: underline; }
.rodape-lojas li { display: grid; gap: 2px; }
.rodape-lojas li + li { margin-top: 18px; }
.rodape-lojas strong { color: var(--branco); font-weight: 500; }
.rodape-lojas a { color: var(--branco); text-decoration: underline; text-underline-offset: 3px; justify-self: start; margin-top: 4px; }
.rodape-base {
margin-top: 56px;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, .14);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 8px 24px;
font-size: var(--t-mini);
color: rgba(255, 255, 255, .6);
}
@media (max-width: 1099px) {
.topo { grid-template-columns: auto 1fr; }
.topo-nav { display: none; }
.topo-acoes .topo-menu { display: grid; }
.rodape-grade { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 759px) {
.beneficios-lista {
justify-content: flex-start;
gap: 24px;
overflow-x: auto;
scrollbar-width: none;
font-size: 12px;
}
.beneficios-lista::-webkit-scrollbar { display: none; }
.topo { gap: 12px; }
.logo-completo { display: none; }
.logo-compacto { display: block; }
.topo-logo img { height: 38px; }
.topo-acoes .topo-whats { width: 42px; padding: 0; justify-content: center; }
.topo-whats span { display: none; }
.rodape { padding-top: 56px; }
.rodape-grade { grid-template-columns: 1fr; gap: 36px; }
}
.rodape-credito a {
color: var(--branco);
font-weight: 500;
background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
padding-bottom: 2px;
}
.rodape-credito a:hover { animation: sublinhado .8s var(--ease-expo, ease); }
.rodape { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
height: 50px;
padding: 0 24px;
border-radius: var(--r-pilula);
font: 600 15px/1 var(--f-texto);
white-space: nowrap;
border: 1.5px solid transparent;
transition: background-color var(--rapido), color var(--rapido), border-color var(--rapido), transform var(--rapido);
}
.btn .i { width: 18px; height: 18px; }
.btn:active { transform: scale(.98); }
.btn-primario { background: var(--bordo); color: var(--branco); }
.btn-primario:hover { background: var(--bordo-escuro); }
.btn-contorno { border-color: currentColor; color: var(--grafite); }
.btn-contorno:hover { background: var(--grafite); border-color: var(--grafite); color: var(--branco); }
.topo-whats { color: var(--bordo); }
.topo-whats:hover { background: var(--bordo); border-color: var(--bordo); }
.btn-pequeno { height: 42px; padding: 0 18px; font-size: 14px; }
.btn-grande { height: 56px; padding: 0 28px; font-size: 16px; }
.btn-largo { width: 100%; }
.btn-icone {
width: 44px; height: 44px;
display: grid;
place-items: center;
border-radius: 50%;
border: 1px solid var(--linha);
background: var(--branco);
transition: border-color var(--rapido), background-color var(--rapido);
}
.btn-icone:hover { border-color: var(--grafite); }
.btn-icone:disabled { opacity: .35; cursor: default; border-color: var(--linha); }
.btn-icone .i { width: 18px; height: 18px; }
.btn-icone-pequeno { width: 32px; height: 32px; }
.btn-icone-claro { background: transparent; border-color: rgba(255, 255, 255, .25); color: var(--branco); }
.btn-icone-claro:hover { border-color: var(--branco); }
.link-sublinhado {
font-weight: 600;
font-size: 15px;
color: var(--bordo);
text-decoration: underline;
text-decoration-thickness: 1.5px;
text-underline-offset: 5px;
}
.link-sublinhado:hover { text-decoration-thickness: 2.5px; }
.etiqueta {
position: relative;
isolation: isolate;
display: inline-block;
padding: 10px 16px 10px 28px;
filter: drop-shadow(var(--sombra-etiqueta));
transform-origin: 14px 50%;
}
.etiqueta::after {
content: "";
position: absolute;
inset: 0;
z-index: -1;
background: var(--papel);
border-radius: 4px;
clip-path: polygon(13px 0, 100% 0, 100% 100%, 13px 100%, 0 calc(100% - 15px), 0 15px);
}
.etiqueta::before {
content: "";
position: absolute;
left: 9px; top: 50%;
width: 8px; height: 8px;
margin-top: -4px;
border-radius: 50%;
background: var(--linho-escuro);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25);
}
.etiqueta-nome { font-size: var(--t-mini); color: var(--pedra); line-height: 1.3; margin-bottom: 4px; }
.etiqueta-preco {
font: 600 24px/1 var(--f-titulo);
color: var(--bordo);
letter-spacing: -.01em;
font-variant-numeric: tabular-nums;
white-space: nowrap;
}
.etiqueta-preco small { font-size: .52em; margin-right: 2px; }
.etiqueta-preco s { font: 400 12px var(--f-texto); color: var(--pedra); margin-left: 6px; letter-spacing: 0; }
.etiqueta-parcela { font-size: 12px; color: var(--grafite); margin-top: 4px; white-space: nowrap; }
.etiqueta-link {
display: inline-block;
margin-top: 10px;
font-size: var(--t-mini);
font-weight: 600;
color: var(--bordo);
border-bottom: 1px solid currentColor;
}
.etiqueta-m { padding: 18px 22px 18px 34px; min-width: 228px; }
.etiqueta-m .etiqueta-preco { font-size: 36px; }
.etiqueta-m .etiqueta-preco s { font-size: 13px; }
.etiqueta-m .etiqueta-parcela { font-size: 13px; }
.etiqueta-g { padding: 20px 28px 20px 40px; filter: none; }
.etiqueta-g::after { background: var(--linho); }
.etiqueta-g::before { left: 14px; width: 10px; height: 10px; margin-top: -5px; background: var(--papel); }
.etiqueta-g .etiqueta-preco { font-size: clamp(40px, 4vw, 52px); }
.etiqueta-g .etiqueta-preco s { font-size: 15px; margin-left: 10px; }
.etiqueta-g .etiqueta-parcela { font-size: 15px; margin-top: 6px; }
.selo {
position: absolute;
top: 14px;
z-index: 2;
display: inline-flex;
align-items: center;
gap: 6px;
height: 28px;
padding: 0 11px;
border-radius: var(--r-pilula);
font: 600 13px/1 var(--f-texto);
}
.selo-desconto { left: 14px; background: var(--bordo); color: var(--branco); }
.selo-pronta { right: 14px; background: rgba(251, 250, 248, .94); font-weight: 500; font-size: 12px; }
.selo-pronta i { width: 7px; height: 7px; border-radius: 50%; background: var(--verde); }
.card { position: relative; min-width: 0; }
.card-link { display: block; }
.card-foto {
position: relative;
aspect-ratio: 4 / 5;
border-radius: var(--r-m);
overflow: hidden;
background: var(--linho);
}
.card-foto img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform .7s var(--ease);
}
.card-foto .etiqueta { position: absolute; left: 14px; bottom: 14px; z-index: 2; }
.card-nome { font: 500 16px/1.3 var(--f-texto); letter-spacing: 0; margin-top: 14px; }
.card-resumo { font-size: var(--t-pequeno); color: var(--pedra); margin-top: 2px; }
.card-preco { display: none; margin-top: 4px; font: 600 20px/1.1 var(--f-titulo); color: var(--bordo); letter-spacing: -.01em; }
.card-preco s { font: 400 12px var(--f-texto); color: var(--pedra); margin-left: 4px; }
.card-preco span { display: block; font: 400 12px/1.4 var(--f-texto); color: var(--grafite); margin-top: 2px; }
@media (hover: hover) and (pointer: fine) {
.card-link:hover .card-foto img { transform: scale(1.035); }
.card-link:hover .card-nome { text-decoration: underline; text-underline-offset: 3px; }
}
.grade-produtos {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 40px 20px;
}
.trilho {
display: grid;
grid-auto-flow: column;
grid-auto-columns: calc((100% - 3 * 20px) / 4.3);
gap: 20px;
overflow-x: auto;
overscroll-behavior-x: contain;
scroll-snap-type: x mandatory;
scroll-padding-inline: var(--gutter);
padding: 0 var(--gutter) 4px;
scrollbar-width: none;
cursor: grab;
}
.trilho::-webkit-scrollbar { display: none; }
.trilho > * { scroll-snap-align: start; }
.trilho.arrastando { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.trilho.arrastando a { pointer-events: none; }
.trilho-setas { display: flex; gap: 8px; }
.trilho-progresso {
margin: 32px var(--gutter) 0;
height: 2px;
max-width: 360px;
background: var(--linha);
position: relative;
overflow: hidden;
}
.trilho-progresso i {
position: absolute;
inset: 0;
background: var(--grafite);
transform-origin: left;
transform: scaleX(.25);
}
.ordenar { display: inline-flex; align-items: center; gap: 10px; font-size: var(--t-pequeno); color: var(--pedra); }
.ordenar select {
height: 42px;
padding: 0 38px 0 16px;
border: 1px solid var(--linha);
border-radius: var(--r-pilula);
background: var(--branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23262226' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") right 12px center/16px no-repeat;
appearance: none;
color: var(--grafite);
font-weight: 500;
cursor: pointer;
}
.lojas-lista { display: grid; gap: 0; }
.lojas-lista .loja { padding: 22px 0; border-top: 1px solid var(--linha); }
.lojas-lista .loja:last-child { border-bottom: 1px solid var(--linha); }
.loja-nome { font-size: 22px; letter-spacing: -.01em; }
.loja-endereco, .loja-horario, .loja-telefone {
display: flex;
gap: 10px;
margin-top: 8px;
color: var(--texto-2);
font-size: 15px;
}
.loja-endereco .i, .loja-horario .i, .loja-telefone .i { width: 18px; height: 18px; color: var(--bordo); margin-top: 2px; }
.loja-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 16px; }
.loja-acoes .link-sublinhado { font-size: 14px; margin-left: 4px; }
.lojas-cards {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
padding: 0 var(--gutter);
}
.lojas-cards .loja { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--r-g); overflow: hidden; }
.loja-foto { aspect-ratio: 16 / 10; background: var(--linho); }
.loja-foto img { width: 100%; height: 100%; object-fit: cover; }
.lojas-cards .loja-info { padding: 28px 28px 32px; }
.lojas-cards .loja-nome { font-size: 28px; }
.faq {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
gap: 48px;
padding: var(--secao) var(--gutter) 0;
}
.faq-intro p { color: var(--texto-2); margin: 14px 0 24px; }
.faq-item { border-top: 1px solid var(--linha); }
.faq-item:last-child { border-bottom: 1px solid var(--linha); }
.faq-item summary {
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
padding: 22px 0;
font: 500 18px/1.35 var(--f-texto);
list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .i { color: var(--bordo); transition: transform var(--medio) var(--ease); }
.faq-item[open] summary .i { transform: rotate(45deg); }
.faq-item p { padding: 0 48px 24px 0; color: var(--texto-2); max-width: var(--texto-max); }
.whats-flutuante {
position: fixed;
right: 20px;
bottom: calc(20px + env(safe-area-inset-bottom));
z-index: 40;
display: flex;
align-items: center;
gap: 10px;
height: 56px;
padding: 0 22px 0 18px;
border-radius: var(--r-pilula);
background: var(--bordo);
color: var(--branco);
font-weight: 600;
font-size: 15px;
box-shadow: var(--sombra-flutuante);
transition: transform var(--medio) var(--ease), background-color var(--rapido);
}
.whats-flutuante .i { width: 22px; height: 22px; }
.whats-flutuante:hover { background: var(--bordo-escuro); transform: translateY(-2px); }
.aviso-avaliacao {
position: fixed;
left: 20px;
bottom: calc(20px + env(safe-area-inset-bottom));
z-index: 39;
width: min(340px, calc(100% - 40px));
padding: 20px 22px;
background: var(--papel);
border: 1px solid var(--linha);
border-radius: var(--r-m);
box-shadow: var(--sombra-flutuante);
font-size: var(--t-pequeno);
color: var(--texto-2);
transform: translateY(0);
transition: transform var(--medio) var(--ease), opacity var(--medio);
}
.aviso-avaliacao[hidden] { display: block; transform: translateY(24px); opacity: 0; visibility: hidden; pointer-events: none; }
.aviso-avaliacao .btn-icone { position: absolute; top: 10px; right: 10px; border: 0; background: transparent; }
.aviso-avaliacao-titulo { display: flex; align-items: center; gap: 8px; font: 600 17px/1.2 var(--f-titulo); color: var(--grafite); margin-bottom: 6px; }
.aviso-avaliacao-titulo .i { color: var(--bordo); }
.aviso-avaliacao-acoes { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; }
.aviso-avaliacao-acoes a { font-weight: 600; color: var(--bordo); text-decoration: underline; text-underline-offset: 4px; }
.consentimento {
position: fixed;
left: 0; right: 0; bottom: 0;
z-index: 60;
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
min-height: 46px;
padding: 6px var(--gutter) calc(6px + env(safe-area-inset-bottom));
background: rgba(38, 34, 38, .94);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
color: rgba(255, 255, 255, .78);
font-size: 13px;
line-height: 1.3;
}
.consentimento[hidden] { display: none; }
.consentimento p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.consentimento a { color: var(--branco); text-decoration: underline; text-underline-offset: 3px; }
.consentimento button { flex: none; font-size: 13px; font-weight: 600; padding: 8px 4px; }
.consentimento-recusar { color: rgba(255, 255, 255, .7); }
.consentimento-recusar:hover { color: var(--branco); }
.consentimento-aceitar { color: var(--branco); padding: 7px 16px !important; border-radius: var(--r-pilula); background: var(--bordo); }
.consentimento-aceitar:hover { background: var(--bordo-escuro); }
.com-consentimento .whats-flutuante { bottom: calc(62px + env(safe-area-inset-bottom)); }
.com-consentimento .barra-compra { bottom: calc(46px + env(safe-area-inset-bottom)); }
.busca {
width: min(720px, calc(100% - 32px));
max-height: min(80dvh, 720px);
margin: 10dvh auto 0;
border-radius: var(--r-g);
background: var(--papel);
box-shadow: var(--sombra-flutuante);
overflow: auto;
}
.busca::backdrop { background: rgba(38, 34, 38, .45); }
.busca-form {
position: sticky; top: 0;
display: flex;
align-items: center;
gap: 12px;
padding: 14px 14px 14px 22px;
background: var(--papel);
border-bottom: 1px solid var(--linha);
}
.busca-form > .i { color: var(--pedra); }
.busca-form input { flex: 1; height: 48px; border: 0; background: none; font-size: 18px; outline: none; min-width: 0; }
.busca-status { padding: 14px 22px 0; font-size: var(--t-mini); color: var(--pedra); }
.busca-status:empty { display: none; }
.busca-resultados { padding: 8px 10px; }
.busca-resultados a {
display: grid;
grid-template-columns: 56px 1fr auto;
align-items: center;
gap: 14px;
padding: 10px 12px;
border-radius: var(--r-p);
}
.busca-resultados a:hover, .busca-resultados a:focus-visible { background: var(--linho); }
.busca-resultados img { width: 56px; height: 64px; object-fit: cover; border-radius: 8px; background: var(--linho); }
.busca-resultados b { display: block; font-weight: 500; }
.busca-resultados span { font-size: var(--t-mini); color: var(--pedra); }
.busca-resultados em { font: 600 18px var(--f-titulo); font-style: normal; color: var(--bordo); white-space: nowrap; }
.busca-atalhos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 22px 22px; font-size: var(--t-pequeno); color: var(--pedra); }
.busca-atalhos a { padding: 6px 14px; border: 1px solid var(--linha); border-radius: var(--r-pilula); color: var(--grafite); background: var(--branco); }
.busca-atalhos a:hover { border-color: var(--grafite); }
@media (max-width: 1099px) {
.grade-produtos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.trilho { grid-auto-columns: calc((100% - 2 * 20px) / 2.6); }
}
@media (max-width: 759px) {
.btn-grande { height: 54px; font-size: 15px; }
.grade-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
.grade-produtos .card-foto { border-radius: 14px; }
.grade-produtos .selo { top: 10px; height: 24px; padding: 0 9px; font-size: 12px; }
.grade-produtos .selo-desconto { left: 10px; }
.grade-produtos .selo-pronta { display: none; }
.grade-produtos .card-foto .etiqueta { position: static; display: none; }
.grade-produtos .card-nome { font-size: 15px; margin-top: 10px; }
.grade-produtos .card-resumo { display: none; }
.grade-produtos .card-preco { display: block; }
.trilho { grid-auto-columns: 76vw; gap: 12px; padding: 0 16px 4px; scroll-padding-inline: 16px; }
.trilho-setas { display: none; }
.trilho-progresso { margin: 22px 16px 0; }
.lojas-cards { grid-template-columns: 1fr; padding: 0 16px; }
.lojas-cards .loja-info { padding: 22px 20px 26px; }
.faq { grid-template-columns: 1fr; gap: 24px; }
.faq-item summary { font-size: 16px; padding: 18px 0; }
.faq-item p { padding-right: 0; }
.whats-flutuante { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); width: 56px; padding: 0; justify-content: center; }
.whats-flutuante span { display: none; }
.aviso-avaliacao { left: 12px; right: 84px; width: auto; bottom: calc(12px + env(safe-area-inset-bottom)); padding: 16px 16px; }
.consentimento { gap: 12px; justify-content: space-between; }
.consentimento-extra { display: none; }
.busca { margin-top: 12px; max-height: calc(100dvh - 24px); }
}
.secao { padding: var(--secao) 0 0; }
.secao-cabeca {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 24px;
padding: 0 var(--gutter);
margin-bottom: 32px;
}
.secao-sub { color: var(--pedra); margin-top: 12px; }
.secao-ferramentas { display: flex; align-items: center; gap: 24px; }
.destaques .grade-produtos,
.relacionados .grade-produtos { padding: 0 var(--gutter); }
.palco { position: relative; }
.hero {
display: grid;
grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
height: clamp(600px, calc(100svh - var(--topo-h) - var(--beneficios-h)), 960px);
padding-left: var(--gutter);
transform-origin: 50% 0;
}
.hero-texto {
display: flex;
flex-direction: column;
justify-content: center;
padding: 32px 48px 72px 0;
position: relative;
z-index: 2;
}
.hero-titulo {
font-size: var(--t-hero);
line-height: .94;
letter-spacing: -.024em;
margin-right: -200px;
}
.hero-linha { display: block; overflow: hidden; padding-bottom: .07em; margin-bottom: -.07em; }
.hero-linha > span { display: inline-block; }
.hero-lead { font-size: 18px; color: var(--texto-2); max-width: 32ch; margin-top: 28px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-lojas {
display: flex;
gap: 24px;
margin-top: 44px;
padding-top: 22px;
border-top: 1px solid var(--linha);
max-width: 440px;
font-size: var(--t-pequeno);
}
.hero-lojas a { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.hero-lojas .i { width: 16px; height: 16px; color: var(--bordo); }
.hero-midia {
position: relative;
border-radius: var(--r-g) 0 0 var(--r-g);
overflow: hidden;
background: var(--linho);
}
.hero-midia { isolation: isolate; }
.hero-cena { position: absolute; inset: 0; z-index: 1; visibility: hidden; }
.hero-cena.ativa { visibility: visible; z-index: 2; }
.hero-cena.entrando { visibility: visible; z-index: 3; }
.hero-foto { position: absolute; inset: 0; overflow: hidden; }
.hero-foto img { width: 100%; height: 100%; object-fit: cover; }
.hero-midia::after {
content: "";
position: absolute;
inset: 0;
z-index: 4;
background: linear-gradient(180deg, transparent 62%, rgba(20, 14, 16, .26));
pointer-events: none;
}
.hero-cortina {
position: absolute;
inset: 0;
z-index: 6;
background: var(--papel);
transform: scaleX(0);
transform-origin: 100% 50%;
pointer-events: none;
}
.hero-cordao { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; overflow: visible; pointer-events: none; }
.hero-cordao path { fill: none; stroke: #fff; stroke-width: 1.5; vector-effect: non-scaling-stroke; opacity: .9; }
.hero-ancora {
position: absolute;
left: var(--ax, 33%); top: var(--ay, 70%);
z-index: 3;
width: 12px; height: 12px;
margin: -6px 0 0 -6px;
border-radius: 50%;
background: #fff;
box-shadow: 0 0 0 6px rgba(255, 255, 255, .3);
}
.hero-etiqueta { position: absolute; left: var(--tx, 50%); top: var(--ty, 41%); z-index: 3; transform-origin: 0 50%; }
.hero-escurecer { position: absolute; inset: 0; z-index: 7; background: #160f12; opacity: 0; pointer-events: none; }
.hero-midia .nota-ilustrativa { z-index: 8; }
.hero-indicadores {
position: absolute;
left: 24px; bottom: 22px;
z-index: 8;
display: flex;
gap: 6px;
}
.hero-indicadores button {
position: relative;
width: 44px; height: 24px;
display: grid;
align-items: center;
}
.hero-indicadores button::before { content: ""; height: 2px; background: rgba(255, 255, 255, .4); border-radius: 2px; }
.hero-indicadores i {
position: absolute;
left: 0; right: 0; top: 50%;
height: 2px;
margin-top: -1px;
background: #fff;
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
}
.hero-indicadores [aria-current="true"] i { transform: scaleX(1); }
.motion .hero-indicadores [aria-current="true"] i { transform: scaleX(0); }
.folha {
position: relative;
z-index: 10;
background: var(--papel);
border-radius: var(--r-g) var(--r-g) 0 0;
margin-top: -1px;
padding: 64px var(--gutter) 0;
box-shadow: 0 -24px 48px rgba(22, 15, 18, .08);
}
.categorias-grade {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin-top: 28px;
}
.categoria {
position: relative;
display: flex;
align-items: flex-end;
height: clamp(260px, 27vw, 420px);
padding: 20px;
border-radius: var(--r-m);
overflow: hidden;
background: var(--linho);
color: var(--branco);
}
.categoria img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.categoria::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(20, 14, 16, .62)); }
.categoria-texto { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-end; width: 100%; gap: 12px; }
.categoria-texto strong { font: 600 clamp(28px, 3vw, 42px)/1 var(--f-titulo); letter-spacing: -.02em; }
.categoria-texto .i { width: 16px; height: 16px; transition: transform var(--medio) var(--ease); }
@media (hover: hover) {
.categoria:hover img { transform: scale(1.05); }
.categoria:hover .categoria-texto .i { transform: translateX(4px); }
}
@media (min-width: 900px) and (min-height: 640px) {
.hero { position: sticky; top: 0; }
}
.motion .hero-linha > span { transform: translateY(105%); }
.motion [data-hero-anim],
.motion .hero-etiqueta,
.motion .hero-cordao,
.motion .hero-ancora { opacity: 0; }
.motion .hero-cortina { transform: scaleX(1); }
.ofertas { padding-top: clamp(64px, 7vw, 104px); }
.canais {
margin: var(--secao) var(--gutter) 0;
padding: clamp(40px, 5vw, 72px);
background: var(--bordo);
color: rgba(255, 255, 255, .82);
border-radius: var(--r-g);
display: grid;
grid-template-columns: minmax(0, .9fr) minmax(0, 3fr);
gap: 48px;
align-items: start;
}
.canais-titulo { font-size: var(--t-h2); color: var(--branco); }
.canais-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.canais-lista li { padding: 0 32px; border-left: 1px solid rgba(255, 255, 255, .2); display: flex; flex-direction: column; }
.canais-lista .i { width: 28px; height: 28px; color: var(--branco); }
.canais-lista h3 { font-size: 22px; color: var(--branco); margin: 20px 0 10px; letter-spacing: -.01em; }
.canais-lista p { font-size: 15px; flex: 1; }
.canais-lista a {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 20px;
color: var(--branco);
font-weight: 600;
text-decoration: underline;
text-underline-offset: 5px;
}
.canais-lista a .i { width: 16px; height: 16px; transition: transform var(--medio) var(--ease); }
.canais-lista a:hover .i { transform: translateX(4px); }
.showroom {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
gap: clamp(32px, 5vw, 80px);
align-items: center;
padding-right: var(--gutter);
}
.showroom-foto { border-radius: 0 var(--r-g) var(--r-g) 0; overflow: hidden; aspect-ratio: 5 / 4; background: var(--linho); }
.showroom-foto img { width: 100%; height: 100%; object-fit: cover; }
.showroom-texto > p { color: var(--texto-2); margin: 16px 0 28px; max-width: 46ch; }
.avalie {
margin: var(--secao) var(--gutter) 0;
padding: 32px clamp(24px, 4vw, 48px);
background: var(--linho);
border-radius: var(--r-g);
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 24px;
}
.avalie > .i { width: 40px; height: 40px; color: var(--bordo); }
.avalie h2 { font-size: 26px; letter-spacing: -.01em; }
.avalie p { color: var(--texto-2); margin-top: 6px; }
.avalie-acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.avalie-acoes .btn { background: var(--papel); }
.avalie-acoes .btn:hover { background: var(--grafite); }
.avalie-unidades { margin-top: 48px; }
.lista-cabeca { padding: 28px var(--gutter) 0; max-width: 980px; }
.lista-descricao { color: var(--texto-2); font-size: 18px; margin-top: 16px; max-width: 60ch; }
.ofertas-cabeca {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 24px;
padding: 48px var(--gutter) 0;
}
.lista-ferramentas {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 16px;
margin: 40px var(--gutter) 28px;
padding: 16px 0;
border-top: 1px solid var(--linha);
border-bottom: 1px solid var(--linha);
}
.lista-total { color: var(--pedra); font-size: var(--t-pequeno); }
.lista-total span { color: var(--grafite); font-weight: 600; }
.lista-controles { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.grade-lista { padding: 0 var(--gutter); }
.lista-vazia { padding: 24px var(--gutter); color: var(--texto-2); }
.outras-categorias { margin: var(--secao) var(--gutter) 0; }
.outras-categorias h2 { font-size: 24px; margin-bottom: 18px; }
.outras-categorias ul { display: flex; flex-wrap: wrap; gap: 10px; }
.outras-categorias a {
display: inline-flex;
align-items: center;
gap: 10px;
height: 52px;
padding: 0 22px 0 16px;
border: 1px solid var(--linha);
border-radius: var(--r-pilula);
font-weight: 500;
background: var(--branco);
}
.outras-categorias a:hover { border-color: var(--grafite); }
.outras-categorias .i { width: 26px; height: 26px; color: var(--bordo); }
.produto {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
gap: clamp(32px, 4.5vw, 72px);
padding: 24px var(--gutter) 0;
align-items: start;
}
.galeria-principal {
position: relative;
aspect-ratio: 4 / 5;
max-height: calc(100svh - 120px);
width: 100%;
border-radius: var(--r-g);
overflow: hidden;
background: var(--linho);
}
.galeria-principal img { width: 100%; height: 100%; object-fit: cover; }
.galeria-principal .selo-desconto { top: 18px; left: 18px; height: 32px; font-size: 14px; }
.galeria-miniaturas { display: flex; gap: 10px; margin-top: 12px; }
.galeria-miniaturas button {
width: 84px;
aspect-ratio: 4 / 5;
border-radius: 12px;
overflow: hidden;
background: var(--linho);
border: 2px solid transparent;
opacity: .7;
transition: opacity var(--rapido), border-color var(--rapido);
}
.galeria-miniaturas button:hover { opacity: 1; }
.galeria-miniaturas button[aria-current="true"] { border-color: var(--bordo); opacity: 1; }
.galeria-miniaturas img { width: 100%; height: 100%; object-fit: cover; }
.galeria-voo { position: fixed; z-index: 30; object-fit: cover; border-radius: 12px; pointer-events: none; }
.produto-info { position: sticky; top: 24px; }
.produto-categoria { font-size: var(--t-pequeno); color: var(--bordo); font-weight: 600; }
.produto-categoria:hover { text-decoration: underline; }
.produto-nome { font-size: clamp(34px, 3.4vw, 50px); margin-top: 10px; }
.produto-resumo { color: var(--texto-2); font-size: 18px; margin-top: 12px; }
.produto-preco { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.produto-status { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-pequeno); font-weight: 500; color: var(--verde); }
.produto-status .i { width: 18px; height: 18px; }
.produto-variacoes { margin-top: 24px; font-size: var(--t-pequeno); color: var(--pedra); }
.produto-variacoes ul { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.produto-variacoes li { padding: 6px 14px; border: 1px solid var(--linha); border-radius: var(--r-pilula); color: var(--grafite); background: var(--branco); }
.produto-compra { display: grid; gap: 10px; margin-top: 28px; }
.produto-aviso { font-size: 12px; color: var(--pedra); margin-top: 4px; }
.produto-lojas { margin-top: 28px; padding: 20px 22px; background: var(--linho); border-radius: var(--r-m); }
.produto-lojas h2 { display: flex; align-items: center; gap: 10px; font: 600 16px/1.2 var(--f-texto); letter-spacing: 0; }
.produto-lojas h2 .i { color: var(--bordo); }
.produto-lojas li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--linha-escuro); font-size: var(--t-pequeno); }
.produto-lojas li strong { display: block; font-weight: 500; }
.produto-lojas li span { color: var(--texto-2); }
.produto-lojas .link-sublinhado { font-size: var(--t-pequeno); white-space: nowrap; }
.produto-detalhes {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 40px;
margin: clamp(56px, 7vw, 96px) var(--gutter) 0;
}
.detalhe { border-top: 1.5px solid var(--grafite); padding-top: 18px; }
.detalhe h2 { font-size: 22px; margin-bottom: 14px; }
.detalhe p { color: var(--texto-2); }
.medidas div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.medidas dt { color: var(--pedra); }
.medidas dd { font-weight: 500; text-align: right; }
.materiais li { padding: 10px 0; border-bottom: 1px solid var(--linha); color: var(--texto-2); }
.barra-compra { display: none; }
.sobre-abertura {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: clamp(32px, 5vw, 80px);
align-items: center;
padding: 48px 0 0 var(--gutter);
}
.sobre-texto p { color: var(--texto-2); font-size: 18px; margin-top: 18px; max-width: 52ch; }
.sobre-texto .nota-provisoria { font-size: var(--t-mini); }
.sobre-foto { border-radius: var(--r-g) 0 0 var(--r-g); overflow: hidden; aspect-ratio: 4 / 3; }
.sobre-foto img { width: 100%; height: 100%; object-fit: cover; }
.sobre-pilares {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin: var(--secao) var(--gutter) 0;
border-top: 1px solid var(--linha);
border-bottom: 1px solid var(--linha);
}
.sobre-pilares li { padding: 32px 24px; display: grid; gap: 6px; }
.sobre-pilares li + li { border-left: 1px solid var(--linha); }
.sobre-pilares .i { width: 28px; height: 28px; color: var(--bordo); margin-bottom: 8px; }
.sobre-pilares strong { font: 600 24px/1.1 var(--f-titulo); letter-spacing: -.01em; }
.sobre-pilares span { color: var(--pedra); }
.pg-sobre .secao { padding-left: var(--gutter); padding-right: var(--gutter); }
.pg-sobre .secao .titulo-secao { margin-bottom: 28px; }
.texto-longo { max-width: 760px; padding: 48px var(--gutter) 0; }
.texto-longo .nota-provisoria { margin-top: 20px; }
.texto-longo h2 { font-size: 26px; margin: 40px 0 12px; }
.texto-longo p { color: var(--texto-2); margin-top: 14px; font-size: 17px; line-height: 1.65; }
.texto-longo a { color: var(--bordo); text-decoration: underline; }
.texto-atualizado { font-size: var(--t-pequeno) !important; color: var(--pedra) !important; margin-top: 40px !important; }
.erro-404 { padding: 64px var(--gutter) 0; max-width: 900px; }
.erro-codigo { font: 600 clamp(96px, 16vw, 220px)/.85 var(--f-titulo); color: var(--bordo); letter-spacing: -.04em; }
.erro-404 > p:not(.erro-codigo) { color: var(--texto-2); font-size: 18px; margin-top: 16px; }
.erro-categorias { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 20px; }
@media (max-width: 1099px) {
.hero-titulo { margin-right: -120px; }
.canais { grid-template-columns: 1fr; gap: 32px; }
.produto-detalhes { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 899px) {
.hero {
grid-template-columns: 1fr;
height: auto;
padding: 0 0 0 16px;
}
.hero-texto { padding: 24px 16px 0 0; }
.hero-titulo { margin-right: 0; }
.hero-lead { font-size: 16px; margin-top: 18px; }
.hero-ctas { margin-top: 24px; }
.hero-lojas { display: none; }
.hero-midia { height: 400px; margin-top: 28px; }
.hero-cordao, .hero-ancora { display: none; }
.hero-etiqueta { left: auto; right: 16px; top: auto; bottom: 18px; }
.hero-midia .nota-ilustrativa { left: 14px; right: auto; top: 12px; bottom: auto; }
.folha { margin-top: -28px; padding-top: 44px; }
.categorias-grade { grid-template-columns: 1fr; gap: 22px; margin-top: 20px; }
.showroom { grid-template-columns: 1fr; padding: var(--secao) 0 0; }
.showroom-foto { margin-right: var(--gutter); }
.showroom-texto { padding: 0 var(--gutter); }
.produto { grid-template-columns: 1fr; padding-top: 16px; }
.produto-info { position: static; }
.galeria { margin: 0 calc(var(--gutter) * -1); }
.galeria-principal { border-radius: 0; max-height: none; }
.galeria-miniaturas { padding: 0 var(--gutter); }
.sobre-abertura { grid-template-columns: 1fr; padding-right: 0; }
.sobre-texto { padding-right: var(--gutter); }
}
@media (max-width: 759px) {
.secao-cabeca { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.hero-ctas .btn { flex: 1 1 auto; padding: 0 16px; }
.hero-midia { height: 380px; }
.hero-etiqueta .etiqueta-m { min-width: 0; padding: 12px 16px 12px 28px; }
.hero-etiqueta .etiqueta-m .etiqueta-preco { font-size: 28px; }
.categoria { height: 210px; padding: 16px; border-radius: 16px; }
.categoria-texto strong { font-size: 26px; }
.categoria-seta { width: 34px !important; height: 34px !important; }
.canais { margin-left: 16px; margin-right: 16px; padding: 32px 22px; }
.canais-lista { grid-template-columns: 1fr; }
.canais-lista li { padding: 24px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .2); margin-top: 24px; }
.canais-lista li:first-child { margin-top: 0; }
.canais-lista h3 { margin-top: 14px; }
.avalie { grid-template-columns: 1fr; margin-left: 16px; margin-right: 16px; padding: 28px 22px; gap: 16px; }
.avalie-acoes .btn { flex: 1 1 100%; }
.ofertas-cabeca { flex-direction: column; align-items: flex-start; padding-top: 32px; }
.lista-ferramentas { margin-top: 28px; }
.lista-controles { width: 100%; }
.ordenar { margin-left: auto; }
.ordenar span { display: none; }
.produto-detalhes { grid-template-columns: 1fr; gap: 32px; }
.produto-compra { display: none; }
.produto-lojas li { flex-direction: column; align-items: flex-start; gap: 6px; }
.barra-compra {
position: fixed;
left: 0; right: 0; bottom: 0;
z-index: 45;
display: flex;
align-items: center;
gap: 10px;
padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
background: var(--papel);
border-top: 1px solid var(--linha);
box-shadow: 0 -10px 30px rgba(38, 34, 38, .08);
}
.barra-compra-preco { flex: 1; min-width: 0; line-height: 1.2; }
.barra-compra-preco strong { display: block; font: 600 22px/1 var(--f-titulo); color: var(--bordo); }
.barra-compra-preco span { font-size: 12px; color: var(--pedra); }
.barra-compra .btn { height: 50px; }
.pg-produto .whats-flutuante { display: none; }
.pg-produto .rodape { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
.sobre-pilares { grid-template-columns: 1fr; }
.sobre-pilares li + li { border-left: 0; border-top: 1px solid var(--linha); }
}
.secao.faq { padding-left: var(--gutter); padding-right: var(--gutter); }
@media (max-width: 899px) {
.hero-etiqueta { bottom: 46px; }
}
.lista-cabeca + .lojas-cards { margin-top: 40px; }
.loja-foto { position: relative; }
.showroom-foto { position: relative; }
.grade-produtos .card, .trilho .card { display: flex; flex-direction: column; }
.grade-produtos .card-link, .trilho .card-link { flex: 1 0 auto; }
.hero-indicadores button { height: 36px; }
.etiqueta-link { padding-block: 6px; margin-block: -6px; }
@media (pointer: coarse) {
.link-sublinhado, .canais-lista a, .produto-categoria, .hero-lojas a { padding-block: 10px; margin-block: -10px; }
.link-sublinhado { display: inline-block; }
}
.hero-lojas a { white-space: nowrap; }
@media (min-width: 900px) and (max-width: 1099px) {
.hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hero-texto { padding-right: 32px; }
.hero-titulo { margin-right: -80px; }
.hero-lojas { flex-direction: column; gap: 10px; }
.hero-etiqueta { left: min(var(--tx, 50%), calc(100% - 250px)); }
}
@media (min-width: 600px) and (max-width: 899px) {
.hero-texto { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; column-gap: 40px; }
.hero-lead { margin-top: 0; }
.hero-ctas .btn { flex: 1 1 100%; }
.categorias-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.categoria { height: 300px; }
}
@media (max-width: 899px) {
.produto > * { min-width: 0; }
.galeria .galeria-miniaturas {
flex-wrap: nowrap;
overflow-x: auto;
scroll-snap-type: x proximity;
scroll-padding-inline: var(--gutter);
scrollbar-width: none;
padding-bottom: 4px;
}
.galeria .galeria-miniaturas::-webkit-scrollbar { display: none; }
.galeria .galeria-miniaturas li { flex: 0 0 auto; scroll-snap-align: start; }
.galeria .galeria-miniaturas button { width: 84px; }
}
@media (max-width: 759px) {
.hero-etiqueta { top: 40px; bottom: auto; }
.beneficios-lista { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 32px; }
}
@media (min-width: 900px) and (max-height: 820px) {
.hero-titulo { font-size: min(var(--t-hero), 10.5vh); }
.hero-lead { margin-top: 20px; }
.hero-ctas { margin-top: 24px; }
.hero-lojas { margin-top: 28px; padding-top: 16px; }
}
@media (max-width: 349px) {
.grade-produtos { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 759px) {
.ofertas .trilho { touch-action: pan-y; }
.ofertas .secao-ferramentas { width: 100%; justify-content: space-between; }
.ofertas .trilho-setas { display: flex; }
.ofertas .trilho-progresso { display: none; }
}
.menu-movel nav { min-height: 0; }
@media (max-height: 600px) {
.menu-movel { padding-top: 10px; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
.menu-movel nav { margin-top: 8px; }
.menu-movel nav a { padding: 11px 0; font-size: 21px; }
.menu-movel-rodape { padding-top: 12px; }
.menu-movel-rodape .btn { height: 46px; }
.whats-flutuante { width: 50px; height: 50px; padding: 0; justify-content: center; right: 14px; bottom: 14px; }
.whats-flutuante span { display: none; }
}
@media (min-width: 900px) and (max-height: 640px) {
.hero { height: max(400px, calc(100svh - var(--topo-h) - var(--beneficios-h))); }
.hero-texto { padding-top: 16px; padding-bottom: 28px; }
.hero-titulo { font-size: min(var(--t-hero), 9.5vh); }
.hero-lead { font-size: 16px; margin-top: 14px; }
.hero-ctas { margin-top: 18px; }
.hero-lojas { display: none; }
}
@media (max-height: 600px) and (min-width: 500px) {
.menu-movel-rodape { grid-template-columns: 1fr 1fr; }
}
.barra-compra-preco strong { white-space: nowrap; }
@media (max-width: 359px) {
.consentimento { gap: 8px; padding-left: 12px; padding-right: 12px; font-size: 12px; }
.consentimento button { font-size: 12px; }
.consentimento-aceitar { padding: 7px 12px !important; }
.barra-compra-preco strong { font-size: 19px; }
.barra-compra .btn { padding: 0 14px; font-size: 14px; }
}
:root {
--ease-expo: cubic-bezier(.19, 1, .22, 1);
--ease-suave: cubic-bezier(.65, 0, .35, 1);
}
.rolar {
display: inline-block;
overflow: hidden;
vertical-align: top;
line-height: 1.25;
}
.rolar > span {
display: inline-block;
text-shadow: 0 1.25em currentColor;
transition: transform .6s var(--ease-expo);
}
@media (hover: hover) {
a:hover .rolar > span,
button:hover .rolar > span,
.card-link:hover .rolar > span { transform: translateY(-1.25em); }
}
.link-sublinhado,
.rodape-col a,
.rodape-lojas a,
.migalhas a,
.canais-lista a .rolar,
.card-nome span,
.produto-lojas a,
.aviso-avaliacao-acoes a {
text-decoration: none;
background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat;
padding-bottom: 3px;
}
.rodape-col a, .migalhas a, .card-nome span { background-size: 0 1.5px; }
@media (hover: hover) {
.link-sublinhado:hover,
.rodape-lojas a:hover,
.canais-lista a:hover .rolar,
.produto-lojas a:hover,
.aviso-avaliacao-acoes a:hover { animation: sublinhado .8s var(--ease-expo); }
.rodape-col a:hover, .migalhas a:hover, .card-link:hover .card-nome span {
background-size: 100% 1.5px;
transition: background-size .6s var(--ease-expo);
}
.rodape-col a, .migalhas a, .card-nome span {
background-position: 100% 100%;
transition: background-size .5s var(--ease-expo);
}
.rodape-col a:hover, .migalhas a:hover, .card-link:hover .card-nome span { background-position: 0 100%; }
}
@keyframes sublinhado {
0% { background-size: 100% 1.5px; background-position: 100% 100%; }
45% { background-size: 0 1.5px; background-position: 100% 100%; }
46% { background-size: 0 1.5px; background-position: 0 100%; }
100% { background-size: 100% 1.5px; background-position: 0 100%; }
}
.topo-nav a::after { display: none; }
.topo-nav a {
padding: 10px 2px;
background: linear-gradient(currentColor, currentColor) 100% calc(100% - 4px) / 0 1.5px no-repeat;
transition: background-size .55s var(--ease-expo);
}
.topo-nav a:hover,
.topo-nav a[aria-current="page"] { background-size: 100% 1.5px; background-position: 0 calc(100% - 4px); }
.menu-movel nav a .i { transition: transform .5s var(--ease-expo); }
.menu-movel nav a:hover .i { transform: translateX(6px); color: var(--bordo); }
.btn {
position: relative;
isolation: isolate;
overflow: hidden;
transition: color .45s var(--ease-expo), border-color .45s var(--ease-expo), transform .3s var(--ease-expo);
}
.btn::before {
content: "";
position: absolute;
inset: -2px;
z-index: -1;
border-radius: 45% 45% 0 0 / 70% 70% 0 0;
background: var(--grafite);
transform: translateY(102%);
transition: transform .6s var(--ease-expo), border-radius .6s var(--ease-expo);
}
.btn-primario:hover { background: var(--bordo); }
.btn-contorno:hover { background: transparent; }
@media (hover: hover) {
.btn:hover::before { transform: translateY(0); border-radius: 0; }
.btn-contorno:hover, .btn-primario:hover { color: var(--branco); border-color: var(--grafite); }
.topo-whats:hover { border-color: var(--bordo); }
.topo-whats::before { background: var(--bordo); }
.avalie-acoes .btn:hover { background: var(--papel); }
}
.btn .i { position: relative; transition: transform .5s var(--ease-expo); }
.btn:hover > .i:last-child:not(:first-child) { transform: translate(3px, -3px); }
.btn-icone { transition: border-color .4s var(--ease-expo), background-color .4s var(--ease-expo), color .4s var(--ease-expo); }
@media (hover: hover) {
.btn-icone:not(:disabled):not(.btn-icone-claro):hover { background: var(--grafite); border-color: var(--grafite); color: var(--branco); }
.btn-icone-claro:hover { background: var(--branco); color: var(--grafite); }
}
.whats-flutuante { overflow: hidden; isolation: isolate; }
.whats-flutuante::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background: var(--grafite);
transform: scale(0);
transition: transform .6s var(--ease-expo);
}
.whats-flutuante:hover { background: var(--bordo); transform: none; }
.whats-flutuante:hover::before { transform: scale(1.05); }
.whats-flutuante .i { transition: transform .6s var(--ease-expo); }
.whats-flutuante:hover .i { transform: rotate(-14deg) scale(1.08); }
.card-foto {
clip-path: inset(0 round var(--r-m));
transition: clip-path .8s var(--ease-expo);
border-radius: 0;
}
.card-foto img { transition: transform 1.2s var(--ease-expo), opacity .7s var(--ease-expo), filter .7s var(--ease-expo); }
.card-foto-2 {
position: absolute;
inset: 0;
opacity: 0;
transform: scale(1.08);
}
.card-foto .selo { transition: transform .6s var(--ease-expo), opacity .4s; }
.card-nome span { padding-bottom: 2px; }
@media (hover: hover) and (pointer: fine) {
.card-link:hover .card-foto { clip-path: inset(8px round calc(var(--r-m) - 4px)); }
.card-link:hover .card-foto-1 { transform: scale(1.07); }
.card-link:hover .card-foto-2 { opacity: 1; transform: scale(1); }
.card-link:hover .card-foto-1:not(:only-of-type) { opacity: 0; }
.card-link:hover .selo-desconto { transform: translate(6px, 6px); }
.card-link:hover .selo-pronta { transform: translate(-6px, 6px); }
.card-link:hover .card-nome { text-decoration: none; }
.card-link:hover .card-foto img.card-foto-1:only-of-type { transform: scale(1.07); }
}
.categoria::after { transition: opacity .7s var(--ease-expo); }
.categoria img { transition: transform 1.2s var(--ease-expo); }
.categoria-texto strong .rolar { line-height: 1.1; }
.categoria-texto strong .rolar > span { text-shadow: 0 1.1em currentColor; }
.categoria-seta {
width: 44px; height: 44px;
border-radius: 50%;
display: grid !important;
place-items: center;
border: 1px solid rgba(255, 255, 255, .5);
transition: background-color .5s var(--ease-expo), border-color .5s var(--ease-expo), transform .6s var(--ease-expo);
}
.categoria-seta .i { width: 18px; height: 18px; transform: rotate(-45deg); transition: transform .6s var(--ease-expo) !important; }
@media (hover: hover) {
.categoria:hover img { transform: scale(1.08); }
.categoria:hover .rolar > span { transform: translateY(-1.1em); }
.categoria:hover .categoria-seta { background: var(--branco); border-color: var(--branco); color: var(--bordo); }
.categoria:hover .categoria-seta .i { transform: rotate(0); }
}
.cursor {
position: fixed;
left: 0; top: 0;
z-index: 90;
width: 96px; height: 96px;
margin: -48px 0 0 -48px;
border-radius: 50%;
background: var(--bordo);
color: var(--branco);
display: grid;
place-items: center;
text-align: center;
font: 600 13px/1.15 var(--f-texto);
pointer-events: none;
transform: scale(0);
will-change: transform;
}
.cursor span { max-width: 70px; }
.cursor.cursor-claro { background: var(--papel); color: var(--grafite); }
.faixa {
margin-top: var(--secao);
overflow: hidden;
padding: 8px 0;
user-select: none;
}
.faixa-linha {
display: flex;
align-items: center;
gap: clamp(20px, 3vw, 48px);
width: max-content;
font: 600 clamp(56px, 10vw, 168px)/1 var(--f-titulo);
letter-spacing: -.035em;
color: var(--grafite);
white-space: nowrap;
will-change: transform;
}
.faixa-linha-contorno {
color: var(--bordo);
margin-top: -.06em;
transform: translateX(-30%);
}
.faixa-etiqueta {
position: relative;
flex: none;
width: .42em; height: .24em;
background: var(--bordo);
clip-path: polygon(22% 0, 100% 0, 100% 100%, 22% 100%, 0 50%);
transform: rotate(-12deg);
}
.faixa-linha-contorno .faixa-etiqueta { background: var(--grafite); }
.faixa-etiqueta::after {
content: "";
position: absolute;
left: 30%; top: 50%;
width: .05em; height: .05em;
margin-top: -.025em;
border-radius: 50%;
background: var(--papel);
}
@media (max-width: 899px) {
.hero-indicadores { left: 14px; bottom: 44px; }
}
@media (prefers-reduced-motion: reduce) {
.rolar > span { transition: none; }
.faixa-linha, .faixa-linha-contorno { transform: none !important; }
}
.hero-titulo .palavra { display: inline-block; white-space: nowrap; }
.hero-titulo .letra { display: inline-block; will-change: transform; }
.ofertas { overflow-x: clip; }
.trilho.trilho-fixo {
overflow: visible;
scroll-snap-type: none;
cursor: default;
will-change: transform;
}
.nav-grupo { position: relative; }
.topo-nav .nav-sub {
position: absolute;
left: -16px; top: 100%;
z-index: 30;
display: block;
min-width: 170px;
padding: 8px;
background: var(--papel);
border: 1px solid var(--linha);
border-radius: 14px;
box-shadow: var(--sombra-flutuante);
opacity: 0;
visibility: hidden;
transform: translateY(8px);
transition: opacity .25s var(--ease-expo), transform .4s var(--ease-expo), visibility .25s;
}
.nav-grupo:hover .nav-sub,
.nav-grupo:focus-within .nav-sub { opacity: 1; visibility: visible; transform: translateY(0); }
.topo-nav .nav-sub a {
display: block;
padding: 10px 12px;
border-radius: 8px;
background: none;
font-weight: 500;
transition: background-color .25s, color .25s;
}
.topo-nav .nav-sub a:hover { background: var(--linho); color: var(--bordo); }
.menu-movel nav { overflow-y: auto; }
.menu-subs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 14px; border-bottom: 1px solid var(--linha); }
.menu-subs:empty { display: none; }
.menu-movel nav .menu-subs a {
padding: 8px 14px;
border: 1px solid var(--linha);
border-radius: var(--r-pilula);
font: 500 14px/1 var(--f-texto);
letter-spacing: 0;
background: var(--branco);
}
.categoria-subs, .subnav { display: flex; flex-wrap: wrap; gap: 8px; }
.categoria-subs { margin-top: 12px; }
.subnav { margin: 28px var(--gutter) 0; }
.categoria-subs a, .subnav a {
display: inline-flex;
align-items: center;
height: 40px;
padding: 0 18px;
border: 1px solid var(--linha);
border-radius: var(--r-pilula);
background: var(--branco);
font-weight: 500;
font-size: var(--t-pequeno);
transition: background-color .35s var(--ease-expo), color .35s var(--ease-expo), border-color .35s var(--ease-expo);
}
.categoria-subs a:hover, .subnav a:hover { border-color: var(--grafite); }
.subnav a[aria-current="page"] { background: var(--bordo); border-color: var(--bordo); color: var(--branco); }
.subnav + .lista-ferramentas { margin-top: 24px; }
.card-pedido { margin-top: 14px; border-color: var(--bordo); color: var(--bordo); }
.produto-variacoes { border: 0; padding: 0; margin: 24px 0 0; }
.produto-variacoes legend { padding: 0; font-weight: 500; }
.variacoes-lista { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.variacao { cursor: pointer; }
.variacao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.variacao span {
display: inline-flex;
align-items: center;
height: 42px;
padding: 0 18px;
border: 1.5px solid var(--linha);
border-radius: var(--r-pilula);
background: var(--branco);
font-weight: 500;
font-size: var(--t-pequeno);
transition: border-color .3s, color .3s, background-color .3s;
}
.variacao:hover span { border-color: var(--grafite); }
.variacao input:checked + span { border-color: var(--bordo); background: var(--bordo-claro); color: var(--bordo); }
.variacao input:focus-visible + span { outline: 2px solid var(--bordo); outline-offset: 3px; }
.loja-referencia { margin-top: 4px; font-size: var(--t-pequeno); font-weight: 600; color: var(--bordo); }
.rodape-col .rodape-sub { margin-top: 6px; padding-left: 12px; font-size: var(--t-mini); }
.planejados {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
gap: clamp(32px, 5vw, 80px);
align-items: center;
margin-top: var(--secao);
padding-left: var(--gutter);
scroll-margin-top: 24px;
}
.planejados-texto { order: -1; }
.planejados-texto p { color: var(--texto-2); font-size: 18px; margin: 16px 0 28px; max-width: 44ch; }
.planejados-foto {
position: relative;
aspect-ratio: 16 / 11;
overflow: hidden;
border-radius: var(--r-g) 0 0 var(--r-g);
background: var(--linho);
}
.planejados-foto img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 899px) {
.planejados { grid-template-columns: 1fr; padding-left: 0; gap: 24px; }
.planejados-texto { order: 0; padding: 0 var(--gutter); }
.planejados-foto { margin-left: var(--gutter); }
}
@media (max-width: 759px) {
.grade-produtos .card-pedido-resto { display: none; }
.grade-produtos .card-pedido { height: 40px; margin-top: 10px; padding: 0 10px; font-size: 13px; }
.barra-compra .btn { font-size: 14px; padding: 0 16px; }
.planejados-texto p { font-size: 16px; }
.planejados-texto .btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}
.card-foto { aspect-ratio: 4 / 3; }
.galeria-principal { aspect-ratio: 4 / 3; max-height: none; }
.galeria-principal img[data-retrato] { object-fit: contain; }
.galeria-miniaturas { flex-wrap: wrap; }
.galeria-miniaturas button { width: 96px; aspect-ratio: 4 / 3; }
.galeria-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--grafite); }
.galeria-mini-video { position: relative; }
.galeria-mini-video span {
position: absolute; inset: 0;
display: grid; place-items: center;
background: rgba(38, 34, 38, .35);
color: var(--branco);
}
.galeria-mini-video span .i { width: 22px; height: 22px; }
.nota-ilustrativa:empty { display: none; }
.etiqueta-avista { color: var(--pedra); }
.produto-status-encomenda { color: var(--texto-2); }
.produto-nota { margin-top: 14px; font-size: var(--t-pequeno); color: var(--pedra); }
.produto-nota-destaque { padding: 12px 16px; border-radius: var(--r-p); background: var(--bordo-claro); color: var(--bordo); font-weight: 500; }
.produto-variacoes + .produto-variacoes { margin-top: 16px; }
@view-transition { navigation: auto; }
@keyframes pagina-sai { to { opacity: 0; transform: translateY(-10px); } }
@keyframes pagina-entra { from { opacity: 0; transform: translateY(14px); } }
::view-transition-old(root) { animation: pagina-sai .26s cubic-bezier(.4, 0, 1, 1) both; }
::view-transition-new(root) { animation: pagina-entra .5s cubic-bezier(.16, 1, .3, 1) .14s both; }
::view-transition-group(root) { background: var(--papel); }
@media (prefers-reduced-motion: reduce) {
@view-transition { navigation: none; }
}
.etiqueta-apartir { font-size: 11px; line-height: 1; color: var(--pedra); margin-bottom: 4px; letter-spacing: .02em; }
.etiqueta-g .etiqueta-apartir, .etiqueta-m .etiqueta-apartir { font-size: 13px; }
.card-preco small { display: block; font: 400 11px/1.2 var(--f-texto); color: var(--pedra); margin-bottom: 2px; }
.etiqueta-consulta .etiqueta-preco small { display: none; }
.etiqueta-consulta .etiqueta-preco { font-size: 22px; }
.etiqueta-g.etiqueta-consulta .etiqueta-preco { font-size: clamp(26px, 2.6vw, 32px); }
.etiqueta-consulta .etiqueta-parcela { white-space: normal; max-width: 26ch; }
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
