:root{--ef-primary:#0d5442;--ef-primary-hover:#083c2f;--ef-primary-rgb:13, 84, 66;--ef-accent:#10b981;--ef-card-radius:14px;--ef-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ef-text-main:#1f2937;--ef-text-muted:#6b7280;--ef-bg-light:#f9fafb;--ef-border-color:#e5e7eb}.eventflow-directory{font-family:var(--ef-font-sans);color:var(--ef-text-main);width:100%;max-width:1280px;margin:0 auto;padding:24px 16px;box-sizing:border-box;position:relative}.eventflow-directory *{box-sizing:border-box}.eventflow-tabs-header{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--ef-border-color);margin-bottom:24px;overflow-x:auto;padding-bottom:2px}.eventflow-tab-btn{background:none;border:none;padding:12px 18px;font-size:16px;font-weight:600;color:var(--ef-text-muted);cursor:pointer;position:relative;transition:color 0.2s ease,border-color 0.2s ease;display:inline-flex;align-items:center;gap:8px;border-bottom:3px solid #fff0;margin-bottom:-2px;white-space:nowrap}.eventflow-tab-btn:hover{color:var(--ef-primary)}.eventflow-tab-btn.active{color:var(--ef-primary);border-bottom-color:var(--ef-primary)}.eventflow-tab-count{font-size:14px;font-weight:500;color:var(--ef-text-muted)}.eventflow-tab-btn.active .eventflow-tab-count{color:var(--ef-primary);font-weight:700}.eventflow-filter-wrapper{margin-bottom:32px}.eventflow-filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;padding:14px 18px;border-radius:var(--ef-card-radius);border:1px solid var(--ef-border-color);box-shadow:0 1px 3px 0 rgb(0 0 0 / .04)}.eventflow-filter-item{flex:1 1 200px;min-width:170px}.eventflow-filter-item--search{flex:2 1 280px}.eventflow-input-icon-wrap{position:relative;display:flex;align-items:center;width:100%}.eventflow-search-icon{position:absolute;left:12px;color:#9ca3af;pointer-events:none}.eventflow-input--search{width:100%;padding:10px 36px 10px 38px!important;border:1px solid var(--ef-border-color)!important;border-radius:8px!important;font-size:14px!important;color:var(--ef-text-main)!important;background-color:#f9fafb!important;transition:all 0.2s ease!important;outline:none!important}.eventflow-input--search:focus{border-color:var(--ef-primary)!important;background-color:#ffffff!important;box-shadow:0 0 0 3px rgba(var(--ef-primary-rgb),.15)!important}.eventflow-search-clear{position:absolute;right:10px;background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:0 4px}.eventflow-search-clear:hover{color:#ef4444}.eventflow-select{width:100%;padding:10px 32px 10px 14px!important;border:1px solid var(--ef-border-color)!important;border-radius:8px!important;font-size:14px!important;color:var(--ef-text-main)!important;background-color:#f9fafb!important;cursor:pointer;outline:none!important;transition:all 0.2s ease!important;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.eventflow-select:focus{border-color:var(--ef-primary)!important;background-color:#ffffff!important;box-shadow:0 0 0 3px rgba(var(--ef-primary-rgb),.15)!important}.eventflow-filter-item--clear{flex:0 0 auto;min-width:auto}.eventflow-btn-clear-filters{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;color:#ef4444;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.eventflow-btn-clear-filters:hover{background:#fee2e2;color:#b91c1c}.eventflow-grid{display:grid;gap:28px;margin-bottom:36px}.eventflow-grid--cols-1{grid-template-columns:1fr}.eventflow-grid--cols-2{grid-template-columns:repeat(2,1fr)}.eventflow-grid--cols-3{grid-template-columns:repeat(3,1fr)}.eventflow-grid--cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.eventflow-grid--cols-3,.eventflow-grid--cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.eventflow-grid{grid-template-columns:1fr!important}}.eventflow-card{background:#fff;border-radius:var(--ef-card-radius);border:1px solid var(--ef-border-color);box-shadow:0 4px 6px -1px rgb(0 0 0 / .05),0 2px 4px -2px rgb(0 0 0 / .05);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform 0.25s cubic-bezier(.16,1,.3,1),box-shadow 0.25s cubic-bezier(.16,1,.3,1),border-color 0.2s ease}.eventflow-card:hover{transform:translateY(-5px);box-shadow:0 16px 24px -4px rgb(0 0 0 / .08),0 6px 10px -4px rgb(0 0 0 / .04);border-color:#d1d5db}.eventflow-card__media{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background-color:#f3f4f6}.eventflow-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s cubic-bezier(.16,1,.3,1)}.eventflow-card:hover .eventflow-card__img{transform:scale(1.04)}.eventflow-card__badges-top{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.eventflow-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px);box-shadow:0 2px 4px rgb(0 0 0 / .15)}.eventflow-badge--running{background:rgb(220 38 38 / .95);color:#fff}.eventflow-badge__pulse{width:7px;height:7px;border-radius:50%;background-color:#fff;animation:ef-pulse 1.4s infinite ease-in-out}@keyframes ef-pulse{0%{transform:scale(.9);opacity:1}50%{transform:scale(1.5);opacity:.4}100%{transform:scale(.9);opacity:1}}.eventflow-badge--upcoming{background:rgb(13 84 66 / .9);color:#fff}.eventflow-badge--past{background:rgb(75 85 99 / .9);color:#f3f4f6}.eventflow-badge--cancelled{background:rgb(153 27 27 / .9);color:#fee2e2}.eventflow-badge-type{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:9999px;font-size:11px;font-weight:600;background:rgb(255 255 255 / .92);color:#1f2937;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.eventflow-badge-type--virtual{color:#2563eb}.eventflow-badge-type--hybrid{color:#7c3aed}.eventflow-badge-type--in-person{color:#059669}.eventflow-card__featured-star{position:absolute;bottom:10px;right:12px;background:rgb(245 158 11 / .95);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 2px 4px rgb(0 0 0 / .15);z-index:2}.eventflow-card__body{padding:18px 20px;display:flex;flex-direction:column;flex-grow:1}.eventflow-card__category{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ef-accent);margin-bottom:6px}.eventflow-card__title{font-size:18px;line-height:1.35;font-weight:700;color:#111827;margin:0 0 14px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eventflow-card__title a{color:inherit;text-decoration:none;transition:color 0.15s ease}.eventflow-card:hover .eventflow-card__title a{color:var(--ef-primary)}.eventflow-card__meta{display:flex;flex-direction:column;gap:8px;margin-top:auto}.eventflow-card__meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563}.eventflow-card__meta-item .eventflow-icon{color:#9ca3af;flex-shrink:0}.eventflow-card__footer{padding:12px 20px;border-top:1px solid #f3f4f6;background:#fafafa;display:flex;align-items:center;justify-content:space-between}.eventflow-reg-tag{font-size:12px;font-weight:600}.eventflow-reg-tag--open{color:#059669}.eventflow-reg-tag--limited{color:#d97706}.eventflow-reg-tag--soldout{color:#dc2626}.eventflow-reg-tag--info{color:#6b7280}.eventflow-card__cta{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--ef-primary);text-decoration:none;transition:gap 0.2s ease}.eventflow-card:hover .eventflow-card__cta{gap:7px}.eventflow-card__overlay-link{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.eventflow-pagination-wrapper{display:flex;justify-content:center;margin-top:24px}.eventflow-pagination{display:inline-flex;gap:8px}.eventflow-page-btn{background:#fff;border:1px solid var(--ef-border-color);color:var(--ef-text-main);min-width:40px;height:40px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.eventflow-page-btn:hover{border-color:var(--ef-primary);color:var(--ef-primary)}.eventflow-page-btn.active{background:var(--ef-primary);border-color:var(--ef-primary);color:#fff}.eventflow-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .7);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--ef-card-radius)}.eventflow-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--ef-primary);border-radius:50%;animation:ef-spin 0.8s linear infinite}@keyframes ef-spin{to{transform:rotate(360deg)}}.eventflow-empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:var(--ef-card-radius);border:1px dashed var(--ef-border-color)}.eventflow-empty-state__icon{color:#9ca3af;margin-bottom:12px}.eventflow-empty-state h3{font-size:18px;color:#111827;margin:0 0 8px 0}.eventflow-empty-state p{font-size:14px;color:var(--ef-text-muted);margin:0;max-width:460px;margin-left:auto;margin-right:auto}