/* ============================================================
   galeria.css — Exclusivo para galeria.html
   ============================================================ */

/* ─── HERO SIMPLE ─── */
.hero-simple { position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:100vh; overflow:hidden; background:var(--dark); margin:0; padding:0; }
.hero-simple-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; z-index:1; }
.hero-simple-content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; width:100%; max-width:1100px; margin:0 auto; padding:0 20px; }
.hero-simple .hero-eyebrow { display:flex; justify-content:center; align-items:center; gap:1rem; width:100%; margin-bottom:1.5rem; }
.hero-simple .hero-eyebrow-line { width:40px; height:1px; background:var(--gold); opacity:.5; }
.hero-simple .hero-eyebrow span { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.15em; font-size:.8rem; color:rgba(255,255,255,.75); }
.hero-title { margin:0; color:#fff; font-size:clamp(3rem,7vw,6rem); font-weight:700; text-transform:uppercase; letter-spacing:3px; line-height:1.05; text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.6),0 6px 20px rgba(0,0,0,.45); }
.hero-title .gold { color:var(--gold); }
.hero-tagline { margin-top:1.25rem; max-width:850px; color:#fff; font-size:clamp(1.2rem,2vw,1.8rem); line-height:1.5; text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.6),0 6px 20px rgba(0,0,0,.45); }
.hero-simple::after { display:none !important; }

/* ─── MOSAICO PREMIUM ─── */
.mosaic-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:15px; }
.mosaic-item { position:relative; overflow:hidden; border-radius:12px; background:#000; }
.mosaic-item img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.165,.84,.44,1),opacity .3s; opacity:.9; }
.mosaic-item:hover img { transform:scale(1.1); opacity:.6; }
.item-big { grid-column:span 3; grid-row:span 2; }
.item-medium { grid-column:span 1; grid-row:span 2; }
.item-standard { grid-column:span 1; grid-row:span 1; }
.item-more { grid-column:span 1; grid-row:span 1; }
.mosaic-overlay { position:absolute; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s ease; pointer-events:none; }
.mosaic-item:hover .mosaic-overlay { opacity:1; }
.mosaic-overlay span { font-family:"Oswald",sans-serif; font-size:.7rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.4); padding:.4rem 1.2rem; border-radius:30px; }
.mosaic-overlay-more { position:absolute; inset:0; background:rgba(0,0,0,.7); display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }

/* ─── UTILIDADES ─── */
.border-start-gold { border-left:3px solid var(--gold,#d4af37); }
.border-end-gold { border-right:3px solid var(--gold,#d4af37); }
.text-shadow-premium { text-shadow:0 2px 15px rgba(0,0,0,.8),0 0 5px rgba(0,0,0,.5); }
.event-showcase { background:var(--dark); }

/* ─── SECCIÓN PHOTOCALL ─── */
#photocall-showcase { background-color:#05050a; }
.photocall-grid-wrapper { margin-top:3rem; }
.ph-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; transition:all .5s ease; }
.ph-item-box { display:block; aspect-ratio:4/3; overflow:hidden; border-radius:4px; border:1px solid rgba(212,175,55,.1); background:#000; }
.ph-item-box img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease,filter .4s ease; filter:brightness(.8); }
.ph-item-box:hover img { transform:scale(1.1); filter:brightness(1.1); }
.ph-item-box:hover { border-color:#d4af37; box-shadow:0 10px 30px rgba(0,0,0,.6); }
.ph-extra-img { display:none; }
.btn-premium-gold-large { background:transparent; color:#d4af37; border:2px solid #d4af37; padding:18px 45px; font-family:'Oswald',sans-serif; font-size:1.1rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; transition:all .3s ease; cursor:pointer; margin-top:2rem; }
.btn-premium-gold-large:hover { background:#d4af37; color:#000; box-shadow:0 0 30px rgba(212,175,55,.3); }

@keyframes fadeInGrid { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }

.show-transition { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:4rem; }
.transition-line { flex-grow:1; height:1px; background:linear-gradient(90deg,transparent,rgba(212,175,55,.4),transparent); }
.transition-text { font-family:'Raleway',sans-serif; font-style:italic; color:rgba(255,255,255,.8); font-size:1.2rem; }

/* ─── RESPONSIVE ─── */
@media (max-width:991px) {
  .mosaic-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; gap:12px; }
  .item-big { grid-column:span 2; }
  .item-medium { grid-column:span 1; grid-row:span 1; }
  .border-end-gold { border-right:none; border-left:3px solid var(--gold,#d4af37); padding-right:0; padding-left:20px; }
  .ph-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
  .hero-simple { min-height:60vh; height:auto; }
  .hero-title { font-size:2.5rem !important; }
  .hero-tagline { font-size:1.1rem !important; }
  .ph-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .btn-premium-gold-large { width:100%; padding:15px 20px; font-size:.9rem; }
  .transition-text { font-size:1rem; text-align:center; }
}
@media (max-width:576px) {
  .hero-simple { min-height:50vh; }
  .hero-title { font-size:2rem !important; }
  .mosaic-grid { grid-template-columns:1fr; grid-auto-rows:200px; gap:10px; }
  .item-big { grid-column:span 1; grid-row:span 2; }
  .item-medium { grid-row:span 1; }
  .ph-grid { grid-template-columns:repeat(1,1fr); }
}

/* ─── CORRECCIÓN DE FONDOS: FORZAR NEGRO PURO ─── */
html, body { background:#000 !important; }
.guateque-master-stats { background-color:#000 !important; border-top:1px solid rgba(212,175,55,.1); }
.event-showcase { background:#000 !important; }
main { background-color:#000; }