.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;box-sizing:border-box;background:#081637b8;justify-content:center;align-items:center;padding:1rem;animation:.35s forwards fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;width:560px;max-width:95vw;max-height:90vh;animation:.4s forwards fadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 72px #142d5a47}.modal-close{color:#fff;cursor:pointer;z-index:10;background:#c0392b;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:#96281b}.modal-hero{flex-direction:row;flex-shrink:0;align-items:stretch;min-height:200px;display:flex}.modal-card-img{background:#c8daf0;flex-shrink:0;width:200px;min-width:200px;position:relative;overflow:hidden}.modal-card-img img{filter:brightness(1.15)saturate(1.05);transition:filter .3s}.modal-card-img img:hover{filter:brightness(1.22)saturate(1.1)}.modal-hero-text{background:linear-gradient(135deg,#1e3a5f 0%,#0d2340 100%);flex-direction:column;flex:1;justify-content:center;padding:28px 42px 24px 22px;display:flex}.modal-hero-titulo{color:#fff;letter-spacing:-.3px;word-break:break-word;margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:900;line-height:1.25}.modal-hero-badge{color:#6bb3f0;letter-spacing:.3px;background:#4a90d938;border:1px solid #6bb3f073;border-radius:5px;align-items:center;gap:6px;width:fit-content;padding:5px 11px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;display:inline-flex}.modal-hero-badge time{color:inherit;font:inherit}.modal-body{flex-direction:column;gap:14px;padding:22px 26px 8px;display:flex}.modal-hora-badge{color:#fff;background:linear-gradient(90deg,#4a90d9 0%,#6bb3f0 100%);border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:9px 18px;display:inline-flex;box-shadow:0 3px 14px #4a90d961}.modal-hora-icon{font-size:1.1rem;line-height:1}.modal-hora-label{letter-spacing:1.4px;text-transform:uppercase;opacity:.85;font-family:DM Sans,sans-serif;font-size:10.5px;font-weight:700}.modal-hora-valor{letter-spacing:.5px;font-family:DM Sans,sans-serif;font-size:1.15rem;font-weight:700}.modal-invitacion{color:#4a6fa5;margin:0;font-family:DM Sans,sans-serif;font-size:13px;font-weight:400;line-height:1.6}.modal-invitacion strong{color:#1e3a5f;font-weight:600}.modal-card-actions{border-top:1px solid #f0f4f8;flex-wrap:wrap;gap:8px;margin-top:auto;padding:16px 26px 22px;display:flex}.modal-card-actions button,.btn-compartir,.btn-asistir,.btn-ver-mas{letter-spacing:.2px;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;min-width:90px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.btn-compartir{color:#1e3a5f;background:#eef4fb;border:1.5px solid #c2d9f0!important}.btn-compartir:hover:not(:disabled){background:#dbeaf7;border-color:#4a90d9!important}.btn-compartir:disabled{opacity:.6;cursor:not-allowed}.btn-asistir{color:#fff;background:#1e3a5f}.btn-asistir:hover{background:#4a90d9}.btn-ver-mas{color:#fff;background:#4a90d9}.btn-ver-mas:hover{background:#1e3a5f}@media (max-width:600px){.modal-overlay{align-items:flex-start;padding:1rem .75rem}.modal-card{border-radius:10px;width:100%;max-width:100%;max-height:none}.modal-hero{flex-direction:column;min-height:auto}.modal-card-img{width:100%;min-width:100%;height:175px;position:relative}.modal-hero-text{padding:18px 18px 16px}.modal-hero-titulo{font-size:1.2rem}.modal-body{padding:16px 18px 6px}.modal-hora-badge{padding:8px 14px}.modal-hora-valor{font-size:1rem}.modal-card-actions{flex-direction:column;padding:14px 18px 20px}.btn-compartir,.btn-asistir,.btn-ver-mas{flex:none;width:100%}}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}
.banner-actividad{z-index:50;background:#0f1f3d;border-bottom:1px solid #6bb3f033;width:100%;padding:0;position:relative}.banner-inner{align-items:center;gap:14px;max-width:1240px;margin:0 auto;padding:10px 48px;display:flex}.banner-pill{letter-spacing:1.8px;text-transform:uppercase;color:#0f1f3d;white-space:nowrap;background:#6bb3f0;border-radius:20px;flex-shrink:0;padding:3px 10px;font-family:DM Sans,sans-serif;font-size:9.5px;font-weight:600}.banner-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.banner-titulo{color:#e8f2fc;white-space:nowrap;text-overflow:ellipsis;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;overflow:hidden}.banner-fecha{color:#6bb3f0;white-space:nowrap;flex-shrink:0;font-family:DM Sans,sans-serif;font-size:12px}.banner-btn{color:#6bb3f0;cursor:pointer;white-space:nowrap;background:#4a90d933;border:1px solid #6bb3f066;border-radius:4px;flex-shrink:0;padding:5px 16px;font-family:DM Sans,sans-serif;font-size:11.5px;font-weight:500;transition:background .2s,color .2s}.banner-btn:hover{color:#b5d4f4;background:#4a90d96b}.banner-close{color:#6bb3f08c;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:10px;line-height:1;transition:color .2s;display:flex}.banner-close:hover{color:#6bb3f0}.banner-top-row{display:none}@media (max-width:1100px){.banner-inner{padding:10px 36px}}@media (max-width:768px){.banner-inner{gap:10px;padding:10px 20px}.banner-titulo{font-size:12px}.banner-fecha{font-size:11px}}@media (max-width:600px){.banner-inner{flex-direction:column;align-items:stretch;gap:6px;padding:8px 14px}.banner-top-row{justify-content:space-between;align-items:center;display:flex}.banner-pill--desktop,.banner-close--desktop{display:none}.banner-content{flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0}.banner-titulo{white-space:normal;text-overflow:unset;width:100%;font-size:12px;line-height:1.4;overflow:visible}.banner-fecha{font-size:11px}.banner-btn{align-self:flex-start;margin-top:2px;padding:5px 14px;font-size:11px}}@media (max-width:400px){.banner-inner{padding:8px 12px}.banner-titulo{font-size:11.5px}}
