*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff}.screen{display:none;min-height:100vh}.screen.active{display:block}.cover{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px}.cover-art{position:relative;width:min(94vw,46.29vh,560px)}.cover-art img{display:block;width:100%;height:auto}.cover-title-mask{position:absolute;left:7%;right:7%;top:59%;height:12%;background:rgba(255,255,255,.985);pointer-events:none}.cover-cross-pulse{position:absolute;left:50.6%;top:35%;width:20%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.88);border-radius:50%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,255,255,.98) 0 8%,rgba(151,205,255,.62) 25%,rgba(255,255,255,0) 68%);animation:crossHeartbeat 3.2s ease-in-out infinite}.cover button{margin-top:12px;width:124px;background:#143553;color:#fff;border:0;border-radius:12px;padding:13px 22px;font-size:16px;font-weight:700}header{position:sticky;top:0;background:#fff;padding:18px 18px 12px;border-bottom:1px solid #dfe8ee;z-index:3}header h1{color:#143553;font-size:17.2pt;margin:0;background:#edf4f8;padding:8px 10px}input{width:100%;margin-top:10px;padding:11px 12px;border:1px solid #ccd9e2;border-radius:10px;font-size:15px}nav{display:flex;gap:7px;overflow:auto;margin-top:9px}nav button{white-space:nowrap;border:1px solid #cbd9e2;background:#fff;color:#143553;border-radius:999px;padding:7px 11px}nav button.active{background:#143553;color:#fff}#list{padding:8px 18px 60px}.row{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid #e2e9ee}.row .n{color:#b67a2d;font-weight:700;width:31px}.row .t{font-size:11.4pt;color:#143553;line-height:1.3}.row .c{margin-left:auto;color:#8195a3;font-size:23px}.topic{margin:24px 0 7px;color:#b67a2d;font-size:12px;font-weight:700;text-transform:uppercase}.reader{padding:18px 22px 80px}.index-link{border:0;background:none;color:#143553;padding:0 0 8px;font-weight:700}.kicker{font-size:11px;color:#b67a2d;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.titlebar{background:#edf4f8;margin:6px 0 14px;padding:9px 10px}.titlebar h1{font-size:17.2pt;line-height:1.18;color:#143553;margin:0}.content{font-size:13.2pt;line-height:1.43}.content p{margin:0 0 14px}.content strong,.role{color:#143553;font-weight:700}.side{position:fixed;right:0;top:46%;border:0;background:transparent;color:#555;font-size:38px;z-index:4}footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dfe8ee;display:flex;justify-content:space-between;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}footer button{border:0;background:none;color:#143553;font-weight:700;padding:9px}@media(max-width:600px){.cover{justify-content:flex-start;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.cover-art{width:min(94vw,38vh,560px)}.cover-tagline{max-width:460px;margin:2px auto 0;padding:0 8px;color:#143553;font-size:15px;font-weight:700;line-height:1.32;text-align:center}.cover button{margin-top:9px}}
@media(min-width:601px){.cover-tagline{max-width:500px;margin:12px auto 0;color:#143553;font-size:16px;font-weight:700;line-height:1.35;text-align:center}}
@media(min-width:720px){header,#list,.reader{max-width:760px;margin:auto}}
@media(max-width:600px){
  #home .cover{position:relative;display:block;min-height:100vh;padding:0;overflow:hidden}
  #home .cover-art{position:absolute;top:calc(50% - 398px);left:50%;width:94vw;max-width:560px;transform:translateX(calc(-50% - 3px))}
  #home .cover-tagline{position:absolute;right:18px;bottom:calc(305px + env(safe-area-inset-bottom));left:18px;max-width:none;margin:0;padding:0;color:#143553;font-size:16px;font-weight:700;font-style:italic;line-height:1.35;text-align:center}
  #home .cover button{position:absolute;bottom:calc(130px + env(safe-area-inset-bottom));left:50%;margin:0;transform:translateX(-50%)}
}
@keyframes crossHeartbeat{0%,18%,44%,100%{transform:translate(-50%,-50%) scale(.88);opacity:.42}23%{transform:translate(-50%,-50%) scale(1.14);opacity:.95}31%{transform:translate(-50%,-50%) scale(.92);opacity:.55}36%{transform:translate(-50%,-50%) scale(1.04);opacity:.8}}
.index-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.index-head h1{min-width:0}
.retreat-head-btn{position:relative;overflow:hidden;isolation:isolate;border:1px solid #d2a959;border-radius:14px;background:linear-gradient(135deg,#f5e7c5,#d9b35f);color:#143553;padding:7px 10px;min-width:88px;box-shadow:0 5px 14px rgba(20,53,83,.13),0 0 16px rgba(226,190,111,.25);font-size:9px;line-height:1.05;letter-spacing:.08em;text-align:center}
.retreat-head-btn span,.retreat-head-btn strong{display:block;position:relative;z-index:1}
.retreat-head-btn strong{font-size:12px;margin-top:2px}
.retreat-head-btn:after{content:"";position:absolute;z-index:0;pointer-events:none;top:-75%;left:-48%;width:24%;height:250%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:rotate(18deg);animation:retreatButtonShine 5.8s ease-in-out infinite;animation-delay:1.3s}
@keyframes retreatButtonShine{0%,55%{left:-48%;opacity:0}62%{opacity:1}82%{left:125%;opacity:1}83%,100%{left:125%;opacity:0}}
.home-btn{border:0;background:#edf4f8;color:#143553;border-radius:10px;width:42px;height:42px;font-size:24px;font-weight:700}
.search-wrap{display:flex;gap:8px;align-items:center;margin-top:10px}
.search-wrap input{margin-top:0;flex:1}
.search-btn{border:0;background:#143553;color:#fff;border-radius:10px;padding:11px 13px;font-weight:700}
.search-help{font-size:12px;color:#7b8793;margin-top:6px;line-height:1.3}
.reader-links{display:flex;justify-content:space-between;align-items:center}
.empty{color:#7b8793;padding:18px 2px}

/* Ajuste mínimo para incorporar ROSARIO en la misma fila del índice */
nav{gap:5px;overflow:visible}
nav button{padding:7px 8px;font-size:12px}
nav .rosario-nav{border-color:#d6bb7a;color:#143553;font-weight:700}

.news-zone{display:grid;gap:13px;padding:15px 18px 52px;max-width:760px;margin:auto}
.news-zone[hidden]{display:none}
.daily-gospel-card{position:relative;overflow:hidden;border:1px solid #d9e5ec;background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(20,53,83,.1)}
.gospel-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.gospel-topline .gospel-kicker{margin:0}
.gospel-saint-button{flex:none;min-height:38px;padding:8px 12px;border:1px solid #143553;border-radius:999px;background:#143553;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px rgba(20,53,83,.16)}
.daily-gospel-card h2{color:#143553;font-size:21px;line-height:1.12;margin:0 0 4px}
.daily-gospel-card p{color:#6d7d89;font-size:13px;line-height:1.4;margin:0 0 8px}
.daily-gospel-card strong{display:block;color:#143553;font-size:15px;line-height:1.35;margin-bottom:11px}
.daily-gospel-card>small{display:block;color:#8a98a3;font-size:9px;line-height:1.35;margin-top:9px}
.gospel-kicker{color:#b67a2d;font-size:11px;font-weight:900;letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}
.saint-kicker{color:#b67a2d;font-size:11px;font-weight:900;letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}
.gospel-actions{display:flex;align-items:center;gap:8px}
.gospel-read,.gospel-audio,.news-action{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:900;letter-spacing:.02em;text-decoration:none}
.gospel-read{border:0;background:#143553;color:#fff;box-shadow:0 4px 12px rgba(20,53,83,.16)}
.gospel-audio{border:1px solid #bfd1dc;background:#edf5fa;color:#143553}
.gospel-modal{display:none;position:fixed;inset:0;background:rgba(13,32,48,.52);z-index:140;align-items:center;justify-content:center;padding:20px}
.gospel-modal.open{display:flex}
.gospel-panel{position:relative;width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.gospel-panel h2{color:#143553;font-size:27px;line-height:1.12;margin:0 30px 7px 0}
.gospel-close{position:absolute;right:16px;top:14px;border:0;background:none;color:#143553;font-weight:800;font-size:24px}
.gospel-modal-reference{color:#143553;font-size:16px;font-weight:800;margin:8px 0 14px}
.gospel-body{white-space:pre-line;color:#465b6a;font-size:15px;line-height:1.58}
.gospel-audio-panel{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:16px;padding:11px 12px;border:1px solid #ccdde8;border-radius:15px;background:linear-gradient(145deg,#edf5fa,#fff);box-shadow:0 5px 14px rgba(20,53,83,.07)}
.gospel-audio-heading{display:flex;align-items:center;color:#143553;margin:0 auto 0 0}
.gospel-audio-heading small{display:block;color:#b67a2d;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}
.gospel-audio-heading strong{display:block;font-size:13px;line-height:1.2}
.gospel-audio-panel audio{display:block;width:100%;height:38px}
.gospel-audio-panel audio[hidden],.gospel-narration-button[hidden]{display:none}
.gospel-narration-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #bfd1dc;border-radius:999px;padding:8px 14px;background:#fff;color:#143553;font-size:11px;font-weight:900;letter-spacing:.02em;box-shadow:0 3px 9px rgba(20,53,83,.09)}
.gospel-narration-button:after{content:"";position:absolute;top:-75%;left:-48%;width:28%;height:250%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:rotate(18deg);animation:papalShine 3.6s ease-in-out infinite;pointer-events:none}
.gospel-audio-status{flex-basis:100%;display:block;margin-top:-2px;color:#7b8e9b;font-size:9px;text-align:left}
.gospel-source-link{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:18px;border-radius:999px;background:#143553;color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.papal-card{position:relative;overflow:hidden;border:1px solid #e5d2ad;background:linear-gradient(135deg,#143553 0%,#1d4c70 100%);border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(20,53,83,.15);color:#fff}
.papal-card:after{content:"✦";position:absolute;right:16px;top:10px;color:#d9b66f;font-size:24px;opacity:.9;transform-origin:center;animation:papalStarGlow 3.6s ease-in-out infinite}
.papal-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;color:#b67a2d;text-transform:uppercase;margin-bottom:6px}
.papal-card .papal-kicker{color:#e4c785;padding-right:28px}
.papal-card h2{font-size:22px;line-height:1.12;margin:0 0 5px;max-width:310px}
.papal-card p{font-size:13px;line-height:1.4;margin:0 0 13px;color:#eaf1f5}
.papal-card button{border:0;border-radius:999px;padding:9px 14px;background:#d2a959;color:#143553;font-weight:800}
.papal-card .papal-cta{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 0 10px rgba(226,190,111,.16)}
.papal-card .papal-cta:after{content:"";position:absolute;z-index:0;pointer-events:none;top:-70%;left:-45%;width:23%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(18deg);animation:papalShine 5.8s ease-in-out infinite;animation-delay:0s}
.news-card{position:relative;overflow:hidden;border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(20,53,83,.12)}
.news-card h2{font-size:21px;line-height:1.15;margin:0 0 6px;color:#143553;max-width:430px}
.news-card p{font-size:13px;line-height:1.42;margin:0 0 14px;color:#5f7280}
.news-kicker{font-size:11px;font-weight:900;letter-spacing:.1em;color:#b67a2d;margin-bottom:7px}
.news-card button,.coming-soon,.news-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:900;letter-spacing:.02em}
.news-card button{border:0;background:#143553;color:#fff;box-shadow:0 4px 12px rgba(20,53,83,.16)}
.salta-pilgrimage-news-card{border:1px solid #a9cadd;background:linear-gradient(145deg,#f5fbfd,#e6f3f8);padding-top:34px}
.salta-pilgrimage-news-card h2{color:#17496a}
.salta-pilgrimage-news-card button{background:#0f6f9c}
.salta-pilgrimage-news-card button:after{animation-delay:2.9s}
.salta-pilgrimage-news-card .salta-now-badge{position:absolute;top:12px;right:15px;min-height:0;padding:6px 12px;border:1px solid rgba(15,111,156,.32);border-radius:999px;background:#e3f3fa;color:#0f6f9c;font-size:10px;font-weight:900;letter-spacing:.12em;cursor:pointer;animation:saltaNowGlow 3.4s ease-in-out infinite}
.salta-prayer-note{margin:0 0 12px!important;color:#17496a!important;font-size:13px!important;font-weight:800;letter-spacing:.01em}
.pilgrimage-news-card{border:1px solid #ccdde8;background:linear-gradient(145deg,#edf5fa,#fff)}
.pilgrimage-news-card:after{content:"✦";position:absolute;right:16px;top:12px;color:#fff;font-size:22px;opacity:.96;text-shadow:0 0 2px #5f8eaa,0 0 8px rgba(68,126,162,.75);transform-origin:center;animation:newsStarGlow 3.6s ease-in-out infinite}
.pilgrimage-news-card h2{padding-right:26px}
.pilgrimage-action{background:#fff;border:1px solid #b9cfdd;color:#143553;box-shadow:0 4px 12px rgba(20,53,83,.09)}
.coming-soon{border:1px solid #b9cfdd;background:rgba(255,255,255,.72);color:#587488}
@keyframes papalShine{0%,58%{left:-45%;opacity:0}64%{opacity:1}82%{left:125%;opacity:1}83%,100%{left:125%;opacity:0}}
@keyframes papalStarGlow{0%,58%,88%,100%{opacity:.86;transform:scale(1);filter:drop-shadow(0 0 0 rgba(245,210,130,0))}68%{opacity:1;transform:scale(1.2);filter:drop-shadow(0 0 7px rgba(245,210,130,.95))}78%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 4px rgba(245,210,130,.72))}}
@keyframes newsStarGlow{0%,58%,88%,100%{opacity:.82;transform:scale(1);filter:drop-shadow(0 0 0 transparent)}68%{opacity:1;transform:scale(1.22);filter:drop-shadow(0 0 7px currentColor)}78%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 4px currentColor)}}
@keyframes saltaNowGlow{0%,50%,88%,100%{box-shadow:0 0 0 rgba(15,111,156,0);background:#e3f3fa;transform:scale(1)}64%{box-shadow:0 0 18px rgba(15,111,156,.62),0 0 0 5px rgba(15,111,156,.11);background:#fff;transform:scale(1.07)}76%{box-shadow:0 0 9px rgba(15,111,156,.38);background:#edfaff;transform:scale(1.025)}}
.papal-card .papal-cta,.news-card button,.news-action,.gospel-read,.gospel-audio{position:relative;overflow:hidden;isolation:isolate}
.news-card button:after,.news-action:after,.gospel-read:after,.gospel-audio:after{content:"";position:absolute;z-index:0;pointer-events:none;top:-70%;left:-48%;width:23%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(18deg);animation:papalShine 5.8s ease-in-out infinite}
.pilgrimage-news-card .news-action:after{animation-delay:4.35s}.gospel-read:after{animation-delay:4.35s}
.salta-pilgrimage-modal{display:none;position:fixed;inset:0;z-index:130;align-items:center;justify-content:center;padding:18px;background:rgba(8,26,42,.66)}
.salta-pilgrimage-modal.open{display:flex}
.salta-pilgrimage-panel{position:relative;width:min(480px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:20px;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.salta-pilgrimage-panel h2{margin:5px 38px 4px 0;color:#173c61;font-size:1.38rem;line-height:1.2}
.salta-pilgrimage-panel>p{margin:0 0 15px;color:#607384;font-weight:700}
.salta-pilgrimage-panel img{display:block;width:100%;height:auto;border:1px solid #d8e8ef;border-radius:14px}
.salta-live-block{margin:4px 0 18px;padding:10px;border:1px solid #b9d9e8;border-radius:17px;background:linear-gradient(145deg,#eef9fd,#fff)}
.salta-live-label{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#0f6f9c;color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em}
.salta-pilgrimage-panel .salta-live-photo{border:0;border-radius:12px}
.salta-live-caption{margin:9px 4px 2px;color:#17496a;font-size:12px;font-weight:800;line-height:1.35}
.salta-live-video-title{margin:14px 4px 7px;color:#17496a;font-size:12px;font-weight:900}
.salta-live-video{display:block;width:100%;max-height:62vh;border-radius:12px;background:#0b2134;object-fit:contain}
.salta-flyer-divider{margin:0 0 9px;color:#607384;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.salta-pilgrimage-panel .salta-modal-prayer-note{margin:13px 0 0;padding:12px 14px;border-radius:14px;background:#eef7fb;color:#17496a;font-weight:800;text-align:center}
.salta-pilgrimage-close{position:absolute;top:12px;right:13px;width:34px;height:34px;border:0;border-radius:50%;background:#eef4f7;color:#173c61;font-size:1.85rem;line-height:1;cursor:pointer}
.papal-card .papal-cta{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.papal-card .papal-cta:after,.papal-card:after,.pilgrimage-news-card:after,.news-card button:after,.news-action:after,.gospel-read:after,.gospel-audio:after,.cover-cross-pulse,.retreat-head-btn:after,.salta-now-badge{animation:none}}
.cover-title-mask{height:17%;background:#fff}
.retreat-modal{display:none;position:fixed;inset:0;background:rgba(8,26,42,.66);z-index:120;align-items:center;justify-content:center;padding:18px}
.retreat-modal.open{display:flex}
.retreat-panel{position:relative;width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;background:linear-gradient(160deg,#143553 0%,#1d5a83 54%,#eaf3f8 54.2%,#fff 100%);border:1px solid rgba(226,190,111,.8);border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.retreat-close{position:absolute;right:14px;top:10px;border:0;background:rgba(255,255,255,.12);color:#fff;width:36px;height:36px;border-radius:50%;font-size:25px;line-height:1}
.retreat-kicker{color:#e6c77d;font-size:11px;font-weight:900;letter-spacing:.14em;margin:2px 44px 8px 0}
.retreat-panel h2{color:#fff;font-size:25px;line-height:1.08;margin:0 34px 8px 0}
.retreat-lead{color:#e8f0f5;font-size:13px;line-height:1.4;margin:0 20px 17px 0}
.retreat-flyer-wrap{display:block;background:#fff;border:2px solid #d9b35f;border-radius:18px;padding:8px;box-shadow:0 10px 28px rgba(3,24,40,.26)}
.retreat-flyer-wrap img{display:block;width:100%;height:auto;border-radius:11px}
.retreat-register-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin:11px auto 2px;border-radius:999px;padding:9px 20px;background:#d2a959;color:#143553;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 5px 14px rgba(182,122,45,.2)}
.share-flyer-btn{display:block;margin:10px auto 2px;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:9px 15px;background:rgba(72,88,99,.58);color:#fff;font-size:11px;font-weight:800;box-shadow:0 4px 12px rgba(20,53,83,.18);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.retreat-summary{display:grid;gap:9px;margin:16px 0 12px}
.retreat-summary div{background:#fff;border:1px solid #dbe7ee;border-radius:13px;padding:11px 12px;color:#143553;box-shadow:0 4px 13px rgba(20,53,83,.08)}
.retreat-summary span{display:block;color:#b67a2d;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}
.retreat-summary strong{font-size:13px;line-height:1.35}
.retreat-actions{display:grid;gap:9px}
.retreat-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px;border:1px solid #bdd1df;border-radius:12px;background:#fff;color:#143553;text-decoration:none;font-size:11px;font-weight:900;text-align:center}
.retreat-contact{text-align:center;color:#143553;font-size:11px;overflow-wrap:anywhere;margin:13px 0 2px}
.retreats-2027-news-card{border:1px solid #d9c17d;background:linear-gradient(145deg,#fffdf6,#f7edd1)}
.retreats-2027-news-card button{background:#b67a2d}
.retreats-2027-modal{display:none;position:fixed;inset:0;background:rgba(8,26,42,.6);z-index:130;align-items:center;justify-content:center;padding:18px}
.retreats-2027-modal.open{display:flex}
.retreats-2027-panel{position:relative;width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #e3c980;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.retreats-2027-close{position:absolute;right:14px;top:12px;border:0;background:none;color:#143553;width:36px;height:36px;font-size:25px;line-height:1}
.retreats-2027-panel h2{color:#143553;font-size:27px;line-height:1.1;margin:0 36px 4px 0}
.retreats-2027-lead{color:#697985;font-size:13px;line-height:1.4;margin:0 0 17px}
.retreat-2027-item{border:1px solid #dce8ee;border-radius:16px;padding:14px 14px 12px;margin:10px 0;background:linear-gradient(145deg,#fff,#f6fafc);box-shadow:0 4px 13px rgba(20,53,83,.06)}
.retreat-2027-date{display:inline-block;border-radius:999px;background:#143553;color:#fff;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.04em;margin-bottom:8px}
.retreat-2027-item h3{color:#143553;font-size:17px;line-height:1.2;margin:0 0 10px}.retreat-2027-item h3 span{color:#71828e;font-size:13px;font-weight:400;white-space:nowrap}
.retreat-2027-item p{color:#536a79;font-size:12px;line-height:1.42;margin:3px 0}.retreat-2027-item p b{display:inline-block;min-width:108px;color:#b67a2d;font-weight:900}
@media(max-width:390px){.index-head{gap:7px}.index-head h1{font-size:25px}.retreat-head-btn{min-width:78px;padding:7px 7px}.retreat-panel{padding:18px}.retreat-panel h2{font-size:22px}}
.papal-modal{display:none;position:fixed;inset:0;background:rgba(13,32,48,.42);z-index:100;align-items:center;justify-content:center;padding:24px}
.papal-modal.open{display:flex}
.papal-panel{position:relative;width:min(420px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.papal-panel h2{color:#143553;font-size:27px;line-height:1.12;margin:0 28px 8px 0}
.papal-panel>p{color:#6b7984;font-size:13px;line-height:1.45}
.papal-close{position:absolute;right:16px;top:14px;border:0;background:none;color:#143553;font-weight:800;font-size:24px}
.visit-date{font-size:18px;font-weight:800;color:#143553;margin:4px 0 3px}
.papal-panel .visit-cities{font-size:13px;color:#60717f;margin:0 0 14px}
.schedule{border-left:3px solid #b67a2d;background:#fbf6eb;border-radius:0 12px 12px 0;padding:11px 12px;margin:13px 0}
.schedule strong{display:block;color:#143553;margin-bottom:3px}
.schedule span{font-size:12px;line-height:1.4;color:#667682}
.schedule .schedule-stop{display:block;padding:7px 0;border-bottom:1px solid #eadfc8}
.schedule .schedule-stop.active{color:#143553}
.schedule .schedule-stop:last-of-type{border-bottom:0}
.schedule small{display:block;font-size:10px;line-height:1.4;color:#89959e;margin-top:7px}
.official-schedule{padding:12px 14px}
.official-schedule>strong{font-size:16px;margin-bottom:8px}
.schedule-day{padding:9px 0;border-bottom:1px solid #eadfc8}
.schedule-day:last-child{border-bottom:0;padding-bottom:2px}
.schedule-day h3{color:#143553;font-size:14px;line-height:1.3;margin:0 0 6px}
.schedule-day p{color:#60717f;font-size:12px;line-height:1.4;margin:3px 0}
.schedule-day p b{color:#b67a2d;display:inline-block;min-width:38px}
.papal-visit-board{overflow:hidden;margin:14px 0;border:1px solid #d6b669;border-radius:16px;background:linear-gradient(145deg,#0d2d48,#17496c);box-shadow:0 10px 26px rgba(12,42,65,.18);color:#fff}
.papal-board-top{display:grid;gap:3px;padding:13px 14px 11px;border-bottom:1px solid rgba(229,199,130,.44);background:linear-gradient(105deg,#123b5e,#1b5578)}
.papal-board-top span{color:#e4c785;font-size:10px;font-weight:900;letter-spacing:.14em}
.papal-board-top strong{color:#fff;font-size:19px;line-height:1.08;letter-spacing:.01em}
.papal-board-hero{display:grid;grid-template-columns:38% 62%;min-height:185px;border-bottom:1px solid rgba(229,199,130,.4);background:#143553}
.papal-board-portrait{position:relative;min-height:185px;overflow:hidden;border-right:1px solid rgba(229,199,130,.4);background:#143553}
.papal-board-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#143553;filter:saturate(.98) contrast(1.02)}
.papal-board-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:15px 13px}
.papal-board-hero-copy span{color:#e6c77d;font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1.35}
.papal-board-hero-copy strong{color:#fff;font-family:Georgia,serif;font-size:20px;line-height:1.15}
.papal-board-hero-copy small{color:#dce8ef;font-size:11px;line-height:1.35}
.papal-board-agenda{display:grid;gap:9px;padding:12px;background:linear-gradient(160deg,#123c5b,#0d2a41)}
.papal-board-agenda article{padding:10px 11px;border:1px solid rgba(233,207,145,.46);border-radius:11px;background:rgba(4,27,46,.42)}
.papal-board-agenda article>strong{display:block;margin-bottom:6px;color:#f0d38b;font-size:12px;line-height:1.3;letter-spacing:.025em}
.papal-board-agenda ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.papal-board-agenda li{color:#edf4f8;font-size:12px;line-height:1.35}
.papal-board-agenda li b{display:inline-block;min-width:43px;color:#e6c77d;font-variant-numeric:tabular-nums}
.papal-board-footer{padding:9px 12px;background:#d2a959;color:#143553;font-size:9px;font-weight:900;letter-spacing:.06em;text-align:center}
@media(max-width:390px){.papal-board-hero{grid-template-columns:35% 65%;min-height:165px}.papal-board-portrait{min-height:165px}.papal-board-hero-copy{padding:12px 10px}.papal-board-hero-copy strong{font-size:18px}.papal-board-agenda{padding:10px}.papal-board-agenda article{padding:9px}.papal-board-agenda li{font-size:11px}}
.visit-actions{display:grid;gap:8px;margin-top:14px}
.visit-actions a{display:block;text-align:center;text-decoration:none;border-radius:10px;padding:11px;font-size:13px;font-weight:800}
.visit-actions .official{background:#143553;color:#fff}
.visit-actions .news{background:#d2a959;color:#143553}
.visit-actions .resources{background:#edf4f8;color:#143553;border:1px solid #cbd9e2}
.papal-panel .source-note{font-size:10px;color:#89959e;margin:12px 0 0}
.saint-modal{display:none;position:fixed;inset:0;background:rgba(13,32,48,.42);z-index:101;align-items:center;justify-content:center;padding:24px}
.saint-modal.open{display:flex}
.saint-panel{position:relative;width:min(420px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.saint-panel h2{color:#143553;font-size:26px;line-height:1.12;margin:0 32px 10px 0}
.saint-close{position:absolute;right:16px;top:14px;border:0;background:none;color:#143553;font-weight:800;font-size:24px}
.saint-body{color:#60717f;font-size:14px;line-height:1.5;margin:0 0 15px}
.saint-prayer-box{margin:0 0 14px;padding:14px;border:1px solid #ead9af;border-radius:15px;background:#fff9e9}
.saint-prayer-box div{color:#b67a2d;font-size:10px;font-weight:900;letter-spacing:.11em;margin-bottom:7px}
.saint-prayer-box p{color:#143553;font-size:14px;line-height:1.5;margin:0}
.saint-official-link{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:10px;padding:9px;background:#143553;color:#fff;text-decoration:none;font-size:12px;font-weight:900}
.saint-source-note{font-size:10px;color:#89959e;line-height:1.4;margin:12px 0 0}

/* Asistente de fe: interfaz liviana; las conversaciones sólo viven en memoria durante esta visita. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.faith-chat-open{position:fixed;z-index:80;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;min-height:50px;padding:0 17px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#143553;color:#fff;font-size:14px;font-weight:800;box-shadow:0 8px 24px rgba(12,37,58,.28);cursor:pointer}
.faith-chat-open[hidden]{display:none}
.faith-chat-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.14);color:#e7c878;font-size:17px}
.faith-chat{position:fixed;z-index:81;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));display:flex;flex-direction:column;width:min(410px,calc(100vw - 28px));height:min(640px,calc(100dvh - 108px - env(safe-area-inset-bottom)));min-height:420px;overflow:hidden;border:1px solid #d8e4eb;border-radius:22px;background:#fff;box-shadow:0 18px 56px rgba(11,34,52,.28)}
.faith-chat[hidden]{display:none}
.faith-chat-head{position:static;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#143553;color:#fff;border:0}
.faith-chat-head h2{margin:3px 0 0;padding:0;background:none;color:#fff;font-size:19px;line-height:1.2}
.faith-chat-eyebrow{color:#e4c785;font-size:9px;font-weight:900;letter-spacing:.1em}
.faith-chat-close{width:35px;height:35px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.faith-chat-messages{flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:16px 14px 12px;background:linear-gradient(180deg,#f5f9fb,#fff 55%)}
.faith-chat-bubble{max-width:88%;padding:11px 13px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.faith-chat-bot{align-self:flex-start;border:1px solid #dce8ee;border-bottom-left-radius:5px;background:#fff;color:#344d5e}
.faith-chat-user{align-self:flex-end;border-bottom-right-radius:5px;background:#143553;color:#fff}
.faith-chat-listen{display:flex;align-items:center;gap:6px;min-height:42px;margin:10px 0 0;padding:7px 12px;border:1px solid #b9ccd8;border-radius:999px;background:#f4f8fa;color:#143553;font:700 12px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.faith-chat-listen.is-speaking{background:#143553;color:#fff;border-color:#143553}
.faith-chat-disclosure{padding:8px 14px 5px;background:#fff;color:#71818c;font-size:10px;line-height:1.35}
.faith-chat-consent{display:grid;gap:8px;padding:8px 14px 13px;background:#fff}
.faith-chat-consent[hidden]{display:none}
.faith-chat-consent label{display:flex;align-items:flex-start;gap:8px;color:#526675;font-size:12px;line-height:1.35}
.faith-chat-consent input{width:17px;height:17px;margin:0;flex:none;accent-color:#143553}
.faith-chat-consent button,.faith-chat-form button{min-height:41px;border:0;border-radius:12px;background:#143553;color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.faith-chat-consent button:disabled{background:#9aaab5;cursor:not-allowed}
.faith-chat-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding:9px 12px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #e1e9ee;background:#fff}
.faith-chat-form[hidden]{display:none}
.faith-chat-form textarea{flex:1;min-width:0;min-height:42px;max-height:100px;resize:vertical;margin:0;padding:10px 11px;border:1px solid #cbd9e2;border-radius:12px;font:16px/1.4 Arial,Helvetica,sans-serif}
.faith-chat-form button{padding:0 14px}
.faith-chat-form .faith-chat-mic{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:58px;padding:4px 8px;background:#eef4f7;color:#143553;border:1px solid #b9ccd8;font-size:11px}
.faith-chat-form .faith-chat-mic span:first-child{font-size:18px;line-height:1}
.faith-chat-form .faith-chat-mic.is-listening{background:#9c312e;color:#fff;border-color:#9c312e}
.faith-chat-form .faith-chat-mic[hidden]{display:none}
.faith-chat-status{min-height:0;margin:0;padding:0 14px;background:#fff;color:#8b5d1c;font-size:11px;line-height:1.35}
.faith-chat-status:not(:empty){padding-bottom:8px}
@media(max-width:520px){.faith-chat{right:10px;bottom:calc(75px + env(safe-area-inset-bottom));width:calc(100vw - 20px);height:min(650px,calc(100dvh - 95px - env(safe-area-inset-bottom)));min-height:360px}.faith-chat-open{right:12px;bottom:calc(13px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.faith-chat-open,.faith-chat *{scroll-behavior:auto}}

/* Portada: la composición se escala por ancho, no por las barras de Safari. */
#home .cover{display:flex;min-height:100vh;padding:18px;align-items:center;justify-content:center;overflow:visible}
#home .cover-art{position:relative;top:auto;left:auto;width:min(94vw,46.29vh,560px);max-width:560px;transform:none}
#home .cover-art .cover-tagline{position:absolute;top:72.6%;right:5%;left:5%;bottom:auto;margin:0;padding:0;color:#143553;font-size:clamp(13px,4.1vw,16px);font-weight:700;font-style:italic;line-height:1.35;text-align:center;white-space:nowrap}
#home .cover-art>button{position:absolute;top:98.5%;bottom:auto;left:50%;width:124px;margin:0;transform:translateX(-50%)}
@media(max-width:600px){
  #home .cover{display:block;min-height:max(100vh,760px);padding:0;overflow:visible}
  #home .cover-art{position:absolute;top:16.3vw;left:50%;width:94vw;max-width:none;transform:translateX(-50%)}
  #home .cover-art .cover-tagline{top:72.6%;font-size:14px}
  #home .cover-art>button{top:98.5%}
}

/* Flecha discreta dentro de cada ventana, para guardar o compartir la placa. */
.plate-download-button{border:0!important;background:transparent!important;box-shadow:none!important;color:#143553!important;font-size:25px!important;font-weight:700!important;line-height:1!important;cursor:pointer;padding:0!important;min-height:0!important;isolation:auto!important;overflow:visible!important}.plate-download-button:after{display:none!important}.panel-download-button{position:absolute!important;z-index:4;top:16px;right:56px;width:26px;height:28px}.panel-download-on-dark{color:#fff!important}
.plate-actions-modal{display:none;position:fixed;inset:0;z-index:220;align-items:flex-end;justify-content:center;padding:18px;background:rgba(8,26,42,.5)}
.plate-actions-modal.open{display:flex}
.plate-actions-panel{position:relative;width:min(440px,100%);border:1px solid #d7e3e9;border-radius:22px;background:#fff;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.plate-actions-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#143553;font-size:26px;line-height:1;cursor:pointer}.plate-actions-kicker{margin:1px 35px 7px 0;color:#b67a2d;font-size:10px;font-weight:900;letter-spacing:.1em}.plate-actions-panel h2{margin:0;color:#143553;font-size:23px;line-height:1.15}.plate-actions-panel p{margin:7px 0 17px;color:#637785;font-size:13px}.plate-actions-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.plate-actions-buttons button{min-height:43px;border:0;border-radius:12px;background:#143553;color:#fff;font-size:12px;font-weight:900}.plate-actions-buttons button+button{border:1px solid #b9cfdd;background:#edf5fa;color:#143553}

/* Música: acceso y ventanas, sin modificar los componentes existentes. */
.music-entry{display:flex;justify-content:flex-end;margin-top:10px}
.music-entry-button{border:1px solid #d2a959;border-radius:999px;background:#143553;color:#fff;padding:8px 18px;font:700 12px Arial,Helvetica,sans-serif;cursor:pointer}
.music-modal{display:none;position:fixed;inset:0;background:rgba(13,32,48,.52);z-index:140;align-items:center;justify-content:center;padding:20px}
.music-modal.open{display:flex}
.music-panel{position:relative;width:min(460px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border-radius:22px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25);color:#143553}
.music-close{position:absolute;right:16px;top:14px;border:0;background:none;color:#143553;font-size:24px;font-weight:800;cursor:pointer}
.music-kicker{max-width:calc(100% - 30px);color:#b67a2d;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.4}
.music-panel h2{font-size:27px;margin:8px 30px 20px 0;line-height:1.15}
.music-choices{display:grid;gap:14px}
.music-choices button{position:relative;display:block;width:100%;text-align:left;padding:20px 38px 20px 18px;border:1px solid #d6bb7a;border-radius:16px;background:#edf4f8;color:#143553;cursor:pointer}
.music-choices button:nth-child(2){background:#fbf5e6}
.music-choices strong{display:block;font-size:20px;margin-bottom:7px}
.music-choices span{display:block;font-size:14px;line-height:1.4;color:#617583}
.music-choices b{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:28px}
.music-back{border:0;background:none;padding:0;color:#143553;font-size:14px;font-weight:700;cursor:pointer}
.music-intro{font-size:15px;line-height:1.5;color:#617583;margin:20px 0 16px}
.music-empty{padding:20px 18px;background:#edf4f8;border:1px solid #d9e5ec;border-radius:16px;font-size:15px;line-height:1.5;color:#617583}
.music-spotify{display:inline-block;background:#143553;color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none}
.music-spotify[hidden],.music-panel [hidden]{display:none}
.music-song{border:1px solid #d9e5ec;border-radius:14px;margin:12px 0;padding:15px}
.music-song summary{font-size:17px;font-weight:700;cursor:pointer}
.music-song p{white-space:pre-line;font-size:16px;line-height:1.6;margin:18px 0 0;color:#465b6a}


.music-moment{margin:24px 0}
.music-moment h3{margin:0 0 10px;color:#b67a2d;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.music-moment-note{font-size:14px;line-height:1.45;color:#617583;margin:8px 0}

.music-song-artist{font-size:12px;line-height:1.4;color:#617583;margin-top:14px}
.music-song-listen{display:inline-block;margin-top:16px;color:#143553;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* Cancioneros personalizados MDC */
.music-panel{width:min(720px,100%)}
.mdc-builder{border:1px solid #c9d9e5;background:#f4f8fb;border-radius:16px;padding:18px;margin:18px 0}
.mdc-builder h3{margin-top:0}.mdc-builder label,.mdc-filters label{display:block;font-size:14px;font-weight:600}
.mdc-builder input,.mdc-filters input,.mdc-filters select{width:100%;box-sizing:border-box;border:1px solid #c9d9e5;border-radius:9px;padding:11px;font:inherit;margin:7px 0;background:#fff;color:#143553}
.mdc-help{font-size:13px;color:#617583}.mdc-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mdc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.mdc-actions button,.mdc-actions a,.mdc-order button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 13px;border:1px solid #c9d9e5;border-radius:10px;background:white;color:#143553;font:600 13px/1.3 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.mdc-actions button:not(.mdc-secondary){background:#143553;color:white;border-color:#143553}.mdc-actions button:disabled,.mdc-order button:disabled{opacity:.5;cursor:default}
#mdc-selected{padding-left:20px}#mdc-selected li{padding:10px 0;border-bottom:1px solid #d9e5ec}#mdc-selected li>span{display:block}#mdc-selected small{display:block;color:#617583;margin:4px 0}.mdc-order{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
#mdc-status{font-size:14px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7bb5d9;outline-offset:3px}
@media(max-width:480px){.mdc-filters{grid-template-columns:1fr}.music-panel{padding:18px}.mdc-actions>*{flex:1 1 140px}}

/* Footer preserved; original header and button layout restored. */
#index .mdc-site-footer{position:relative;inset:auto;background:#143553;color:#fff;padding:44px 20px calc(38px + env(safe-area-inset-bottom));display:block;margin-top:35px;border-top:3px solid #d2a959}
#index .mdc-footer-identity{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#index .mdc-footer-identity strong{font-size:58px;line-height:1;font-weight:700;letter-spacing:-.04em}
#index .mdc-footer-identity span{font-size:18px;line-height:1.3;max-width:220px}
#index .mdc-site-footer p{font-size:15px;margin:14px 0 27px;color:#dfe8ee}
#index .mdc-footer-links{display:flex;gap:13px 24px;flex-wrap:wrap}
#index .mdc-footer-links a{color:#fff;text-decoration:none;font-size:15px;line-height:1.6}
#index .mdc-footer-links a[aria-disabled=true]{opacity:.65;cursor:default}

#index .mdc-compact-brand{cursor:pointer}
#index .mdc-compact-brand img{width:80px;height:80px}
@media(max-width:480px){#index .mdc-compact-brand img{width:70px;height:70px}}

/* 08 Oct: controles alineados en una barra, misma altura y estilo redondeado. */
#index header .mdc-single-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:12px 0 0;padding:0 0 12px;box-sizing:border-box;overflow-x:auto;scrollbar-width:thin}
#index header .mdc-single-toolbar nav{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;margin:0!important;padding:0!important;width:auto!important;min-width:0!important;border:0!important}
#index header .mdc-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;white-space:nowrap}
#index header .mdc-single-toolbar button,#index header .mdc-single-toolbar select{box-sizing:border-box!important;height:37px!important;min-height:37px!important;margin:0!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;padding:0 13px!important;letter-spacing:normal!important}
#index header .mdc-single-toolbar select{display:block!important;background:#fff!important;color:#143553!important;border:1px solid #8faec7!important;padding:0 28px 0 13px!important;max-width:none!important;font-family:Arial,Helvetica,sans-serif!important}
#index header .mdc-single-toolbar .retreat-head-btn{min-width:0!important}
#index header .mdc-single-toolbar .retreat-head-btn strong{margin:0!important;font-size:12px!important}
#index header .mdc-single-toolbar .gospel-saint-button{position:static!important;transform:none!important;min-width:0!important}
#index header .mdc-single-toolbar .music-entry-button{padding:0 15px!important}
#index .gospel-topline{justify-content:flex-start}
@media(max-width:800px){#index header .mdc-single-toolbar{gap:12px}#index header .mdc-toolbar-actions{gap:6px}}

/* 08 Oct — MDC: volver al menú de utilidades vertical y alineado al borde de Novedades. */
#index header{padding-bottom:12px}
#index header .index-head:has(.mdc-compact-brand){display:none}
#index header .mdc-vertical-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;max-width:760px;margin:0 auto;box-sizing:border-box}
#index header .mdc-header-left{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
#index header .mdc-header-left .mdc-compact-brand{gap:14px;font-size:24px;font-weight:700;line-height:1.15;max-width:100%}
#index header .mdc-header-left .mdc-compact-brand img{width:120px;height:120px;flex:0 0 120px}
#index header .mdc-header-left nav{display:flex;flex-wrap:wrap;gap:7px;margin:0!important;padding:0!important;border:0!important;width:auto!important}
#index header .mdc-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:0 0 auto;padding-top:0;box-sizing:border-box}
#index header .mdc-header-right button,#index header .mdc-header-right select{position:static!important;transform:none!important;box-sizing:border-box!important;min-height:37px!important;height:37px!important;margin:0!important;border-radius:999px!important;font:700 12px Arial,Helvetica,sans-serif!important;line-height:1!important;white-space:nowrap!important;max-width:100%;}
#index header .mdc-header-right select{padding:0 28px 0 14px!important;border:1px solid #8faec7!important;background-color:#fff!important;color:#143553!important;min-width:105px}
#index header .mdc-header-right .retreat-head-btn{min-width:105px!important;padding:0 14px!important}
#index header .mdc-header-right .retreat-head-btn strong{font-size:12px!important;margin:0!important}
#index header .mdc-header-right .music-entry-button,#index header .mdc-header-right .gospel-saint-button{padding:0 15px!important}
@media(max-width:600px){
 #index header .mdc-vertical-header{gap:10px}
 #index header .mdc-header-left .mdc-compact-brand{gap:8px;font-size:clamp(17px,4vw,22px)}
 #index header .mdc-header-left .mdc-compact-brand img{width:84px;height:84px;flex-basis:84px}
 #index header .mdc-header-right{gap:8px}
 #index header .mdc-header-right button,#index header .mdc-header-right select{height:35px!important;min-height:35px!important;font-size:11px!important}
}
@media(max-width:375px){#index header .mdc-header-left .mdc-compact-brand img{width:70px;height:70px;flex-basis:70px}}

/* 08 Oct: mision del movimiento, santo en Evangelio y barrido de luz. */
#index header .mdc-home-mission{margin:0 0 1px;max-width:640px;font-size:clamp(14px,1.5vw,17px);line-height:1.5;color:#496178;font-weight:400;}
#index .gospel-topline{justify-content:space-between!important;}
#index .gospel-saint-button,#index header .mdc-header-right .music-entry-button,#index header .mdc-header-right .retreat-head-btn{position:relative!important;overflow:hidden!important;isolation:isolate;}
#index .gospel-saint-button::after,#index header .mdc-header-right .music-entry-button::after{content:"";position:absolute;pointer-events:none;top:-70%;left:-50%;width:25%;height:250%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);transform:rotate(18deg);animation:retreatButtonShine 5.8s ease-in-out infinite;}
#index .gospel-saint-button::after{animation-delay:1.6s}
#index header .mdc-header-right .music-entry-button::after{animation-delay:2.4s}
#index .mdc-footer-identity{flex-wrap:nowrap;align-items:center;gap:22px}
#index .mdc-footer-identity>strong{font-size:clamp(74px,12vw,140px);line-height:.9;letter-spacing:-.055em}
#index .mdc-footer-identity>span{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;max-width:none;font-weight:700;font-size:clamp(20px,3vw,38px);line-height:1.04;}
#index .mdc-footer-identity>span span{display:block}
#index .mdc-site-footer .mdc-footer-about{max-width:750px;font-size:15px;line-height:1.65;margin:4px 0 27px;color:#e4ecf4}
@media(max-width:600px){#index .mdc-footer-identity{gap:12px}#index .mdc-footer-identity>strong{font-size:clamp(58px,14vw,92px)}#index .mdc-footer-identity>span{font-size:clamp(17px,5vw,29px)}}
@media(prefers-reduced-motion:reduce){#index .gospel-saint-button::after,#index header .mdc-header-right .music-entry-button::after{animation:none}}

/* 08 Oct — refinamientos: identidad compacta, acceso a música junto a Rosario y transición de misión. */
#index .mdc-footer-identity{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#index .mdc-footer-identity>strong{font-size:87px;line-height:1;letter-spacing:-.04em}
#index .mdc-footer-identity>span{display:block;align-self:auto;font-size:18px;line-height:1.3;max-width:none;font-weight:400;white-space:normal}
#index .mdc-header-left nav{align-items:stretch;gap:8px}
#index .mdc-header-left nav>button{min-width:98px;height:39px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;font-size:13px;font-weight:700;line-height:1.1;border-radius:999px;box-sizing:border-box}
#index .mdc-header-left nav .mdc-nav-music{background:#143553;color:#fff;border:1px solid #cba455;overflow:hidden;isolation:isolate;position:relative}
#index .mdc-header-left nav .mdc-nav-music::after{content:"";pointer-events:none;position:absolute;left:-55%;top:-70%;width:25%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);transform:rotate(18deg);animation:retreatButtonShine 5.8s ease-in-out infinite;animation-delay:2.4s}
#index .mdc-entry-mission{min-height:85vh;display:none;justify-content:center;align-items:center;margin:0 auto;padding:12vh max(24px,8vw);max-width:980px;text-align:center;color:#143553;font-size:clamp(24px,3.7vw,42px);line-height:1.35;font-weight:600;opacity:0;transform:translateY(15px);transition:opacity .85s ease,transform .85s ease}
#index .mdc-entry-mission.mdc-mission-visible{display:flex;opacity:1;transform:translateY(0)}
@media(max-width:600px){#index .mdc-footer-identity>strong{font-size:clamp(58px,12vw,87px)}#index .mdc-footer-identity>span{font-size:clamp(13px,3.5vw,18px)}#index .mdc-header-left nav>button{min-width:79px;font-size:12px;height:36px;padding:0 9px}#index .mdc-entry-mission{min-height:78vh;padding:10vh 22px;font-size:clamp(23px,5.7vw,34px)}}
@media(prefers-reduced-motion:reduce){#index .mdc-header-left nav .mdc-nav-music::after{animation:none}#index .mdc-entry-mission{transition:none}}

/* 08 Oct — corrección final: footer compacto y misión igual a la frase de portada. */
#index .mdc-site-footer{
  width:80%; max-width:1000px; margin:16px auto 0;
  padding:23px 24px calc(24px + env(safe-area-inset-bottom));
  border-radius:12px 12px 0 0;
}
#index .mdc-footer-identity{gap:14px;flex-wrap:wrap}
#index .mdc-footer-identity>strong{font-size:54px;line-height:1;letter-spacing:-.04em}
#index .mdc-footer-identity>span{display:block;align-self:auto;font-size:16px;line-height:1.3;font-weight:400;white-space:normal}
#index .mdc-site-footer p{margin:9px 0 13px;font-size:13px;line-height:1.5}
#index .mdc-site-footer .mdc-footer-about{font-size:13px;line-height:1.5;margin:8px 0 14px}
#index .mdc-footer-links{gap:7px 18px}
#index .mdc-footer-links a{font-size:13px}
#index .mdc-entry-mission{
  min-height:60vh; padding:9vh max(24px,8vw); max-width:660px;
  font-family:Arial,Helvetica,sans-serif; font-size:16px; font-weight:700;
  font-style:italic; line-height:1.35; color:#143553; text-align:center;
}
@media(max-width:600px){
  #index .mdc-site-footer{width:90%;padding:20px 18px calc(22px + env(safe-area-inset-bottom));margin-top:14px}
  #index .mdc-footer-identity>strong{font-size:43px}
  #index .mdc-footer-identity>span{font-size:13px}
  #index .mdc-entry-mission{min-height:56vh;padding:8vh 22px;font-size:clamp(13px,4.1vw,16px);line-height:1.35}
}


/* Ajuste 08 Oct: agregar Quiénes somos, equiparar tamaño de botones y bajar la fila principal. */
#index header .mdc-vertical-header{align-items:flex-start!important;}
#index header .mdc-header-left{display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
#index header .mdc-compact-brand{margin-bottom:0!important;}
#index header nav{margin-top:18px!important}
#index header .mdc-header-left nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
#index header .mdc-header-left nav button,
#index header .mdc-header-left nav .music-entry-button{
  min-height:43px!important;
  height:43px!important;
  padding:0 16px!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  border-radius:999px!important;
}
#index header .mdc-header-left nav button{border:1px solid #cbd9e2; background:#fff; color:#143553;}
#index header .mdc-header-left nav .rosario-nav{border-color:#d2a959!important;}
#index header .mdc-header-left nav .music-entry-button{border:1px solid #d2a959!important;background:#143553!important;color:#fff!important;}
#index header .mdc-header-left nav button,
#index header .mdc-header-left nav .music-entry-button{box-shadow:0 4px 12px rgba(20,53,83,.12)}
#index header .mdc-header-right{margin-top:6px!important}
#index header .mdc-header-right button,
#index header .mdc-header-right select{min-height:43px!important;height:43px!important;font-size:12px!important;border-radius:999px!important}
#index header .mdc-header-right select{padding:0 34px 0 16px!important}
@media (min-width: 721px){
  #index header .mdc-compact-brand{font-size:20px!important;gap:14px!important}
  #index header .mdc-compact-brand img{width:58px!important;height:58px!important}
}
@media (max-width: 720px){
  #index header .mdc-header-left nav{gap:8px}
  #index header .mdc-header-left nav button,
  #index header .mdc-header-left nav .music-entry-button{min-height:41px!important;height:41px!important;padding:0 14px!important}
}

/* MDC: 08 Oct - botones a la medida aprobada, logo original en una sola línea, footer centrado. */
#index header .mdc-header-left nav{margin-top:13px!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}
#index header .mdc-header-left nav>button,
#index header .mdc-header-left nav .mdc-nav-music{width:auto!important;min-width:98px!important;min-height:39px!important;height:39px!important;padding:0 13px!important;font-size:13px!important;font-weight:700!important;line-height:1.1!important;border-radius:999px!important;box-shadow:none!important}
#index header .mdc-header-left .mdc-compact-brand{gap:14px!important;font-size:24px!important;line-height:1.15!important;max-width:none!important;white-space:nowrap!important}
#index header .mdc-header-left .mdc-compact-brand img{width:120px!important;height:120px!important;flex:0 0 120px!important}
#index header .mdc-header-left .mdc-compact-brand span{white-space:nowrap!important}
#index .mdc-site-footer{margin-left:auto!important;margin-right:auto!important;float:none!important;align-self:center!important;position:relative!important;left:auto!important;right:auto!important}
#index .mdc-about-card[hidden]{display:none!important}
#index .mdc-about-card{max-width:min(700px,calc(100% - 36px));margin:18px auto 10px;min-height:220px;display:flex;justify-content:center;align-items:center;padding:30px 28px;border:1px solid #dbe6ee;border-radius:20px;background:#fff;color:#143553;font-size:16px;font-weight:700;font-style:italic;line-height:1.45;text-align:center;box-shadow:0 7px 22px rgba(20,53,83,.07)}
@media(max-width:600px){#index header .mdc-header-left nav>button,#index header .mdc-header-left nav .mdc-nav-music{min-width:79px!important;height:36px!important;min-height:36px!important;padding:0 9px!important;font-size:12px!important}#index header .mdc-header-left .mdc-compact-brand{font-size:clamp(15px,3.8vw,22px)!important;gap:8px!important}#index header .mdc-header-left .mdc-compact-brand img{width:84px!important;height:84px!important;flex-basis:84px!important}}
@media(max-width:430px){#index header .mdc-header-left .mdc-compact-brand span{white-space:nowrap!important}#index header .mdc-header-left .mdc-compact-brand{font-size:clamp(10px,2.55vw,13px)!important}#index header .mdc-header-left .mdc-compact-brand img{width:52px!important;height:52px!important;flex-basis:52px!important}}


/* 08 Oct — ajuste responsive fino del encabezado y Home de Librito. */
#index header .mdc-header-right .retreat-head-btn,
#index header .mdc-header-right select{min-width:auto!important}
@media (max-width: 1024px){
  #index header .mdc-vertical-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:18px}
  #index header .mdc-header-left .mdc-compact-brand{font-size:clamp(19px,2.8vw,28px)!important;gap:12px!important}
  #index header .mdc-header-left .mdc-compact-brand img{width:96px!important;height:96px!important;flex:0 0 96px!important}
  #index header .mdc-header-right button,
  #index header .mdc-header-right select{height:34px!important;min-height:34px!important;font-size:11px!important}
  #index header .mdc-header-right select{padding:0 26px 0 12px!important}
  #index header .mdc-header-right .retreat-head-btn{padding:0 12px!important}
}
@media (max-width: 600px){
  #index header{padding:14px 14px 10px!important}
  #index header .mdc-vertical-header{column-gap:12px!important}
  #index header .mdc-header-left .mdc-compact-brand{font-size:clamp(14px,4vw,19px)!important;gap:9px!important;white-space:nowrap!important}
  #index header .mdc-header-left .mdc-compact-brand img{width:64px!important;height:64px!important;flex:0 0 64px!important}
  #index header .mdc-header-left nav{margin-top:15px!important;gap:8px 10px!important}
  #index header .mdc-header-left nav>button,
  #index header .mdc-header-left nav .mdc-nav-music{min-width:0!important;height:35px!important;min-height:35px!important;padding:0 12px!important;font-size:11px!important}
  #index header .mdc-header-right{gap:8px!important}
  #index header .mdc-header-right button,
  #index header .mdc-header-right select{height:32px!important;min-height:32px!important;font-size:10px!important}
  #index header .mdc-header-right select{padding:0 24px 0 11px!important;min-width:86px!important}
  #index header .mdc-header-right .retreat-head-btn{padding:0 11px!important;min-width:86px!important}
}
@media (max-width: 430px){
  #index header .mdc-header-left .mdc-compact-brand{font-size:clamp(13px,3.8vw,16px)!important}
  #index header .mdc-header-left .mdc-compact-brand img{width:58px!important;height:58px!important;flex-basis:58px!important}
  #index header .mdc-header-left nav>button,
  #index header .mdc-header-left nav .mdc-nav-music{height:34px!important;min-height:34px!important;padding:0 11px!important;font-size:10.5px!important}
}


/* 08 Oct - maqueta aprobada: iPad y desktop intactos; filas parejas en móvil. */
@media (max-width:600px){
  #index header .mdc-vertical-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 104px!important;
    grid-template-areas:"brand brand" "nav utilities"!important;
    column-gap:9px!important;
    row-gap:14px!important;
    align-items:start!important;
  }
  #index header .mdc-header-left{display:contents!important;}
  #index header .mdc-header-left .mdc-compact-brand{
    grid-area:brand!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    font-size:clamp(15px,4.3vw,20px)!important;
    white-space:normal!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  #index header .mdc-header-left .mdc-compact-brand span{
    display:block!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  #index header .mdc-header-left .mdc-compact-brand img{
    width:62px!important;height:62px!important;flex:0 0 62px!important;
  }
  #index header .mdc-header-left nav{
    grid-area:nav!important;
    display:grid!important;
    grid-template-columns:max-content max-content!important;
    align-items:center!important;
    justify-content:start!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
    width:100%!important;
    overflow:visible!important;
  }
  #index header .mdc-header-left nav>button,
  #index header .mdc-header-left nav .mdc-nav-music{
    width:auto!important;
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 clamp(8px,2.1vw,12px)!important;
    font-size:clamp(10px,2.75vw,12px)!important;
    white-space:nowrap!important;
    margin:0!important;
  }
  #index header .mdc-header-right{
    grid-area:utilities!important;
    display:grid!important;
    grid-template-rows:36px 36px!important;
    gap:9px!important;
    justify-items:stretch!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    align-self:start!important;
  }
  #index header .mdc-header-right select,
  #index header .mdc-header-right .retreat-head-btn{
    box-sizing:border-box!important;
    width:104px!important;
    max-width:104px!important;
    min-width:104px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11px!important;
  }
  #index header .mdc-header-right select{padding:0 24px 0 10px!important;}
  #index header .mdc-header-right .retreat-head-btn{padding:0 9px!important;}
}
@media(max-width:370px){
  #index header .mdc-vertical-header{grid-template-columns:minmax(0,1fr) 96px!important;column-gap:5px!important}
  #index header .mdc-header-left nav{gap:7px!important}
  #index header .mdc-header-left nav>button,
  #index header .mdc-header-left nav .mdc-nav-music{padding:0 7px!important;font-size:10px!important}
  #index header .mdc-header-right select,
  #index header .mdc-header-right .retreat-head-btn{width:96px!important;max-width:96px!important;min-width:96px!important}
}


/* Correcciones aisladas: igual ancho de 4 botones, idioma centrado y cierre de placa. */
#index header .mdc-header-right select{
  text-align:center!important;
  text-align-last:center!important;
  padding-left:7px!important;
  padding-right:21px!important;
}
#index header .mdc-header-right select option{text-align:center}
#index .mdc-about-card{position:relative;flex-direction:column;gap:12px}
#index .mdc-about-card .mdc-about-copy{width:100%}
#index .mdc-about-card .mdc-about-close{
  display:block;align-self:center;margin:0 auto -12px;padding:0 12px;
  min-width:44px;min-height:34px;border:0;background:transparent;
  color:#617c90;font:400 28px/1 Arial,Helvetica,sans-serif;cursor:pointer;
}
#index .mdc-about-card .mdc-about-close:focus-visible{outline:2px solid #143553;border-radius:9px}
@media(max-width:600px){
  #index header .mdc-header-left nav{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
  }
  #index header .mdc-header-left nav>button,
  #index header .mdc-header-left nav .mdc-nav-music{
    width:100%!important;min-width:0!important;box-sizing:border-box!important;
    padding-left:3px!important;padding-right:3px!important;
    font-size:clamp(10px,2.6vw,12px)!important;
    justify-content:center!important;
  }
}

.faith-chat-voice-controls{padding:7px 12px;background:#fff;border-top:1px solid #e1e9ee}.faith-chat-voice-controls[hidden]{display:none}.faith-chat-voice-controls button{font:inherit;font-size:12px;padding:7px 12px;border:1px solid #b9ccd8;border-radius:9px;background:#eef4f7;color:#143553;cursor:pointer}.faith-chat-voice-controls button[aria-pressed="true"]{background:#143553;color:#fff}.faith-chat-guidance{border-top:1px solid #e1e9ee}

/* Tras aceptar las condiciones, liberar espacio para la conversación. */
.faith-chat-disclosure[hidden]{display:none!important}
