/* ============================================================
   Galeria 7 — site institucional
   Tema premium: preto + dourado. As 3 variáveis --cor-titulos,
   --cor-texto e --cor-destaque são sobrescritas via inline style
   em _layout_topo.php a partir de galeria_site_config (editável
   pelo painel, módulo Site institucional > Configurações gerais).
   ============================================================ */

:root{
  /* editáveis pelo CMS (fallback aqui = tema padrão preto/dourado) */
  --cor-titulos: #F2D67A;
  --cor-texto: #EDE6D6;
  --cor-destaque: #D4AF37;

  /* fixas do tema */
  --cor-fundo: #0A0908;
  --cor-fundo-secao: #121110;
  --cor-superficie: #17140F;
  --cor-borda: rgba(212,175,55,0.22);
  --cor-borda-forte: rgba(212,175,55,0.45);
  --cor-texto-suave: #A79E8C;
  --dourado-claro: #F2D67A;
  --dourado-escuro: #9C7A22;
  --sombra: 0 18px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Jost','Poppins',Arial,sans-serif;
  color:var(--cor-texto);
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(212,175,55,.06), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(212,175,55,.05), transparent 55%),
    var(--cor-fundo);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;
  color:var(--cor-titulos);
  font-weight:600;
  letter-spacing:.3px;
  margin:0 0 .5em;
}
a{color:var(--cor-destaque);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--dourado-claro);}
img{max-width:100%;display:block;}

/* ---------- topo ---------- */
header.topo{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;flex-wrap:wrap;
  padding:18px 32px;
  background:rgba(10,9,8,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--cor-borda);
}
header.topo .marca{display:flex;align-items:center;gap:10px;margin:0;}
header.topo .marca .selo{
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--cor-destaque);
  display:flex;align-items:center;justify-content:center;
  color:var(--cor-destaque);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.1rem;
  flex:0 0 auto;
}
header.topo .logo{
  font-family:'Cormorant Garamond','Playfair Display',serif;
  font-size:1.5rem;font-weight:600;color:var(--cor-titulos);
  letter-spacing:1px;text-transform:uppercase;
}
header.topo .logo .sete{color:var(--cor-destaque);}
header.topo nav{display:flex;gap:28px;flex-wrap:wrap;}
header.topo nav a{
  color:var(--cor-texto);font-size:.92rem;letter-spacing:.5px;text-transform:uppercase;
  padding-bottom:4px;border-bottom:1px solid transparent;
}
header.topo nav a:hover{color:var(--cor-destaque);border-bottom-color:var(--cor-destaque);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:120px 24px 96px;
  text-align:center;
  overflow:hidden;
  border-bottom:1px solid var(--cor-borda);
}
.hero{background-size:cover;background-position:center;}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,9,8,.55) 0%, var(--cor-fundo) 96%),
    radial-gradient(900px 500px at 50% 0%, rgba(10,9,8,.35), rgba(10,9,8,.85)),
    repeating-linear-gradient(115deg, rgba(212,175,55,.05) 0 2px, transparent 2px 120px);
  pointer-events:none;
}
.hero > *{position:relative;z-index:1;}
.hero .eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:3px;
  color:var(--cor-destaque);font-size:.78rem;margin-bottom:18px;
  border:1px solid var(--cor-borda-forte);border-radius:999px;padding:6px 18px;
}
.hero h1{
  font-size:clamp(2.2rem,5vw,3.6rem);
  max-width:820px;margin-left:auto;margin-right:auto;
  background:linear-gradient(120deg,#F2D67A 0%,#D4AF37 45%,#F2D67A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{max-width:620px;margin:0 auto 32px;color:var(--cor-texto-suave);font-size:1.05rem;}

.btn{
  display:inline-block;
  background:linear-gradient(135deg,var(--dourado-claro),var(--cor-destaque) 55%,var(--dourado-escuro));
  color:#141008;font-weight:700;letter-spacing:.4px;
  padding:13px 30px;border-radius:4px;text-decoration:none;
  box-shadow:0 8px 24px rgba(212,175,55,.25);
  border:1px solid rgba(0,0,0,.15);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(212,175,55,.4);color:#141008;}
.btn-ghost{
  display:inline-block;background:transparent;color:var(--cor-destaque);
  border:1px solid var(--cor-borda-forte);padding:12px 28px;border-radius:4px;
  margin-left:10px;transition:all .2s ease;
}
.btn-ghost:hover{background:rgba(212,175,55,.08);color:var(--dourado-claro);}

/* ---------- conteúdo ---------- */
main{max-width:1140px;margin:0 auto;padding:0 24px;}
section{margin:72px 0;}
section > h2{
  font-size:clamp(1.6rem,3vw,2.2rem);
  text-align:center;margin-bottom:8px;
}
section > .sub{text-align:center;color:var(--cor-texto-suave);margin-bottom:40px;font-size:.95rem;}
.linha-ouro{width:64px;height:2px;background:linear-gradient(90deg,transparent,var(--cor-destaque),transparent);margin:14px auto 40px;}

/* ---------- loja em destaque (spotlight) ---------- */
.destaque-loja{
  display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;
  border:1px solid var(--cor-borda);border-radius:14px;
  padding:40px;background:linear-gradient(160deg,var(--cor-superficie),var(--cor-fundo-secao));
  box-shadow:var(--sombra);
}
.destaque-loja-texto .eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:2.5px;color:var(--cor-destaque);
  font-size:.75rem;margin-bottom:14px;border:1px solid var(--cor-borda-forte);border-radius:999px;padding:5px 16px;
}
.destaque-loja-texto h3{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:14px;}
.destaque-loja-texto .categoria-pill{
  display:inline-block;background:rgba(212,175,55,.12);border:1px solid var(--cor-borda);
  color:var(--cor-destaque);font-size:.75rem;letter-spacing:1px;text-transform:uppercase;
  padding:4px 12px;border-radius:999px;margin-bottom:14px;
}
.destaque-loja-texto p{color:var(--cor-texto-suave);font-size:1rem;}
.trust-list{list-style:none;padding:0;margin:20px 0 26px;display:flex;flex-direction:column;gap:10px;}
.trust-list li{display:flex;align-items:center;gap:10px;color:var(--cor-texto);font-size:.94rem;}
.trust-list li::before{content:'✓';color:var(--cor-destaque);font-weight:700;flex:0 0 auto;}
.destaque-loja-foto{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--cor-borda);}
.destaque-loja-foto img{width:100%;height:340px;object-fit:cover;display:block;}
.destaque-loja-badge{
  position:absolute;top:16px;left:16px;
  background:rgba(10,9,8,.75);backdrop-filter:blur(4px);
  border:1px solid var(--cor-borda-forte);color:var(--dourado-claro);
  font-size:.72rem;letter-spacing:1px;text-transform:uppercase;
  padding:8px 14px;border-radius:999px;
}
.destaque-loja-logo{
  width:56px;height:56px;border-radius:50%;object-fit:contain;background:#fff;
  padding:6px;border:2px solid var(--cor-destaque);margin-bottom:16px;
}
.destaque-loja-fotos-par{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;}
.destaque-loja-fotos-par img{width:100%;height:220px;object-fit:cover;border-radius:8px;border:1px solid var(--cor-borda);cursor:zoom-in;transition:transform .3s ease;}
.destaque-loja-fotos-par img:hover{transform:scale(1.03);}
@media (max-width:820px){
  .destaque-loja{grid-template-columns:1fr;padding:26px;}
  .destaque-loja-foto img{height:240px;}
}
@media (max-width:480px){
  .destaque-loja-fotos-par{grid-template-columns:1fr;}
  .destaque-loja-fotos-par img{height:200px;}
}

/* Banner (tier mais caro) — maior, com mais respiro e conteúdo/imagens que o padrão. */
.destaque-loja-banner-wrap .destaque-loja{padding:56px;gap:60px;}
.destaque-loja-banner-wrap .destaque-loja-texto h3{font-size:clamp(1.9rem,3.6vw,2.6rem);}
.destaque-loja-banner-wrap .destaque-loja-texto p{font-size:1.05rem;line-height:1.65;}
.destaque-loja-banner-wrap .destaque-loja-texto-extra{margin-top:16px;padding-top:16px;border-top:1px solid var(--cor-borda);color:var(--cor-texto-suave);}
.destaque-loja-banner-wrap .destaque-loja-logo{width:68px;height:68px;}
.destaque-loja-banner-wrap .destaque-loja-foto img{height:460px;}
.destaque-loja-banner-wrap .destaque-loja-fotos-par{margin:0;height:460px;}
.destaque-loja-banner-wrap .destaque-loja-fotos-par img{height:100%;}
@media (max-width:820px){
  .destaque-loja-banner-wrap .destaque-loja{padding:30px;gap:26px;}
  .destaque-loja-banner-wrap .destaque-loja-foto img{height:300px;}
  .destaque-loja-banner-wrap .destaque-loja-fotos-par{height:auto;}
  .destaque-loja-banner-wrap .destaque-loja-fotos-par img{height:220px;}
}

/* Carrossel de fotos do banner (2 a 5 fotos) — cross-fade automático, mesma engine JS do
   carrossel de boxes vagos (.carrossel-boxes), ver _layout_rodape.php:iniciarCarrosseis(). */
.destaque-loja-foto-carrossel{border:0;overflow:visible;border-radius:0;}
.destaque-loja-carrossel{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--cor-borda);background:var(--cor-superficie);}
.destaque-loja-banner-wrap .destaque-loja-carrossel{height:460px;}
.destaque-loja-carrossel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;cursor:zoom-in;}
.destaque-loja-carrossel img.slide-ativo{opacity:1;}
.destaque-loja-foto-carrossel .carrossel-dots{margin-top:16px;}
@media (max-width:820px){
  .destaque-loja-banner-wrap .destaque-loja-carrossel{height:300px;}
}

/* ---------- gancho + carrossel de boxes vagos (dentro de "locação de box") ---------- */
.locacao-extra{margin-top:44px;padding-top:36px;border-top:1px solid var(--cor-borda);text-align:center;}
.locacao-gancho{max-width:640px;margin:0 auto 28px;font-family:'Cormorant Garamond','Playfair Display',serif;font-size:1.35rem;color:var(--cor-titulos);font-weight:600;line-height:1.4;}
.carrossel-boxes{position:relative;max-width:720px;margin:0 auto;border-radius:12px;overflow:hidden;border:1px solid var(--cor-borda);box-shadow:var(--sombra);aspect-ratio:16/9;background:var(--cor-superficie);}
.carrossel-boxes img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;cursor:zoom-in;}
.carrossel-boxes img.slide-ativo{opacity:1;}
.carrossel-boxes::after{
  content:'🔍 Clique para ampliar';position:absolute;bottom:14px;right:14px;
  background:rgba(10,9,8,.72);color:var(--cor-texto);font-size:.72rem;
  padding:6px 14px;border-radius:999px;letter-spacing:.3px;pointer-events:none;
  opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;
}
.carrossel-boxes:hover::after{opacity:1;transform:none;}
.carrossel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.carrossel-dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--cor-borda-forte);background:transparent;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.carrossel-dots button.dot-ativo{background:var(--cor-destaque);transform:scale(1.25);}
@media (max-width:560px){
  .carrossel-boxes{aspect-ratio:4/3;}
}

/* ---------- lightbox (abre ao clicar numa foto) ---------- */
.lightbox-overlay{
  display:none;position:fixed;inset:0;z-index:999;
  align-items:center;justify-content:center;padding:28px;
  background:rgba(6,5,4,.93);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .25s ease;
}
.lightbox-overlay.lightbox-aberto{display:flex;}
.lightbox-overlay.lightbox-mostrar{opacity:1;}
.lightbox-conteudo{position:relative;max-width:min(92vw,880px);max-height:88vh;}
.lightbox-conteudo img{
  max-width:100%;max-height:88vh;display:block;border-radius:8px;
  box-shadow:0 30px 90px rgba(0,0,0,.65);
  opacity:0;transform:scale(.9) translateY(10px);
  transition:opacity .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1);
}
.lightbox-overlay.lightbox-mostrar .lightbox-conteudo img{opacity:1;transform:none;}
.lightbox-fechar{
  position:absolute;top:-46px;right:0;background:none;border:none;color:var(--cor-texto);
  font-size:2.1rem;line-height:1;cursor:pointer;transition:color .2s ease,transform .3s ease;
}
.lightbox-fechar:hover{color:var(--cor-destaque);transform:rotate(90deg);}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(10,9,8,.6);border:1px solid var(--cor-borda-forte);color:var(--cor-texto);
  width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.lightbox-nav:hover{background:var(--cor-destaque);color:#141008;transform:translateY(-50%) scale(1.08);}
.lightbox-prev{left:-58px;}
.lightbox-next{right:-58px;}
@media (max-width:768px){
  .lightbox-prev{left:6px;}
  .lightbox-next{right:6px;}
}

/* ---------- animações de entrada ao rolar a página ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease;}
.reveal.reveal-mostrar{opacity:1;transform:none;}
.reveal-grupo > *{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal-grupo.reveal-mostrar > *{opacity:1;transform:none;}
.reveal-grupo.reveal-mostrar > *:nth-child(1){transition-delay:.05s;}
.reveal-grupo.reveal-mostrar > *:nth-child(2){transition-delay:.1s;}
.reveal-grupo.reveal-mostrar > *:nth-child(3){transition-delay:.15s;}
.reveal-grupo.reveal-mostrar > *:nth-child(4){transition-delay:.2s;}
.reveal-grupo.reveal-mostrar > *:nth-child(5){transition-delay:.25s;}
.reveal-grupo.reveal-mostrar > *:nth-child(6){transition-delay:.3s;}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-grupo > *{opacity:1!important;transform:none!important;transition:none!important;}
  .carrossel-boxes img{transition:opacity .3s ease!important;}
}

.grid-lojas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;}
.destaque-loja-banner-wrap{margin-bottom:32px;}
.grid-lojas-padrao{grid-template-columns:1fr 1fr;}
.grid-lojas-padrao + .grid-lojas-mini{margin-top:22px;}
.grid-lojas-mini{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
@media (max-width:700px){
  .grid-lojas-padrao{grid-template-columns:1fr;}
}
.card-loja{
  position:relative;
  border:1px solid var(--cor-borda);border-radius:8px;
  padding:22px;background:linear-gradient(180deg,var(--cor-superficie),var(--cor-fundo-secao));
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.card-loja:hover{transform:translateY(-4px);border-color:var(--cor-borda-forte);box-shadow:var(--sombra);}
.card-loja h3{margin:0 0 4px;font-size:1.25rem;}
.card-loja .categoria{color:var(--cor-destaque);font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;}
.card-loja .box{color:var(--cor-texto-suave);font-size:.85rem;margin-top:2px;}
.card-loja p{color:var(--cor-texto-suave);font-size:.92rem;margin:8px 0 0;}
.card-loja-placeholder,.loja-placeholder{
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 30%, rgba(212,175,55,.15), transparent 70%), var(--cor-fundo-secao);
  border:1px dashed var(--cor-borda);border-radius:6px;font-size:2.2rem;margin-bottom:14px;
}
.card-loja-placeholder{height:90px;}
.loja-placeholder{height:220px;font-size:3.2rem;}
.card-loja img.logo,.loja-logo{max-width:100%;border-radius:6px;margin-bottom:14px;border:1px solid var(--cor-borda);background:#fff;padding:16px;box-sizing:border-box;object-fit:contain;}
.card-loja-foto{width:100%;height:150px;object-fit:cover;border-radius:6px;border:1px solid var(--cor-borda);margin-top:10px;cursor:zoom-in;transition:transform .3s ease;}
.card-loja-foto:hover{transform:scale(1.03);}

/* seção "sobre" com friso lateral dourado */
.painel-sobre{
  border:1px solid var(--cor-borda);border-left:3px solid var(--cor-destaque);
  border-radius:8px;padding:32px 36px;background:var(--cor-superficie);
}

.case-card{border:1px solid var(--cor-borda);border-radius:8px;padding:28px;background:var(--cor-superficie);}
.case-card h3{margin-top:0;}
.case-card p{color:var(--cor-texto-suave);font-size:.94rem;}
.case-card .categoria-pill{
  display:inline-block;background:rgba(212,175,55,.12);border:1px solid var(--cor-borda);
  color:var(--cor-destaque);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;
  padding:4px 12px;border-radius:999px;margin-bottom:14px;
}

.faq-item{border-bottom:1px solid var(--cor-borda);padding:18px 0;}
.faq-item dt{font-weight:600;color:var(--cor-titulos);font-family:'Cormorant Garamond',serif;font-size:1.15rem;}
.faq-item dd{margin:8px 0 0;color:var(--cor-texto-suave);}

.categorias-filtro{text-align:center;margin-bottom:32px;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;}
.categorias-filtro a{color:var(--cor-texto-suave);margin:0 6px;}
.categorias-filtro a.ativa,.categorias-filtro a:hover{color:var(--cor-destaque);}

.contato-info{border:1px solid var(--cor-borda);border-radius:8px;padding:32px;background:var(--cor-superficie);}
.contato-info p{margin:10px 0;}
.contato-info strong{color:var(--cor-titulos);}

.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.mapa-frame{border-radius:8px;overflow:hidden;border:1px solid var(--cor-borda);height:100%;min-height:280px;}
.mapa-frame iframe{width:100%;height:100%;min-height:280px;border:0;filter:grayscale(.3) contrast(1.1);}
@media (max-width:820px){.contato-grid{grid-template-columns:1fr;}}

.grid-instalacoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.grid-instalacoes figure{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--cor-borda);position:relative;}
.grid-instalacoes img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .35s ease;}
.grid-instalacoes figure:hover img{transform:scale(1.06);}
.grid-instalacoes figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:.78rem;
  background:linear-gradient(0deg,rgba(10,9,8,.9),transparent);color:var(--cor-texto-suave);
}

/* ---------- carrossel de instalações (loop infinito, rola sozinho) ---------- */
.carrossel-instalacoes-wrap{
  overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.carrossel-instalacoes-track{display:flex;gap:16px;width:max-content;animation:mg-instalacoes-rolar 70s linear infinite;}
.carrossel-instalacoes-track:hover{animation-play-state:paused;}
.carrossel-instalacoes-track figure{flex:0 0 auto;width:260px;margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--cor-borda);position:relative;}
.carrossel-instalacoes-track img{width:260px;height:200px;object-fit:cover;display:block;cursor:zoom-in;transition:transform .35s ease;}
.carrossel-instalacoes-track figure:hover img{transform:scale(1.06);}
.carrossel-instalacoes-track figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:.78rem;
  background:linear-gradient(0deg,rgba(10,9,8,.9),transparent);color:var(--cor-texto-suave);
}
@keyframes mg-instalacoes-rolar{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (max-width:600px){
  .carrossel-instalacoes-track figure{width:200px;}
  .carrossel-instalacoes-track img{width:200px;height:160px;}
}
@media (prefers-reduced-motion:reduce){
  .carrossel-instalacoes-track{animation:none;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .carrossel-instalacoes-wrap{mask-image:none;-webkit-mask-image:none;}
}

section[id]{scroll-margin-top:88px;}

.vazio{color:var(--cor-texto-suave);font-style:italic;text-align:center;}

/* ---------- rodapé ---------- */
footer{
  border-top:1px solid var(--cor-borda);
  padding:40px 24px;text-align:center;color:var(--cor-texto-suave);
  font-size:.85rem;background:var(--cor-fundo-secao);
}
footer .rodape-marca{color:var(--cor-titulos);font-family:'Cormorant Garamond',serif;font-size:1.2rem;margin-bottom:8px;}
footer a{color:var(--cor-destaque);}
footer .rodape-credito{margin-top:18px;padding-top:18px;border-top:1px solid var(--cor-borda);font-size:.78rem;color:var(--cor-texto-suave);}
footer .rodape-credito a{color:var(--cor-texto-suave);text-decoration:underline;}
footer .rodape-credito a:hover{color:var(--cor-destaque);}

@media (max-width:640px){
  header.topo{padding:14px 18px;}
  header.topo nav{gap:14px;font-size:.8rem;}
  .hero{padding:90px 18px 64px;}
  section{margin:52px 0;}
  .btn-ghost{margin-left:0;margin-top:10px;}
}
