@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500;700&family=JetBrains+Mono:wght@400&display=swap');

:root{
  --font-display:'Bebas Neue', sans-serif;
  --font-body:'DM Sans', sans-serif;
  --font-mono:'JetBrains Mono', monospace;
}

:root{--black:#0B0B0B;--gold:#C8A96A;--gold2:#E6D39A;--cream:#F5E9D7;--paper:#FFF9EF;--shadow:0 22px 60px rgba(0,0,0,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);font-family:Inter,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cream)}.desktop-lock{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:34px;background:radial-gradient(circle at top,rgba(200,169,106,.18),transparent 36%),#0B0B0B}.desktop-lock .phone-icon{width:92px;height:92px;border-radius:30px;border:1px solid rgba(200,169,106,.35);display:grid;place-items:center;color:var(--gold2);font-size:42px;margin-bottom:20px;box-shadow:0 0 0 9px rgba(200,169,106,.06)}.desktop-lock h1{font-family:Georgia,serif;font-size:42px;margin:0 0 14px}.desktop-lock p{max-width:470px;line-height:1.7;color:#d9c8aa}.desktop-lock small{color:var(--gold2)}.app{width:100%;max-width:520px;margin:0 auto;background:#0B0B0B;min-height:100vh;box-shadow:0 0 80px rgba(0,0,0,.45)}.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:flex-end;padding:28px 22px 42px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('../img/hero/hero.jpeg') center/cover no-repeat;filter:saturate(.9)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.36) 38%,rgba(0,0,0,.91))}.hero-content{position:relative;z-index:2;width:100%}.chip{display:inline-flex;border:1px solid rgba(230,211,154,.45);border-radius:999px;padding:10px 14px;background:rgba(0,0,0,.32);backdrop-filter:blur(12px);color:var(--gold2);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:51px;line-height:.95;letter-spacing:-.04em;margin:22px 0 10px}.hero h1 span{color:var(--gold2)}.years{color:var(--gold2);font-weight:900;letter-spacing:.15em;margin-bottom:14px}.hero p{font-size:18px;line-height:1.55;color:rgba(255,249,239,.86);margin:0 0 24px}.primary-btn,.download-btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:18px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#211609;font-weight:900;text-decoration:none;box-shadow:0 16px 34px rgba(200,169,106,.23)}.section{padding:70px 20px}.dark-section{background:linear-gradient(180deg,#0B0B0B,#19120b)}.paper-section,.prayer-section{background:linear-gradient(180deg,#FFF9EF,#F2E4CA);color:#20170f}.section-title span{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.18em}.section-title h2{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1;margin:9px 0 10px;letter-spacing:-.035em}.section-title p{margin:0 0 24px;line-height:1.65;color:#bba782}.paper-section .section-title p,.prayer-section .section-title p{color:#806b4b}.video-card{border:1px solid rgba(200,169,106,.25);border-radius:32px;background:rgba(255,255,255,.05);padding:12px;box-shadow:var(--shadow)}.video-card video,.video-placeholder{width:100%;aspect-ratio:9/16;border-radius:24px;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--gold2);overflow:hidden}.video-placeholder span{max-width:230px;color:#d4c4a7;margin-top:10px;line-height:1.5}blockquote{margin:22px 0 0;padding:20px;border-left:3px solid var(--gold);background:rgba(255,255,255,.06);border-radius:18px;line-height:1.6;color:#f5e9d7}.song-card{background:#fff;border-radius:30px;padding:22px;box-shadow:0 18px 46px rgba(30,20,10,.11);border:1px solid rgba(30,20,10,.08)}.song-icon{width:62px;height:62px;border-radius:20px;background:#111;color:var(--gold2);display:grid;place-items:center;font-size:28px;margin-bottom:12px}.song-copy h3{margin:0;font-size:23px;color:#1d1710}.song-copy p{margin:4px 0 18px;color:#806b4b}.song-card audio{width:100%;margin-bottom:18px}.h-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 14px;margin-right:-20px}.h-scroll::-webkit-scrollbar{display:none}.photo-card{min-width:78%;scroll-snap-align:start;margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(200,169,106,.2);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.photo-card img{width:100%;height:410px;object-fit:cover;display:block}.photo-card figcaption{padding:15px 16px;color:#f7ead4;font-weight:800}.prayer-card{background:#fff;border-radius:30px;padding:24px;box-shadow:0 18px 46px rgba(30,20,10,.1);border:1px solid rgba(30,20,10,.08);line-height:1.9;color:#302418}.petition{margin:22px 0;padding:18px;border-radius:20px;background:#f7ead5;color:#6d5734;text-align:center;font-weight:800}.prayer-card h3{text-align:center;color:#8b6a35;font-family:Georgia,serif;font-size:28px;line-height:1.15}.prayer-card h3 span{font-size:22px}.moments-grid{display:grid;gap:16px}.empty-state{padding:28px;border-radius:24px;background:#fff;color:#806b4b;box-shadow:0 18px 46px rgba(30,20,10,.08);text-align:center;line-height:1.6}.moment-card{margin:0;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 18px 46px rgba(30,20,10,.09);border:1px solid rgba(30,20,10,.08)}.moment-card img{width:100%;display:block}.moment-card figcaption{padding:14px 16px;color:#251a0e;display:grid;gap:5px}.moment-card span{color:#806b4b;font-size:14px}.footer{text-align:center;padding:42px 20px 110px;background:#0B0B0B;color:#d7c6aa;line-height:1.8}.footer strong{color:var(--gold2);font-family:Georgia,serif;font-size:25px}.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:66px;height:66px;border:0;border-radius:24px;background:linear-gradient(135deg,#0b0b0b,#2b2114);color:var(--gold2);box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(200,169,106,.35);z-index:30;display:grid;place-items:center}.fab span{font-size:31px;text-shadow:0 0 18px rgba(230,211,154,.45)}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:40;opacity:0;pointer-events:none;transition:.22s}.bottom-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,110%);width:min(520px,100%);z-index:41;background:linear-gradient(180deg,#fffaf0,#f0dfc3);color:#211609;border-radius:30px 30px 0 0;padding:14px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.28);transition:.28s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:48px;height:5px;border-radius:999px;background:#c9b990;margin:0 auto 16px}.bottom-sheet h3{font-family:Georgia,serif;font-size:28px;margin:0;color:#211609}.bottom-sheet p{margin:6px 0 16px;color:#7b6541}.bottom-sheet a{display:flex;align-items:center;min-height:54px;padding:0 14px;margin-bottom:9px;border-radius:18px;background:#fff;color:#211609;text-decoration:none;font-weight:900;box-shadow:0 10px 25px rgba(30,20,10,.06)}body.sheet-open .sheet-backdrop{opacity:1;pointer-events:auto}body.sheet-open .bottom-sheet{transform:translate(-50%,0)}@media(max-width:380px){.hero h1{font-size:43px}.section-title h2{font-size:34px}.photo-card img{height:360px}.fab{width:60px;height:60px;border-radius:21px}}

/* V1.2 Spiritual Renew 2026 - solo cambia piel visual, conserva estructura y admin */
:root{
  --black:#0B0B0B;
  --gold:#C8A96A;
  --gold2:#D9BE7A;
  --cream:#FFFDF9;
  --paper:#FFFFFF;
  --warm:#F7F2EA;
  --ink:#151515;
  --muted:#736653;
  --shadow:0 22px 60px rgba(18,18,18,.09);
}
body{
  background:linear-gradient(180deg,#FFFDF9 0%,#F7F2EA 100%);
  color:var(--ink);
}
.desktop-lock{
  background:radial-gradient(circle at top,rgba(200,169,106,.12),transparent 38%),#FFFDF9;
  color:var(--ink);
}
.desktop-lock .phone-icon{
  color:var(--gold);
  border:1px solid rgba(200,169,106,.22);
  background:#fff;
  box-shadow:0 18px 42px rgba(18,18,18,.08);
}
.desktop-lock p{color:var(--muted)}
.desktop-lock small{color:#9B7A3C}
.app{
  background:#FFFDF9;
  box-shadow:0 0 80px rgba(0,0,0,.08);
}
.hero-shade{
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.34) 42%,rgba(255,253,249,.96));
}
.chip{
  color:#8B6A35;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(200,169,106,.28);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.hero h1{color:#111;text-shadow:0 10px 34px rgba(255,255,255,.55)}
.hero h1 span{color:#8B6A35}
.years{color:#9B7A3C}
.hero p{color:#3c352b}
.primary-btn,.download-btn{
  background:linear-gradient(135deg,#111,#29231c);
  color:#FFFDF9;
  box-shadow:0 18px 42px rgba(0,0,0,.16),0 0 0 1px rgba(200,169,106,.18) inset;
}
.section{background:#FFFDF9}
.dark-section{
  background:linear-gradient(180deg,#FFFDF9,#F8F4EC);
  color:var(--ink);
}
.paper-section,.prayer-section{
  background:linear-gradient(180deg,#FFFFFF,#F8F4EC);
  color:var(--ink);
}
.section-title span{color:#9B7A3C}
.section-title h2{color:#151515}
.section-title p,
.paper-section .section-title p,
.prayer-section .section-title p{color:var(--muted)}
.video-card{
  border:1px solid rgba(200,169,106,.14);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
}
.video-card video,.video-placeholder{
  background:linear-gradient(135deg,#111,#27231d);
  color:#D9BE7A;
}
.video-placeholder span{color:#EDE1C6}
blockquote{
  color:#3e352a;
  background:#fff;
  border-left:3px solid var(--gold);
  box-shadow:0 16px 42px rgba(18,18,18,.06);
}
.song-card,.prayer-card,.empty-state,.moment-card{
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid rgba(200,169,106,.12);
}
.song-icon{background:#111;color:#D9BE7A}
.song-copy h3{color:#151515}
.song-copy p{color:var(--muted)}
.h-scroll{padding-bottom:20px}
.photo-card{
  background:#fff;
  border:1px solid rgba(200,169,106,.12);
  box-shadow:var(--shadow);
}
.photo-card figcaption{color:#2d241a;background:#fff}
.prayer-card{color:#2d241a}
.petition{background:#F8F1E5;color:#7B6136}
.moment-card figcaption{color:#251a0e}
.moment-card span,.empty-state{color:var(--muted)}
.footer{
  background:#FFFDF9;
  color:#6f604d;
  border-top:1px solid rgba(200,169,106,.14);
}
.footer strong{color:#8B6A35}
.fab{
  background:linear-gradient(135deg,#0B0B0B,#24211d);
  color:#D9BE7A;
  box-shadow:0 18px 42px rgba(0,0,0,.26),0 0 0 1px rgba(200,169,106,.32),0 0 34px rgba(200,169,106,.18);
}
.sheet-backdrop{background:rgba(20,18,15,.34)}
.bottom-sheet{
  background:linear-gradient(180deg,#FFFFFF,#F8F4EC);
  color:#151515;
  box-shadow:0 -22px 60px rgba(0,0,0,.16);
  border:1px solid rgba(200,169,106,.14);
}
.sheet-handle{background:#D6C7AA}
.bottom-sheet h3{color:#151515}
.bottom-sheet p{color:var(--muted)}
.bottom-sheet a{
  background:#fff;
  color:#151515;
  box-shadow:0 12px 28px rgba(18,18,18,.06);
  border:1px solid rgba(200,169,106,.12);
}

/* V1.3 Premium Light 2026 - cero café/beige, foto inicial real cinematográfica */
:root{
  --black:#07080A;
  --gold:#D6B75E;
  --gold2:#F0D98A;
  --cream:#FFFFFF;
  --paper:#FFFFFF;
  --warm:#F6F8FC;
  --ink:#101114;
  --muted:#667085;
  --line:rgba(16,17,20,.08);
  --shadow:0 22px 60px rgba(16,24,40,.10);
}
body{
  background:#FFFFFF !important;
  color:var(--ink) !important;
}
.app{
  background:#FFFFFF !important;
  box-shadow:0 0 80px rgba(16,24,40,.10) !important;
}
.desktop-lock{
  background:radial-gradient(circle at top,rgba(214,183,94,.10),transparent 36%),#FFFFFF !important;
  color:#101114 !important;
}
.desktop-lock p{color:#667085 !important;}
.desktop-lock small{color:#7A5E10 !important;}
.desktop-lock .phone-icon{
  background:#FFFFFF !important;
  color:#D6B75E !important;
  border:1px solid rgba(214,183,94,.25) !important;
  box-shadow:0 18px 42px rgba(16,24,40,.10) !important;
}
.hero-bg{
  filter:saturate(1.08) contrast(1.05) brightness(.98) !important;
  transform:scale(1.01);
}
.hero-shade{
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.12) 30%,rgba(0,0,0,.54) 68%,rgba(0,0,0,.90) 100%) !important;
}
.chip{
  color:#F4D978 !important;
  background:rgba(0,0,0,.34) !important;
  border:1px solid rgba(240,217,138,.48) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.22) !important;
}
.hero h1{
  color:#FFFFFF !important;
  text-shadow:0 16px 44px rgba(0,0,0,.70) !important;
}
.hero h1 span{color:#F0D98A !important;}
.years{color:#F0D98A !important;}
.hero p{color:rgba(255,255,255,.92) !important;}
.primary-btn,.download-btn{
  background:linear-gradient(135deg,#07080A,#171A21) !important;
  color:#FFFFFF !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22),0 0 0 1px rgba(214,183,94,.24) inset !important;
}
.section,
.dark-section,
.paper-section,
.prayer-section{
  background:#FFFFFF !important;
  color:#101114 !important;
}
.section:nth-of-type(even){background:#F6F8FC !important;}
.section-title span{color:#B88E19 !important;}
.section-title h2{color:#101114 !important;}
.section-title p,
.paper-section .section-title p,
.prayer-section .section-title p{
  color:#667085 !important;
}
.video-card,
.song-card,
.prayer-card,
.empty-state,
.moment-card,
.photo-card{
  background:#FFFFFF !important;
  border:1px solid rgba(16,24,40,.08) !important;
  box-shadow:0 22px 60px rgba(16,24,40,.10) !important;
}
.video-card video,
.video-placeholder{
  background:linear-gradient(135deg,#07080A,#171A21) !important;
  color:#F0D98A !important;
}
.video-placeholder span{color:rgba(255,255,255,.72) !important;}
blockquote{
  background:#FFFFFF !important;
  color:#344054 !important;
  border-left:3px solid #D6B75E !important;
  box-shadow:0 16px 42px rgba(16,24,40,.08) !important;
}
.song-icon{
  background:#07080A !important;
  color:#F0D98A !important;
}
.song-copy h3{color:#101114 !important;}
.song-copy p{color:#667085 !important;}
.photo-card figcaption{
  background:#FFFFFF !important;
  color:#101114 !important;
}
.prayer-card{color:#1D2939 !important;}
.petition{
  background:#F6F8FC !important;
  color:#475467 !important;
  border:1px solid rgba(16,24,40,.08) !important;
}
.prayer-card h3{color:#B88E19 !important;}
.moment-card figcaption{color:#101114 !important;}
.moment-card span,.empty-state{color:#667085 !important;}
.footer{
  background:#FFFFFF !important;
  color:#667085 !important;
  border-top:1px solid rgba(16,24,40,.08) !important;
}
.footer strong{color:#101114 !important;}
.fab{
  background:linear-gradient(135deg,#07080A,#171A21) !important;
  color:#F0D98A !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 0 1px rgba(214,183,94,.36),0 0 34px rgba(214,183,94,.20) !important;
}
.sheet-backdrop{background:rgba(7,8,10,.42) !important;}
.bottom-sheet{
  background:#FFFFFF !important;
  color:#101114 !important;
  border:1px solid rgba(16,24,40,.08) !important;
  box-shadow:0 -22px 60px rgba(16,24,40,.18) !important;
}
.sheet-handle{background:#D0D5DD !important;}
.bottom-sheet h3{color:#101114 !important;}
.bottom-sheet p{color:#667085 !important;}
.bottom-sheet a{
  background:#F6F8FC !important;
  color:#101114 !important;
  border:1px solid rgba(16,24,40,.08) !important;
  box-shadow:none !important;
}


/* V1.4 ajustes puntuales MAP - sin cambiar estructura */
.hero-content .chip{display:none !important;}
.hero h1{margin-top:0 !important;}
.song-card-pro{
  position:relative;
  overflow:hidden;
  padding:22px !important;
  border-radius:32px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(214,183,94,.16), transparent 34%),
    linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%) !important;
  border:1px solid rgba(16,24,40,.08) !important;
  box-shadow:0 24px 64px rgba(16,24,40,.12) !important;
}
.song-card-pro:before{
  content:"";
  position:absolute;
  top:-80px;
  right:-70px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(214,183,94,.18), transparent 65%);
  pointer-events:none;
}
.song-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.song-cover{
  width:76px;
  min-width:76px;
  height:76px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#07080A,#171A21) !important;
  color:#F0D98A !important;
  box-shadow:0 18px 36px rgba(7,8,10,.20), inset 0 0 0 1px rgba(214,183,94,.28);
}
.song-cover span{
  font-size:34px;
  line-height:1;
  text-shadow:0 0 20px rgba(240,217,138,.32);
}
.song-card-pro .song-kicker{
  display:inline-flex;
  margin-bottom:5px;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:900;
  color:#B88E19;
}
.song-card-pro .song-copy h3{
  margin:0 !important;
  font-size:23px !important;
  color:#101114 !important;
  letter-spacing:-.02em;
}
.song-card-pro .song-copy p{
  margin:5px 0 0 !important;
  color:#667085 !important;
  font-size:14px;
  line-height:1.45;
}
.audio-shell{
  position:relative;
  z-index:1;
  padding:12px;
  border-radius:22px;
  background:#FFFFFF;
  border:1px solid rgba(16,24,40,.08);
  box-shadow:0 12px 30px rgba(16,24,40,.06);
  margin-bottom:16px;
}
.song-card-pro audio{
  width:100% !important;
  margin:0 !important;
  display:block;
}
.song-download{
  position:relative;
  z-index:1;
}




/* V1.7 cache + galería fina real */
.section-title > span{
  display:none !important;
}

.cristo-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
}

.cristo-card{
  border-radius:22px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(16,17,20,.07) !important;
  box-shadow:0 16px 38px rgba(16,17,20,.08) !important;
  padding:0 !important;
  margin:0 !important;
}

.cristo-card img{
  width:100% !important;
  height:132px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  cursor:pointer !important;
}

.cristo-card figcaption{
  padding:9px 10px 11px !important;
  font-size:11.5px !important;
  line-height:1.2 !important;
  color:#3f4248 !important;
  font-weight:700 !important;
}

.moments-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

.moment-card{
  border-radius:22px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(16,17,20,.07) !important;
  box-shadow:0 16px 38px rgba(16,17,20,.08) !important;
  padding:0 !important;
}

.moment-card img{
  width:100% !important;
  height:190px !important;
  object-fit:cover !important;
  display:block !important;
  cursor:pointer !important;
}

.moment-card figcaption{
  padding:10px 12px 12px !important;
  font-size:12px !important;
  color:#3f4248 !important;
  font-weight:700 !important;
}

body.p35-modal-open{
  overflow:hidden !important;
}

.p35-image-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  background:rgba(0,0,0,.90) !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
}

.p35-image-modal.is-open{
  display:flex !important;
}

.p35-image-modal img{
  width:100% !important;
  max-width:680px !important;
  max-height:84vh !important;
  object-fit:contain !important;
  border-radius:22px !important;
  box-shadow:0 32px 90px rgba(0,0,0,.58) !important;
  background:#000 !important;
}

.p35-image-close{
  position:fixed !important;
  top:16px !important;
  right:16px !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  backdrop-filter:blur(14px) !important;
  z-index:1000000 !important;
}

@media(max-width:380px){
  .cristo-card img{
    height:118px !important;
  }
  .moment-card img{
    height:172px !important;
  }
}



/* V1.8 real: galería de Cristo usa .photo-card, no .cristo-card */
.photo-grid,
.cristo-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
}

.photo-card{
  margin:0 !important;
  padding:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(16,17,20,.08) !important;
  box-shadow:0 12px 28px rgba(16,17,20,.07) !important;
}

.photo-card img{
  width:100% !important;
  height:98px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  cursor:pointer !important;
}

.photo-card figcaption{
  padding:7px 7px 9px !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
  color:#3F4248 !important;
  font-weight:700 !important;
  min-height:34px !important;
}

.moments-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:10px !important;
}

.moment-card{
  margin:0 !important;
  padding:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(16,17,20,.08) !important;
  box-shadow:0 12px 28px rgba(16,17,20,.07) !important;
}

.moment-card img{
  width:100% !important;
  height:118px !important;
  object-fit:cover !important;
  display:block !important;
  cursor:pointer !important;
}

.moment-card figcaption{
  padding:8px 8px 10px !important;
  font-size:10.5px !important;
  line-height:1.18 !important;
  color:#3F4248 !important;
  font-weight:700 !important;
}

.footer.footer-black{
  background:#000 !important;
  color:#fff !important;
  padding:40px 22px calc(92px + env(safe-area-inset-bottom)) !important;
  text-align:center !important;
  border-top:0 !important;
  margin:36px 0 0 !important;
}

.footer.footer-black strong{
  color:#fff !important;
  font-size:24px !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
}

.footer.footer-black small{
  display:block !important;
  margin-top:12px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:12px !important;
}

.footer-copy{
  margin-top:18px !important;
  font-size:12px !important;
  color:rgba(255,255,255,.58) !important;
}

.footer-copy a{
  color:#D4AF37 !important;
  text-decoration:none !important;
  font-weight:800 !important;
}

@media(max-width:380px){
  .photo-card img{height:88px !important;}
  .moment-card img{height:105px !important;}
}


/* V2 Typography System */
body{
  font-family:var(--font-body) !important;
}

.hero h1,
.section-title h2,
.section h2,
.bottom-sheet h3{
  font-family:var(--font-display) !important;
  font-size:40px !important;
  line-height:.95 !important;
  letter-spacing:.02em !important;
  font-weight:400 !important;
}

.hero p,
.song-copy h3,
.song-copy p,
.prayer-card,
.empty-state,
.footer,
.photo-card figcaption,
.moment-card figcaption{
  font-family:var(--font-body) !important;
}

.hero p,
.song-copy h3{
  font-weight:700 !important;
  font-size:20px !important;
  line-height:1.45 !important;
}

.section-title p,
.song-copy p,
.photo-card figcaption,
.moment-card figcaption,
.footer small,
.footer-copy,
.bottom-sheet a,
.bottom-sheet p,
.prayer-card p,
.prayer-card{
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

small,
.caption,
.micro,
.footer-copy{
  font-family:var(--font-body) !important;
  font-weight:400 !important;
  font-size:11px !important;
  line-height:1.5 !important;
}

.years,
.song-kicker{
  font-family:var(--font-mono) !important;
  font-size:14px !important;
  letter-spacing:.08em !important;
}

.footer strong{
  font-family:var(--font-display) !important;
  font-size:34px !important;
  font-weight:400 !important;
}


/* V2.1 Leads + Comentarios */
.info-section,
.comments-section{
  background:#FFFFFF !important;
}

.info-card{
  background:linear-gradient(180deg,#FFFFFF,#F8FAFD) !important;
  border:1px solid rgba(16,17,20,.08) !important;
  border-radius:28px !important;
  padding:22px !important;
  box-shadow:0 18px 46px rgba(16,17,20,.08) !important;
}

.info-icon{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
  display:grid !important;
  place-items:center !important;
  background:#000 !important;
  color:#D4AF37 !important;
  font-size:23px !important;
  margin-bottom:16px !important;
  box-shadow:0 14px 32px rgba(0,0,0,.18) !important;
}

.info-card h3{
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:20px !important;
  line-height:1.28 !important;
  color:#101114 !important;
  margin:0 0 8px !important;
}

.info-card p{
  font-family:var(--font-body) !important;
  font-weight:500 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  color:#667085 !important;
  margin:0 0 18px !important;
}

.p35-form{
  display:grid !important;
  gap:10px !important;
}

.p35-form label{
  font-family:var(--font-body) !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:#101114 !important;
  letter-spacing:.02em !important;
  margin-top:4px !important;
}

.p35-form label span{
  color:#98A2B3 !important;
  font-weight:500 !important;
}

.p35-form input,
.p35-form textarea{
  width:100% !important;
  border:1px solid rgba(16,17,20,.10) !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  color:#101114 !important;
  padding:15px 15px !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  font-weight:500 !important;
  outline:none !important;
  box-shadow:0 8px 22px rgba(16,17,20,.04) !important;
}

.p35-form textarea{
  min-height:132px !important;
  resize:vertical !important;
}

.p35-form input:focus,
.p35-form textarea:focus{
  border-color:#D4AF37 !important;
  box-shadow:0 0 0 4px rgba(212,175,55,.16) !important;
}

.p35-form button{
  margin-top:8px !important;
  border:0 !important;
  width:100% !important;
  min-height:54px !important;
  border-radius:18px !important;
  background:#000 !important;
  color:#FFFFFF !important;
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:14px !important;
  cursor:pointer !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
}

.p35-form button:disabled{
  opacity:.65 !important;
}

.form-thanks{
  margin-top:14px !important;
  padding:16px !important;
  border-radius:18px !important;
  background:rgba(212,175,55,.12) !important;
  border:1px solid rgba(212,175,55,.24) !important;
  color:#3F3312 !important;
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}


/* V2.2 Seguridad + Camino */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.journey-section{
  background:#FFFFFF !important;
}

.journey-card{
  background:linear-gradient(180deg,#FFFFFF,#F7F9FC) !important;
  border:1px solid rgba(16,17,20,.08) !important;
  border-radius:28px !important;
  padding:20px !important;
  box-shadow:0 18px 46px rgba(16,17,20,.08) !important;
}

.journey-top{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.journey-top > div{
  background:#000 !important;
  color:#FFFFFF !important;
  border-radius:22px !important;
  padding:16px !important;
  min-height:96px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

.journey-label{
  font-family:var(--font-body) !important;
  font-size:11px !important;
  font-weight:500 !important;
  color:rgba(255,255,255,.62) !important;
}

.journey-top strong{
  font-family:var(--font-mono) !important;
  font-size:18px !important;
  line-height:1.2 !important;
  color:#D4AF37 !important;
}

.journey-copy,
.journey-status{
  font-family:var(--font-body) !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.62 !important;
  color:#667085 !important;
}

.journey-btn{
  width:100% !important;
  min-height:54px !important;
  border:0 !important;
  border-radius:18px !important;
  background:#000 !important;
  color:#fff !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  font-weight:700 !important;
  margin:12px 0 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
}

.journey-btn:disabled{
  opacity:.72 !important;
}

.journey-map{
  height:280px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#EEF2F7 !important;
  margin-top:14px !important;
  border:1px solid rgba(16,17,20,.08) !important;
}

.map-placeholder{
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  text-align:center !important;
  padding:18px !important;
  color:#667085 !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.leaflet-container{
  font-family:var(--font-body) !important;
}
