/* Usa as variáveis globais definidas em assets/css/variables.css */

/* ── Page (versão específica desta página) ──
   Usa "main.page" (esta página usa <main class="page">) para não afetar
   o <body>, que o WordPress também marca com a classe "page". */
main.page {
  position: relative;
  z-index: 1;
  max-width: 1300px;
  margin: 0 auto;
  margin-top: 25px;
  padding: 0 clamp(1.25rem, 4vw, 3.5rem);
}

/* ── Breadcrumb ── */
.breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: black;
  background: #ffffff;
  border: 2px dashed #f180b4;
  border-radius: var(--radius-lg);
  padding: .75rem 1.25rem;
  margin-top: 2rem;
  width: fit-content;
}

.breadcrumb a {
  color: black;
  text-decoration: none;
  transition: color .2s;
}

.breadcrumb a:hover { color: #F180B4; }
.breadcrumb span { color: var(--border-mid); }
.breadcrumb span:last-child { color: var(--ink-mid); }

/* ── Hero da categoria ── */
.cat-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(3rem, 7vw, 5rem) 0 clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--border-mid);
  margin-bottom: calc(20px * 2.5);
}

.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}

/* .hero-eyebrow-line não tem CSS no projeto original (estava comentado) —
   mantido tal como estava, sem inventar estilo novo. */

.hero-eyebrow span {
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.cat-titulo {
  font-family: 'Caracolina', serif;
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 300;
  line-height: .92;
  color: var(--ink);
}

.cat-desc {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.8;
  margin-top: 1.25rem;
  max-width: 460px;
}

.cat-hero-num {
  font-family: 'Caracolina', serif;
  font-size: clamp(5rem, 12vw, 10rem);
  color: var(--c-rose);
  opacity: .12;
  line-height: 1;
  flex-shrink: 0;
}

/* ── Grid de fotos ── */
.foto-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 6rem;
}

@media (max-width: 860px) { .foto-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .foto-grid { grid-template-columns: 1fr; } }

.foto-item {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  cursor: pointer;
  position: relative;
  background: var(--bg2);
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp .5s cubic-bezier(.22,1,.36,1) forwards;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}

.foto-item:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 14px 40px rgba(80,50,30,.12);
}

.foto-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.22,1,.36,1);
}

.foto-item:hover img { transform: scale(1.05); }

.foto-overlay {
  position: absolute;
  inset: 0;
  background: rgba(44,35,24,.0);
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  transition: background .3s ease;
}

.foto-item:hover .foto-overlay { background: rgba(44,35,24,.35); }

.foto-legenda {
  font-family: var(--font-display);
  font-size: .9rem;
  font-style: italic;
  color: #fff;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s ease, transform .3s ease;
}

.foto-item:hover .foto-legenda { opacity: 1; transform: translateY(0); }

/* stagger */
.foto-item:nth-child(1)  { animation-delay: .04s; }
.foto-item:nth-child(2)  { animation-delay: .08s; }
.foto-item:nth-child(3)  { animation-delay: .12s; }
.foto-item:nth-child(4)  { animation-delay: .16s; }
.foto-item:nth-child(5)  { animation-delay: .20s; }
.foto-item:nth-child(6)  { animation-delay: .24s; }
.foto-item:nth-child(7)  { animation-delay: .28s; }
.foto-item:nth-child(8)  { animation-delay: .32s; }
.foto-item:nth-child(9)  { animation-delay: .36s; }

/* ── Lightbox ── */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(20,15,10,.92);
  backdrop-filter: blur(8px);
  z-index: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.lightbox.open { opacity: 1; pointer-events: all; }

.lightbox-conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  max-width: 90vw;
  max-height: 90vh;
}

.lightbox-conteudo img {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

.lightbox-legenda {
  font-family: var(--font-display);
  font-size: 1rem;
  font-style: italic;
  color: rgba(247,243,238,.65);
  text-align: center;
}

.lightbox-close {
  position: absolute;
  top: 1.5rem; right: 1.5rem;
  background: rgba(250,247,244,.15);
  border: 1px solid rgba(250,247,244,.2);
  color: #f7f3ee;
  font-size: 1rem;
  width: 40px; height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

.lightbox-close:hover { background: rgba(250,247,244,.25); }

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(250,247,244,.15);
  border: 1px solid rgba(250,247,244,.2);
  color: #f7f3ee;
  font-size: 1.2rem;
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, transform .2s;
}

.lightbox-prev:hover,
.lightbox-next:hover { background: rgba(250,247,244,.25); }

.lightbox-prev { left: 1.5rem; }
.lightbox-next { right: 1.5rem; }

.lightbox-prev:hover { transform: translateY(-50%) scale(1.08); }
.lightbox-next:hover { transform: translateY(-50%) scale(1.08); }
