.evep-app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.evep-main {
    flex: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.evep-section {
    display: block;
}

.evep-section--surface {
    background: var(--enriched-surface-full);
    border: 1px solid var(--enriched-border-light);
    border-radius: var(--enriched-border-radius-xxl);
    box-shadow: var(--enriched-shadow-md);
    padding: var(--enriched-spacing-xl);
}

.evep-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--enriched-spacing-md);
}

.evep-section-head-left {
    display: flex;
    flex-direction: column;
    gap: var(--enriched-spacing-xs);
}

.evep-section-title {
    font-size: var(--enriched-font-2xl);
    font-weight: 700;
    color: var(--enriched-text-dark);
    margin: 0;
}

.evep-section-subtitle {
    font-size: var(--enriched-font-md);
    color: var(--enriched-text-light);
    margin: 0;
}

.evep-section-actions {
    display: flex;
    gap: var(--enriched-spacing-sm);
    flex-shrink: 0;
    align-items: center;
}

@media(max-width:768px) {
    .evep-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--enriched-spacing-md);
    }

    .evep-section {
        padding: var(--enriched-spacing-xl) var(--enriched-spacing-md);
    }
}

.evep-link-inline {
    color: var(--enriched-primary);
    text-decoration: none;
    font-weight: 600;
    transition: var(--enriched-transition-fast);
}

.evep-link-inline:hover {
    color: var(--enriched-primary-dark);
    text-decoration: underline;
}

.evep-chip {
    padding: var(--enriched-spacing-xs) var(--enriched-spacing-sm);
    background: var(--enriched-surface-dark);
    color: var(--enriched-text);
    border-radius: var(--enriched-border-radius-sm);
    font-size: var(--enriched-font-xs);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: var(--enriched-spacing-xs);
}

.evep-chip-soft {
    background: var(--enriched-surface-light);
    color: var(--enriched-text-light);
}

.evep-chip-accent {
    background: var(--enriched-accent);
    color: white;
}

.evep-orgs-surface {
    background: var(--enriched-surface-full);
    border: 1px solid var(--enriched-border-light);
    border-radius: var(--enriched-border-radius-xxl);
    padding: var(--enriched-spacing-lg);
}

.evep-swiper {
    width: 100%;
}

.evep-swiper.evep-swiper-right-extra {
    padding-right: var(--enriched-spacing-md);
}

.evep-swiper.evep-swiper-even {
    padding: var(--enriched-spacing-xs);
}

.evep-swiper .swiper-wrapper {
    align-items: stretch;
    padding: var(--enriched-spacing-sm);
    border-radius: var(--enriched-border-radius-xxl);
}

.evep-swiper .swiper-slide {
    width: auto;
}

#evepOrgsSwiper .swiper-slide {
    will-change: transform, opacity;
}

.evep-organization-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--enriched-spacing-xl);
}

.evep-organization-grid .evep-organization-tile {
    min-width: unset;
    padding: var(--enriched-spacing-xl);
    gap: var(--enriched-spacing-lg);
}

.evep-organization-grid .evep-organization-logo-100 {
    width: 120px;
    height: 120px;
    border-radius: 22px;
    box-shadow: var(--enriched-shadow-xs);
}

.evep-organization-grid .evep-organization-name {
    max-width: 240px;
    font-size: var(--enriched-font-md);
}

@media(max-width:1279px) {
    .evep-organization-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: var(--enriched-spacing-lg);
    }

    .evep-organization-grid .evep-organization-logo-100 {
        width: 112px;
        height: 112px;
        border-radius: 20px;
    }

    .evep-organization-grid .evep-organization-name {
        max-width: 200px;
    }
}

@media(max-width:1024px) {
    .evep-organization-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: var(--enriched-spacing-lg);
    }

    .evep-organization-grid .evep-organization-name {
        max-width: 180px;
    }
}

@media(max-width:768px) {
    .evep-organization-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: var(--enriched-spacing-md);
    }

    .evep-organization-grid .evep-organization-logo-100 {
        width: 100px;
        height: 100px;
        border-radius: 18px;
    }

    .evep-organization-grid .evep-organization-name {
        max-width: 160px;
    }
}

@media(max-width:480px) {
    .evep-organization-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: var(--enriched-spacing-md);
    }

    .evep-organization-grid .evep-organization-logo-100 {
        width: 88px;
        height: 88px;
        border-radius: 16px;
    }

    .evep-organization-grid .evep-organization-name {
        max-width: 120px;
        font-size: var(--enriched-font-sm);
    }
}

.evep-organization-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--enriched-spacing-md);
    text-decoration: none;
    color: inherit;
    transition: all var(--enriched-transition-normal);
    min-width: 140px;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.evep-organization-tile {
    background: var(--enriched-surface);
    border: 1px solid var(--enriched-border-light);
    border-radius: var(--enriched-border-radius-xxl);
    box-shadow: var(--enriched-shadow-sm);
    padding: var(--enriched-spacing-lg);
}

.evep-organization-tile::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4), transparent);
    transition: left .6s var(--enriched-easing);
}

.evep-organization-tile:hover {
    transform: translateY(-3px) scale(1.015);
    border-color: var(--enriched-primary);
    background: var(--enriched-surface-full);
}

.evep-organization-tile:hover::before {
    left: 100%;
}

.evep-organization-tile-empty {
    filter: grayscale(1);
    opacity: .7;
    transition: var(--enriched-transition-fast);
}

.evep-organization-tile-empty:hover {
    opacity: .85;
}

.evep-organization-logo-100 {
    width: 100px;
    height: 100px;
    border-radius: 24px;
    object-fit: cover;
    display: block;
    border: 3px solid var(--enriched-surface-dark);
    box-shadow: var(--enriched-shadow-sm);
    transition: all var(--enriched-transition-normal);
    background: var(--enriched-surface-full);
}

.evep-organization-tile:hover .evep-organization-logo-100 {
    transform: scale(1.1);
    box-shadow: var(--enriched-shadow-primary);
}

.evep-organization-name {
    display: block;
    min-width: 0;
    max-width: 120px;
    width: 100%;
    font-weight: 700;
    color: var(--enriched-text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    font-size: var(--enriched-font-sm);
    line-height: var(--enriched-line-height-tight);
    letter-spacing: var(--enriched-tracking-normal);
}

.evep-organization-tile:hover .evep-organization-name {
    color: var(--enriched-primary);
}

.evep-orgs-footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--enriched-spacing-sm);
    margin-top: var(--enriched-spacing-lg);
}

.evep-orgs-footer.evep-orgs-footer-padded {
    padding: var(--enriched-spacing-sm);
}

.evep-orgs-footer .evep-swiper-prev {
    justify-self: start;
}

.evep-orgs-footer .evep-swiper-next {
    justify-self: end;
}

.evep-orgs-footer .evep-swiper-dots {
    justify-self: center;
    align-self: center;
    inline-size: 100%;
    max-inline-size: 100%;
    padding: var(--enriched-spacing-xs);
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    flex-wrap: nowrap;
    white-space: nowrap;
    padding-inline: 12px;
    text-align: center;
    -webkit-mask-image: linear-gradient(to right, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);
}

.evep-nav-btn {
    --_pad: 8px;
    min-width: 40px;
    height: 40px;
    border-radius: var(--enriched-border-radius-o);
    padding: 0 var(--_pad);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.evep-nav-btn:disabled {
    opacity: .5;
    pointer-events: none;
}

.evep-swiper-dots .evep-dot {
    width: clamp(6px, 1.2vw, 8px);
    height: clamp(6px, 1.2vw, 8px);
    border-radius: var(--enriched-border-radius-o);
    background: var(--enriched-border-dark);
    opacity: .5;
    display: inline-block;
    transition: var(--enriched-transition-fast);
    flex: 0 0 auto;
}

.evep-swiper-dots .evep-dot-active {
    background: var(--enriched-primary);
    opacity: 1;
    box-shadow: var(--enriched-shadow-primary);
}

@media(max-width:480px) {
    .evep-orgs-footer .evep-swiper-dots {
        gap: clamp(4px, 1vw, 8px);
    }
}

@media(min-width:1024px) {
    .evep-organization-tile {
        min-width: 132px;
    }

    .evep-organization-name {
        max-width: 132px;
    }
}

@media(max-width:480px) {
    .evep-organization-tile {
        min-width: 112px;
    }

    .evep-organization-logo-100 {
        width: 92px;
        height: 92px;
        border-radius: 18px;
    }

    .evep-organization-name {
        max-width: 112px;
    }
}

[data-theme="dark"] .evep-orgs-surface {
    background: var(--enriched-glass-dark-surface);
    border: var(--enriched-glass-dark-border);
    box-shadow: var(--enriched-glass-dark-shadow);
}

.evep-enriched-button-override {
    min-height: 25px;
    height: 25px;
    line-height: 25px;
    padding: 0 var(--enriched-spacing-md) !important;
    border-radius: 999px !important;
    border: 1px solid var(--enriched-border-light) !important;
    background: var(--enriched-surface-dark) !important;
    color: var(--enriched-text) !important;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.evep-enriched-button-override:hover {
    background: var(--enriched-surface-full) !important;
    color: var(--enriched-primary-dark) !important;
    border-color: var(--enriched-primary) !important;
    transform: none !important;
}

.evep-enriched-button-override:disabled,
.evep-enriched-button-override[aria-disabled="true"] {
    opacity: .55;
    pointer-events: none;
}

.evep-grid{
    position:relative;
    overscroll-behavior:contain;
    touch-action:pan-y;
    display:grid;
    gap:var(--enriched-spacing-lg);
    overflow:visible;
}
.evep-grid .enriched-opt-reveal-shimmer{
    pointer-events:none;
    touch-action:none;
}
.evep-grid *{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.evep-grid-events,
.evep-grid-projects{
    grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
}
.evep-grid-vendors{
    grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));
}
@media (max-width:768px){
    .evep-grid-events,
    .evep-grid-projects,
    .evep-grid-vendors{
        grid-template-columns:1fr;
    }
    .enriched-opt-reveal-shimmer{
        backdrop-filter:none;
        filter:none;
    }
}

.evep-event-card,
.evep-project-card,
.evep-vendor-card {
    background: var(--enriched-surface);
    border: 1px solid var(--enriched-border-light);
    border-radius: var(--enriched-border-radius-lg);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: var(--enriched-transition-normal);
    display: flex;
    flex-direction: column;
}

.evep-event-card:hover,
.evep-project-card:hover,
.evep-vendor-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--enriched-shadow-lg);
    border-color: var(--enriched-primary);
}

.evep-card-media {
    position: relative;
    height: 160px;
    overflow: hidden;
}

.evep-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--enriched-transition-normal);
}

.evep-card-image-placeholder {
    width: 100%;
    height: 100%;
    background: var(--enriched-gradient-accent);
}

.evep-card-badge {
    position: absolute;
    top: var(--enriched-spacing-md);
    left: var(--enriched-spacing-md);
    background: var(--enriched-primary);
    color: white;
    padding: var(--enriched-spacing-xs) var(--enriched-spacing-sm);
    border-radius: var(--enriched-border-radius-sm);
    font-size: var(--enriched-font-xs);
    font-weight: 600;
}

.evep-card-body {
    padding: var(--enriched-spacing-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--enriched-spacing-md);
}

.evep-card-topline {
    display: flex;
    gap: var(--enriched-spacing-sm);
    flex-wrap: wrap;
}

.evep-card-title {
    font-size: var(--enriched-font-lg);
    font-weight: 600;
    color: var(--enriched-text-dark);
    line-height: var(--enriched-line-height-tight);
}

.evep-card-text {
    color: var(--enriched-text-light);
    line-height: var(--enriched-line-height-normal);
    flex: 1;
}

.evep-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--enriched-spacing-sm);
    font-size: var(--enriched-font-sm);
}

.evep-card-date {
    color: var(--enriched-text);
    font-weight: 500;
}

.evep-card-price {
    color: var(--enriched-primary);
    font-weight: 600;
}

.evep-card-price-free {
    color: var(--enriched-success);
}

.evep-card-meta-pill {
    background: var(--enriched-surface-dark);
    color: var(--enriched-text);
    padding: var(--enriched-spacing-xs) var(--enriched-spacing-sm);
    border-radius: var(--enriched-border-radius-sm);
    font-size: var(--enriched-font-xs);
}

.evep-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--enriched-spacing-md);
}

.evep-card-entity {
    display: flex;
    align-items: center;
    gap: var(--enriched-spacing-sm);
    font-size: var(--enriched-font-sm);
}

.evep-card-entity-logo {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

.evep-card-entity-name {
    color: var(--enriched-text-light);
}

.evep-card-cta {
    color: var(--enriched-primary);
    font-weight: 600;
    font-size: var(--enriched-font-sm);
}

.evep-vendor-header {
    display: flex;
    gap: var(--enriched-spacing-md);
    align-items: flex-start;
}

.evep-vendor-logo-wrap {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
}

.evep-vendor-logo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--enriched-border-radius-md);
}

.evep-vendor-logo-placeholder {
    width: 100%;
    height: 100%;
    background: var(--enriched-gradient-secondary);
    border-radius: var(--enriched-border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
}

.evep-vendor-heading {
    flex: 1;
}

.evep-vendor-name {
    font-size: var(--enriched-font-lg);
    font-weight: 600;
    color: var(--enriched-text-dark);
    margin-bottom: var(--enriched-spacing-sm);
}

.evep-vendor-tags {
    display: flex;
    gap: var(--enriched-spacing-sm);
    flex-wrap: wrap;
}

.evep-vendor-tagline {
    color: var(--enriched-text-light);
    line-height: var(--enriched-line-height-normal);
}

.evep-vendor-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--enriched-spacing-md);
    font-size: var(--enriched-font-sm);
}

.evep-vendor-rating {
    display: flex;
    align-items: center;
    gap: var(--enriched-spacing-xs);
}

.evep-rating-value {
    font-weight: 600;
    color: var(--enriched-text-dark);
}

.evep-rating-stars {
    color: var(--dunia-sun);
}

.evep-rating-count {
    color: var(--enriched-text-light);
}

.evep-rating-empty {
    color: var(--enriched-text-lighter);
    font-style: italic;
}

.evep-vendor-budget-range {
    color: var(--enriched-text);
    font-weight: 500;
}

.evep-bookmarks-body {
    display: block;
}

.evep-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--enriched-spacing-xxl);
    color: var(--enriched-text-lighter);
    background: var(--enriched-surface);
    border: 1px solid var(--enriched-border-light);
    border-radius: var(--enriched-border-radius-xxl);
    box-shadow: var(--enriched-shadow-sm);
    min-height: 280px;
    gap: var(--enriched-spacing-md);
}

.evep-empty-state i {
    font-size: 3rem;
    margin-bottom: var(--enriched-spacing-xs);
    opacity: .55;
    line-height: 1;
}

.evep-empty-title {
    font-size: var(--enriched-font-xl);
    font-weight: 700;
    color: var(--enriched-text-dark);
    margin: 0;
}

.evep-empty-text {
    font-size: var(--enriched-font-md);
    color: var(--enriched-text-light);
    max-width: 56ch;
    margin: 0;
}

.evep-empty-actions {
    display: flex;
    gap: var(--enriched-spacing-md);
    justify-content: center;
    margin-top: var(--enriched-spacing-lg);
    flex-wrap: wrap;
}

.evep-empty-state .enriched-main-button {
    min-width: 160px;
}

.evep-empty-state.is-inline {
    min-height: unset;
    padding: var(--enriched-spacing-xl);
    box-shadow: none;
}

.evep-empty-state.is-compact {
    padding: var(--enriched-spacing-lg);
    min-height: 200px;
}

.evep-empty-state.is-subtle {
    background: var(--enriched-surface-light);
    border-color: var(--enriched-border);
}

@media (max-width:480px) {
    .evep-card-body {
        padding: var(--enriched-spacing-md);
    }

    .evep-vendor-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--enriched-spacing-md);
    }

    .evep-vendor-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--enriched-spacing-sm);
    }
}

@media (prefers-reduced-motion:reduce) {

    .evep-event-card,
    .evep-project-card,
    .evep-vendor-card {
        transition: none;
    }
}

.evep-activities-m {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.evep-activities-m-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.evep-activities-m-color {
    width: 10px;
    min-width: 10px;
    height: 38px;
    border-radius: 8px;
}

.evep-activities-m-head-main {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.evep-activities-m-title {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.3;
    word-break: break-word;
}

.evep-activities-m-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.evep-activities-m-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .75rem;
    padding: .25rem .5rem;
    border-radius: var(--enriched-border-radius-o);
    background: var(--enriched-surface-light);
    border: 1px solid var(--enriched-border-light);
}

.evep-activities-m-pill-accent {
    background: var(--enriched-accent, #f59e0b);
    color: #111;
    border-color: transparent
}

.evep-activities-m-pill-soft {
    background: rgba(99, 102, 241, .08);
    border-color: rgba(99, 102, 241, .18);
    color: #3730a3
}

.evep-activities-m-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.evep-activities-m-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--enriched-text-lighter);
    font-size: .95rem;
    word-break: break-word;
}

.evep-activities-m-meta-item i {
    opacity: .9;
}

.evep-activities-m-desc p {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.evep-activities-m-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.enriched-opt-filterbar.evep-organization-tile-style,
.enriched-opt-pagination.evep-organization-tile-style {
    background: var(--enriched-surface) !important;
}

.enriched-opt-filterbar.evep-activities-card-style,
.enriched-opt-pagination.evep-activities-card-style {
    background: var(--enriched-surface-full) !important;
    border-radius: var(--enriched-border-radius-xl) !important;
    overflow: hidden;
    box-shadow: var(--enriched-shadow-sm) !important;
}

.enriched-icon-button {
    appearance: none;
    border: 0;
    background: var(--enriched-surface-full);
    color: var(--enriched-text-light);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    box-shadow: var(--enriched-shadow-xs);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .2s ease, color .2s ease;
}

.enriched-icon-button:hover {
    transform: translateY(-1px);
    box-shadow: var(--enriched-shadow-sm);
    color: var(--enriched-text);
}

.enriched-icon-button.is-bookmarked {
    color: var(--enriched-primary);
}

.enriched-icon-button i {
    pointer-events: none;
}

.evep-card-bookmark {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.evep-country-flag{
    display:inline-block;
    width:30px;
    height:auto;
    max-height: 30px;
    object-fit:cover;
    border-radius:2px;
    box-shadow:0 1px 2px rgba(0,0,0,0.1);
    vertical-align:middle;
}

[data-evep-cards-swiper] .swiper-wrapper{align-items:stretch;padding: 0 0 var(--enriched-spacing-lg) 0 !important;}
[data-evep-cards-swiper] .swiper-slide{height:auto;display:flex;}
[data-evep-cards-swiper] .swiper-slide>*{width:100%;}
[data-evep-cards-swiper] .evep-activities-card,[data-evep-cards-swiper] .evep-vendor-card{height:100%;display:flex;flex-direction:column;box-shadow:none!important;filter:none!important;}
[data-evep-cards-swiper] .evep-activities-card-body,[data-evep-cards-swiper] .evep-vendor-card-body{flex:1 1 auto;display:flex;flex-direction:column;}
[data-evep-cards-swiper] .evep-activities-card-footer,[data-evep-cards-swiper] .evep-vendor-card-footer{margin-top:auto;}
[data-evep-cards-swiper] .evep-activities-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
[data-evep-cards-swiper] .evep-activities-card-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;}
[data-evep-cards-swiper] .evep-vendor-card-tagline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
