/* Events page 1.2.2: tabs, type chips, boxed cards with date badge, placeholder tile */
.events-page { --ev-blue: var(--Blue, #001E5A); --ev-orange: #F08A24; --ev-line: #E0E0E0; --ev-soft: #EEF2FA; }
.event-icon { flex: none; vertical-align: -3px; }

/* Upcoming / Past tabs */
.event-tabs { display: flex; gap: 2rem; margin: 0 0 1.5rem; border-bottom: 1px solid var(--ev-line); }
.event-tabs__item {
    position: relative; display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 0;
    color: #5270A3; font-family: Swiza, sans-serif; font-size: 1.125rem; font-weight: 600; text-decoration: none;
    transition: color .3s ease;
}
.event-tabs__item::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ev-orange);
    transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.event-tabs__item:hover { color: var(--ev-blue); }
.event-tabs__item.is-active { color: var(--ev-blue); }
.event-tabs__item.is-active::after, .event-tabs__item:hover::after { transform: scaleX(1); }
.event-tabs__count {
    min-width: 1.5rem; padding: 0 .45rem; border-radius: 1rem; background: var(--ev-soft); color: var(--ev-blue);
    font-size: .8125rem; line-height: 1.5rem; text-align: center;
}
.event-tabs__item.is-active .event-tabs__count { background: var(--ev-blue); color: #FFF; }

/* type filter chips */
.event-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 2rem; }
.event-filter__item {
    display: inline-flex; align-items: center; gap: .4rem; padding: .45rem 1rem; border: 1px solid var(--ev-line); border-radius: 2rem;
    color: var(--ev-blue); font-family: Swiza, sans-serif; font-size: .9375rem; text-decoration: none; background: #FFF;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.event-filter__item:hover { background: #F5F5F5; border-color: var(--ev-blue); }
.event-filter__item.is-active { background: var(--ev-blue); color: #FFF; border-color: var(--ev-blue); }

/* cards */
.event-card {
    display: grid; grid-template-columns: 240px 1fr; gap: 1.75rem; align-items: center;
    margin: 0 0 1.25rem; padding: 1.25rem; box-sizing: border-box;
    background: #FFF; border: 1px solid var(--ev-line); border-radius: .5rem;
    transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
.event-card:hover { border-color: #B8C4DC; box-shadow: 0 8px 24px rgba(0, 30, 90, .10); transform: translateY(-2px); }

.event-card__media { position: relative; }
.event-card__image {
    position: relative; display: flex; align-items: center; justify-content: center;
    width: 100%; height: 150px; padding: 1rem; box-sizing: border-box; overflow: hidden;
    background: #FFF; border: 1px solid var(--ev-line); border-radius: .375rem; text-decoration: none;
    transition: border-color .3s ease;
}
a.event-card__image:hover { border-color: var(--ev-blue); }
a.event-card__image:focus-visible, .event-card__title a:focus-visible { outline: 2px solid var(--ev-orange); outline-offset: 3px; }
.event-card__image img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

/* placeholder tile when there is no logo */
.event-card__image--placeholder { background: var(--ev-blue); border-color: var(--ev-blue); color: #FFF; flex-direction: column; gap: .5rem; }
.event-card__arrow { position: absolute; right: -14px; bottom: -22px; width: 110px; height: auto; fill: #193C78; pointer-events: none; }
.event-card__image--placeholder .event-icon { position: relative; z-index: 1; width: 44px; height: 44px; color: #FFF; }

/* date badge on the logo corner */
.event-card__badge {
    position: absolute; top: -10px; left: -10px; z-index: 2; min-width: 58px; padding: .4rem .5rem .45rem; box-sizing: border-box;
    background: var(--ev-orange); color: #FFF; border-radius: .375rem; text-align: center; font-family: Swiza, sans-serif;
    box-shadow: 0 3px 10px rgba(0, 30, 90, .22); line-height: 1;
}
.event-card__badge-day { display: block; font-size: 1.5rem; font-weight: 700; }
.event-card__badge-month { display: block; margin-top: .15rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.event-card__badge-year { display: block; margin-top: .1rem; font-size: .6875rem; opacity: .9; }

/* body */
.event-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0 0 .6rem; font-family: Swiza, sans-serif; color: var(--ev-blue); }
.event-card__type {
    display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .75rem; border-radius: 2rem; background: var(--ev-soft);
    color: var(--ev-blue); font-size: .8125rem; font-weight: 600; letter-spacing: .01em;
}
.event-card__lang { padding: .2rem .55rem; border: 1px solid #B8C4DC; border-radius: .25rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.event-card__date { font-size: 1rem; font-weight: 600; color: var(--ev-orange); }

.events-page .event-card__title { margin: 0 0 .6rem; color: var(--ev-blue); font-family: Swiza, sans-serif; font-size: 1.375rem; font-weight: 600; line-height: 1.75rem; }
.event-card__title a { color: inherit; text-decoration: none; }
.event-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.event-card__location { display: flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; color: var(--ev-blue); font-family: Swiza, sans-serif; font-size: 1.0625rem; }
.event-card__text { color: var(--ev-blue); font-family: Swiza, sans-serif; font-size: 1rem; line-height: 1.375rem; }
.event-card__text p { margin: 0 0 .5rem; }
.event-card__text p:last-child { margin-bottom: 0; }

/* past: calmer */
.event-card--past { background: #FAFBFD; }
.event-card--past .event-card__image img { filter: grayscale(1); opacity: .75; transition: filter .3s ease, opacity .3s ease; }
.event-card--past:hover .event-card__image img { filter: none; opacity: 1; }
.event-card--past .event-card__image--placeholder { background: #5270A3; border-color: #5270A3; }
.event-card--past .event-card__badge { background: #5270A3; }
.event-card--past .event-card__date { color: #5270A3; }

/* empty state + more */
.event-empty {
    display: flex; flex-direction: column; align-items: center; gap: .25rem; margin: 0 0 2rem; padding: 2.5rem 1.5rem; text-align: center;
    border: 1px dashed #B8C4DC; border-radius: .5rem; background: #FAFBFD; color: var(--ev-blue); font-family: Swiza, sans-serif;
}
.event-empty p { margin: 0; }
.event-empty .event-icon { width: 32px; height: 32px; margin-bottom: .5rem; color: #5270A3; }
.event-empty a, .event-more a { color: var(--ev-blue); font-family: Swiza, sans-serif; font-weight: 600; text-underline-offset: 4px; }
.event-more { text-align: center; margin: 1.5rem 0 0; }

@media (max-width: 768px) {
    .event-tabs { gap: 1.5rem; }
    .event-card { grid-template-columns: 1fr; gap: 1.1rem; padding: 1rem; }
    .event-card:hover { transform: none; }
    .event-card__image { height: 130px; }
    .event-card__badge { top: -8px; left: -6px; }
    .events-page .event-card__title { font-size: 1.25rem; line-height: 1.6rem; }
    .events-page .job-content__heading { font-size: 2rem; line-height: 2.4rem; margin-bottom: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .event-card, .event-tabs__item::after { transition: none; }
    .event-card:hover { transform: none; }
}
p.solution-banner__title { margin-top: 0; }

/* H1 of the page: bold, clearly larger than the event names (H2) */
.events-page .job-content__heading { font-weight: 700; font-size: 2.5rem; line-height: 3rem; margin-bottom: 2rem; }
