/* =========
 VARIABLES (modo claro)
========= */
:root{
  --bg:#F1E3E8;
  --overlay: rgba(255,255,255,.6);
  --card: rgba(255,255,255,.85);
  --card-strong: rgba(245,225,232,.95);
  --text:#2F2F2F;
}


/* =========
 MODO OSCURO
========= */
body.dark{
  --bg:#1d1b1c;
  --overlay: rgba(0,0,0,.6);
  --card: rgba(80,50,65,.95);
  --card-strong: rgba(120,70,100,.95);
  --text:#fafafa;
}

body.dark .hero-content{
  background: linear-gradient(
    to bottom right,
    rgba(40,40,40,.75),
    rgba(40,40,40,.55)
  );
  color:white;
}

body.dark .hero p{
  color:#ddd;
}

body.dark .site-footer{
  background: rgba(30,30,30,.6);
  box-shadow: 0 -8px 20px rgba(0,0,0,.35);
}

body.dark .site-footer span{
  color:#ff6f91;
}


/* =========
 GENERAL
========= */
body{
  margin:0;
  font-family:system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
}


/* =========
 BOTÓN MODO OSCURO
========= */
.dark-btn{
  position:fixed;
  top:14px;
  right:20px;
  padding:10px 16px;
  border-radius:18px;
  border:none;
  cursor:pointer;

  background:rgba(255,255,255,.7);
  box-shadow:0 10px 25px rgba(0,0,0,.1);
  backdrop-filter: blur(6px);
}

body.dark .dark-btn{
  background:rgba(50,50,50,.75);
  color:#eee;
}


/* =========
 HERO
========= */
.hero{
  margin-top:80px;
  display:flex;
  justify-content:center;
}

.hero-content{
  max-width:850px;
  text-align:center;

  background:var(--card);
  backdrop-filter:blur(10px);

  padding:40px 50px;
  border-radius:22px;

  box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.volver-btn{
  display:inline-block;
  margin-top:16px;
  padding:10px 16px;
  border-radius:12px;
  text-decoration:none;
  background:#CFA6B2;
  color:white;
}


/* =========
 GALERÍA — 3 COLUMNAS
========= */
.overlay-gallery{
  max-width:1100px;
  margin:40px auto 120px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:26px;
}


/* =========
 TARJETA
========= */
.overlay-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.overlay-card img{
  width:100%;
  display:block;
  transition: transform .35s ease;
}

/* capa de color */
.overlay-color{
  position:absolute;
  inset:0;
  opacity:0;
  mix-blend-mode:multiply;
  transition:.35s ease;
}

/* texto */
.overlay-card p{
  position:absolute;
  bottom:18px;
  left:22px;
  color:white;
  font-size:1.05rem;
  font-weight:700;
  text-shadow:0 4px 12px rgba(0,0,0,.35);
}


/* =========
 COLORES DIFERENTES
========= */

/* rosa */
.overlay-card:nth-child(1) .overlay-color{
  background:rgba(255, 170, 190, .55);
}

/* azul */
.overlay-card:nth-child(2) .overlay-color{
  background:rgba(120, 170, 255, .55);
}

/* verde */
.overlay-card:nth-child(3) .overlay-color{
  background:rgba(140, 230, 180, .55);
}


/* =========
 HOVER
========= */
.overlay-card:hover img{
  transform:scale(1.04);
}

.overlay-card:hover .overlay-color{
  opacity:1;
}


/* =========
 RESPONSIVE
========= */
@media (max-width: 950px){
  .overlay-gallery{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px){
  .overlay-gallery{
    grid-template-columns: 1fr;
  }

  .hero-content{
    padding:26px;
  }
}


/* =========
 FOOTER
========= */
.site-footer{
  text-align:center;
  padding:30px 10px;
  background: var(--overlay);
  box-shadow: 0 -8px 20px rgba(0,0,0,.08);
}

.site-footer span{
  color:#b2506c;
}
