/* =========================================================================
   Site padrão das lojas do Star Negócios (início, a casa, contato).

   Uma regra só guia esta folha: nenhuma faixa da página fica vazia. Toda
   seção tem duas colunas cheias no computador, e o que o dono ainda não
   cadastrou é trocado pelo que a casa já tem (itens, horário, equipe).

   A cor não é um detalhe: fundo, cartões e bordas saem misturados com a cor
   da marca (tema.css), e o desenho do ramo — pizza, tesoura, volante — entra
   pintado nessa cor. Por isso duas lojas nunca parecem o mesmo site.

   Lojas com site próprio (lojas/<apelido>/) têm este arquivo substituído.
   ========================================================================= */

@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fontes/archivo-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fontes/archivo-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;
  src:url("../fontes/archivo-latin-800-normal.woff2") format("woff2")}

:root{
  /* Valores de reserva: o tema.css da loja substitui todos. */
  --cor-marca:#C7351F; --cor-marca-escura:#A32B18; --cor-marca-texto:#C7351F;
  --cor-sobre-marca:#FFFFFF; --cor-escuro:#2A201B;
  --cor-botao:#C7351F; --cor-botao-escura:#A32B18; --cor-sobre-botao:#FFFFFF;
  --cor-fundo:#FFFBF4; --cor-superficie:#FFF2E2; --cor-realce:#FBE3CF;
  --cor-borda:#EBDCC8; --cor-texto:#2A201B; --cor-texto-suave:#6B5A50;
  --cor-erro:#B3261E;

  --fonte:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;

  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:24px;
  --e6:32px; --e7:48px; --e8:64px; --e9:88px;

  --raio-pill:999px; --raio-card:22px; --raio-foto:18px;
  --largura:1240px;
  --sombra:0 14px 34px rgba(20,14,10,.10);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--cor-fundo);color:var(--cor-texto);
  font-family:var(--fonte);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--fonte);margin:0;line-height:1.05;letter-spacing:-.025em;font-weight:800}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--cor-marca-texto);outline-offset:3px;border-radius:6px}

.pular{position:absolute;left:-9999px;top:var(--e3);z-index:100;
  background:var(--cor-botao);color:var(--cor-sobre-botao);font-weight:600;
  padding:var(--e3) var(--e5);border-radius:var(--raio-pill)}
.pular:focus{left:var(--e4)}
.limite{max-width:var(--largura);margin:0 auto;padding:0 var(--e5)}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ------------------------------------------------------ desenho do ramo
   O ladrilho é só a forma do traço (transparência); a cor vem de quem usa.
   Fica num ::before para a opacidade não atingir o texto por cima. */
.com-desenho{position:relative;isolation:isolate;overflow:hidden}
.com-desenho::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-color:var(--desenho-cor,var(--cor-marca));
  -webkit-mask-image:var(--fundo-ramo);mask-image:var(--fundo-ramo);
  -webkit-mask-size:var(--desenho-tamanho,460px);mask-size:var(--desenho-tamanho,460px);
  -webkit-mask-repeat:repeat;mask-repeat:repeat;
  opacity:var(--desenho-forca,.12);
}

/* --------------------------------------------------------- demonstração */
.faixa-demo{
  margin:0;padding:10px var(--e5);text-align:center;font-size:.86rem;
  background:var(--cor-escuro);color:rgba(255,255,255,.86);
}
/* Demonstração: a mesma loja nos cinco layouts (Visual da página). */
.troca-layout{
  display:flex;align-items:center;justify-content:center;gap:12px;padding:0 var(--e5) 10px;
  background:var(--cor-escuro);color:rgba(255,255,255,.86);font-size:.84rem;
}
.troca-layout-rotulo{font-weight:600;opacity:.75;white-space:nowrap}
.troca-layout-opcoes{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.troca-layout-opcoes::-webkit-scrollbar{display:none}
.troca-layout a{
  display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;white-space:nowrap;
  border:1px solid rgba(255,255,255,.3);color:inherit;text-decoration:none;font-weight:700;
}
.troca-layout a:hover{border-color:#fff}
.troca-layout a[aria-current="true"]{background:#fff;color:var(--cor-escuro);border-color:#fff}
@media (max-width:720px){
  .troca-layout{justify-content:flex-start;padding:0 0 10px var(--e4)}
  .troca-layout-opcoes{padding-right:var(--e4)}
}
.dica{
  display:flex;gap:var(--e3);align-items:flex-start;margin-top:var(--e5);
  padding:var(--e4) var(--e5);border-radius:var(--raio-card);
  border:1.5px dashed color-mix(in srgb,var(--cor-marca) 45%,transparent);
  background:color-mix(in srgb,var(--cor-marca) 7%,#fff);
  color:var(--cor-texto);font-size:.9rem;line-height:1.5;
}
.dica b{color:var(--cor-marca-texto)}
.dica-icone{flex:0 0 18px;margin-top:2px;color:var(--cor-marca-texto)}
.dica-clara{
  background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.6);
  color:#1E1915;box-shadow:var(--sombra);
}

/* ----------------------------------------------------------------- topo */
.topo{background:var(--cor-fundo);border-bottom:1px solid var(--cor-borda);position:sticky;top:0;z-index:30}
.topo-interno{
  max-width:var(--largura);margin:0 auto;padding:var(--e3) var(--e5);
  display:flex;align-items:center;gap:var(--e5);min-height:72px;
}
.marca{display:flex;align-items:center;gap:var(--e3);text-decoration:none;min-width:0}
.marca-logo{height:48px;width:auto;max-width:200px;object-fit:contain}
.marca-escrita{height:48px;width:auto}
.marca-selo{height:46px;width:46px;border-radius:50%;object-fit:cover;flex:none}
.marca-inicial{
  width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--cor-marca);color:var(--cor-sobre-marca);font-weight:800;font-size:1.25rem;
}
.marca-texto{display:flex;flex-direction:column;min-width:0}
.marca-nome{font-weight:800;font-size:1.12rem;letter-spacing:-.02em;line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca-lugar{font-size:.78rem;color:var(--cor-texto-suave)}
.menu{display:flex;gap:var(--e1);margin-left:auto}
.menu a{
  text-decoration:none;font-weight:600;font-size:1rem;color:var(--cor-texto);
  padding:var(--e2) var(--e4);border-radius:var(--raio-pill);
}
.menu a:hover{background:var(--cor-superficie)}
.menu a[aria-current]{background:var(--cor-realce)}
.acao-topo{
  text-decoration:none;font-weight:800;padding:12px 26px;border-radius:var(--raio-pill);
  background:var(--cor-botao);color:var(--cor-sobre-botao);white-space:nowrap;
}
.acao-topo:hover{background:var(--cor-botao-escura)}

/* --------------------------------------------------------------- botões */
.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);
  min-height:52px;padding:0 30px;border-radius:var(--raio-pill);
  text-decoration:none;font-weight:700;font-size:1rem;border:1.5px solid transparent;
  font-family:inherit;cursor:pointer;text-align:center;
}
.botao-principal{background:var(--cor-botao);color:var(--cor-sobre-botao)}
.botao-principal:hover{background:var(--cor-botao-escura)}
.botao-contorno{border-color:var(--cor-borda);color:var(--cor-texto);background:#fff}
.botao-contorno:hover{border-color:var(--cor-marca-texto);color:var(--cor-marca-texto)}
.botao-vidro{
  background:color-mix(in srgb,currentColor 16%,transparent);color:inherit;
  border-color:color-mix(in srgb,currentColor 30%,transparent);
}
.botao-vidro:hover{background:color-mix(in srgb,currentColor 26%,transparent)}
.hero-acoes{display:flex;flex-wrap:wrap;gap:var(--e3);margin-top:var(--e6)}

/* ----------------------------------------------------------------- hero */
.hero{
  background:linear-gradient(115deg,var(--cor-marca) 0%,var(--cor-marca) 55%,var(--cor-marca-escura) 100%);
  color:var(--cor-sobre-marca);
  --desenho-cor:var(--cor-sobre-marca);--desenho-forca:.13;--desenho-tamanho:430px;
}
/* Em cima da cor da marca, o botão principal é o escuro da casa: botão da
   mesma cor do fundo sumiria. */
.hero .botao-principal,.fechamento .botao-principal{background:var(--cor-escuro);color:#fff}
.hero .botao-principal:hover,.fechamento .botao-principal:hover{background:#000}
.hero-interno{
  max-width:var(--largura);margin:0 auto;padding:var(--e8) var(--e5) var(--e8);
  display:grid;grid-template-columns:1.05fr .95fr;gap:var(--e8);align-items:center;
}
.hero h1{font-size:clamp(2.4rem,4.6vw,4.1rem);margin-top:var(--e5);max-width:15ch;text-wrap:balance}
.hero-linha{margin-top:var(--e5);font-size:1.14rem;max-width:44ch;opacity:.92}

/* Fileira que quebra linha: no celular estreito, o que não cabe desce
   inteiro para a linha de baixo ("Voltamos amanhã às 9h") sem virar duas
   colunas espremidas, e começa alinhado na esquerda (com margem, descia
   recuado). Numa linha continua pílula; em duas, cartão redondo. */
.estado{
  display:inline-flex;flex-wrap:wrap;align-items:center;column-gap:var(--e2);row-gap:1px;
  max-width:100%;margin:0;
  border:1.5px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:22px;
  padding:7px var(--e5) 7px var(--e3);font-size:.92rem;line-height:1.4;
  background:color-mix(in srgb,currentColor 10%,transparent);
}
.estado-luz{display:inline-block;width:12px;height:12px;border-radius:50%;background:currentColor;opacity:.45;
  vertical-align:-1px;margin-right:var(--e2)}
.estado[data-situacao="aberto"] .estado-luz{
  opacity:1;background:#3DDC84;box-shadow:0 0 0 4px rgba(61,220,132,.3);
  animation:pulso 2.6s ease-in-out infinite;
}
.estado-titulo{font-weight:700}
.estado-detalhe{display:inline-block;opacity:.8}
.estado > .estado-luz{margin-right:0}
@keyframes pulso{0%,100%{opacity:1}50%{opacity:.55}}

.hero-fatos{
  list-style:none;margin:var(--e7) 0 0;padding:var(--e5) 0 0;
  display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--e7);
  border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);
}
.hero-fatos li{display:flex;flex-direction:column;gap:2px}
.hero-fatos b{font-size:1.05rem}
.hero-fatos span{font-size:.86rem;opacity:.8}

/* A vitrine da capa: uma foto grande e duas menores embaixo. */
.hero-vitrine{display:grid;grid-template-columns:1fr 1fr;gap:var(--e4);align-content:start}
.hero-foto{
  position:relative;margin:0;border-radius:var(--raio-foto);overflow:hidden;
  aspect-ratio:4/3;background:rgba(0,0,0,.15);text-decoration:none;color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.hero-foto-grande{grid-column:1 / -1;aspect-ratio:16/10}
.hero-vitrine-uma .hero-foto-grande{aspect-ratio:4/3.4}
.hero-foto img{width:100%;height:100%;object-fit:cover}
.hero-foto-nome{
  position:absolute;left:var(--e3);bottom:var(--e3);right:var(--e3);
  display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;
  font-weight:700;font-size:.92rem;line-height:1.25;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
}
.hero-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;
  background:linear-gradient(to top,rgba(0,0,0,.62),transparent);pointer-events:none}
.hero-foto-nome{z-index:1}
.hero-foto-nome em{font-style:normal;font-weight:600;opacity:.9}
.hero-vitrine .dica{grid-column:1 / -1;margin-top:0}

.hero-lista{
  grid-column:1 / -1;background:rgba(255,255,255,.95);color:var(--cor-texto);
  border-radius:var(--raio-card);padding:var(--e6);box-shadow:var(--sombra);
}
.hero-lista-titulo{font-weight:800;font-size:1.2rem;margin-bottom:var(--e3)}
.hero-lista ul{list-style:none;margin:0;padding:0}
.hero-lista li{display:flex;justify-content:space-between;gap:var(--e4);padding:var(--e3) 0;
  border-bottom:1px dashed var(--cor-borda)}
.hero-lista li:last-child{border-bottom:0}

/* --------------------------------------------------------------- seções */
.secao{padding:var(--e9) 0}
/* Duas seções claras seguidas dividem o respiro; depois de uma faixa tingida
   o respiro volta inteiro, senão o título encosta na faixa. */
.secao + .secao{padding-top:0}
.secao-tinta + .secao,.secao-casa + .secao,.secao-notas + .secao{padding-top:var(--e9)!important}
.secao-tinta{background:var(--cor-superficie);padding:var(--e9) 0!important}
.secao-titulo{font-size:clamp(1.8rem,3.4vw,2.6rem);text-wrap:balance}
.secao-apoio{margin-top:var(--e3);max-width:56ch;color:var(--cor-texto-suave)}
.secao-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--e6);margin-bottom:var(--e6)}
.secao-topo .botao{flex:none}

/* Vitrine de itens: foto em cima, nome, descrição e preço embaixo. */
.vitrine{list-style:none;margin:0;padding:0;display:grid;gap:var(--e5);
  grid-template-columns:repeat(3,1fr)}
.item{
  display:flex;flex-direction:column;height:100%;text-decoration:none;
  background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}
.item:hover{border-color:var(--cor-marca);box-shadow:var(--sombra)}
.item-foto{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--cor-superficie)}
.item-sem-foto{--desenho-forca:.22;--desenho-tamanho:300px;background:var(--cor-superficie)}
.item-corpo{display:flex;flex-direction:column;gap:6px;padding:var(--e5);flex:1}
.item-selo{
  align-self:flex-start;font-size:.76rem;font-weight:700;padding:3px 12px;border-radius:var(--raio-pill);
  background:var(--cor-realce);color:var(--cor-marca-texto);
}
.item-nome{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.item-desc{color:var(--cor-texto-suave);font-size:.93rem}
.item-pe{margin-top:auto;padding-top:var(--e3);display:flex;justify-content:space-between;align-items:baseline;gap:var(--e3)}
.item-pe b{font-size:1.1rem;color:var(--cor-marca-texto)}
.item-pe span{font-size:.82rem;color:var(--cor-texto-suave);text-align:right}

/* Cartão que completa a última linha da vitrine. */
.ocupa-2{grid-column:span 2}
.cta-cartao{
  display:flex;flex-direction:column;justify-content:flex-end;gap:var(--e3);height:100%;min-height:260px;
  text-decoration:none;border-radius:var(--raio-card);padding:var(--e7) var(--e6);
  background:var(--cor-marca);color:var(--cor-sobre-marca);
  --desenho-cor:var(--cor-sobre-marca);--desenho-forca:.14;--desenho-tamanho:360px;
}
.cta-titulo{font-weight:800;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.02em;line-height:1.1}
.cta-texto{max-width:40ch;opacity:.9}
.cta-acao{align-self:flex-start;margin-top:var(--e3);font-weight:700;padding:12px 26px;
  border-radius:var(--raio-pill);background:var(--cor-escuro);color:#fff}
.cta-cartao:hover .cta-acao{background:#000}
.casa-painel-segundo{margin-top:var(--e6)}

/* A casa: história de um lado, painel com o desenho do outro. */
.secao-casa{background:var(--cor-superficie);padding:var(--e9) 0!important}
.casa{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--e8);align-items:center}
.casa-texto .texto-livre,.casa-texto .texto{margin-top:var(--e5)}
.casa-texto .botao{margin-top:var(--e6)}
.texto-livre{white-space:pre-line;max-width:62ch;color:var(--cor-texto-suave);font-size:1.05rem}
.texto{max-width:62ch;color:var(--cor-texto-suave);font-size:1.05rem}
.texto p + p{margin-top:var(--e4)}
.texto-livre + .texto{margin-top:var(--e4)!important}
.casa-painel{
  background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);
  padding:var(--e6);--desenho-forca:.07;box-shadow:var(--sombra);
}
.casa-painel-titulo,.ficha-titulo,.motivos-titulo{font-weight:800;font-size:1.15rem;margin-bottom:var(--e4)}

.equipe{list-style:none;margin:0;padding:0;display:grid;gap:var(--e3)}
.equipe li{
  display:flex;gap:var(--e4);align-items:center;padding:var(--e3) var(--e4);
  background:var(--cor-fundo);border:1px solid var(--cor-borda);border-radius:var(--raio-pill);
}
.equipe-inicial{
  width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--cor-marca);color:var(--cor-sobre-marca);font-weight:800;font-size:1.15rem;
}
.equipe b{display:block}
.equipe small{display:block;color:var(--cor-texto-suave);font-size:.86rem}
.equipe-grande{margin-top:var(--e6);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

.semana{list-style:none;margin:0;padding:0}
.semana li{display:flex;justify-content:space-between;gap:var(--e4);padding:10px 0;
  border-bottom:1px solid var(--cor-borda);font-size:.97rem}
.semana li:last-child{border-bottom:0}
.semana b{font-weight:700}
.semana em{font-style:normal;font-size:.74rem;font-weight:700;margin-left:6px;padding:2px 10px;
  border-radius:var(--raio-pill);background:var(--cor-marca);color:var(--cor-sobre-marca);vertical-align:1px}
.semana-folga{color:var(--cor-texto-suave)}
.semana-folga b{font-weight:600}
.semana-hoje b{color:var(--cor-marca-texto)}

/* Passos: sequência de verdade, por isso numerada. */
.secao-passos{padding:var(--e9) 0!important}
.passos{list-style:none;margin:var(--e7) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e5);counter-reset:passo}
.passos li{
  background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);
  padding:var(--e6);position:relative;
}
.passo-numero{
  display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  background:var(--cor-marca);color:var(--cor-sobre-marca);font-weight:800;font-size:1.3rem;
  margin-bottom:var(--e5);
}
.passos h3{font-size:1.22rem;margin-bottom:var(--e2)}
.passos p{color:var(--cor-texto-suave);font-size:.97rem}

/* Onde e como */
.secao-onde{padding-bottom:var(--e9)!important}
.onde{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--e8);align-items:stretch}
.dados{list-style:none;margin:var(--e5) 0 0;padding:0}
.dados li{display:flex;justify-content:space-between;gap:var(--e5);padding:var(--e4) 0;border-bottom:1px solid var(--cor-borda)}
.dados .rotulo{color:var(--cor-texto-suave)}
.dados .valor{font-weight:700;text-align:right}
.cartao-lugar{
  background:var(--cor-superficie);border:1px solid var(--cor-borda);border-radius:var(--raio-card);
  padding:var(--e6);--desenho-forca:.1;display:flex;flex-direction:column;
}
.cartao-lugar h3{font-size:1.35rem}
.cartao-lugar p{margin-top:var(--e3);color:var(--cor-texto-suave);font-size:1.05rem}
.cartao-lugar-acoes{display:flex;flex-wrap:wrap;gap:var(--e3);margin-top:var(--e5)}
.cartao-lugar .botao{align-self:flex-start;margin-top:var(--e5)}
.cartao-lugar-acoes .botao{margin-top:0}
.cartao-lugar .dica{margin-top:auto;padding-top:var(--e4)}
.cartao-lugar .cartao-lugar-acoes + .dica{margin-top:var(--e5)}

/* Promoções e avaliações (partes comuns com as lojas de tela própria). */
#promocoes{padding-bottom:0}
.promocoes-lista{display:grid;gap:var(--e5);margin-top:var(--e6);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.promocao{background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);overflow:hidden;display:flex;flex-direction:column}
.promocao img{width:100%;aspect-ratio:1/1;object-fit:cover}
.promocao-texto{padding:var(--e5);display:flex;flex-direction:column;gap:var(--e2)}
.promocao h3{font-size:1.25rem}
.promocao-preco{font-weight:800;font-size:1.2rem;color:var(--cor-marca-texto)}
.promocao small{color:var(--cor-texto-suave)}
.secao-notas{background:var(--cor-superficie);padding:var(--e9) 0!important}
.notas{display:grid;gap:var(--e4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:var(--e6)}
.nota-media{background:var(--cor-marca);color:var(--cor-sobre-marca);border-radius:var(--raio-card);padding:var(--e6);text-align:center}
.nota-media strong{display:block;font-size:3.2rem;line-height:1;font-weight:800}
.estrelas-grandes{display:block;font-size:1.3rem;letter-spacing:3px;margin-top:6px}
.nota-media small{display:block;margin-top:6px;font-size:.88rem;opacity:.85}
.comentario{margin:0;background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);padding:var(--e5)}
.estrelas-linha{color:#D99A0B;letter-spacing:2px}
.comentario p{margin:var(--e2) 0 var(--e3)}
.comentario cite{font-style:normal;font-weight:700;font-size:.88rem;color:var(--cor-texto-suave)}

/* Chamada final */
.fechamento{
  background:linear-gradient(115deg,var(--cor-marca-escura),var(--cor-marca));
  color:var(--cor-sobre-marca);padding:var(--e9) 0;text-align:center;
  --desenho-cor:var(--cor-sobre-marca);--desenho-forca:.12;--desenho-tamanho:380px;
}
.fechamento h2{font-size:clamp(2rem,4.6vw,3.4rem);max-width:20ch;margin:0 auto;text-wrap:balance}
.fechamento p{margin-top:var(--e4);opacity:.88}
.fechamento .hero-acoes{justify-content:center}

/* --------------------------------------------------- páginas internas */
.cabeca-pagina{
  background:var(--cor-marca);color:var(--cor-sobre-marca);padding:var(--e8) 0;
  --desenho-cor:var(--cor-sobre-marca);--desenho-forca:.13;--desenho-tamanho:400px;
}
.cabeca-pagina h1{font-size:clamp(2.4rem,5vw,4rem)}
.cabeca-pagina p{margin-top:var(--e4);max-width:58ch;font-size:1.12rem;opacity:.92}

.historia{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--e8);align-items:start}
.historia .texto-livre,.historia .texto{margin-top:var(--e5)}
.ficha{
  background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);
  padding:var(--e6);box-shadow:var(--sombra);--desenho-forca:.06;position:sticky;top:96px;
}
.ficha .dados{margin-top:0}
.ficha .dados li:last-child{border-bottom:0}

.mosaico{list-style:none;margin:0;padding:0;display:grid;gap:var(--e4);
  grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px}
.mosaico li:first-child{grid-row:span 2}
.mosaico li:nth-child(4){grid-column:span 2}
.mosaico a{position:relative;display:block;height:100%;border-radius:var(--raio-foto);overflow:hidden;
  text-decoration:none;color:#fff}
.mosaico img{width:100%;height:100%;object-fit:cover}
.mosaico a::after{content:"";position:absolute;inset:auto 0 0 0;height:50%;
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}
.mosaico span{position:absolute;left:var(--e4);bottom:var(--e4);z-index:1;font-weight:800;font-size:1.05rem;
  text-shadow:0 1px 8px rgba(0,0,0,.5)}
.mosaico-texto a{background:var(--cor-marca);color:var(--cor-sobre-marca);--desenho-cor:var(--cor-sobre-marca);--desenho-forca:.14}
.mosaico-texto a::after{display:none}

.duas{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--e8);align-items:start}
.cartao-semana{background:#fff;border:1px solid var(--cor-borda);border-radius:var(--raio-card);padding:var(--e6)}
.cartao-semana .secao-titulo,.cartao-semana h3{margin-bottom:var(--e4)}
.cartao-semana h3{font-size:1.35rem}

/* Contato */
.contato{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--e8);align-items:start}
.contato-lado{display:grid;gap:var(--e5)}
.contato-lado .dica{margin-top:0}
.cartao-zap{
  display:flex;flex-direction:column;gap:4px;text-decoration:none;border-radius:var(--raio-card);
  padding:var(--e6);background:var(--cor-marca);color:var(--cor-sobre-marca);
  --desenho-cor:var(--cor-sobre-marca);--desenho-forca:.14;--desenho-tamanho:320px;
}
.cartao-zap-titulo{font-size:.9rem;opacity:.85;font-weight:600}
.cartao-zap-numero{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
.cartao-zap-acao{margin-top:var(--e4);align-self:flex-start;font-weight:700;padding:10px 22px;
  border-radius:var(--raio-pill);background:var(--cor-escuro);color:#fff}
.form{margin-top:var(--e6)}
.form-dupla{display:grid;grid-template-columns:1fr 1fr;gap:var(--e4)}
.campo{display:block;margin-bottom:var(--e5)}
.campo span{display:block;font-size:.92rem;font-weight:700;margin-bottom:var(--e2)}
.campo input,.campo textarea{
  width:100%;background:#fff;color:var(--cor-texto);font:inherit;
  border:1.5px solid var(--cor-borda);border-radius:var(--raio-pill);
  padding:var(--e3) var(--e5);min-height:52px;
}
.campo textarea{border-radius:var(--raio-card);min-height:150px;resize:vertical}
.campo input:focus,.campo textarea:focus{border-color:var(--cor-marca-texto);outline:none}
.consentimento{display:flex;gap:var(--e3);align-items:flex-start;font-size:.9rem;
  color:var(--cor-texto-suave);margin-bottom:var(--e5)}
.consentimento input{margin-top:4px;flex:0 0 auto;accent-color:var(--cor-marca)}
.armadilha{position:absolute;left:-9999px}
.aviso-envio{background:rgba(46,107,79,.12);border:1px solid rgba(46,107,79,.4);
  border-radius:var(--raio-card);padding:var(--e4) var(--e5);margin-top:var(--e5)}
.aviso-envio.aviso-erro{background:#FDECEA;border-color:#F0C4BE;color:#8E2B20}
.motivos{margin-top:var(--e7);padding:var(--e6);background:var(--cor-superficie);
  border:1px solid var(--cor-borda);border-radius:var(--raio-card)}
.motivos ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--e4);grid-template-columns:repeat(3,1fr)}
.motivos b{display:block;margin-bottom:4px}
.motivos span{color:var(--cor-texto-suave);font-size:.92rem}

/* Privacidade e outras páginas de texto */
.pagina{padding:var(--e8) 0 var(--e9)}
.pagina h1{font-size:clamp(2.2rem,6vw,3.6rem)}
.pagina .texto{margin-top:var(--e6)}
.pagina h2{font-size:1.5rem;margin-top:var(--e7)}

/* --------------------------------------------------------------- rodapé */
.rodape{
  background:var(--cor-escuro);color:rgba(255,255,255,.74);
  --desenho-cor:#fff;--desenho-forca:.045;--desenho-tamanho:420px;
}
.rodape-grade{
  max-width:var(--largura);margin:0 auto;padding:var(--e8) var(--e5);
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--e7);font-size:.94rem;
}
.rodape-grade p + p{margin-top:6px}
.rodape-nome{color:#fff;font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.rodape-frase{margin:var(--e2) 0 var(--e4)!important;color:rgba(255,255,255,.9)}
.rodape-escrita{height:56px;width:auto;background:#fff;border-radius:12px;padding:6px 10px;margin-bottom:var(--e3)}
.rodape-titulo{color:#fff;font-weight:700;margin-bottom:var(--e3)}
.rodape a{color:inherit}
.rodape a:hover{color:#fff}
.rodape-redes{display:flex;gap:var(--e4);flex-wrap:wrap;margin-top:var(--e3)}
.rede{display:inline-flex;align-items:center;gap:8px}
.rodape-fim{
  border-top:1px solid rgba(255,255,255,.14);max-width:var(--largura);margin:0 auto;
  padding:var(--e5);display:flex;justify-content:space-between;gap:var(--e4);flex-wrap:wrap;font-size:.84rem;
}

/* -------------------------------------------------------- tela média */
@media (max-width:1040px){
  .hero-interno{grid-template-columns:1fr;gap:var(--e7)}
  .hero h1{max-width:18ch}
  .vitrine{grid-template-columns:repeat(2,1fr)}
  .vitrine-cta{grid-column:1 / -1}
  .casa,.onde,.historia,.duas,.contato{grid-template-columns:1fr;gap:var(--e7)}
  .ficha{position:static}
  .rodape-grade{grid-template-columns:1fr 1fr}
  .motivos ul{grid-template-columns:1fr}
}

/* No celular o menu sai do topo: o que importa é pedir ou marcar. As
   páginas continuam no rodapé, onde a pessoa chega decidida. */
@media (max-width:720px){
  body{font-size:16px}
  .menu{display:none}
  .acao-topo{margin-left:auto;padding:10px 20px}
  .topo-interno{min-height:64px;padding:var(--e3) var(--e4);gap:var(--e3)}
  .marca-lugar{display:none}
  .limite{padding:0 var(--e4)}
  .hero-interno{padding:var(--e7) var(--e4)}
  .hero-fatos{grid-template-columns:1fr 1fr;gap:var(--e4) var(--e5)}
  .hero-acoes .botao{flex:1 1 100%}
  .secao,.secao-tinta,.secao-casa,.secao-passos,.secao-notas,.fechamento{padding:var(--e8) 0!important}
  .secao + .secao{padding-top:0!important}
  .secao-tinta + .secao,.secao-casa + .secao,.secao-notas + .secao{padding-top:var(--e8)!important}
  .secao-topo{flex-direction:column;align-items:flex-start}
  .vitrine,.passos{grid-template-columns:1fr}
  .cta-cartao{min-height:0;padding:var(--e6) var(--e5)}
  .mosaico{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .mosaico li:first-child{grid-column:span 2;grid-row:span 1}
  .mosaico li:nth-child(4){grid-column:span 1}
  .form-dupla{grid-template-columns:1fr;gap:0}
  .rodape-grade{grid-template-columns:1fr;gap:var(--e6)}
  .rodape-fim{flex-direction:column;gap:var(--e2)}
  .cabeca-pagina{padding:var(--e7) 0}
}
@media (max-width:420px){
  .hero-foto-nome{font-size:.82rem}
  .hero-fatos{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.com-desenho::before{display:none}}
.hero-vitrine-um-lado .hero-foto:not(.hero-foto-grande){grid-column:1 / -1;aspect-ratio:16/7}

/* Celular estreito: o nome da loja quebra em até duas linhas em vez de virar
   "Barbearia do ...", e o botão do topo encurta ("Marcar horário" → "Marcar"). */
@media (max-width:480px){
  .marca-nome{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    font-size:1.02rem;line-height:1.15}
  .acao-topo{padding:10px 18px}
  .acao-topo[data-curto]{font-size:0}
  .acao-topo[data-curto]::after{content:attr(data-curto);font-size:1rem}
}
