:root{--event-primary:#2563eb;--event-primary-hover:#1d4ed8;--event-primary-light:#eff6ff;--event-success:#10b981;--event-success-light:#d1fae5;--event-warning:#f59e0b;--event-warning-light:#fef3c7;--event-danger:#ef4444;--event-danger-light:#fee2e2;--event-text-dark:#1f2937;--event-text-medium:#4b5563;--event-text-light:#6b7280;--event-text-muted:#9ca3af;--event-text-white:#ffffff;--event-bg-primary:#ffffff;--event-bg-secondary:#f8fafc;--event-bg-tertiary:#f3f4f6;--event-border-light:#e5e7eb;--event-border-medium:#d1d5db;--event-radius-sm:8px;--event-radius-md:12px;--event-radius-lg:16px;--event-radius-full:9999px;--event-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--event-shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--event-shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--event-transition-fast:150ms ease;--event-transition-normal:200ms ease}.library-events-wrapper,.event-single-page-wrapper{font-family:'Roboto',sans-serif;font-size:15px;line-height:1.6;color:var(--event-text-dark)}.library-events-wrapper *,.library-events-wrapper *::before,.library-events-wrapper *::after,.event-single-page-wrapper *,.event-single-page-wrapper *::before,.event-single-page-wrapper *::after{box-sizing:border-box}.library-events-wrapper a,.event-single-page-wrapper a{color:var(--event-primary);text-decoration:none;transition:color var(--event-transition-fast)}.library-events-wrapper a:hover,.event-single-page-wrapper a:hover{color:var(--event-primary-hover)}.event-single-page-wrapper p:last-child{margin-bottom:0}.library-events-filters{display:flex;gap:16px;margin-bottom:28px;flex-wrap:wrap;padding:20px;background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);box-shadow:var(--event-shadow-sm)}.library-events-filter{flex:1;min-width:200px}.library-events-filter label{display:block;font-size:13px;font-weight:600;color:var(--event-text-medium);margin-bottom:8px}.library-events-filter-select{width:100%;height:44px;padding:0 36px 0 14px;font-size:14px;font-family:inherit;color:var(--event-text-dark);background-color:var(--event-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;border:2px solid var(--event-border-light);border-radius:var(--event-radius-sm);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all var(--event-transition-normal)}.library-events-filter-select:hover{border-color:var(--event-border-medium)}.library-events-filter-select:focus{outline:none;border-color:var(--event-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.library-events-list{display:flex;flex-direction:column;gap:20px}.library-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.library-events-compact{display:flex;flex-direction:column;gap:12px}.library-event-card{background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);overflow:hidden;transition:all 0.2s ease}.library-event-card:hover{box-shadow:var(--event-shadow-md);transform:translateY(-2px);border-color:var(--event-border-medium)}.library-event-card--list{display:grid;grid-template-columns:240px 1fr;min-height:200px}.library-event-card--list .library-event-card__image{position:relative;height:100%;min-height:200px;overflow:hidden}.library-event-card--list .library-event-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.library-event-card--list:hover .library-event-card__image img{transform:scale(1.05)}.library-event-card--list .library-event-card__content{display:flex;flex-direction:column;padding:24px}.library-event-card--grid{display:flex;flex-direction:column}.library-event-card--grid .library-event-card__image{position:relative;height:180px;overflow:hidden}.library-event-card--grid .library-event-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.library-event-card--grid:hover .library-event-card__image img{transform:scale(1.05)}.library-event-card--grid .library-event-card__content{display:flex;flex-direction:column;padding:20px;flex:1}.library-event-card--compact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:16px 20px;gap:16px;box-shadow:var(--event-shadow-sm)}.library-event-card--compact .library-event-card__image{display:none}.library-event-card--compact .library-event-card__content{display:contents}.library-event-card--compact .library-event-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;background:var(--event-primary-light);border-radius:10px;text-align:center;margin:0;flex-shrink:0;color:var(--event-primary)}.library-event-card--compact .library-event-card__date svg{display:none}.library-event-card--compact .library-event-card__date span:first-of-type{font-size:20px;font-weight:700;line-height:1}.library-event-card--compact .library-event-card__date .event-time{font-size:11px;color:var(--event-text-light);margin:0;border-left:none;padding-left:0}.library-event-card--compact .library-event-card__title{margin:0;font-size:16px;flex-grow:1}.library-event-card--compact .library-event-card__library,.library-event-card--compact .library-event-card__categories,.library-event-card--compact .library-event-card__excerpt{display:none}.library-event-card--compact .library-event-card__footer{border:none;padding:0;margin:0;flex-shrink:0;justify-content:flex-end}.library-event-card--compact .event-price-badge{display:none}.library-event-card__image{position:relative;background:var(--event-bg-secondary)}.library-event-card__image a{display:block;height:100%}.library-event-card__image img{display:block;width:100%;height:100%;object-fit:cover}.event-free-badge{position:absolute;top:12px;right:12px;padding:6px 12px;background:var(--event-success);color:var(--event-white);font-size:12px;font-weight:600;border-radius:var(--event-radius-full);box-shadow:0 2px 4px rgba(0,0,0,.1)}.library-event-card__content{display:flex;flex-direction:column}.library-event-card__date{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--event-primary);font-weight:600;margin-bottom:12px}.library-event-card__date svg{flex-shrink:0;width:16px;height:16px;color:var(--event-primary)}.event-time{color:var(--event-text-light);font-weight:500;margin-left:8px;padding-left:8px;border-left:1px solid var(--event-border-light)}.library-event-card__title{margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.4}.library-event-card__title a{color:var(--event-text-dark);text-decoration:none;transition:color 0.2s ease}.library-event-card__title a:hover{color:var(--event-primary)}.library-event-card__library{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--event-text-light);margin-bottom:12px}.library-event-card__library svg{flex-shrink:0;width:14px;height:14px;color:var(--event-primary)}.library-event-card__library a{color:var(--event-text-light);text-decoration:none;transition:color 0.2s ease}.library-event-card__library a:hover{color:var(--event-primary)}.library-event-card__categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.event-category-badge{display:inline-block;padding:4px 10px;background:var(--event-primary-light);color:var(--event-primary);font-size:12px;font-weight:500;border-radius:var(--event-radius-full)}.event-audience-badge{display:inline-block;padding:4px 10px;background:var(--event-warning-light);color:var(--event-warning);font-size:12px;font-weight:500;border-radius:var(--event-radius-full)}.library-event-card__excerpt{font-size:14px;color:var(--event-text-medium);line-height:1.6;margin-bottom:16px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-event-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:auto;border-top:1px solid var(--event-border-light)}.event-price-badge{font-size:14px;font-weight:600;color:var(--event-text-dark)}.event-price-badge--free{color:var(--event-success)}.event-more-link{font-size:14px;font-weight:500;color:var(--event-primary);text-decoration:none;transition:all 0.2s ease}.event-more-link:hover{color:var(--event-primary-hover)}.library-events-empty{text-align:center;padding:60px 24px;background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);box-shadow:var(--event-shadow-sm)}.library-events-empty__icon{font-size:56px;margin-bottom:16px;opacity:.7;color:var(--event-text-muted)}.library-events-empty p{margin:0;font-size:16px;color:var(--event-text-light)}.library-events-empty-filter{text-align:center;padding:40px 20px;color:var(--event-text-light);grid-column:1 / -1}.library-events-section{margin:32px 0}.library-events-section__title{margin:0 0 20px;font-size:22px;font-weight:600;color:var(--event-text-dark)}.event-single-page-wrapper .elementor-widget-container{margin-bottom:0}.event-single-title{margin:0 0 20px;font-size:38px;font-weight:700;color:var(--event-text-dark);line-height:1.2}.event-single-date,.event-single-time,.event-single-library,.event-single-location{display:flex;align-items:flex-start;gap:5px;margin-bottom:4px;font-size:16px;color:var(--event-text-dark)}.event-single-date span,.event-single-time span,.event-single-library span,.event-single-location span{padding-top:0;line-height:1.4}.event-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;color:var(--event-primary);border-radius:var(--event-radius-md);flex-shrink:0;box-shadow:var(--event-shadow-sm)}.event-icon svg{width:20px;height:20px}.event-single-library a{font-weight:500}.event-single-image{margin-bottom:30px;border-radius:var(--event-radius-lg);overflow:hidden;box-shadow:var(--event-shadow-lg)}.event-single-image img{display:block;width:100%;height:auto}.event-single-description{font-size:16px;line-height:1.8;color:var(--event-text-medium);margin-bottom:30px}.event-single-description p{margin-bottom:16px}.event-single-description h1,.event-single-description h2,.event-single-description h3,.event-single-description h4,.event-single-description h5,.event-single-description h6{color:var(--event-text-dark);margin-top:1.5em;margin-bottom:.8em;line-height:1.3}.event-single-price{display:inline-block;padding:10px 20px;font-family:Roboto;background:var(--event-bg-secondary);border-radius:var(--event-radius-md);font-size:16px;font-weight:600;margin-bottom:0;color:var(--event-text-dark)}.event-single-price--free{background:var(--event-success-light);color:var(--event-success)}.event-single-categories,.event-single-audiences{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.event-category-badge,.event-audience-badge{display:inline-block;padding:6px 14px;font-size:13px;font-weight:500;border-radius:var(--event-radius-full)}.event-category-badge{background:var(--event-primary-light);color:var(--event-primary)}.event-audience-badge{background:var(--event-warning-light);color:var(--event-warning)}.event-registration-button{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;background:#FF6B6B!important;color:#fff!important;font-size:13px;font-weight:600;text-decoration:none!important;border:none;border-radius:var(--event-radius-sm);cursor:pointer;transition:all 0.2s ease;box-shadow:0 4px 14px rgba(37,99,235,.3);margin-bottom:0}.event-registration-button:hover{background:#323d8f !imporatnt;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.4)}.add-to-calendar-btn{display:inline-flex;align-items:center;font-family:Roboto;justify-content:center;padding:16px 32px;background:#FF6B6B!important;color:#fff!important;font-size:13px;font-weight:600;text-decoration:none!important;border:none;border-radius:var(--event-radius-sm);cursor:pointer;transition:all 0.2s ease;box-shadow:0 4px 14px rgba(37,99,235,.3);margin-bottom:0}.add-to-calendar-btn:hover{background:#323d8f !imporatnt;color:#fff!important}.add-to-calendar-btn svg{color:#fff!important;width:18px;height:18px}.event-info-box{background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);padding:24px;box-shadow:var(--event-shadow-md);margin-bottom:24px}.event-info-box__item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--event-border-light)}.event-info-box__item:first-child{padding-top:0}.event-info-box__item:last-child{border-bottom:none;padding-bottom:0}.event-info-box__item--full{flex-direction:column;align-items:stretch;text-align:center;gap:12px}.event-info-box__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--event-primary-light);color:var(--event-primary);border-radius:var(--event-radius-md);flex-shrink:0;box-shadow:var(--event-shadow-sm)}.event-info-box__icon svg{width:24px;height:24px}.event-info-box__content{flex:1;display:flex;flex-direction:column;justify-content:center}.event-info-box__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--event-text-muted);margin-bottom:4px}.event-info-box__value{font-size:16px;font-weight:600;color:var(--event-text-dark)}.event-info-box__value--free{color:var(--event-success)}.event-info-box__value a{color:var(--event-primary);text-decoration:none}.event-info-box__value a:hover{text-decoration:underline}.event-info-box__subvalue{font-size:14px;color:var(--event-text-light);margin-top:4px}.event-info-box__note{font-size:13px;color:var(--event-text-light)}.event-single-contact{background:var(--event-bg-secondary);border-radius:var(--event-radius-md);padding:24px;margin-top:28px;box-shadow:var(--event-shadow-sm)}.event-single-contact h4{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--event-text-dark)}.event-contact-item{margin-bottom:10px;font-size:15px;color:var(--event-text-medium)}.event-contact-item:last-child{margin-bottom:0}.event-contact-item strong{color:var(--event-text-dark)}.event-contact-item a{color:var(--event-primary);text-decoration:none}.event-contact-item a:hover{text-decoration:underline}.library-events-calendar-wrapper{background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);padding:24px;position:relative;box-shadow:var(--event-shadow-md)}.library-events-calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-nav-btn{padding:10px 18px;background:var(--event-bg-secondary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-sm);cursor:pointer;font-size:14px;font-weight:500;color:var(--event-text-medium);transition:all var(--event-transition-normal)}.calendar-nav-btn:hover{background:var(--event-border-light);color:var(--event-text-dark)}.calendar-current-month{font-size:20px;font-weight:600;color:var(--event-text-dark)}.library-events-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-header{padding:12px 8px;text-align:center;font-size:12px;font-weight:600;color:var(--event-text-muted);text-transform:uppercase}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--event-radius-sm);cursor:pointer;font-size:14px;color:var(--event-text-medium);position:relative;transition:all 0.15s ease;user-select:none}.calendar-day:hover{background:var(--event-bg-secondary)}.calendar-day--empty{cursor:default}.calendar-day--empty:hover{background:transparent}.calendar-day--today{background:var(--event-primary-light);font-weight:600;color:var(--event-primary)}.calendar-day--has-events{font-weight:600;color:var(--event-text-dark)}.calendar-day--has-events::after{content:'';position:absolute;bottom:6px;width:6px;height:6px;background:var(--event-primary);border-radius:var(--event-radius-full)}.library-events-calendar-legend{display:flex;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--event-border-light)}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--event-text-light)}.legend-dot{width:8px;height:8px;background:var(--event-primary);border-radius:var(--event-radius-full)}.calendar-events-popup{position:absolute;z-index:100;background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);box-shadow:var(--event-shadow-lg);min-width:300px;max-width:380px;transform:translateZ(0)}.calendar-events-popup__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--event-border-light);font-weight:600;color:var(--event-text-dark)}.calendar-events-popup__close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--event-text-light);padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--event-radius-full);transition:all 0.15s ease}.calendar-events-popup__close:hover{color:var(--event-text-dark);background:var(--event-bg-secondary)}.calendar-events-popup__list{max-height:320px;overflow-y:auto}.calendar-events-popup__item{display:block;padding:14px 20px;text-decoration:none;border-bottom:1px solid var(--event-bg-secondary);transition:background 0.15s ease}.calendar-events-popup__item:last-child{border-bottom:none}.calendar-events-popup__item:hover{background:var(--event-bg-secondary)}.popup-event-time{display:block;font-size:12px;color:var(--event-primary);font-weight:600;margin-bottom:4px}.popup-event-title{display:block;font-size:15px;font-weight:600;color:var(--event-text-dark);margin-bottom:4px}.popup-event-library{display:block;font-size:13px;color:var(--event-text-light)}.add-to-calendar-btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:var(--event-bg-tertiary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);font-size:14px;font-weight:500;color:var(--event-text-medium);cursor:pointer;text-decoration:none;transition:all 0.2s ease;box-shadow:var(--event-shadow-sm)}.add-to-calendar-btn:hover{background:var(--event-border-light);color:var(--event-text-dark)}.add-to-calendar-btn svg{color:var(--event-primary);width:18px;height:18px}.add-to-calendar-dropdown{position:absolute;font-family:Roboto;top:100%;left:0;margin-top:8px;background:var(--event-bg-primary);border:1px solid var(--event-border-light);border-radius:var(--event-radius-md);box-shadow:var(--event-shadow-lg);z-index:100;min-width:200px;overflow:hidden}.add-to-calendar-dropdown a{display:block;padding:12px 16px;text-decoration:none;color:var(--event-text-dark);font-size:14px;transition:background 0.15s ease}.add-to-calendar-dropdown a:hover{background:var(--event-bg-secondary)}.library-events-load-more{display:block;width:100%;max-width:280px;margin:32px auto 0;padding:14px 28px;background:var(--event-primary);color:var(--event-white);border:none;border-radius:var(--event-radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s ease;box-shadow:var(--event-shadow-md)}.library-events-load-more:hover{background:var(--event-primary-hover)}.library-events-load-more:disabled{background:var(--event-text-muted);cursor:not-allowed}@media (max-width:900px){.library-event-card--list{grid-template-columns:200px 1fr}.event-single-title{font-size:32px}}@media (max-width:768px){.library-events-filters{flex-direction:column;gap:12px}.library-events-filter{min-width:100%}.library-event-card--list{grid-template-columns:1fr}.library-event-card--list .library-event-card__image{height:200px;min-height:auto}.library-events-grid{grid-template-columns:1fr}.event-single-title{font-size:26px}.event-info-box{padding:20px}.event-info-box__item{flex-direction:column;text-align:center;gap:10px}.event-info-box__icon{margin:0 auto}.event-info-box__content{align-items:center}.calendar-current-month{font-size:16px}.calendar-nav-btn{padding:8px 12px;font-size:13px}.calendar-day{font-size:13px}.event-single-page-info{gap:10px}.event-single-date,.event-single-time,.event-single-library,.event-single-location{font-size:15px;gap:10px}.event-icon{width:40px;height:40px;border-radius:var(--event-radius-sm)}.event-icon svg{width:18px;height:18px}.event-single-date span,.event-single-time span,.event-single-library span,.event-single-location span{padding-top:5px}}@media (max-width:480px){.library-event-card--compact{grid-template-columns:50px 1fr;gap:12px;padding:12px 16px}.library-event-card--compact .library-event-card__date{width:50px;height:50px}.library-event-card--compact .library-event-card__date span:first-of-type{font-size:18px}.library-event-card--compact .library-event-card__footer{display:none}.library-event-card--compact .library-event-card__title{font-size:15px}.event-registration-button{width:100%}.library-events-filters{padding:16px}.library-events-filter-select{height:40px}.add-to-calendar-btn{padding:10px 16px;font-size:13px}}@media print{.library-events-filters,.calendar-nav-btn,.event-more-link,.event-registration-button,.add-to-calendar-btn,.calendar-events-popup{display:none!important}.library-event-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}.library-events-wrapper button:focus-visible,.library-events-wrapper select:focus-visible,.library-events-wrapper a:focus-visible,.event-single-page-wrapper button:focus-visible,.event-single-page-wrapper a:focus-visible{outline:2px solid var(--event-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}