.eventosPage{padding:var(--space-xl) 0;min-height:100dvh;padding-bottom:calc(var(--space-xl) + 72px)}.eventosPage__header{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}@media (min-width:768px){.eventosPage__header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.eventosPage__eyebrow{font-family:var(--font-body);font-size:var(--fs-label-md);font-weight:var(--fw-medium);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-xs);display:block}.eventosPage__title{font-family:var(--font-headline);font-size:var(--fs-headline-xl);font-weight:var(--fw-bold);color:var(--color-primary);align-items:center;gap:var(--space-xs);letter-spacing:var(--ls-headline-xl);line-height:1;display:flex}.eventosPage__title-icon{opacity:.3;font-size:36px}.eventosPage__subtitle{font-family:var(--font-body);font-size:var(--fs-body-lg);color:var(--color-on-surface-variant);max-width:576px;margin-top:var(--space-sm);line-height:var(--lh-body)}.eventosPage__header-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.eventosPage__action-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background-color:var(--color-surface-container-high);color:var(--color-on-surface-variant);font-family:var(--font-body);font-size:var(--fs-label-md);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border:none;display:flex}.eventosPage__action-btn:hover{background-color:var(--color-surface-variant)}.eventosPage__action-btn:active{transform:scale(.95)}.eventosPage__action-btn--primary{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-md)}.eventosPage__action-btn--primary:hover{background-color:var(--color-primary-container)}.eventosPage__bento-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.eventosPage__bento-grid{grid-template-rows:auto auto;grid-template-columns:8fr 4fr}.eventosPage__featured{grid-area:1/1}.eventosPage__sidebar{grid-area:1/2/3}.eventosPage__upcoming{grid-area:2/1}}.eventosPage__calendar{background-color:var(--color-surface-container-low);border-radius:var(--radius-xl);padding:var(--space-md);border:1px solid var(--color-outline-variant)}.eventosPage__calendar-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.eventosPage__calendar-title{font-family:var(--font-headline);font-size:var(--fs-headline-md);font-weight:var(--fw-semibold);color:var(--color-primary)}.eventosPage__calendar-nav{gap:var(--space-xs);display:flex}.eventosPage__calendar-nav-btn{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;color:var(--color-on-surface-variant);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.eventosPage__calendar-nav-btn:hover{background-color:var(--color-surface-container-lowest)}.eventosPage__calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.eventosPage__calendar-day-label{font-family:var(--font-body);font-size:var(--fs-label-sm);font-weight:var(--fw-semibold);color:var(--color-outline);padding:var(--space-xs) 0}.eventosPage__calendar-cell{height:32px;font-family:var(--font-body);font-size:var(--fs-label-sm);border-radius:var(--radius-lg);cursor:default;transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.eventosPage__calendar-cell--empty{background:0 0}.eventosPage__calendar-cell--today{background-color:var(--color-primary);color:var(--color-on-primary);font-weight:var(--fw-bold)}.eventosPage__calendar-cell--event{color:var(--color-primary);font-weight:var(--fw-bold)}.eventosPage__event-dot{background-color:var(--color-secondary);border-radius:var(--radius-full);width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.eventosPage__eco-card{background-color:var(--color-primary-container);color:var(--color-on-primary-container);border-radius:var(--radius-xl);padding:var(--space-md);margin-top:var(--space-lg);position:relative;overflow:hidden}.eventosPage__eco-card-content{z-index:10;position:relative}.eventosPage__eco-icon{opacity:.8;margin-bottom:var(--space-sm);font-size:40px;display:block}.eventosPage__eco-title{font-family:var(--font-headline);font-size:var(--fs-headline-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-xs)}.eventosPage__eco-desc{font-family:var(--font-body);font-size:var(--fs-body-md);line-height:var(--lh-body);opacity:.9}.eventosPage__eco-btn{align-items:center;gap:var(--space-base);margin-top:var(--space-md);font-family:var(--font-body);font-size:var(--fs-label-md);font-weight:var(--fw-bold);color:inherit;cursor:pointer;transition:gap var(--transition-fast);background:0 0;border:none;display:inline-flex}.eventosPage__eco-btn:hover{gap:var(--space-sm)}.eventosPage__eco-bg-icon{opacity:.1;font-size:120px;position:absolute;bottom:-32px;right:-32px}.eventosPage__sidebar{gap:var(--space-lg);flex-direction:column;display:flex}.eventosPage__upcoming-title{font-family:var(--font-headline);font-size:var(--fs-headline-md);font-weight:var(--fw-semibold);color:var(--color-primary);padding-left:var(--space-sm);border-left:4px solid var(--color-secondary);margin-bottom:var(--space-md)}.eventosPage__event-list{gap:var(--space-md);flex-direction:column;display:flex}.eventosPage__load-more{margin-top:var(--space-xl);justify-content:center;display:flex}.eventosPage__load-more-btn{align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--fs-label-md);font-weight:var(--fw-medium);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-outline-variant);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;display:flex}.eventosPage__load-more-btn:hover{color:var(--color-primary)}.eventosPage__load-more-icon{animation:1.5s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}
