/* =========================
   COLEGIOS.CSS — Página de Bodas
   Estilos específicos de la landing page de fotografía de bodas.
   Los estilos compartidos (hero, paquetes, urgencia, testimonios,
   video-premium, photobook, cupos, sobre-mi, redes) heredan de
   15-anos.css. Aquí van las diferencias propias de bodas.
========================== */

/* =========================
   BASE OVERRIDE
========================== */
body {
  margin: 0;
  background: #0f0f0f;
  color: #fff;
  line-height: 1.7;
}

/* =========================
   HERO — BODAS
========================== */
.hero-section {
  min-height: 100vh;
  background:
    linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .85)),
    url('https://lh3.googleusercontent.com/pw/AP1GczM0yobggu4s1Nd5dYBTC6ptHPqozIo1EEPyuDP1Sapp9OhHE3itOVBWDszP_1fx3wjKjYCzuoSPgHwWrhexO0yd_yrSgJR1jQMKLbaHcnITOTwmLc0aNTPAjNCsHdLWgQamJ5-fbr4itJMyxjZCe0u1xg=w619-h929-s-no-gm?authuser=0')
    center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 20px;
}

.hero-content {
  max-width: 900px;
  animation: fadeHero 1.2s ease-out forwards;
}

.hero-content h1 {
  font-size: 3rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.hero-subtitle {
  font-size: 1.35rem;
  color: #f1f1f1;
  margin-bottom: 30px;
}

.hero-subtitle strong {
  color: #25D366;
  font-weight: 800;
}

.hero-confianza {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.hero-confianza li {
  background: rgba(255, 255, 255, .12);
  padding: 12px 22px;
  border-radius: 30px;
  font-size: .95rem;
  backdrop-filter: blur(6px);
}

.hero-btn {
  display: inline-block;
  background: #25D366;
  color: #000;
  padding: 18px 38px;
  border-radius: 60px;
  font-size: 1.15rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 15px 40px rgba(37, 211, 102, .45);
  animation: pulseHero 2.6s infinite;
  transition: .3s ease;
}

.hero-btn:hover {
  transform: scale(1.07);
  box-shadow: 0 20px 50px rgba(37, 211, 102, .6);
}

.scroll-indicator-fixed {
  margin-top: 12px;
  text-align: center;
}

.scroll-indicator-fixed span {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .8);
  display: inline-block;
  animation: bounceArrow 1.5s infinite;
}

@keyframes bounceArrow {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(6px); }
}

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

@keyframes pulseHero {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); }
  70%  { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (max-width: 768px) {
  .hero-content h1  { font-size: 2.2rem; }
  .hero-subtitle    { font-size: 1.1rem; }
}

/* =========================
   BANNER PRECIOS
========================== */
.banner-precios {
  position: relative;
  background:
    linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .85)),
    url('https://lh3.googleusercontent.com/pw/AP1GczO0KDSKRd0GKxkh7x35TDySYvgWJcKndK60v3QaNM_Y_BhWve57q2MylctKK54AbXdavE8Za7hJJjRdBGQs9D4V1bVNlbLOk3HYIQsVX12M50eUwcrpe-QQgYCicrW1hEfnNIglg5zJ-KKmILIm7cP-GA=w619-h929-s-no-gm?authuser=0')
    center / cover no-repeat;
  border-radius: 25px;
  padding: 70px 40px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, .5);
  overflow: hidden;
}

.banner-precios .texto {
  max-width: 760px;
  position: relative;
  z-index: 2;
}

.banner-precios h2 { font-size: 2.4rem; margin-bottom: 20px; }
.banner-precios p  { font-size: 1.05rem; margin-bottom: 15px; color: #ddd; }

.tachado   { text-decoration: line-through; color: #ff7b7b; font-weight: bold; }
.oferta    { font-size: 2rem; font-weight: bold; color: #25D366; margin: 20px 0; }
.oferta span { font-size: 2.4rem; }
.cta-texto { color: #bbb; }

.sello-ahorro {
  position: absolute;
  top: 25px;
  right: 25px;
  background: linear-gradient(135deg, #ffcc00, #ff9900);
  color: #000;
  padding: 15px 18px;
  border-radius: 50%;
  text-align: center;
  font-weight: 800;
  font-size: 1rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .4);
  transform: rotate(8deg);
  animation: pulseSello 2.8s infinite;
}

.sello-ahorro span { font-size: 1.2rem; }

@keyframes pulseSello {
  0%   { transform: scale(1) rotate(8deg); }
  50%  { transform: scale(1.05) rotate(8deg); }
  100% { transform: scale(1) rotate(8deg); }
}

.animate { opacity: 0; transform: translateY(40px); transition: all 1s ease; }
.animate.show { opacity: 1; transform: translateY(0); }

@media (max-width: 768px) {
  .banner-precios { padding: 50px 25px; }
  .banner-precios h2 { font-size: 2rem; }
  .sello-ahorro { top: 15px; right: 15px; font-size: .9rem; }
}

/* =========================
   PAQUETES
========================== */
.paquetes-section {
  padding: 90px 20px;
  background: #0b0b0b;
  color: #fff;
  text-align: center;
}

.titulo-paquetes   { font-size: 2.6rem; margin-bottom: 10px; }
.subtitulo-paquetes { color: #bbb; margin-bottom: 60px; }

.paquetes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 35px;
  max-width: 1100px;
  margin: auto;
}

.paquete {
  background: #111;
  border-radius: 25px;
  padding: 40px 30px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .6);
  transition: .4s ease;
  position: relative;
}

.paquete:hover { transform: translateY(-8px); }
.basico, .standard { opacity: .85; }
.paquete h3  { font-size: 1.6rem; margin-top: 35px; }
.precio      { font-size: 2rem; color: #25D366; font-weight: 700; }

.paquete.premium {
  border: 3px solid gold;
  background: linear-gradient(180deg, #111, #000);
  animation: premiumFloat 4s ease-in-out infinite;
}

.precio-premium { font-size: 2.5rem; color: #25D366; font-weight: 800; }
.precio-antes   { text-decoration: line-through; color: #ff7b7b; }
.ahorro {
  display: inline-block;
  margin-top: 8px;
  background: gold;
  color: #000;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 700;
}
.estrellas { margin: 10px 0; font-size: 1.4rem; }
.nota { margin-top: 15px; font-size: .8rem; color: #aaa; }

.badge-top {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  background: gold;
  color: #000;
  padding: 8px 22px;
  border-radius: 20px;
  font-weight: 900;
  font-size: .9rem;
}

.badge-elegido {
  position: absolute;
  top: 15px;
  right: 15px;
  background: linear-gradient(135deg, #25D366, #9effc8);
  color: #000;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: .85rem;
  font-weight: 900;
  box-shadow: 0 8px 25px rgba(37, 211, 102, .55);
  animation: elegidoPulse 2.8s infinite ease-in-out;
  z-index: 5;
}

@keyframes elegidoPulse {
  0%   { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  40%  { transform: scale(1.12) rotate(-2deg); box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
  70%  { transform: scale(1.05) rotate(2deg); }
  100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@keyframes premiumFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-10px) scale(1.02); }
}

.btn-secundario {
  display: inline-block;
  margin-top: 15px;
  padding: 12px 25px;
  border-radius: 40px;
  border: 2px solid #25D366;
  color: #25D366;
  text-decoration: none;
}

.btn-whatsapp {
  display: inline-block;
  margin-top: 20px;
  background: #25D366;
  color: #000;
  padding: 16px 30px;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 800;
  text-decoration: none;
  animation: pulseWhats 2.5s infinite;
}

.premium-focus .btn-whatsapp {
  font-size: 1.15rem;
  padding: 18px 36px;
}

@keyframes pulseWhats {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  70%  { box-shadow: 0 0 0 22px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* Glow animado fondo premium */
.premium-focus {
  animation: entradaPremium 1.3s ease-out forwards, flotacion 5s ease-in-out infinite;
  position: relative;
  z-index: 2;
}

.premium-focus::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 30px;
  background: linear-gradient(120deg, gold, #25D366, gold);
  opacity: .25;
  filter: blur(25px);
  z-index: -1;
  animation: brilloPremium 4s ease-in-out infinite;
}

.premium-focus:hover { transform: translateY(-10px) scale(1.04); box-shadow: 0 50px 120px rgba(0, 0, 0, .9); }

@keyframes entradaPremium {
  from { opacity: 0; transform: translateY(40px) scale(.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes flotacion {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}

@keyframes brilloPremium {
  0%, 100% { opacity: .25; }
  50%       { opacity: .45; }
}

/* paquetes list override */
.paquetes-section ul { list-style: none; padding: 0; margin: 30px 0; text-align: left; }
.paquetes-section ul li { margin-bottom: 10px; font-size: .95rem; }

/* =========================
   URGENCIA
========================== */
.urgencia-section {
  padding: 90px 20px;
  color: #fff;
  text-align: center;
  background:
    linear-gradient(rgba(0, 0, 0, .75), rgba(0, 0, 0, .9)),
    url("https://lh3.googleusercontent.com/pw/AP1GczOEGptaVNxhLCxW83S0KV1KwuHmKjZQHtUUvdVXSJwbZgZ_vkyJuT72DVz_JPSQWySzP2gKaBXqetoW8B3iOFBUOXI9xiJWyhvevum0cRDhwjmwWN89uCXE8U72ecenCVUYur9k3rNKnYdZVXfT9S9GxQ=w1394-h929-s-no-gm")
    center / cover no-repeat;
}

.urgencia-box {
  max-width: 900px;
  margin: auto;
  background: rgba(0, 0, 0, .55);
  border-radius: 30px;
  padding: 60px 30px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .8);
}

.urgencia-box h2 { font-size: 2.6rem; margin-bottom: 15px; }
.urgencia-box p  { font-size: 1.1rem; color: #ddd; margin-bottom: 35px; }

.gatillos {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.gatillo {
  background: rgba(255, 255, 255, .12);
  padding: 14px 22px;
  border-radius: 40px;
  font-size: .95rem;
  backdrop-filter: blur(6px);
}

.contador {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  max-width: 520px;
  margin: 0 auto 45px;
}

.tiempo {
  background: #111;
  padding: 20px 10px;
  border-radius: 18px;
  border: 1px solid rgba(37, 211, 102, .25);
}

.tiempo span  { display: block; font-size: 2.3rem; font-weight: 900; color: #25D366; }
.tiempo small { font-size: .8rem; color: #bbb; }

.btn-urgencia {
  display: inline-block;
  background: #25D366;
  color: #000;
  padding: 18px 42px;
  border-radius: 60px;
  font-size: 1.15rem;
  font-weight: 900;
  text-decoration: none;
  animation: pulseUrgente 2.3s infinite;
}

.urgencia-aviso { margin-top: 18px; font-size: .9rem; color: #bbb; }

@keyframes pulseUrgente {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  70%  { box-shadow: 0 0 0 22px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (max-width: 768px) {
  .urgencia-box h2  { font-size: 2.1rem; }
  .contador         { grid-template-columns: repeat(2, 1fr); }
  .btn-urgencia     { width: 100%; }
}

/* =========================
   TESTIMONIOS
========================== */
.testimonios-section {
  padding: 90px 20px;
  background: #0f0f0f;
  color: #fff;
  text-align: center;
}

.testimonios-titulo    { font-size: 2.5rem; margin-bottom: 10px; }
.testimonios-subtitulo { max-width: 700px; margin: 0 auto 50px; color: #ccc; font-size: 1.05rem; }

.testimonios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 35px;
  max-width: 1200px;
  margin: 0 auto;
}

.testimonio-card {
  background: #1a1a1a;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, .6);
  transition: transform .5s ease, box-shadow .5s ease;
}

.testimonio-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .85);
}

.testimonio-img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  cursor: pointer;
}

.testimonio-texto {
  padding: 20px 22px 0;
  font-size: .95rem;
  line-height: 1.6;
  color: #eee;
}

.testimonio-autor {
  display: block;
  padding: 12px 22px 22px;
  font-size: .85rem;
  color: #25D366;
}

.testimonios-cta { margin-top: 50px; }

.cta-bloque { margin-top: 20px; }

.cta-testimonios {
  display: inline-block;
  background: #fff;
  color: #000;
  padding: 17px 42px;
  border-radius: 50px;
  font-weight: 800;
  text-decoration: none;
  transition: .4s ease;
  border: 2px solid #25D366;
}

.cta-testimonios:hover { background: #25D366; color: #000; }

/* =========================
   GALERÍA
========================== */
.galeria {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.galeria img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 20px;
  background: #000;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .6);
  transition: .4s ease;
}

.galeria img:hover { transform: scale(1.03); box-shadow: 0 30px 70px rgba(0, 0, 0, .85); }

.galeria-cta { margin-top: 40px; text-align: center; }

.btn {
  display: inline-block;
  background: #25D366;
  color: #000;
  padding: 16px 40px;
  border-radius: 50px;
  font-weight: 800;
  text-decoration: none;
  font-size: 1.1rem;
  box-shadow: 0 15px 40px rgba(37, 211, 102, .4);
  transition: .3s ease;
}

.btn:hover { transform: scale(1.08); box-shadow: 0 25px 60px rgba(37, 211, 102, .6); }

/* =========================
   VIDEO PREMIUM
========================== */
.seccion-video-premium {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 20px;
  color: #fff;
  background:
    url("https://lh3.googleusercontent.com/pw/AP1GczNjoNnZ7kkLEdCBhSlfvHPCmC3svvkdtkriOK-gLPPqvTjrsFderwXbt5N8Nk1U2id6vA1kwwQAVizroM1cZ2jgJ03EWP64NnZURMubputUc9fy5FL4BnrbhfKAaYHZ5HjSea7ndwqbYUmejtEcY73jcg=w1394-h929-s-no-gm?authuser=0")
    center / cover no-repeat;
}

.seccion-video-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .85));
}

.video-premium-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  width: 100%;
}

.video-premium-content h2 { font-size: 2.6rem; margin-bottom: 20px; }
.video-premium-content p  { font-size: 1.1rem; color: #f1f1f1; margin-bottom: 30px; line-height: 1.7; }

.video-highlight {
  font-size: 1.2rem;
  font-weight: 800;
  color: #25D366;
  margin-bottom: 30px;
}

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 40px auto;
  padding-top: 56.25%;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 25px 70px rgba(0, 0, 0, .9);
}

.video-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.btn-video {
  display: inline-block;
  background: #ff0000;
  color: #fff;
  padding: 18px 42px;
  border-radius: 60px;
  font-weight: 900;
  text-decoration: none;
  animation: pulseVideo 2.5s infinite;
}

@keyframes pulseVideo {
  0%   { box-shadow: 0 0 0 0 rgba(255, 0, 0, .6); }
  70%  { box-shadow: 0 0 0 20px rgba(255, 0, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}

@media (max-width: 768px) {
  .seccion-video-premium { min-height: auto; padding: 90px 16px; }
  .video-premium-content h2 { font-size: 2.1rem; }
  .video-wrapper { border-radius: 16px; }
  .btn-video { width: 100%; padding: 16px; font-size: 1.05rem; }
}

/* =========================
   PHOTOBOOK
========================== */
.seccion-photobook {
  position: relative;
  width: 100%;
  padding: 100px 20px;
  text-align: center;
  color: #fff;
  background:
    linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .85)),
    url("https://lh3.googleusercontent.com/pw/AP1GczNxuNT9RuoRpJPl-TYJWPfldYKg5t2f3QI2pe4VJuL99FKP8zEDNjkBm16_Ftg1TE3bXtYY4fbbw0qIo5QzDnmEDOGbSjIbuCe3HdhcAd5QDaOcUVGAsfW4KRENBCpW7oSorPKZEn20Mbjjipf9ptYsLg=w619-h929-s-no-gm")
    center / cover no-repeat;
}

.photobook-content {
  max-width: 900px;
  margin: auto;
  position: relative;
  z-index: 2;
}

.photobook-content h2 { font-size: 2.8rem; margin-bottom: 20px; }
.photobook-content p  { font-size: 1.15rem; line-height: 1.7; max-width: 750px; margin: 0 auto 45px; color: #f1f1f1; }

.photobook-highlight {
  font-size: 1.3rem;
  font-weight: 800;
  color: #25D366;
  margin-bottom: 45px;
}

/* Contenedor ratio 9:16 para el video vertical del photobook */
.video-photobook-wrapper {
  padding: 40px 0;
}

.video-photobook {
  max-width: 420px;
  margin: 0 auto 50px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .8);
}

.video-photobook-inner {
  padding: 177.78% 0 0;
  position: relative;
}

.video-photobook-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.btn-photobook {
  display: inline-block;
  background: #ff0000;
  color: #fff;
  padding: 20px 42px;
  border-radius: 60px;
  font-size: 1.2rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 15px 45px rgba(255, 0, 0, .6);
  animation: pulsePhotobook 2.8s infinite;
  transition: transform .3s ease;
}

.btn-photobook:hover { transform: scale(1.08); background: #e60000; }

@keyframes pulsePhotobook {
  0%   { box-shadow: 0 0 0 0 rgba(255, 0, 0, .6); }
  70%  { box-shadow: 0 0 0 25px rgba(255, 0, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}

@media (max-width: 768px) {
  .photobook-content h2 { font-size: 2.2rem; }
  .photobook-content p  { font-size: 1.05rem; }
  .video-photobook      { max-width: 100%; }
}

/* =========================
   CUPOS
========================== */
.seccion-cupos {
  background: linear-gradient(135deg, #111, #000);
  padding: 70px 20px;
  text-align: center;
  color: #fff;
}

.cupos-box {
  max-width: 850px;
  margin: auto;
  background: rgba(255, 255, 255, .05);
  border-radius: 22px;
  padding: 50px 30px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, .6);
}

.cupos-box h2 { font-size: 2.4rem; margin-bottom: 20px; }
.cupos-box p  { font-size: 1.15rem; line-height: 1.7; color: #eaeaea; margin-bottom: 35px; }

.cupos-destacado {
  font-size: 1.4rem;
  font-weight: 800;
  color: #ff3b3b;
  margin-bottom: 35px;
}

.btn-cupos {
  display: inline-block;
  background: #25D366;
  color: #000;
  padding: 20px 45px;
  border-radius: 60px;
  font-size: 1.25rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 15px 45px rgba(37, 211, 102, .6);
  transition: transform .3s ease, box-shadow .3s ease;
}

.btn-cupos:hover {
  transform: scale(1.08);
  box-shadow: 0 20px 60px rgba(37, 211, 102, .9);
}

.cupos-nota { font-size: .95rem; color: #bdbdbd; margin-top: 25px; }

@media (max-width: 768px) {
  .cupos-box h2   { font-size: 2rem; }
  .cupos-destacado { font-size: 1.2rem; }
}

/* =========================
   SOBRE MÍ
========================== */
.sobre-mi {
  padding: 90px 20px;
  background: #0b0b0b;
  color: #fff;
}

.sobre-mi-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.sobre-mi-texto {
  background:
    linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .9)),
    url('https://photos.fife.usercontent.google.com/pw/AP1GczPCnZF9uXieKmUBoiqqsFU-BhD6eUWRJrAZDAvL4Z3IpVAKHWv7nt7zUA=w697-h929-s-no-gm?authuser=0')
    center / cover no-repeat;
  padding: 60px 45px;
  border-radius: 30px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .8);
}

.sobre-mi-texto h2    { font-size: 2.6rem; margin-bottom: 20px; }
.sobre-mi-texto p     { font-size: 1.05rem; line-height: 1.8; margin-bottom: 15px; color: #eaeaea; }
.sobre-mi-texto strong { color: #25D366; }

.sobre-mi-galeria {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.sobre-mi-galeria img {
  width: 100%;
  border-radius: 20px;
  aspect-ratio: 4/5;
  object-fit: cover;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .7);
  transition: .4s;
  cursor: pointer;
}

.sobre-mi-galeria img:hover { transform: scale(1.05); }

.btn-ver-mas {
  margin-top: 40px;
  display: inline-block;
  padding: 16px 36px;
  background: #25D366;
  color: #000;
  border-radius: 50px;
  font-weight: 800;
  font-size: 1.05rem;
  text-decoration: none;
  transition: .4s;
  animation: pulseBtnVerMas 2.5s infinite;
}

.btn-ver-mas:hover { background: #1ebe5d; transform: scale(1.08); }

@keyframes pulseBtnVerMas {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  70%  { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (max-width: 900px) {
  .sobre-mi-container       { grid-template-columns: 1fr; }
  .sobre-mi-texto           { padding: 45px 30px; }
  .sobre-mi-galeria         { grid-template-columns: 1fr; }
}

/* =========================
   CTA FINAL
========================== */
.cta-final {
  text-align: center;
  padding: 80px 20px;
}

.cta-final h2 { font-size: 2.4rem; margin-bottom: 30px; }

/* =========================
   CONTAINER GENÉRICO
========================== */
.container {
  max-width: 1200px;
  margin: auto;
  padding: 80px 20px;
  text-align: center;
}

/* =========================
   LIGHTBOX
========================== */
#lightbox {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, .9);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

#lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 14px;
}
