/* Páginas institucionais: Quem somos, Contato, políticas e 404 (artes/2026-09-29-institucionais, 29/09/2026,
   aprovadas pelo Franklin em 30/09). Carrega depois de loja.css (tokens, seções, corredores, receitas, "Ficou com dúvida?")
   e categoria.css (trilha, cartão de produto, avaliações). O bloco "Visite a loja" mora aqui e serve também às páginas locais. */
.inst{max-width:var(--largura-loja);margin-inline:auto;padding:20px clamp(16px,3vw,32px) 64px}
.inst-topo{max-width:760px;margin-bottom:28px}
.inst-topo h1,.qs-hero h1,.e404 h1{font-size:clamp(1.75rem,1.25rem + 1.6vw,2.5rem);font-weight:900;line-height:1.12;letter-spacing:-.015em}
.inst .olho{font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra-dk);margin-bottom:12px}
.inst .lead{font-size:1.125rem;line-height:1.6;color:var(--apoio);margin-top:14px;max-width:62ch}
.inst a.btn{text-decoration:none}
.inst [id]{scroll-margin-top:148px}   /* o cabeçalho fica preso no topo: o título da seção não some embaixo dele */
.atualizada{display:inline-flex;gap:8px;align-items:center;font-size:.9375rem;color:var(--apoio);margin-top:10px}
.atualizada svg{width:18px;height:18px}

/* ---------- Modelo de texto: políticas e termos ---------- */
.doc{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;align-items:start}
.doc-lado{position:sticky;top:148px;display:grid;gap:24px}
.doc-lado h2{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--apoio);margin-bottom:6px;padding-left:12px}
.doc-nav ul,.sumario ol,.sumario-cel ol{list-style:none}
.doc-nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--raio-in);color:var(--tinta);text-decoration:none;font-weight:600;font-size:.9375rem}
.doc-nav a:hover{background:#fff;color:var(--terra-dk)}
.doc-nav a[aria-current="page"]{background:#fff;box-shadow:var(--sombra-p);color:var(--terra-dk);font-weight:700}
.sumario ol{border-left:2px solid var(--linha);margin-left:12px}
.sumario a{display:flex;align-items:center;min-height:44px;padding:4px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--apoio);text-decoration:none;font-size:.9375rem;line-height:1.35}
.sumario a:hover{color:var(--terra-dk)}
.sumario a.ativo{color:var(--tinta);font-weight:700;border-left-color:var(--terra-dk)}   /* seção na tela */
.sumario-cel{display:none}
.doc-main{display:grid;gap:20px;min-width:0}

.em-resumo{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:clamp(20px,3vw,28px)}
.em-resumo h2{font-size:1.1875rem;font-weight:700;margin-bottom:14px}
.res-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.res-item{display:grid;grid-template-columns:28px minmax(0,1fr);align-content:start;gap:2px 12px;padding:14px 16px;border-radius:var(--raio-in);background:var(--papel);border:1px solid var(--linha)}
.res-item svg{width:24px;height:24px;color:var(--terra-dk);grid-row:span 2;margin-top:1px}
.res-item b{font-size:1rem;line-height:1.35}
.res-item span{font-size:.9375rem;color:var(--apoio);line-height:1.5}
.em-resumo .aviso{margin-top:12px;font-size:.9375rem}

.doc-corpo{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:clamp(22px,4vw,44px)}
.doc-corpo .ex-linha{margin-bottom:18px}
.doc-corpo .texto{max-width:70ch}
.doc-corpo p,.doc-corpo li{font-size:1rem;line-height:1.7}
.doc-corpo .texto>p+p{margin-top:14px}
.doc-corpo h2{display:flex;gap:12px;align-items:center;font-size:1.25rem;font-weight:900;line-height:1.3;margin:40px 0 4px}
.doc-corpo h2 .n{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:999px;background:#fdf1ea;color:var(--terra-dk);font-size:.9375rem;font-variant-numeric:tabular-nums}
.clausula{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 6px;margin-top:14px}
.clausula .num{font-weight:700;color:var(--apoio);font-variant-numeric:tabular-nums;line-height:1.7}
.clausula.sem-num{grid-template-columns:minmax(0,1fr)}
.doc-corpo ul{list-style:none;display:grid;gap:6px;margin-top:10px}
.doc-corpo ul li{position:relative;padding-left:20px}
.doc-corpo ul li::before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--terra)}

.duvida .btn-sec{min-height:48px}

/* ---------- Quem somos ---------- */
.qs-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:44px;align-items:center;padding:8px 0}
.qs-hero .h1-sub{display:block;font-size:.5em;font-weight:700;letter-spacing:0;color:var(--terra-dk);margin-top:12px}
.qs-hero .acoes-h{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.qs-hero .acoes-h .btn{width:auto;padding-inline:24px}
.qs-hero .acoes-h .btn-sec{padding-inline:22px}
.qs-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--raio);box-shadow:var(--sombra-m)}
.qs-hero figcaption{font-size:.875rem;color:var(--apoio);margin-top:10px}
.historia{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start}
.historia h2{font-size:1.75rem;font-weight:900;letter-spacing:-.01em;line-height:1.15;margin-bottom:16px}
.historia .texto p{font-size:1.0625rem;line-height:1.75;max-width:66ch}
.historia .texto p+p{margin-top:16px}
.linha-tempo{list-style:none;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:26px 24px}
.linha-tempo li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;padding-bottom:24px}
.linha-tempo li:last-child{padding-bottom:0}
.linha-tempo li::before{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:2px;background:var(--linha)}
.linha-tempo li:last-child::before{display:none}
.linha-tempo .ic-t{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fdf1ea;color:var(--terra-dk)}
.linha-tempo li:last-child .ic-t{background:var(--terra-dk);color:#fff}
.linha-tempo b{font-size:1.0625rem;padding-top:9px}
.linha-tempo span{font-size:.9375rem;line-height:1.5;color:var(--apoio)}
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mvv article{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:24px;display:grid;gap:10px;align-content:start}
.mvv svg{width:32px;height:32px;color:var(--terra-dk)}
.mvv h3{font-size:1.1875rem;font-weight:700}
.mvv p{font-size:1rem;line-height:1.6}

/* ---------- Contato ---------- */
.canais{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.canal{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:24px;display:flex;flex-direction:column;gap:8px}
.canal>svg{width:32px;height:32px;color:var(--terra-dk);margin-bottom:4px;align-self:flex-start}
.canal h2{font-size:1rem;font-weight:700;color:var(--apoio)}
.canal .dado{font-size:1.3125rem;font-weight:900;line-height:1.25;font-variant-numeric:tabular-nums}
.canal .dado.mail{font-size:1.0625rem}
.canal p:not(.dado){font-size:.9375rem;line-height:1.55;color:var(--apoio);margin-bottom:10px}
.canal .btn,.canal .btn-sec{margin-top:auto;min-height:52px}
.canal .btn{font-size:1rem}
.contato-baixo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-top:16px}
.foto-loja{margin:0;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);overflow:hidden}
.foto-loja img{display:block;width:100%;height:340px;object-fit:cover}
.foto-loja figcaption{padding:12px 16px;font-size:.875rem;color:var(--apoio)}
.atalhos{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:22px 24px}
.atalhos h2{font-size:1.1875rem;font-weight:700;margin-bottom:6px}
.atalhos ul{list-style:none}
.atalhos li+li{border-top:1px solid var(--linha)}
.atalhos a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 0;color:var(--tinta);text-decoration:none}
.atalhos a b{display:block;font-size:1rem}
.atalhos a small{display:block;font-size:.875rem;color:var(--apoio)}
.atalhos a svg{color:var(--apoio)}
.atalhos a:hover b{color:var(--terra-dk);text-decoration:underline;text-underline-offset:3px}
.empresa{margin-top:24px;font-size:.875rem;color:var(--apoio)}

/* ---------- 404 ---------- */
.e404{display:grid;justify-items:center;text-align:center;gap:12px;padding:40px 0 8px}
.e404 .cod{font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra-dk)}
.e404 h1{max-width:22ch}
.e404>p{font-size:1.0625rem;color:var(--apoio);max-width:52ch}
.busca-404{position:relative;display:flex;gap:8px;width:min(600px,100%);margin-top:10px}
.busca-404 svg{position:absolute;left:18px;top:50%;translate:0 -50%;color:var(--apoio);pointer-events:none}
.busca-404 input{flex:1;min-width:0;font:inherit;font-size:1.0625rem;min-height:56px;padding:12px 16px 12px 50px;border:1px solid var(--borda);border-radius:var(--raio-in);background:#fff;color:var(--tinta)}
.busca-404 input:focus{outline:2px solid var(--terra-dk);outline-offset:1px;border-color:var(--terra-dk)}
.busca-404 .btn{width:auto;padding-inline:26px}
.e404 .acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:2px}
.e404 .acoes .btn-sec{min-height:48px}

/* ---------- Celular ---------- */
@media (max-width:900px){
  .inst [id]{scroll-margin-top:192px}
  .doc{grid-template-columns:minmax(0,1fr);gap:20px}
  .doc-lado{position:static;order:2}
  .doc-lado .sumario{display:none}
  .doc-lado h2{padding-left:0}
  .doc-nav ul{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);padding:6px}
  .doc-nav a[aria-current="page"]{box-shadow:none;background:#fdf1ea}
  .sumario-cel{display:block;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p)}
  .sumario-cel summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;font-weight:700;cursor:pointer;list-style:none}
  .sumario-cel summary::-webkit-details-marker{display:none}
  .sumario-cel summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--tinta);border-bottom:2px solid var(--tinta);rotate:45deg;translate:0 -3px;transition:rotate .15s}
  .sumario-cel[open] summary::after{rotate:225deg;translate:0 3px}
  .sumario-cel ol{padding:0 8px 8px;border-top:1px solid var(--linha)}
  .sumario-cel a{display:flex;align-items:center;min-height:44px;padding:4px 10px;color:var(--tinta);text-decoration:none;font-size:.9375rem}
  .res-grid{grid-template-columns:minmax(0,1fr)}
  .doc-corpo h2{margin-top:32px;font-size:1.125rem}
  .clausula{grid-template-columns:34px minmax(0,1fr)}
  .qs-hero,.historia,.visita,.contato-baixo{grid-template-columns:minmax(0,1fr);gap:24px}
  .qs-hero{padding-top:0}
  .qs-hero figure{order:-1}
  .historia h2{font-size:1.4375rem}
  .mvv,.canais{grid-template-columns:minmax(0,1fr)}
  .visita figure{min-height:0;aspect-ratio:4/3}
  .visita h2{font-size:1.4375rem}
  .foto-loja img{height:auto;aspect-ratio:4/3}
  .busca-404 .btn{padding-inline:18px}
  .e404{padding-top:16px}
}
@media (max-width:420px){
  .qs-hero .acoes-h a,.visita .acoes a,.e404 .acoes a{width:100%}
}
@media (prefers-reduced-motion:reduce){.sumario-cel summary::after{transition:none}}

/* ---------- Ajustes da montagem ---------- */
.nw{white-space:nowrap}
.doc-corpo .texto>p{margin-top:14px}
.doc-corpo .texto>:first-child{margin-top:0}
.doc-corpo .texto>h2:first-child{margin-top:0}
.doc-corpo h3{font-size:1.0625rem;font-weight:700;margin:24px 0 4px}
.doc-corpo a{color:var(--terra-dk)}
.inst .lead p+p{margin-top:10px}
.qs-hero figure{margin:0}
.qs-hero figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--raio);box-shadow:var(--sombra-m)}
.mvv article>p{font-size:1rem;line-height:1.6}
.em-resumo .aviso .ic{flex:none;width:20px;height:20px}
.atualizada .ic{width:18px;height:18px}
.canal>.ic{width:32px;height:32px;color:var(--terra-dk);margin-bottom:4px}
.canal .btn .ic,.canal .btn-sec .ic{width:20px;height:20px}
.linha-tempo .ic-t .ic{width:22px;height:22px}
.mvv .ic{width:32px;height:32px;color:var(--terra-dk)}
.res-item .ic{width:24px;height:24px;color:var(--terra-dk);grid-row:span 2;margin-top:1px}
.atalhos a .ic{flex:none;width:20px;height:20px}
.busca-404 .ic{position:absolute;left:18px;top:50%;translate:0 -50%;color:var(--apoio);pointer-events:none}

/* ---------- "Visite a loja" (Quem somos e páginas locais) ---------- */
.visita{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-p);overflow:hidden}
.visita figure{margin:0;min-height:320px}
.visita img{display:block;width:100%;height:100%;object-fit:cover}
.visita .txt{padding:clamp(22px,3vw,36px);display:grid;gap:18px;align-content:center}
.visita h2{font-size:1.75rem;font-weight:900;letter-spacing:-.01em}
.visita .dados{list-style:none;display:grid;gap:14px}
.visita .dados li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;font-size:.9375rem;line-height:1.5;color:var(--apoio)}
.visita .dados .ic{width:22px;height:22px;color:var(--terra-dk);margin-top:1px;stroke-width:1.8}
.visita .dados b{display:block;color:var(--tinta);font-size:1rem}
.visita .acoes{display:flex;gap:10px;flex-wrap:wrap}
.visita .btn-sec{min-height:48px}
.visita .btn-sec .ic{width:20px;height:20px;stroke-width:1.8}
.sec-rev .avaliacoes{margin-top:0}
@media (max-width:900px){.visita{grid-template-columns:minmax(0,1fr)}.visita figure{min-height:0;aspect-ratio:4/3}.visita h2{font-size:1.4375rem}}

.hub-loc{margin-top:18px;font-size:1rem}
.hub-loc a{color:var(--terra-dk);font-weight:700}
