*{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(min-width:720px){header,#list,.reader{max-width:760px;margin:auto}}
@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:30%;height:250%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:rotate(18deg);animation:retreatButtonShine 3.4s ease-in-out infinite}
@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}

.papal-zone{padding:12px 18px 0;max-width:760px;margin:auto}
.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,.18),0 0 18px rgba(226,190,111,.3)}
.papal-card .papal-cta:after{content:"";position:absolute;z-index:0;pointer-events:none;top:-70%;left:-45%;width:28%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:rotate(18deg);animation:papalShine 3.6s ease-in-out infinite}
@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))}}
@media (prefers-reduced-motion:reduce){.papal-card .papal-cta:after,.papal-card:after,.cover-cross-pulse,.retreat-head-btn:after{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}
@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}
.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}
