/* ══════════════════════════════════════
   MUSEU JUDAICO RJ — Nossa Comunidade
   Estilos exclusivos da página
══════════════════════════════════════ */

/* ── INTRO ── */
.intro-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,6vw,7rem); align-items:center; }
.intro-text p { font-size:.9375rem; color:var(--ink-2); line-height:1.8; }
.intro-text p+p { margin-top:1.1rem; }
.intro-img-wrap { position:relative; }
.img-placeholder { background:var(--parchment); border:1px solid var(--border); border-radius:8px; aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.875rem; color:var(--ink-3); }
.img-placeholder-label { font-family:var(--mono); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); text-align:center; padding:0 1.5rem; }
.img-caption { font-family:var(--mono); font-size:.65rem; letter-spacing:.06em; color:var(--ink-3); margin-top:.875rem; font-style:italic; line-height:1.55; }
.img-frame { border:1px solid var(--border); border-radius:8px; overflow:hidden; position:relative; }
.img-frame img { width:100%; height:100%; object-fit:cover; display:block; }

/* ── ASIDE EXTRAS ── */
.aside-box-body { padding:1.25rem; }
.aside-img .img-placeholder { border-radius:0; border:none; aspect-ratio:3/2; }
.aside-img img { width:100%; display:block; }

/* ── LINHA DO TEMPO ── */
.timeline { margin-top:3.5rem; position:relative; }
.timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,transparent,var(--gold) 8%,var(--gold) 92%,transparent); opacity:.45; }
.tl-item { padding-left:2.5rem; padding-bottom:3rem; position:relative; }
.tl-item:last-child { padding-bottom:0; }
.tl-dot { position:absolute; left:-5px; top:4px; width:11px; height:11px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px var(--off-white),0 0 0 4px rgba(180,145,80,.35); }
.tl-era { font-family:var(--mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.tl-title { font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--ink); margin-bottom:.625rem; line-height:1.2; }
.tl-text { font-size:.875rem; color:var(--ink-3); line-height:1.7; }

/* ── GALERIA ── */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.125rem; margin-top:2.5rem; }
.gallery-item { border-radius:6px; overflow:hidden; border:1px solid var(--border); position:relative; background:var(--parchment); }
.gallery-item .img-placeholder { border-radius:0; border:none; aspect-ratio:3/2; gap:.625rem; }
.gallery-img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; background:var(--parchment); transition:transform 400ms ease; }
.gallery-item:hover .gallery-img { transform:scale(1.04); }
.gallery-caption { padding:.875rem 1rem; font-family:var(--mono); font-size:.62rem; letter-spacing:.04em; color:var(--ink-3); line-height:1.55; background:white; font-style:italic; }

/* ── DESTAQUES (STATS) ── */
.stats-band { background:var(--navy); padding:clamp(3rem,5vw,4.5rem) 0; position:relative; overflow:hidden; }
.stats-band::after { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); pointer-events:none; opacity:.45; mix-blend-mode:overlay; }
.stats-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid rgba(255,255,255,.08); border-radius:10px; overflow:hidden; }
.stat-item { padding:2.5rem 2rem; border-right:1px solid rgba(255,255,255,.08); text-align:center; }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--serif); font-size:clamp(2.5rem,4vw,3.5rem); font-weight:300; color:white; line-height:1; margin-bottom:.375rem; }
.stat-num em { font-style:italic; color:var(--gold-light); }
.stat-label { font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); line-height:1.5; }

/* ── TEXTO NARRATIVO LONGO ── */
.narrative-layout { display:grid; grid-template-columns:1fr 340px; gap:clamp(3rem,6vw,6rem); align-items:start; }
.narrative-body p { font-size:.9375rem; color:var(--ink-2); line-height:1.8; }
.narrative-body p+p { margin-top:1.1rem; }
.narrative-h2 { font-family:var(--serif); font-size:clamp(1.5rem,2.5vw,2rem); font-weight:400; color:var(--ink); line-height:1.15; letter-spacing:-.015em; margin:3rem 0 1.25rem; padding-top:2.5rem; border-top:1px solid var(--border); }
.narrative-h2 em { font-style:italic; color:var(--navy-mid); }
.narrative-pullquote { font-family:var(--serif); font-size:clamp(1.0625rem,1.75vw,1.3rem); font-style:italic; color:var(--ink); line-height:1.55; padding:1.5rem 0 1.5rem 1.75rem; border-left:3px solid var(--gold); margin:2.5rem 0; }

/* ── PLACEHOLDER NOTE ── */
.placeholder-note { display:flex; align-items:flex-start; gap:.875rem; padding:1.25rem 1.5rem; background:rgba(180,145,80,.06); border:1px dashed rgba(180,145,80,.4); border-radius:6px; margin-top:1.75rem; }
.placeholder-note .icon { color:var(--gold); flex-shrink:0; margin-top:1px; }
.placeholder-note p { font-size:.8125rem; color:var(--ink-3); line-height:1.65; font-style:italic; }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .intro-layout { grid-template-columns:1fr; }
  .intro-img-wrap { max-width:480px; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-item:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.08); }
  .narrative-layout { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .gallery-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr; }
  .stat-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); padding:1.75rem 1.5rem; }
  .stat-item:last-child { border-bottom:none; }
}
