:root{
  --bg:#f4fbff; /* suave celeste */
  --card:#ffffff;
  --accent:#6fb3b8; /* verde-azulado */
  --warm:#f7c873;
  --text:#0f2b2f;
}
*{box-sizing:border-box}
body{
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  margin:0;
  color:var(--text);
  line-height:1.5;
  background: url('../img/fondo-purpura.jpg');
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 100vh;
}
.container{max-width:900px;margin:0 auto;padding:24px}
.site-header{
  background:linear-gradient(180deg, rgba(111,179,184,0.15), rgba(247,200,115,0.03));
  padding:20px 0;
  text-align:center;
  backdrop-filter: blur(8px);
}
.site-header h1{margin:0;font-size:28px;color:var(--accent);letter-spacing:0.6px;opacity:1}
.subtitle{margin-top:8px;color:#15494b;opacity:1}
.hero{display:flex;gap:16px;align-items:center;justify-content:center;padding:20px 0}
.hero-image img{width:100%;max-width:360px;height:auto;display:block;border-radius:12px;background:var(--card);box-shadow:0 6px 18px rgba(10,40,40,0.06);padding:12px}
.content{
  background:#eceef3e8;
  backdrop-filter: blur(10px);
  padding:22px;
  border-radius:12px;
  box-shadow:0 6px 24px rgba(10,40,40,0.12);
  margin-top:16px;
}
.content h2{color:#d01717;margin-top:0;opacity:1}
.content p{opacity:1}
.prayer{background:linear-gradient(90deg, rgba(111,179,184,0.06), rgba(247,200,115,0.03));padding:14px;border-left:4px solid var(--accent);border-radius:8px}
.cta{
  margin:20px 0;
  text-align:center;
  background:rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  padding:18px;
  border-radius:12px;
  background-color: #acc4db;
}
.cta-instruction{font-weight:600}
.btn{background:#2c7f85;color:white;border:none;padding:12px 20px;border-radius:10px;font-size:16px;cursor:pointer;box-shadow:0 8px 20px rgba(111,179,184,0.18)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(111,179,184,0.22)}
.small{color:#626a6a;font-size:13px;margin-top:8px}
.site-footer{padding:18px 0;text-align:center;color:#dbe7e8;font-size:14px}

.titulo{
  text-align:center;
  color: #d3cece;
  margin-bottom: 12px;
  font-weight: 700;
  font-size: 50px;
  font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif
}

@media(max-width:760px){
  .hero{flex-direction:column}
  .hero-image img{max-width:92%}
}

/* Carousel (reels) styles */
.reels-section{margin-top:1.25rem;background:rgb(23 23 31);padding:12px;border-radius:10px}

/* Layout: en pantallas anchas mostramos 4 videos (2x2) del mismo tamaño */
.carousel{display:flex;align-items:center;gap:10px}
.carousel-track{
  display:grid;
  grid-template-columns: repeat(2, 320px);
  grid-auto-rows: 220px;
  gap:12px;
  padding:8px;
  justify-content:center;
  overflow:visible;
}
.carousel-item{
  width:320px;
  height:220px;
  border-radius:8px;
  background:var(--card);
  box-shadow:0 8px 20px rgba(0,0,0,0.06);
  overflow:hidden;
}
.carousel-item iframe{width:100%;height:100%;border:0;display:block}

.carousel-btn{display:block;background:rgba(15,43,47,0.65);color:#ffffff;border:1px solid rgba(255,255,255,0.12);padding:8px 10px;border-radius:8px;cursor:pointer;font-size:18px}
.carousel-btn:hover{background:rgba(15,43,47,0.85)}
.carousel-btn:disabled{opacity:0.45;cursor:default}

/* Ocultar elementos por paginación */
.carousel-item.hidden{display:none !important}

/* Responsive: en pantallas pequeñas volvemos al carrusel horizontal con scroll */
@media(max-width:760px){
  .carousel-track{
    /* mostrar 2 videos verticalmente (2 filas) */
    display:grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 180px;
    gap:12px;
    padding:8px;
    max-height: calc(2 * 180px + 12px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .carousel{flex-direction:column}
  .carousel-item{height:180px}
  .carousel-item iframe{height:100%}
  .carousel-btn{display:block}

  /* Content full width on mobile */
  .container{max-width:100%;padding:12px}
  .content{border-radius:0;padding:16px}

  /* Reducir la fuente del título en 4px en móviles */
  .titulo{font-size:46px}
}

@media(max-width:520px){
  .carousel-item{flex:0 0 220px}
  .carousel-item iframe{height:160px}
}
