/* ==========================================================================
   Iglesia Bíblica Cristiana Gracia y Fe — estilos.css
   Paleta tomada directamente del logo: beige #E9D8C8, café #582400, dorado #C89028
   ========================================================================== */

:root{
  --crema:#E9D8C8;          /* fondo del logo: las imágenes de marca se funden con él */
  --crema-claro:#F5ECE1;
  --crema-oscuro:#D9C4AC;
  --cafe:#582400;           /* café del logo */
  --cafe-profundo:#2B1407;  /* secciones oscuras */
  --cafe-medio:#3E2210;
  --tinta:#3A2415;          /* texto de lectura sobre beige */
  --dorado:#C89028;         /* dorado del logo */
  --dorado-claro:#E0AF4A;
  --dorado-suave:rgba(200,144,40,.16);
  --marfil:#F6EBDC;         /* texto sobre café profundo */
  --marfil-suave:rgba(246,235,220,.72);
  --linea:rgba(88,36,0,.16);
  --linea-oscura:rgba(246,235,220,.16);
  --sombra:0 18px 44px rgba(88,36,0,.16);
  --sombra-suave:0 8px 22px rgba(88,36,0,.10);
  --f-display:'Lora', Georgia, 'Times New Roman', serif;
  --f-body:'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --r-media:18px;
  --r-card:22px;
  --r-pill:999px;
  --header-h:80px;
  --ancho:1180px;
}

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--f-body);
  font-size:1.05rem;
  line-height:1.65;
  color:var(--tinta);
  background:var(--crema);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1em; }
h1,h2,h3,h4{
  text-wrap:balance;
  font-family:var(--f-display);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.01em;
  margin:0 0 .5em;
  color:var(--cafe);
}
h1{ font-size:clamp(2.5rem, 5.6vw, 4.4rem); line-height:1.08; }
h2{ font-size:clamp(1.9rem, 3.5vw, 2.85rem); }
h3{ font-size:1.3rem; }
h4{ font-size:1.05rem; font-family:var(--f-body); font-weight:600; letter-spacing:0; }
section{ scroll-margin-top:var(--header-h); }
:focus-visible{ outline:2px solid var(--dorado); outline-offset:3px; }
.gf-skip{ position:absolute; left:-999px; top:8px; background:var(--cafe); color:var(--marfil); padding:10px 16px; z-index:200; border-radius:var(--r-pill); }
.gf-skip:focus{ left:16px; }

.gf-wrap{ max-width:var(--ancho); margin:0 auto; padding:0 28px; }
.gf-band{ padding:104px 0; position:relative; }
.gf-band--tight{ padding:72px 0; }
.gf-dark{ background:var(--cafe-profundo); color:var(--marfil); }
.gf-dark h1,.gf-dark h2,.gf-dark h3{ color:var(--marfil); }
.gf-dark p{ color:var(--marfil-suave); }
.gf-claro{ background:var(--crema-claro); }
.gf-lede{ font-size:1.18rem; max-width:60ch; color:inherit; }
.gf-dark .gf-lede{ color:var(--marfil-suave); }
.gf-intro{ max-width:680px; margin-bottom:56px; }
.gf-intro p:last-child{ margin-bottom:0; }
.gf-etiqueta{ font-weight:600; color:var(--dorado); margin:0 0 14px; font-size:.98rem; }
.gf-dark .gf-etiqueta{ color:var(--dorado-claro); }
.gf-nota{ font-size:.92rem; opacity:.75; }
.gf-link{ font-weight:600; color:var(--cafe); border-bottom:1.5px solid var(--dorado); padding-bottom:2px; transition:color .2s ease, border-color .2s ease; }
.gf-link:hover{ color:var(--dorado); border-color:var(--cafe); }
.gf-dark .gf-link{ color:var(--marfil); }
.gf-dark .gf-link:hover{ color:var(--dorado-claro); border-color:var(--marfil); }

/* grano sutil en secciones oscuras */
.gf-grano{ position:relative; overflow:hidden; }
.gf-grano::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.08; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.gf-grano > *{ position:relative; z-index:1; }

/* ---------- Botones ---------- */
.gf-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px; border-radius:var(--r-pill);
  font-weight:600; font-size:1rem; line-height:1; white-space:nowrap;
  border:1.5px solid transparent;
  transition:transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gf-btn:hover{ transform:translateY(-2px); }
.gf-btn:active{ transform:translateY(0); }
.gf-btn--gold{ background:var(--dorado); color:var(--cafe-profundo); border-color:var(--dorado); box-shadow:0 8px 20px rgba(200,144,40,.28); }
.gf-btn--gold:hover{ background:var(--dorado-claro); border-color:var(--dorado-claro); box-shadow:0 14px 28px rgba(200,144,40,.36); }
.gf-btn--cafe{ background:var(--cafe); color:var(--marfil); border-color:var(--cafe); }
.gf-btn--cafe:hover{ background:var(--cafe-medio); border-color:var(--cafe-medio); }
.gf-btn--ghost{ background:transparent; color:inherit; border-color:currentColor; }
.gf-btn--ghost:hover{ background:var(--dorado-suave); border-color:var(--dorado); }
.gf-btn__ico{ width:18px; height:18px; flex:none; }
.gf-btns{ display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- Brillo del cursor ---------- */
.gf-glow{
  position:fixed; top:0; left:0; width:560px; height:560px; z-index:3; pointer-events:none;
  background:radial-gradient(circle, rgba(224,175,74,.20) 0%, rgba(224,175,74,.07) 38%, rgba(224,175,74,0) 66%);
  transform:translate3d(-50%,-50%,0); opacity:0; transition:opacity .4s ease; will-change:transform;
}
.gf-glow.is-active{ opacity:1; }

/* ---------- Header ---------- */
.gf-header{
  position:fixed; top:0; left:0; right:0; z-index:90; height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(233,216,200,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linea);
  transition:background-color .3s ease, border-color .3s ease, box-shadow .3s ease, color .3s ease;
  color:var(--cafe);
}
.gf-header.is-scrolled{ box-shadow:0 8px 30px rgba(88,36,0,.10); }
body.gf-hero-oscuro .gf-header:not(.is-scrolled){
  background:transparent; border-bottom-color:transparent; color:var(--marfil); backdrop-filter:none; -webkit-backdrop-filter:none;
}
.gf-header__inner{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.gf-brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.gf-brand__logo{ width:52px; height:52px; border-radius:12px; object-fit:cover; flex:none; box-shadow:0 4px 14px rgba(88,36,0,.18); }
.gf-brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.gf-brand__small{ font-size:.72rem; font-weight:600; letter-spacing:.02em; opacity:.8; }
.gf-brand__name{ font-family:var(--f-display); font-size:1.4rem; font-weight:600; }
.gf-nav{ display:flex; align-items:center; gap:22px; }
.gf-nav a{ font-weight:500; font-size:.98rem; white-space:nowrap; position:relative; opacity:.9; padding:6px 0; transition:opacity .2s ease; }
.gf-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--dorado); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; border-radius:2px; }
.gf-nav a:hover::after, .gf-nav a.is-current::after{ transform:scaleX(1); }
.gf-nav a:hover{ opacity:1; }
.gf-header__cta{ padding:12px 20px; font-size:.92rem; }
.gf-burger{ display:none; width:44px; height:44px; background:none; border:none; padding:10px; color:inherit; }
.gf-burger span, .gf-burger span::before, .gf-burger span::after{ content:""; display:block; width:24px; height:2px; background:currentColor; position:relative; border-radius:2px; }
.gf-burger span::before{ position:absolute; top:-8px; }
.gf-burger span::after{ position:absolute; top:8px; }

.gf-mobile{
  position:fixed; inset:0; z-index:100; background:var(--cafe-profundo); color:var(--marfil);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
  transform:translateY(-102%); transition:transform .32s ease;
}
.gf-mobile.is-open{ transform:translateY(0); }
.gf-mobile a{ font-family:var(--f-display); font-size:1.75rem; }
.gf-mobile .gf-btn{ font-family:var(--f-body); font-size:1rem; margin-top:14px; }
.gf-mobile__close{ position:absolute; top:22px; right:24px; width:44px; height:44px; background:none; border:none; color:var(--marfil); font-size:2rem; line-height:1; }

/* ---------- Hero principal (Inicio) ---------- */
.gf-hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding:calc(var(--header-h) + 56px) 0 96px; color:var(--marfil); overflow:hidden;
  background:var(--cafe-profundo);
}
.gf-hero__fondo{
  position:absolute; inset:-40px; pointer-events:none;
  background:url("https://ibcgraciayfe.com/jovenes-iglesia-gracia-y-fe-bogota-orando.webp") center 42% / cover no-repeat;
  filter:blur(30px) brightness(.36) saturate(1.15); transform:scale(1.12);
}
.gf-hero__fondo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(43,20,7,.88) 0%, rgba(43,20,7,.55) 55%, rgba(43,20,7,.35) 100%),
             radial-gradient(60% 60% at 82% 18%, rgba(200,144,40,.28), rgba(200,144,40,0) 70%);
}
.gf-hero__grid{ position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; }
.gf-hero__copy h1{ color:var(--marfil); margin-bottom:.35em; max-width:11ch; }
.gf-hero__lugar{ font-weight:600; color:var(--dorado-claro); margin:0 0 20px; font-size:1rem; }
.gf-hero .gf-lede{ color:var(--marfil-suave); margin-bottom:30px; max-width:50ch; }
.gf-hero__palabra{ display:inline-block; opacity:0; transform:translateY(22px); animation:gfPalabra .8s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes gfPalabra{ to{ opacity:1; transform:translateY(0); } }
.gf-hero__copy > *:not(h1){ opacity:0; animation:gfSube .8s ease forwards; animation-delay:.55s; }
@keyframes gfSube{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
.gf-hero__media{ position:relative; padding:0 0 120px 0; --rot:1.6deg; max-width:460px; width:100%; justify-self:end; opacity:0; animation:gfFoto 1s cubic-bezier(.2,.7,.2,1) forwards; animation-delay:.25s; }
@keyframes gfFoto{ from{ opacity:0; transform:translateY(26px) scale(.97); } to{ opacity:1; transform:translateY(0) scale(1); } }
.gf-hero__foto{
  border-radius:28px; overflow:hidden; box-shadow:0 34px 80px rgba(0,0,0,.5); aspect-ratio:4/5;
  transform:rotate(var(--rot)); transition:transform .3s ease-out; will-change:transform;
}
.gf-hero__foto img{ width:100%; height:100%; object-fit:cover; object-position:56% 42%; }

/* tarjeta "próxima reunión" (cristal) */
.gf-proxima{
  background:rgba(246,235,220,.10); border:1px solid rgba(246,235,220,.22);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-radius:var(--r-card); padding:26px 28px; color:var(--marfil);
  box-shadow:0 24px 60px rgba(0,0,0,.35); max-width:380px; width:100%;
  opacity:0; animation:gfSube .9s ease forwards; animation-delay:.9s;
}
.gf-hero .gf-proxima{ position:absolute; left:-84px; bottom:0; max-width:360px; }
.gf-proxima__t{ font-weight:600; color:var(--dorado-claro); font-size:.9rem; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.gf-proxima__t::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--dorado-claro); box-shadow:0 0 0 0 rgba(224,175,74,.6); animation:gfPulso 2.4s ease-out infinite; }
@keyframes gfPulso{ 0%{ box-shadow:0 0 0 0 rgba(224,175,74,.55); } 100%{ box-shadow:0 0 0 12px rgba(224,175,74,0); } }
.gf-proxima__dia{ font-family:var(--f-display); font-size:1.9rem; line-height:1.05; color:var(--marfil); margin:0 0 4px; }
.gf-proxima__que{ font-size:1.05rem; margin:0 0 14px; color:var(--marfil); }
.gf-proxima__dir{ font-size:.92rem; color:var(--marfil-suave); margin:0 0 16px; padding-top:14px; border-top:1px solid rgba(246,235,220,.16); }
.gf-proxima .gf-btn{ width:100%; }
.gf-proxima--claro{ background:var(--cafe-profundo); border-color:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; animation:none; opacity:1; }

/* hero interior (páginas) */
.gf-phero{ padding:calc(var(--header-h) + 84px) 0 72px; position:relative; overflow:hidden; }
.gf-phero__grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; }
.gf-phero h1{ max-width:12ch; margin-bottom:.3em; }
.gf-phero .gf-lede{ margin-bottom:0; }
.gf-phero--oscuro{ color:var(--marfil); }
.gf-phero--oscuro h1{ color:var(--marfil); }
.gf-phero__orbe{
  position:absolute; width:620px; height:620px; border-radius:50%; right:-160px; top:-200px; pointer-events:none;
  background:radial-gradient(circle, rgba(200,144,40,.30) 0%, rgba(200,144,40,0) 62%);
}

/* ---------- Cinta de versículo (marquee) ---------- */
.gf-cinta{ background:var(--crema-oscuro); border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); overflow:hidden; padding:18px 0; }
.gf-cinta__pista{ display:flex; gap:0; width:max-content; animation:gfCinta 58s linear infinite; }
.gf-cinta:hover .gf-cinta__pista{ animation-play-state:paused; }
.gf-cinta__item{ font-family:var(--f-display); font-style:italic; font-size:1.25rem; color:var(--cafe); white-space:nowrap; display:flex; align-items:center; gap:64px; padding-right:64px; }
.gf-cinta__item::after{ content:""; width:8px; height:8px; background:var(--dorado); border-radius:50%; flex:none; }
@keyframes gfCinta{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- Bloques de dos columnas ---------- */
.gf-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.gf-split--media-izq > .gf-split__media{ order:-1; }
.gf-split__media{ position:relative; }
.gf-marco{ border-radius:var(--r-media); box-shadow:var(--sombra); }
.gf-marco img{ width:100%; height:auto; border-radius:inherit; object-fit:cover; }
.gf-marco--offset{ position:relative; z-index:0; }
.gf-marco--offset::before{
  content:""; position:absolute; inset:0; border-radius:var(--r-media); border:2px solid var(--dorado);
  transform:translate(16px,16px); z-index:-1;
}
.gf-logo-grande{ width:min(100%, 440px); margin:0 auto; display:block; -webkit-mask-image:radial-gradient(ellipse at center, #000 66%, transparent 86%); mask-image:radial-gradient(ellipse at center, #000 66%, transparent 86%); }

/* ---------- Bento "Qué creemos" ---------- */
.gf-bento{ display:grid; grid-template-columns:repeat(12, 1fr); gap:20px; }
.gf-bento__card{
  background:var(--crema-claro); border:1px solid var(--linea); border-radius:var(--r-card); padding:34px 32px;
  position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display:flex; flex-direction:column; gap:14px;
}
.gf-bento__card:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dorado); }
.gf-bento__card h3{ margin:0; }
.gf-bento__card p{ margin:0; max-width:52ch; }
.gf-bento__card--7{ grid-column:span 7; }
.gf-bento__card--5{ grid-column:span 5; }
.gf-bento__card--6{ grid-column:span 6; }
.gf-bento__card--4{ grid-column:span 4; }
.gf-bento__card--12{ grid-column:span 12; }
.gf-bento__ico{ width:46px; height:46px; color:var(--dorado); }
.gf-bento__arte{ position:absolute; right:-70px; bottom:-90px; width:320px; opacity:.4; pointer-events:none; }
.gf-bento__card--oscura p{ max-width:40ch; }
.gf-bento__card--oscura{ background:var(--cafe-profundo); border-color:transparent; color:var(--marfil); }
.gf-bento__card--oscura h3{ color:var(--marfil); }
.gf-bento__card--oscura p{ color:var(--marfil-suave); }
.gf-bento__card--dorada{ background:var(--dorado); border-color:transparent; color:var(--cafe-profundo); }
.gf-bento__card--dorada h3{ color:var(--cafe-profundo); }
.gf-bento__card--dorada p{ color:rgba(43,20,7,.82); }
.gf-bento__card--dorada .gf-bento__ico{ color:var(--cafe-profundo); }

/* ---------- Horarios ---------- */
.gf-dias{ display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.gf-dia{
  border-radius:var(--r-card); padding:28px 26px; border:1px solid var(--linea-oscura);
  background:rgba(246,235,220,.05); transition:background-color .25s ease, transform .25s ease, border-color .25s ease;
}
.gf-dia:hover{ background:rgba(246,235,220,.09); transform:translateY(-4px); border-color:rgba(224,175,74,.6); }
.gf-dia__nombre{ font-family:var(--f-display); font-size:1.6rem; color:var(--marfil); margin:0 0 14px; }
.gf-dia__evento{ display:flex; flex-direction:column; gap:2px; padding:10px 0; border-top:1px solid var(--linea-oscura); }
.gf-dia__hora{ color:var(--dorado-claro); font-weight:600; font-size:1.02rem; }
.gf-dia__que{ color:var(--marfil); }
.gf-dia--claro{ border-color:var(--linea); background:var(--crema-claro); }
.gf-dia--claro:hover{ background:#fff; border-color:var(--dorado); box-shadow:var(--sombra-suave); }
.gf-dia--claro .gf-dia__nombre{ color:var(--cafe); }
.gf-dia--claro .gf-dia__evento{ border-top-color:var(--linea); }
.gf-dia--claro .gf-dia__hora{ color:var(--cafe); }
.gf-dia--claro .gf-dia__que{ color:var(--tinta); }
.gf-dia--hoy{ outline:2px solid var(--dorado); outline-offset:2px; }
.gf-dia__hoy{ display:inline-block; font-size:.78rem; font-weight:600; color:var(--cafe-profundo); background:var(--dorado); padding:4px 10px; border-radius:var(--r-pill); margin-left:8px; vertical-align:middle; }

/* ---------- Videos ---------- */
.gf-videos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:28px 24px; }
.gf-video__thumb{
  position:relative; display:block; width:100%; aspect-ratio:16/9; border:none; padding:0; background:var(--cafe-medio);
  border-radius:var(--r-media); overflow:hidden; box-shadow:var(--sombra-suave);
}
.gf-video__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gf-video__thumb:hover img{ transform:scale(1.05); }
.gf-video__thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(43,20,7,0) 45%, rgba(43,20,7,.55) 100%); transition:opacity .25s ease; }
.gf-video__play{
  position:absolute; left:16px; bottom:16px; z-index:2;
  width:54px; height:54px; border-radius:50%; background:var(--dorado); color:var(--cafe-profundo);
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.35);
  transition:transform .25s ease, background-color .25s ease;
}
.gf-video__play svg{ width:20px; height:20px; margin-left:3px; }
.gf-video__thumb:hover .gf-video__play{ transform:scale(1.12); background:var(--dorado-claro); }
.gf-video--destacado .gf-video__play{ width:72px; height:72px; left:24px; bottom:24px; }
.gf-video--destacado .gf-video__play svg{ width:26px; height:26px; }
.gf-videos--4{ grid-template-columns:repeat(4, 1fr); }
.gf-videos--4 .gf-video__title{ font-size:1.05rem; }
.gf-video__thumb iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.gf-video__title{ font-size:1.18rem; margin:16px 0 4px; }
.gf-video__ref{ margin:0; font-size:.92rem; color:var(--dorado); font-weight:600; }
.gf-dark .gf-video__title{ color:var(--marfil); }
.gf-dark .gf-video__ref{ color:var(--dorado-claro); }
.gf-video--destacado{ display:grid; grid-template-columns:1.35fr .65fr; gap:40px; align-items:center; }
.gf-video--destacado .gf-video__title{ font-size:clamp(1.6rem, 2.6vw, 2.2rem); margin-top:0; }
.gf-serie{ margin-top:72px; }
.gf-serie__cab{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:26px; padding-bottom:14px; border-bottom:1px solid var(--linea); }
.gf-serie__cab h2{ font-size:clamp(1.6rem, 2.6vw, 2.1rem); margin:0; }
.gf-serie__cab p{ margin:0; color:var(--dorado); font-weight:600; }

/* ---------- Pastor ---------- */
.gf-pastor__nombre{ font-size:clamp(2rem, 3.6vw, 3rem); }
.gf-cita{ font-family:var(--f-display); font-style:italic; font-size:1.25rem; color:var(--cafe); border-left:3px solid var(--dorado); padding-left:20px; margin:26px 0 0; }
.gf-dark .gf-cita{ color:var(--marfil); }

/* ---------- Ubicación ---------- */
.gf-mapa{ border-radius:var(--r-media); overflow:hidden; box-shadow:var(--sombra); background:var(--crema-oscuro); min-height:420px; }
.gf-mapa iframe{ width:100%; height:100%; min-height:420px; border:0; display:block; }
.gf-dir{ font-size:1.15rem; margin:0 0 6px; font-weight:600; color:var(--cafe); }
.gf-dark .gf-dir{ color:var(--marfil); }
.gf-pista{ display:flex; gap:12px; align-items:flex-start; margin:0 0 12px; }
.gf-pista svg{ width:22px; height:22px; flex:none; color:var(--dorado); margin-top:3px; }
.gf-pista p{ margin:0; }
.gf-entrada{ border-radius:var(--r-media); overflow:hidden; box-shadow:var(--sombra); position:relative; }
.gf-entrada img{ width:100%; display:block; }
.gf-entrada__pie{ position:absolute; left:16px; right:16px; bottom:16px; background:rgba(43,20,7,.82); color:var(--marfil); padding:12px 16px; border-radius:14px; font-size:.95rem; backdrop-filter:blur(6px); }

/* ---------- Pasos / listas ---------- */
.gf-pasos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; counter-reset:paso; }
.gf-paso{ background:var(--crema-claro); border:1px solid var(--linea); border-radius:var(--r-card); padding:30px 28px; position:relative; counter-increment:paso; transition:transform .25s ease, box-shadow .25s ease; }
.gf-paso:hover{ transform:translateY(-4px); box-shadow:var(--sombra-suave); }
.gf-paso::before{ content:counter(paso); font-family:var(--f-display); font-size:2.2rem; color:var(--dorado); line-height:1; display:block; margin-bottom:12px; }
.gf-paso h3{ font-size:1.2rem; margin-bottom:8px; }
.gf-paso p{ margin:0; }
.gf-pilares{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.gf-pilar{ padding:0 0 0 22px; border-left:2px solid var(--dorado); }
.gf-pilar h3{ margin-bottom:8px; }
.gf-pilar p{ margin:0; }

/* ---------- Declaración de fe ---------- */
.gf-fe{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; border-top:1px solid var(--linea); }
.gf-fe__item{ padding:26px 0; border-bottom:1px solid var(--linea); display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start; }
.gf-fe__num{ font-family:var(--f-display); color:var(--dorado); font-size:1.4rem; line-height:1.2; }
.gf-fe__item h3{ font-size:1.2rem; margin-bottom:6px; }
.gf-fe__item p{ margin:0; }

/* ---------- Ministerios / reuniones (Nosotros) ---------- */
.gf-reuniones{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.gf-reunion{ display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start; padding:28px; border-radius:var(--r-card); background:var(--crema-claro); border:1px solid var(--linea); transition:transform .25s ease, box-shadow .25s ease; }
.gf-reunion:hover{ transform:translateY(-3px); box-shadow:var(--sombra-suave); }
.gf-reunion__cuando{ min-width:92px; text-align:center; background:var(--cafe-profundo); color:var(--marfil); border-radius:16px; padding:14px 10px; }
.gf-reunion__cuando b{ display:block; font-family:var(--f-display); font-size:1.15rem; font-weight:600; }
.gf-reunion__cuando span{ display:block; color:var(--dorado-claro); font-size:.9rem; font-weight:600; margin-top:4px; }
.gf-reunion h3{ margin-bottom:6px; }
.gf-reunion p{ margin:0; }

/* ---------- FAQ ---------- */
.gf-faq{ border-top:1px solid var(--linea); max-width:820px; }
.gf-faq details{ border-bottom:1px solid var(--linea); padding:20px 0; }
.gf-faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:var(--f-display); font-size:1.25rem; color:var(--cafe); }
.gf-faq summary::-webkit-details-marker{ display:none; }
.gf-faq summary::after{ content:"+"; font-family:var(--f-body); font-size:1.5rem; color:var(--dorado); flex:none; transition:transform .25s ease; }
.gf-faq details[open] summary::after{ transform:rotate(45deg); }
.gf-faq__r{ margin:12px 0 0; max-width:62ch; }

/* ---------- Contacto ---------- */
.gf-contacto{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.gf-canales{ display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.gf-canal{ display:flex; align-items:center; gap:16px; padding:16px 18px; border-radius:16px; background:var(--crema-claro); border:1px solid var(--linea); transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.gf-canal:hover{ transform:translateX(4px); border-color:var(--dorado); box-shadow:var(--sombra-suave); }
.gf-canal svg{ width:26px; height:26px; color:var(--dorado); flex:none; }
.gf-canal b{ display:block; font-weight:600; color:var(--cafe); }
.gf-canal span{ font-size:.92rem; opacity:.8; }
.gf-form{ background:var(--crema-claro); border:1px solid var(--linea); border-radius:var(--r-card); padding:32px; }
.gf-form label{ display:block; font-weight:600; font-size:.95rem; margin:0 0 6px; color:var(--cafe); }
.gf-form input, .gf-form textarea{
  width:100%; font:inherit; padding:13px 16px; border-radius:14px; border:1.5px solid var(--linea); background:#fff; color:var(--tinta);
  margin-bottom:18px; transition:border-color .2s ease, box-shadow .2s ease;
}
.gf-form input:focus, .gf-form textarea:focus{ outline:none; border-color:var(--dorado); box-shadow:0 0 0 4px var(--dorado-suave); }
.gf-form textarea{ min-height:140px; resize:vertical; }

/* ---------- CTA final ---------- */
.gf-cta{ text-align:center; }
.gf-cta h2{ font-size:clamp(2.2rem, 4.6vw, 3.8rem); max-width:16ch; margin:0 auto .4em; }
.gf-cta p{ max-width:56ch; margin:0 auto 32px; }
.gf-cta .gf-btns{ justify-content:center; }
.gf-cta__verso{ margin-top:56px; font-family:var(--f-display); font-style:italic; font-size:1.15rem; color:var(--marfil-suave); max-width:60ch; margin-left:auto; margin-right:auto; }
.gf-cta__verso cite{ font-style:normal; display:block; margin-top:8px; color:var(--dorado-claro); font-size:.95rem; }

/* ---------- Footer ---------- */
.gf-footer{ background:var(--crema); border-top:3px solid var(--dorado); padding:72px 0 28px; }
.gf-footer__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--linea); }
.gf-footer__logo{ width:96px; height:96px; border-radius:18px; margin-bottom:16px; box-shadow:var(--sombra-suave); }
.gf-footer__nombre{ font-family:var(--f-display); font-size:1.4rem; color:var(--cafe); margin:0 0 8px; }
.gf-footer p{ font-size:.97rem; margin:0 0 6px; }
.gf-footer h4{ color:var(--cafe); margin:0 0 14px; }
.gf-footer li{ margin-bottom:9px; font-size:.97rem; }
.gf-footer li a:hover{ color:var(--dorado); }
.gf-footer li b{ color:var(--cafe); font-weight:600; }
.gf-footer__bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 26px; padding-top:22px; font-size:.88rem; opacity:.75; }

/* ---------- Revelado al hacer scroll ---------- */
html.js .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
html.js .reveal.is-visible{ opacity:1; transform:none; }
html.js .reveal-grupo > *{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
html.js .reveal-grupo.is-visible > *{ opacity:1; transform:none; }
.reveal-grupo.is-visible > *:nth-child(2){ transition-delay:.08s; }
.reveal-grupo.is-visible > *:nth-child(3){ transition-delay:.16s; }
.reveal-grupo.is-visible > *:nth-child(4){ transition-delay:.24s; }
.reveal-grupo.is-visible > *:nth-child(5){ transition-delay:.32s; }
.reveal-grupo.is-visible > *:nth-child(6){ transition-delay:.40s; }
.reveal-grupo.is-visible > *:nth-child(n+7){ transition-delay:.48s; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .gf-hero__grid, .gf-phero__grid{ grid-template-columns:1fr; }
  .gf-hero__media{ padding-bottom:0; max-width:520px; justify-self:start; }
  .gf-hero__foto{ aspect-ratio:4/3.4; }
  .gf-hero__foto img{ object-position:56% 40%; }
  .gf-hero .gf-proxima{ position:relative; left:0; margin-top:-48px; margin-left:24px; }
  .gf-split{ grid-template-columns:1fr; gap:40px; }
  .gf-split--media-izq > .gf-split__media{ order:0; }
  .gf-bento__card--7, .gf-bento__card--5, .gf-bento__card--4{ grid-column:span 6; }
  .gf-dias{ grid-template-columns:repeat(2, 1fr); }
  .gf-videos{ grid-template-columns:repeat(2, 1fr); }
  .gf-video--destacado{ grid-template-columns:1fr; }
  .gf-pasos, .gf-pilares{ grid-template-columns:1fr; }
  .gf-fe{ grid-template-columns:1fr; }
  .gf-reuniones{ grid-template-columns:1fr; }
  .gf-contacto{ grid-template-columns:1fr; }
  .gf-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  :root{ --header-h:70px; }
  .gf-nav, .gf-header__cta, .gf-header .gf-idioma{ display:none; }
  .gf-burger{ display:block; }
  .gf-brand__logo{ width:44px; height:44px; }
  .gf-brand__name{ font-size:1.25rem; }
  .gf-band{ padding:72px 0; }
  .gf-wrap{ padding:0 20px; }
  .gf-hero{ padding-top:calc(var(--header-h) + 40px); min-height:auto; padding-bottom:72px; }
  .gf-hero__grid{ gap:40px; }
  .gf-hero__media{ --rot:0deg; }
  .gf-hero .gf-proxima{ margin-left:0; margin-top:-32px; }
  .gf-bento__card--7, .gf-bento__card--5, .gf-bento__card--6, .gf-bento__card--4{ grid-column:span 12; }
  .gf-bento__card{ padding:28px 24px; }
  .gf-dias, .gf-videos{ grid-template-columns:1fr; }
  .gf-cinta__item{ font-size:1.05rem; }
  .gf-footer__grid{ grid-template-columns:1fr; gap:30px; }
  .gf-form{ padding:24px 20px; }
  .gf-marco--offset::before{ transform:translate(10px,10px); }
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .gf-hero__palabra, .gf-hero__copy > *:not(h1), .gf-proxima, .gf-hero__media{ opacity:1; transform:none; }
  .reveal, .reveal-grupo > *{ opacity:1; transform:none; }
  .gf-cinta__pista{ animation:none; }
  .gf-glow{ display:none; }
}

/* ==========================================================================
   AMPLIACIÓN: idioma, efectos, En Vivo, mensuales, legal y botón de subir
   ========================================================================== */

/* ---------- Barra de progreso de lectura ---------- */
.gf-progreso{
  position:fixed; top:0; left:0; right:0; height:3px; z-index:95; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg, var(--cafe) 0%, var(--dorado) 55%, var(--dorado-claro) 100%);
  will-change:transform; pointer-events:none;
}

/* ---------- Selector de idioma ---------- */
.gf-idioma{
  display:flex; align-items:center; gap:2px; padding:3px; border-radius:var(--r-pill);
  border:1px solid rgba(88,36,0,.22); flex:none;
}
body.gf-hero-oscuro .gf-header:not(.is-scrolled) .gf-idioma{ border-color:rgba(246,235,220,.3); }
.gf-idioma__op{
  display:inline-flex; align-items:center; gap:7px; padding:5px 10px; border-radius:var(--r-pill);
  font-size:.76rem; font-weight:700; letter-spacing:.04em; opacity:.62;
  transition:opacity .2s ease, background-color .2s ease, color .2s ease;
}
.gf-idioma__op:hover{ opacity:1; }
.gf-idioma__op.is-on{ background:var(--dorado); color:var(--cafe-profundo); opacity:1; }
.gf-bandera{ width:20px; height:14px; border-radius:3px; display:block; box-shadow:0 0 0 1px rgba(0,0,0,.14); flex:none; }
.gf-idioma--movil{ margin-top:10px; border-color:rgba(246,235,220,.3); }
.gf-idioma--movil .gf-idioma__op{ font-size:.9rem; padding:9px 16px; }
.gf-idioma--movil .gf-bandera{ width:26px; height:18px; }

/* ---------- Lienzo WebGL del hero ---------- */
.gf-hero__lienzo{
  position:absolute; inset:0; width:100%; height:100%; display:block;
  pointer-events:none; opacity:0; mix-blend-mode:screen; transition:opacity 1.2s ease;
}
.gf-hero__lienzo.is-on{ opacity:.85; }

/* ---------- Inclinación 3D y brillo ---------- */
[data-tilt]{ transform-style:preserve-3d; transition:transform .5s cubic-bezier(.2,.7,.2,1); will-change:transform; }
[data-tilt].is-tilt{ transition:transform .12s ease-out; }
.gf-bento__card::after, .gf-mes::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:3; opacity:0;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.16), transparent 62%);
  transition:opacity .35s ease;
}
.gf-bento__card:hover::after, .gf-mes:hover::after{ opacity:1; }
.gf-mes{ position:relative; }

/* ---------- Revelado de titulares palabra por palabra ---------- */
html.js .gf-palabra{ display:inline-block; opacity:0; transform:translateY(18px); }
html.js .gf-palabra.is-on{ opacity:1; transform:none; transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }

/* ---------- Trazo animado de los SVG ---------- */
[data-trazo] line, [data-trazo] path{ transition:stroke-dashoffset 1.6s cubic-bezier(.3,.8,.3,1); }

/* ---------- Reuniones mensuales ---------- */
.gf-mensual{ margin-top:46px; }
.gf-mensual__t{ font-family:var(--f-display); font-size:1.35rem; color:var(--dorado-claro); margin:0 0 18px; }
.gf-claro .gf-mensual__t{ color:var(--cafe); }
.gf-mensual__grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
.gf-mensual__nota{ margin:16px 0 0; }
.gf-mes{
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; padding:24px 26px;
  border-radius:var(--r-card); border:1px dashed rgba(224,175,74,.5); background:rgba(246,235,220,.05);
  transition:transform .25s ease, border-color .25s ease, background-color .25s ease;
}
.gf-mes:hover{ transform:translateY(-3px); border-style:solid; border-color:var(--dorado); }
.gf-mes__ico{ width:40px; height:40px; color:var(--dorado-claro); flex:none; }
.gf-mes h3{ font-size:1.15rem; margin:0 0 6px; color:var(--marfil); }
.gf-mes p{ margin:0; color:var(--marfil-suave); font-size:.97rem; }
.gf-mes--claro{ border-color:rgba(200,144,40,.6); background:#fff; }
.gf-mes--claro h3{ color:var(--cafe); }
.gf-mes--claro p{ color:var(--tinta); }
.gf-mes--claro .gf-mes__ico{ color:var(--dorado); }

/* ---------- Punto de "en vivo" ---------- */
.gf-punto{
  width:9px; height:9px; border-radius:50%; background:var(--dorado-claro); display:inline-block;
  margin-right:9px; flex:none; box-shadow:0 0 0 0 rgba(224,175,74,.6); animation:gfPulso 2.4s ease-out infinite;
}
.gf-etiqueta--vivo{ display:inline-flex; align-items:center; }
.is-vivo .gf-punto{ background:#E5484D; box-shadow:0 0 0 0 rgba(229,72,77,.6); }

/* ---------- Franja de En Vivo en la portada ---------- */
.gf-vivo-band{ background:linear-gradient(118deg, var(--cafe) 0%, var(--cafe-profundo) 62%); color:var(--marfil); position:relative; overflow:hidden; }
.gf-vivo-band h2{ color:var(--marfil); }
.gf-vivo-band p{ color:var(--marfil-suave); }
.gf-vivo-band__grid{ display:grid; grid-template-columns:1.35fr .65fr; gap:40px; align-items:center; }
.gf-vivo-band__arte{ justify-self:center; color:var(--dorado); opacity:.45; }
.gf-vivo-band__arte svg{ width:190px; height:190px; }

/* ---------- Página En Vivo ---------- */
.gf-phero--vivo{ padding-bottom:44px; }
.gf-vivo__cab{ max-width:780px; }
.gf-vivo-seccion{ padding-bottom:104px; }
.gf-vivo__grid{ display:grid; grid-template-columns:1.62fr .78fr; gap:36px; align-items:start; }
.gf-player__marco{
  position:relative; aspect-ratio:16/9; border-radius:20px; overflow:hidden; background:#000;
  box-shadow:0 30px 70px rgba(0,0,0,.5); border:1px solid rgba(246,235,220,.16);
}
.gf-player__marco iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.gf-player__nota{ margin:18px 0 18px; max-width:62ch; }
.gf-estado{
  background:rgba(246,235,220,.06); border:1px solid rgba(246,235,220,.18); border-radius:var(--r-card);
  padding:28px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.gf-estado__t{ display:flex; align-items:center; font-weight:600; color:var(--dorado-claro); margin:0 0 4px; font-size:1.02rem; }
.gf-estado.is-vivo .gf-estado__t{ color:#FF8A8E; }
.gf-estado__sub{ font-size:.92rem; color:var(--marfil-suave); margin:0 0 4px; }
.gf-cuenta{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin:12px 0 20px; text-align:center; }
.gf-cuenta > div{ background:rgba(43,20,7,.45); border-radius:14px; padding:12px 6px; }
.gf-cuenta b{ display:block; font-family:var(--f-display); font-weight:600; font-size:1.9rem; line-height:1;
  color:var(--dorado-claro); font-variant-numeric:tabular-nums; }
.gf-cuenta span{ display:block; margin-top:5px; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--marfil-suave); }
.gf-estado__prox{ padding-top:16px; border-top:1px solid rgba(246,235,220,.16); margin-bottom:20px; }
.gf-estado__prox .gf-proxima__dia{ font-size:1.45rem; margin-bottom:2px; }
.gf-estado__prox .gf-proxima__que{ margin:0; color:var(--marfil-suave); }
.gf-estado .gf-btn{ width:100%; }

/* ---------- Páginas legales ---------- */
.gf-phero--corto{ padding-bottom:36px; }
.gf-phero--corto h1{ font-size:clamp(2.1rem, 4vw, 3.3rem); max-width:20ch; }
.gf-legal{ display:grid; grid-template-columns:250px 1fr; gap:56px; align-items:start; }
.gf-legal__indice{ position:sticky; top:calc(var(--header-h) + 22px); font-size:.93rem; }
.gf-legal__indice ol{ list-style:decimal; padding-left:20px; display:flex; flex-direction:column; gap:9px; color:var(--cafe); }
.gf-legal__indice a{ color:var(--tinta); }
.gf-legal__indice a:hover{ color:var(--dorado); }
.gf-legal__cuerpo{ max-width:72ch; }
.gf-legal__bloque{ padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid var(--linea); scroll-margin-top:calc(var(--header-h) + 20px); }
.gf-legal__bloque:last-child{ border-bottom:none; }
.gf-legal__bloque h2{ font-size:1.45rem; margin-bottom:.5em; }
.gf-lista{ list-style:disc; padding-left:22px; display:flex; flex-direction:column; gap:10px; margin:0 0 1em; }

/* ---------- Botón de volver arriba ---------- */
.gf-arriba{
  position:fixed; right:24px; bottom:24px; z-index:88; width:56px; height:56px; border-radius:50%;
  border:none; padding:0; background:var(--cafe-profundo); color:var(--marfil);
  display:grid; place-items:center; box-shadow:0 14px 34px rgba(43,20,7,.4);
  opacity:0; visibility:hidden; transform:translateY(16px) scale(.88);
  transition:opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), visibility .35s, background-color .25s ease, color .25s ease;
}
.gf-arriba.is-on{ opacity:1; visibility:visible; transform:none; }
.gf-arriba:hover{ background:var(--dorado); color:var(--cafe-profundo); transform:translateY(-3px); }
.gf-arriba__anillo{ position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.gf-arriba__pista{ fill:none; stroke:rgba(246,235,220,.2); stroke-width:2.5; }
.gf-arriba__prog{ fill:none; stroke:var(--dorado); stroke-width:2.5; stroke-linecap:round;
  stroke-dasharray:131.95; stroke-dashoffset:131.95; transition:stroke-dashoffset .12s linear; }
.gf-arriba:hover .gf-arriba__pista{ stroke:rgba(43,20,7,.22); }
.gf-arriba:hover .gf-arriba__prog{ stroke:var(--cafe-profundo); }
.gf-arriba__flecha{ position:relative; width:22px; height:22px; display:block; }
.gf-arriba__flecha svg{ width:100%; height:100%; }

/* ---------- Crédito del pie ---------- */
.gf-credito{ flex:1 1 320px; text-align:center; }
.gf-credito a{ border-bottom:1px solid rgba(88,36,0,.25); padding-bottom:1px; transition:color .2s ease, border-color .2s ease; }
.gf-credito a:hover{ color:var(--cafe); border-color:var(--dorado); }

/* ---------- Responsive de lo nuevo ---------- */
@media (max-width:1024px){
  .gf-vivo__grid{ grid-template-columns:1fr; }
  .gf-vivo-band__grid{ grid-template-columns:1fr; }
  .gf-vivo-band__arte{ display:none; }
  .gf-mensual__grid{ grid-template-columns:1fr; }
  .gf-legal{ grid-template-columns:1fr; gap:34px; }
  .gf-legal__indice{ position:static; }
  .gf-videos--4{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:760px){
  .gf-arriba{ right:16px; bottom:16px; width:50px; height:50px; }
  .gf-cuenta{ gap:6px; }
  .gf-cuenta b{ font-size:1.5rem; }
  .gf-cuenta > div{ padding:10px 4px; }
  .gf-estado{ padding:22px 20px; }
  .gf-mes{ padding:20px; gap:14px; }
  .gf-footer__bottom{ flex-direction:column; align-items:flex-start; text-align:left; }
  .gf-credito{ text-align:left; }
  .gf-videos--4{ grid-template-columns:1fr; }
  .gf-legal__cuerpo{ max-width:100%; }
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce){
  .gf-palabra{ opacity:1; transform:none; }
  .gf-hero__lienzo{ display:none; }
  .gf-progreso{ display:none; }
  .gf-punto{ animation:none; }
  [data-tilt]{ transform:none !important; }
}

/* ---------- Portada del reproductor en vivo ---------- */
.gf-player__tapa{
  position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; padding:28px;
  background:radial-gradient(120% 120% at 50% 0%, #3E2210 0%, #2B1407 62%, #1C0D04 100%);
  transition:opacity .5s ease, visibility .5s;
}
.gf-player__tapa.is-off{ opacity:0; visibility:hidden; }
.gf-player__tapa img{ width:84px; height:84px; border-radius:18px; box-shadow:0 10px 26px rgba(0,0,0,.4); margin-bottom:6px; }
.gf-player__tapa-t{ font-family:var(--f-display); font-size:1.5rem; color:var(--marfil); margin:0; }
.gf-player__tapa-p{ margin:0 0 10px; color:var(--marfil-suave); max-width:42ch; font-size:.98rem; }
@media (max-width:760px){
  .gf-player__tapa{ padding:16px; gap:7px; }
  .gf-player__tapa img{ width:42px; height:42px; border-radius:12px; margin-bottom:0; }
  .gf-player__tapa-t{ font-size:1.05rem; }
  .gf-player__tapa-p{ display:none; }
  .gf-player__tapa .gf-btn{ padding:11px 18px; font-size:.88rem; }
}


/* ---------- Reproductor activo (el iframe recibe los clics para pausar) ---------- */
.gf-video__frame{
  position:relative; display:block; width:100%; aspect-ratio:16/9; background:#000;
  border-radius:var(--r-media); overflow:hidden; box-shadow:var(--sombra-suave);
}
.gf-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.gf-video.is-playing{ transform:none !important; }

/* ---------- Listas de reproducción ---------- */
.gf-lista__n{
  position:absolute; top:12px; left:12px; z-index:2; display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:var(--r-pill); font-size:.78rem; font-weight:600; letter-spacing:.02em;
  background:rgba(43,20,7,.72); color:var(--marfil); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.gf-lista__n svg{ width:15px; height:15px; }
.gf-lista__des{ margin:0 0 10px; font-size:.95rem; color:var(--tinta); }
.gf-lista__link{ font-size:.9rem; display:inline-block; }

/* ---------- Corazón del crédito ---------- */
.gf-corazon{ width:13px; height:13px; display:inline-block; vertical-align:-2px; color:#C8442E; margin:0 1px; }
