@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@1,900&display=swap";@import "https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@400;500&display=swap";.modal-overlay{z-index:100;background:#25355199;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.event-modal{background:var(--color-bg);border-radius:16px;width:100%;max-width:700px;max-height:90vh;padding:24px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:var(--color-text);background:0 0;border:none;font-size:18px;position:absolute;top:16px;right:16px}.modal-loading{text-align:center;color:var(--color-text-muted);padding:40px 0}.modal-body{gap:24px;display:flex}.modal-image{border-radius:12px;flex:1;overflow:hidden}.modal-image img{object-fit:cover;width:100%;height:100%;display:block}.modal-info{flex-direction:column;flex:1;display:flex}.modal-title{font-family:var(--font-heading);color:var(--color-navy);margin-bottom:12px;font-size:24px;font-style:italic;font-weight:900}.modal-description{color:var(--color-text);margin-bottom:20px;font-size:13px;line-height:1.7}.modal-subtitle{font-family:var(--font-heading);color:var(--color-navy);margin-bottom:12px;font-size:18px;font-style:italic;font-weight:900}.modal-dates{flex-direction:column;gap:10px;display:flex}.modal-date-card{cursor:pointer;text-align:left;background:#fff;border:none;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:background .2s;display:flex}.modal-date-card:hover{background:var(--color-container)}.modal-date-badge{background:var(--color-navy);color:#fff;border-radius:8px;flex-direction:column;align-items:center;min-width:40px;padding:6px 10px;transition:background .2s;display:flex}.modal-date-card:hover .modal-date-badge{background:var(--color-navy-hover)}.modal-date-mes{text-transform:uppercase;font-size:10px}.modal-date-dia{font-size:14px;font-weight:500}.modal-date-text p{color:var(--color-text);font-size:12px}.modal-date-funcion{margin-top:2px;font-weight:500}@media (width<=768px){.event-modal{padding:16px}.modal-body{flex-direction:column}.modal-image{height:200px}.modal-title{font-size:20px}}.home-page{background:var(--color-bg);min-height:100vh}.home-navbar{background:var(--color-navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 32px;display:flex}.home-logo{font-family:var(--font-heading);color:#fff;align-items:center;gap:6px;font-size:16px;font-style:italic;font-weight:900;display:flex}.home-logo-img{width:22px;height:22px}.home-search{color:var(--color-text-muted);background:#fff;border-radius:20px;flex:1;align-items:center;gap:6px;max-width:280px;padding:6px 14px;font-size:12px;display:flex}.home-search input{font-size:12px;font-family:var(--font-body);border:none;outline:none;flex:1}.home-nav-links{align-items:center;gap:18px;display:flex}.home-nav-links a{color:#cfd0e6;font-size:12px;text-decoration:none}.home-login-btn{border-radius:20px;padding:8px 16px;font-weight:500;color:var(--color-navy)!important;background:#fff!important}.home-hero{background:var(--color-navy);padding:24px 32px 48px}.home-hero-title{font-family:var(--font-heading);color:#fff;margin-bottom:20px;font-size:30px;font-style:italic;font-weight:900}.home-hero-banner{border-radius:12px;max-width:900px;height:500px;margin:0 auto;overflow:hidden}.home-hero-banner img{object-fit:cover;width:100%;height:100%;display:block}.home-content{max-width:900px;margin:0 auto;padding:32px}.home-section-title{font-family:var(--font-heading);color:var(--color-navy);margin-bottom:16px;font-size:22px;font-style:italic;font-weight:900}.home-filters{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.filter-pill{font-size:12px;font-family:var(--font-body);color:var(--color-text);cursor:pointer;background:#fff;border:1px solid #ddd8c9;border-radius:20px;padding:8px 18px;transition:background .2s}.filter-pill.active{background:var(--color-navy);color:#fff;border-color:var(--color-navy)}.filter-pill:hover:not(.active){background:var(--color-navy-hover);color:#fff}.home-loading{text-align:center;color:var(--color-text-muted);padding:40px 0}.home-events-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;display:grid}.event-card-image{background:var(--color-container);border-radius:10px;justify-content:center;align-items:center;width:100%;height:130px;margin-bottom:8px;display:flex;overflow:hidden}.event-card-image img{object-fit:cover;width:100%;height:100%}.event-card-placeholder{color:var(--color-text-muted);font-size:13px;font-weight:500}.event-card-title{color:var(--color-text);font-size:13px;font-style:italic;font-weight:500}.event-card-subtitle{color:var(--color-text-muted);font-size:12px}.pagination{justify-content:flex-end;align-items:center;gap:6px;display:flex}.pagination-arrow,.pagination-number{cursor:pointer;color:var(--color-text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.pagination-arrow:disabled{color:#ccc;cursor:not-allowed}.pagination-number.active{background:var(--color-navy);color:#fff}.pagination-number:hover:not(.active){background:var(--color-navy-hover);color:#fff}@media (width<=1024px){.home-events-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.home-navbar{padding:12px 16px}.home-nav-links{display:none}.home-search{max-width:100%}.home-hero{padding:16px 16px 32px}.home-hero-title{font-size:22px}.home-hero-banner img{height:180px}.home-content{padding:20px 16px}.home-events-grid{grid-template-columns:1fr}.pagination{flex-wrap:wrap;justify-content:center}}:root{--color-navy:#253551;--color-navy-hover:#4973ae;--color-container:#e5e3e3;--color-bg:#e0e0db;--color-text:#253551;--color-text-muted:#6b6a64;--font-body:"Google Sans Flex", sans-serif;--font-heading:"Fraunces", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}h1,h2,h3,.heading{font-family:var(--font-heading);color:#000;font-style:italic;font-weight:900}.input-error{color:#a32d2d;margin-top:-8px;font-size:11px}.input-icon.has-error{border-color:#a32d2d}
