@import "design.css";

:root {
    --event-surface-radius: 12px;
}

.event-menu-action--cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
}

.event-menu-cart-count {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: var(--primary-color, #111827);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.1rem;
    text-align: center;
}

.event-cart-drawer.offcanvas {
    position: fixed;
    top: 5.75rem;
    right: max(1rem, calc((100vw - 1420px) / 2 + 1rem));
    bottom: auto;
    left: auto;
    width: min(390px, calc(100vw - 2rem));
    height: auto;
    max-height: calc(100dvh - 7rem);
    color: #1f2937;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 14px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
    transform: translate3d(0, -0.75rem, 0);
}

.event-cart-drawer.offcanvas.showing,
.event-cart-drawer.offcanvas.show:not(.hiding) {
    transform: translate3d(0, 0, 0);
}

.event-cart-drawer::before {
    position: absolute;
    top: -9px;
    right: 86px;
    width: 18px;
    height: 18px;
    content: "";
    background: #fff;
    border-top: 1px solid rgba(15, 23, 42, 0.12);
    border-left: 1px solid rgba(15, 23, 42, 0.12);
    transform: rotate(45deg);
}

.event-cart-drawer .offcanvas-header {
    padding: 1.25rem 1.25rem 0.75rem;
}

.event-cart-drawer .offcanvas-body {
    max-height: calc(100dvh - 12rem);
    padding: 0.75rem 1.25rem 1.25rem;
    overflow-y: auto;
}

.event-cart-drawer__empty {
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    color: #64748b;
    background: #f8fafc;
}

.event-cart-drawer__items {
    display: grid;
    gap: 0.75rem;
}

.event-cart-drawer__item,
.event-cart-drawer__total {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.event-cart-drawer__item {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.event-cart-drawer__item span {
    display: block;
    color: #64748b;
    font-size: 0.875rem;
}

.event-cart-drawer__total {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 2px solid rgba(15, 23, 42, 0.12);
}

.event-cart-drawer__coupon {
    margin-top: 0.85rem;
    padding: 0.55rem 0.85rem;
    border-radius: 8px;
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    font-size: 0.85rem;
}

.event-cart-drawer__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.event-cart-drawer__actions .btn.disabled {
    pointer-events: none;
    opacity: 0.55;
}

@media (max-width: 767.98px) {
    .event-cart-drawer.offcanvas {
        top: 4.75rem;
        right: 0.75rem;
        width: calc(100vw - 1.5rem);
        max-height: calc(100dvh - 5.5rem);
    }

    .event-cart-drawer::before {
        right: 4.25rem;
    }
}

.event-cart-quantity-input {
    max-width: 6rem;
}

/*:root {
    --bg-color: #40A7C0;
    --text-color: #FFFFFF;
    --primary-color: #F02A64 ;
    --secondary-color-dark: #0d1f26;
    --secondary-color-light: #162a33;
    --additional-color: #3E5C69;
    --flekk-bg: #E6F3FB;
    --border-color: #AFCCDF;
    --disabled-color: #DADADA;
    --primary-font: 'Poppins', sans-serif;
    --secondary-font: 'Nunito Sans', sans-serif;
}*/

html, body {
    scroll-behavior: smooth;
    font-family: var(--primary-font);
}

/* Canvas color for safe-area insets (landscape notch) and overscroll —
   the visible page background is painted by #ajaxload, which does not
   extend into the safe areas */
html {
    background-color: var(--bg-color);
}

body#page_event-registration {
    background-color: var(--bg-color);
}

#ajaxload {
    background-color: var(--bg-color);
}

.content {
    color: var(--text-color);
}

.bg-color { background-color: var(--bg-color); }
.text-color { color: var(--text-color); }
.secondary-text-color { color: var(--secondary-text-color); }
.text-color-bg { background-color: var(--text-color); }
.primary-color { color: var(--primary-color); }
.secondary-color-dark { color: var(--secondary-color-dark); }
.secondary-color-light { color: var(--secondary-color-light); }
.secondary-color-light-bg { background-color: var(--secondary-color-light); }
.additional-color { color: var(--additional-color); }
.flekk-bg { background-color: var(--flekk-bg); }
.border-color { border-color: var(--border-color); }
.disabled-color { color: var(--disabled-color); }
.primary-font { font-family: var(--primary-font);}
.secondary-font { font-family: var(--secondary-font);}
.ticket-slider .card.not_active { opacity: 0.3; }

.text-content h1, .text-content h3, .text-content h5, .text-content span, .text-content div {
    color: var(--text-color);
}

.topic-card-text, .flekk-content div {
    color: var(--text-color);
}

.text-color-primary {
    color: var(--primary-color);
}

h1, h2, h3, h4, h5 {
    font-weight: 700;
    position: relative;
}

h1, h2 {
    padding-left: 20px;
}

h1:before, h2:before {
    content: '';
    position: absolute;
    display: block;
    background: var(--primary-color);
    width: 10px;
    height: 50%;
    left: 0;
    top: 50%;
    transform: skewY(-45deg) translateY(-50%);
}

/* Hack for embedded consent */
.css-1unuaz2.css-1unuaz2 .qc-cmp2-consent-info h2:before {
    display: none !important;
}

.taller-before:before, .taller-before:before {
    height: 75%;
}

.close-btn {
    margin: 0;
    margin-right: 10px;
    padding: 0;
    border: 0;
    background-color: var(--text-color);
    text-align: right;
    font-size: 40px;
    line-height: 40px;
}

h1.no-pre:before, h2.no-pre:before {
    display: none;
}

.border-bottom-decor {
    border-bottom: 3px solid var(--primary-color);
}

.img-cover {
    object-fit: cover;
}

#event-content {
    transition: all 1s;
}

#div_personal_information, #div_billing_information {
    background-color: #fff;
}

/* Landing Navbar display on event page */
.landing-navbar {
    width: 100%;
    background-color: #fff; /* Adjust the background color as needed */
    z-index: 1000;
}

.footer-navbar {
    width: 100%;
    color: var(--text-color);
    border-bottom: 1px solid var(--additional-color);
}

.footer-navbar a {
    color: var(--text-color);
    text-decoration: none;
    text-transform: uppercase;
}

.footer-navbar .footer_icons a {
    color: var(--text-color);
}

.footer-copy {
    font-size: 12px;
    color: var(--text-color);
}

.footer-copy a {
    color: var(--text-color);
}

/*EVENT HAMBURGER ICON*/
.custom-toggler.navbar-toggler {
    border-color: var(--primary-color);
}

.custom-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,72,56, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.nav-container {
    background-color: var(--bg-color);
}

.event-menu-action--cart {
    color: var(--primary-color);
}

.event-menu-action--cart:hover,
.event-menu-action--cart:focus {
    color: var(--additional-color);
}

.event-menu-cart-icon {
    display: block;
    width: 24px;
    height: 24px;
    filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.25));
}

.navbar-nav .nav-item a:hover {
    color: var(--primary-color);
}

#event-nav {
    font-family: var(--secondary-font);
}

.dark-bg {
    background-color: var(--bg-color);
}

.light-bg {
    background-color: var(--secondary-color-light);
}


/* EVEN BUTTON */
.event-btn {
    font-family: var(--secondary-font);
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 0;
    color: white;
    text-transform: uppercase;
}

.event-btn-additional {
    color: var(--secondary-font);
    background-color: var(--primary-color);
    font-family: var(--secondary-font);
    padding: 10px 20px;
    border-radius: 0;
    text-transform: uppercase;
}
.event-btn-additional:hover {
    color: var(--text-color);
    background-color: var(--primary-color);
    font-family: var(--secondary-font);
    padding: 10px 20px;
    border-radius: 0;
    text-transform: uppercase;
}

.event-btn:hover {
    font-family: var(--secondary-font);
    text-decoration: none;
    background-color: var(--additional-color);
    color: white;
}


.event-reversed-btn {
    font-family: var(--secondary-font);
    background-color: var(--secondary-color-light);
    padding: 8px 20px;
    border-radius: 0;
    color: white;
    text-transform: uppercase;
}

.event-reversed-btn:hover {
    font-family: var(--secondary-font);
    text-decoration: none;
    background-color: var(--additional-color);
    color: white;
}

.event-border-btn {
    font-family: var(--secondary-font);
    font-size: 14px;
    background-color: transparent;
    padding: 8px 20px;
    border-radius: 0;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: bold;
    text-transform: uppercase;
}

.event-border-btn:hover {
    font-family: var(--secondary-font);
    border: 1px solid var(--border-color);
    color: var(--border-color);
}

.event-price-btn {
    font-family: var(--secondary-font);
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 0;
    color: white;
    text-transform: uppercase;
}

/* HERO HEADER */
.hero-bg {
    position: relative;
    padding: 0;
    aspect-ratio: 16/9;
}

.hero-header-img {
    top: 0;
    left: 0;
    position: absolute;
    aspect-ratio: 16/9;
    width: 100%;
    z-index: 100;
}

.hero-bg:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 16/9;
    width: 100%;
    z-index: 101;
}

.hero-header-text {
    z-index: 102;
}

.hero-header-text h1,
.hero-header-text h3,
.hero-header-text p {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
}

.hero-bg h1 {
    font-weight: 700;
}

.hero-bg picture {
    display: block;
    width: 100%;
}

.hero-bg--full-width,
.hero-bg--carousel {
    aspect-ratio: auto;
    width: 100%;
    max-width: 100%;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.12), transparent 45%),
        rgba(5, 10, 20, 0.92);
    min-height: clamp(420px, 68vw, 860px);
    max-height: min(82vh, 860px);
    overflow: hidden;
}

.hero-bg--full-width .hero-header-img,
.hero-bg--carousel .hero-header-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-bg--full-width .hero-header-img {
    object-fit: cover;
}

.hero-bg--carousel .hero-header-img {
    object-fit: cover;
}

.hero-bg--full-width:after,
.hero-bg--carousel:after {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    background: linear-gradient(180deg, rgba(6, 10, 18, 0.12) 0%, rgba(6, 10, 18, 0.7) 68%, rgba(6, 10, 18, 0.92) 100%);
}

.hero-bg--full-width .hero-header-text,
.hero-bg--carousel .hero-header-text {
    width: min(1140px, 100%);
    padding-inline: clamp(1rem, 3vw, 2rem);
}

.hero-carousel {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.hero-carousel__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateX(100%);
    transition: transform 0.7s ease, opacity 0.7s ease;
}

.hero-carousel__slide.is-active {
    opacity: 1;
    transform: translateX(0);
}

.hero-carousel__slide.is-before {
    transform: translateX(-100%);
}

.hero-carousel__indicators {
    position: absolute;
    z-index: 103;
    right: 1.5rem;
    bottom: 1.25rem;
    display: flex;
    gap: 0.5rem;
}

.hero-carousel__indicator {
    width: 0.75rem;
    height: 0.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.hero-carousel__indicator.is-active {
    background: rgba(255, 255, 255, 0.95);
    transform: scale(1.15);
}

.list-img-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.list-img-container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 992px) {
    .hero-bg h1 {
        font-size: 3rem;
    }

    .hero-bg h3 {
        font-size: 1.5rem;
    }

    .hero-bg p {
        font-size: 1rem;
    }
}

@media (max-width: 700px) {
    .footer-copy {
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .conf-title {
        flex-direction: column;
    }

    .conf-title a {
        width: 250px !important;
    }

    #conference .btn {
        margin-top: 0.5rem;
    }
}

@media (max-width: 600px) {
    .hero-bg h1 {
        font-size: 2.5rem;
    }

    .hero-bg h3 {
        font-size: 1.2rem;
    }

    .hero-bg p {
        font-size: 1rem;
    }

    .early-cta-text {
        flex-direction: column;
    }

    .hero-bg--full-width,
    .hero-bg--carousel {
        min-height: 360px;
    }

    .hero-carousel__indicators {
        right: 1rem;
        bottom: 1rem;
    }
}

.early-bird-container {
    cursor: pointer;
}

/*About event */
#about-event-text-container ul li {
    position: relative;
    list-style: none;
    padding-left: 20px;
}

#about-event-text-container ul li:before {
    content: '';
    position: absolute;
    display: block;
    background: var(--primary-color);
    width: 10px;
    height: 10px;
    top: 25%;
    left: 0;
    clip-path: polygon(0 0, 100% 0, 50% 50%, 0% 100%);
}

#about_event video[poster] {
    object-fit: cover;
}

/* Speakers */
.speaker-img {
    position: relative;
}

.speaker-info {
    width: 100%;
}

.speaker-name {
    position: absolute;
    bottom: 0;
    color: var(--primary-color);
    background: var(--flekk-bg);
    font-size: 90%;
}

#page_speaker-profile .speaker-name {
    font-size: 100%;
}

.card-img-bubble {
    border-radius: 50% 50% 50% 0;
    filter: grayscale(100%);
    transition: all .5s;
}

.card-img-bubble:hover {
    filter: grayscale(0%);
}

.speaker-image {
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

.speaker-flag {
    position: absolute;
    z-index: 3;
    width: clamp(2.1rem, 18%, 3.3rem);
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 0.45rem;
    border: 1px solid rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.22);
    background: #fff;
}

.speaker-flag img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.speaker-flag--top-right {
    top: 0.85rem;
    right: 0.85rem;
}

.speaker-flag--top-left {
    top: 0.85rem;
    left: 0.85rem;
}

.speaker-flag--bottom-right {
    right: 0.85rem;
    bottom: 1.15rem;
}

.speaker-flag--bottom-left {
    left: 0.85rem;
    bottom: 1.15rem;
}

.speaker-image--square {
    border-radius: 0;
    clip-path: none;
}

.speaker-image--rounded-square {
    border-radius: 1.5rem;
    clip-path: none;
}

.speaker-image--circle {
    border-radius: 50%;
    clip-path: none;
}

.speaker-image--soft-circle {
    border-radius: 38%;
    clip-path: none;
}

.speaker-image--drop {
    border-radius: 50% 50% 50% 0;
    clip-path: none;
}

.speaker-image--diagonal {
    border-radius: 0;
    -webkit-clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
    clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
}

.speaker-image--landscape-rectangle {
    border-radius: 0;
    clip-path: none;
    aspect-ratio: 4 / 3;
}

.speaker-image--portrait-rectangle {
    border-radius: 0;
    clip-path: none;
    aspect-ratio: 3 / 4;
}

.slick-prev {
    padding: .35rem .75rem;
    background-color: transparent;
    border: 1px solid var(--primary-color);
}

.slick-next {
    padding: .35rem .75rem;
    background-color: transparent;
    border: 1px solid var(--primary-color);
}

.slick-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.slick-dots ul {
    margin: 0;
    padding: 0;
}

.slick-dots ul li {
    display: inline-block;
    list-style-type: none;
}

.slick-dots ul li:only-child {
    display: none;
}

.slick-dots li button {
    border: none;
    display: block;
    width: 10px;
    height: 10px;
    background: var(--text-color);
    margin-right: 5px;
    overflow: hidden;
    line-height: 10px;
    color: var(--text-color);
}

.slick-dots li.slick-active button {
    background: var(--primary-color);
    color: var(--primary-color);
}

.speaker-contact a {
    color: #ffffff;
}

@media (max-width: 992px) {
    .slick-prev {
        right: 9%;
    }
}

/* PARTICIPANTS */
.participant-img {
    position: relative;
}

.participant-img:after {
    content: '';
    position: absolute;
    display: block;
    background: var(--additional-color);
    width: 30px;
    height: 10px;
    right: 40px;
    top: 50%;
    transform: skewX(45deg) translateY(-50%);
    z-index: -1;
}

/* NEWS */
.slick-slide {
    height: auto !important;
}

.my-border {
    border: 1px solid var(--border-color);
    height: auto !important;
    background-color: transparent;
    color: inherit;
}

.card-title {
    color: inherit;
}

/* NEWS LETTER */
#newsletter {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    color: white;
    min-height: 300px;
}

#newsletter .container {
    position: relative;
}

#newsletter img {
    max-width: min(220px, 100%);
    height: auto;
}


/* CONFERENCE */

.category-label-holder {
    bottom: 4%;
    left: 2%;
}

.category-label {
    background-color: white;
    padding: 3px 12px;
    font-size: 15px;
    display: inline-block;
}

/* PRICE */
.popular-price {
    border: 1px solid var(--primary-color);
    border-radius: var(--event-surface-radius);
}

.event-card {
    height: 100%;
    overflow: hidden;
    border-radius: var(--event-surface-radius);
}

.event-card__media {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.event-card__media > a {
    display: block;
    width: 100%;
    height: 100%;
}

.event-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-card__body {
    flex: 1 1 auto;
    gap: 1rem;
    padding: 1.25rem;
}

.event-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.85rem;
}

.event-card__content .card-body {
    height: auto !important;
    padding: 0;
}

.event-card__content .card-title,
.event-card__content .card-text {
    margin: 0;
}

.event-card__actions {
    margin-top: auto;
}

.event-gallery-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--event-surface-radius);
}

.gallery-page-shell {
    padding-bottom: 4rem;
}

.gallery-page-heading .gallery-title {
    color: var(--primary-color);
    font-weight: 700;
}

.gallery-page-description {
    max-width: 760px;
    margin: 0.75rem auto 0;
    color: var(--text-color);
}

.gallery-album-grid {
    align-items: stretch;
}

.gallery-album-card,
.gallery-album-slide,
.event-gallery-preview {
    color: inherit;
    text-decoration: none;
}

.gallery-album-card {
    display: flex;
    flex-direction: column;
}

.gallery-album-card__image,
.gallery-album-slide__image,
.event-gallery-preview__cover {
    display: block;
    overflow: hidden;
    background: #f3f5f7;
}

.gallery-album-card__image {
    aspect-ratio: 4 / 3;
}

.gallery-album-card__image img,
.gallery-album-slide__image img,
.event-gallery-preview__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.gallery-album-card:hover img,
.gallery-album-slide:hover img,
.event-gallery-preview:hover .event-gallery-preview__cover img {
    transform: scale(1.04);
}

.gallery-album-card__body,
.gallery-album-slide__body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.9rem 0.25rem 0;
}

.gallery-album-card__title,
.gallery-album-slide__title,
.event-gallery-preview__title {
    color: var(--primary-color);
    font-weight: 700;
    line-height: 1.2;
}

.gallery-album-card__count,
.gallery-album-slide__count {
    color: var(--text-color);
    font-size: 0.95rem;
    opacity: 0.78;
}

.gallery-album-card__description,
.event-gallery-preview__description {
    color: var(--text-color);
    line-height: 1.5;
}

.gallery-tags {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.gallery-tags a {
    color: var(--primary-color);
    border-bottom: 2px solid transparent;
    font-weight: 700;
    text-decoration: none;
}

.gallery-tags a.active,
.gallery-tags a:hover {
    border-bottom-color: currentColor;
}

.gallery-image-grid {
    align-items: stretch;
}

.gallery-list-item {
    display: block;
    margin-bottom: 0;
}

.gallery-list-item .fancybox {
    display: block;
    height: 100%;
    overflow: hidden;
    border-radius: var(--event-surface-radius);
    background: #f3f5f7;
}

.gallery-list-item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.gallery-list-item .img-info {
    pointer-events: none;
}

.gallery-empty-state {
    color: var(--text-color);
}

.event-gallery-module__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.gallery-album-carousel {
    margin-inline: -0.75rem;
}

.gallery-album-carousel.slick-initialized,
.gallery-image-carousel.slick-initialized {
    position: relative;
}

.gallery-album-carousel.slick-initialized .slick-prev,
.gallery-album-carousel.slick-initialized .slick-next,
.gallery-image-carousel.slick-initialized .slick-prev,
.gallery-image-carousel.slick-initialized .slick-next {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--primary-color) 70%, #fff);
    border-radius: 50%;
    background: color-mix(in srgb, var(--bg-color) 82%, transparent);
    color: var(--primary-color);
    font-size: 0;
    line-height: 1;
    transform: translateY(-50%);
}

.gallery-album-carousel.slick-initialized .slick-prev,
.gallery-image-carousel.slick-initialized .slick-prev {
    left: 0.75rem;
}

.gallery-album-carousel.slick-initialized .slick-next,
.gallery-image-carousel.slick-initialized .slick-next {
    right: 0.75rem;
}

.gallery-album-carousel.slick-initialized .slick-prev::before,
.gallery-album-carousel.slick-initialized .slick-next::before,
.gallery-image-carousel.slick-initialized .slick-prev::before,
.gallery-image-carousel.slick-initialized .slick-next::before {
    font-size: 2rem;
    line-height: 1;
}

.gallery-album-carousel.slick-initialized .slick-prev::before,
.gallery-image-carousel.slick-initialized .slick-prev::before {
    content: "\2039";
}

.gallery-album-carousel.slick-initialized .slick-next::before,
.gallery-image-carousel.slick-initialized .slick-next::before {
    content: "\203a";
}

.gallery-image-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 30%);
    gap: 0.85rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
}

.gallery-image-carousel.slick-initialized {
    display: block;
    overflow: visible;
}

.gallery-image-carousel .slick-list,
.gallery-album-carousel .slick-list {
    margin-inline: -0.425rem;
}

.gallery-album-slide {
    display: block;
    padding-inline: 0.75rem;
}

.gallery-image-slide {
    display: block;
    color: inherit;
    padding-inline: 0.425rem;
    scroll-snap-align: start;
    text-decoration: none;
}

.gallery-image-slide__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3f5f7;
}

.gallery-image-slide__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.gallery-image-slide:hover .gallery-image-slide__image img {
    transform: scale(1.04);
}

.gallery-album-slide__image {
    aspect-ratio: 16 / 10;
}

.event-gallery-preview {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(280px, 1.1fr);
    gap: 1.5rem;
    align-items: center;
}

.event-gallery-preview__cover {
    aspect-ratio: 16 / 10;
}

.event-gallery-preview__content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.event-gallery-preview__thumbs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.event-gallery-preview__thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

@media (max-width: 767.98px) {
    .event-gallery-module__heading {
        display: block;
    }

    .event-gallery-preview {
        grid-template-columns: 1fr;
    }

    .gallery-image-carousel {
        grid-auto-columns: minmax(180px, 78%);
    }
}

.popular-text {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--primary-color);
}

#price .slick-track, #conference .slick-track {
    display: flex !important;
}

#price .slick-slide, #conference .slick-slide {
    height: inherit !important;
    position: relative;
}

.pricing-card-title {
    white-space: nowrap;
    padding: 0;
	font-size: 1.6rem;
}

.pricing-card-title .vat {
	font-size: 60%;
}

@media (max-width: 1000px) {
    .pricing-card-title {
        font-size: 26px;
    }
}

.ticket-desc ul {
    list-style-type: none;
    text-align: left;
    padding-left: 0;
}

.ticket-desc ul li:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00c";
    padding-right: 10px;
}

#price .ticket-slider .slick-slide .card-body {
    padding-bottom: 90px;
}

#price .ticket-slider .slick-slide .price_btn_cont {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    font-weight: bold;
}

#price .ticket-slider .slick-slide .price_btn_cont a.btn {
    width: 100%;
    font-weight: bold;
}

#price .ticket-slider .slick-slide a.btn.disabled {
    background: var(--disabled-color);
    border: none;
    color: #FFFFFF;
}

/* FAQ */
.faq-box {
    border: none;
    border-radius: var(--event-surface-radius);
    overflow: hidden;
}

.faq-header {
    background-color: transparent;
    border-bottom: 1px solid var(--additional-color);
}

.btn-link {
    color: white;
    text-decoration: none;
    padding: 20px 0;
}

.btn-link:hover {
    color: var(--primary-color);
}

.btn-link:focus, .btn-link:active {
    box-shadow: none;
}

.cp {
    cursor: pointer;
}

/* APP */
/*** APPLE BUTTON ***/
.bn45 {
    display: inline-block;
    width: 170px;
    height: 50px;
}

/*** ANDROID BUTTON ***/
.bn46 {
    display: inline-block;
    width: 170px;
    height: 50px;
}


/* AGENDA */
#custom-modal {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(6px);
    z-index: 1000;
}

.agenda-item {
    margin-top: 20px;
    position: relative;
    border-bottom: 1px solid var(--additional-color);
}

.agenda-item:last-child {
    border-bottom: none;
}

.agenda-time {
    color: var(--primary-color);
    font-weight: bold;
    position: absolute;
    left: -70px;
}

.agenda-title {
    font-weight: bold;
    padding-bottom: 20px;
    flex: 1 1 auto;
}

.atitle {
    font-size: 20px;
}

.asubtitle {
    font-size: 14px;
}

/* The agenda "about" field is admin-authored rich text (may contain
   <p>, <strong>, <b>, ...). Keep it compact in the list by flattening
   the block margins of the wrapping paragraphs. */
.asubtitle p {
    margin: 0;
}

.asubtitle p + p {
    margin-top: 0.35rem;
}

.asubtitle :is(strong, b) {
    font-weight: 700;
}

.agenda_speaker {
    cursor: pointer;
    color: var(--text-color);
}

.agenda_speaker .position {
    font-weight: normal;
    font-size: 12px;
    color: var(--text-color);
}

.agenda_speaker .speaker-name {
    position: static;
    bottom: auto;
    padding: 0;
    background: transparent;
}

.agenda_speaker .speaker-img .card-img-bubble {
    height: 65px;
}

.agenda-type {
    background: var(--primary-color);
    color: var(--secondary-text-color, #ffffff);
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    width: auto;
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    margin-bottom: 5px;
    margin-right: 6px;
}

.agenda-room {

}

.agenda-ear {
    margin-right: 15px;
    color: var(--primary-color);
    font-weight: bold;
}

.agenda-ear button {
    background: none;
    border: none;
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 20px 10px;
    position: relative;
    font-weight: bold;
    font-size: 13px;
}

.agenda-ear button.active {
    color: var(--primary-color);
}

.agenda-ear button.active:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    display: block;
    background: var(--primary-color);
}

/* ===== Agenda page — modern look ===== */

/* Day / room tabs as pill segmented control */
#page_event-agenda .agenda-tabs {
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(127, 127, 127, 0.25);
    border-bottom: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
}

#page_event-agenda .agenda-ear {
    margin-right: 0;
}

#page_event-agenda .agenda-ear button {
    padding: 10px 22px;
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--text-color);
    background: rgba(127, 127, 127, 0.12);
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
    transition: background 0.2s ease, color 0.2s ease;
}

#page_event-agenda .agenda-ear button:hover {
    background: rgba(127, 127, 127, 0.2);
    background: color-mix(in srgb, var(--text-color) 14%, transparent);
}

#page_event-agenda .agenda-ear button.active {
    color: var(--secondary-text-color, var(--bg-color));
    background: var(--primary-color);
}

#page_event-agenda .agenda-ear button.active:after {
    display: none;
}

/* Agenda items as cards */
#page_event-agenda .agenda-item:not(.agenda-item--section) {
    align-items: flex-start;
    gap: 18px;
    margin: 0 0 14px;
    padding: 18px 20px;
    border: 1px solid rgba(127, 127, 127, 0.25);
    border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent);
    border-radius: 16px;
    background: rgba(127, 127, 127, 0.06);
    background: color-mix(in srgb, var(--text-color) 4%, transparent);
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

#page_event-agenda .agenda-item:not(.agenda-item--section):hover {
    border-color: var(--primary-color);
    border-color: color-mix(in srgb, var(--primary-color) 55%, transparent);
    background: rgba(127, 127, 127, 0.1);
    background: color-mix(in srgb, var(--text-color) 6%, transparent);
    transform: translateY(-2px);
}

/* Time as a pill on the left rail */
#page_event-agenda .agenda-time {
    position: static;
    left: auto;
    flex: 0 0 auto;
    width: 86px;
    padding: 6px 10px;
    border-radius: 10px;
    text-align: center;
    font-size: 14px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    color: var(--primary-color);
    background: rgba(127, 127, 127, 0.12);
    background: color-mix(in srgb, var(--primary-color) 14%, transparent);
}

#page_event-agenda .agenda-time .agenda-time__part {
    display: block;
}

#page_event-agenda .agenda-title {
    padding-bottom: 0;
}

#page_event-agenda .atitle {
    display: inline-block;
    margin-top: 2px;
    font-size: 19px;
    font-weight: 700;
    transition: color 0.2s ease;
}

#page_event-agenda .atitle:hover {
    color: var(--primary-color) !important;
}

#page_event-agenda .asubtitle {
    margin-top: 4px;
    max-width: 70ch;
    color: var(--text-color);
    opacity: 0.8;
}

/* Speaker rows */
#page_event-agenda .speaker_title,
#page_event-agenda .moderator_title {
    margin-top: 1rem;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.7;
}

#page_event-agenda .agenda-speakers {
    margin-top: 0.5rem;
}

#page_event-agenda .agenda_speaker .speaker-img .card-img-bubble {
    height: 52px;
    transition: box-shadow 0.2s ease;
}

#page_event-agenda .agenda_speaker:hover .speaker-img .card-img-bubble {
    box-shadow: 0 0 0 2px var(--primary-color);
}

#page_event-agenda .agenda_speaker:hover .speaker-name {
    color: var(--primary-color);
}

#page_event-agenda .agenda-sponsor {
    align-self: center;
}

#page_event-agenda .agenda-sponsor img {
    max-width: 110px;
}

/* Live item: highlighted card instead of left border */
#page_event-agenda .agenda-item--current {
    border-left-width: 1px;
    padding-left: 20px;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 1px var(--primary-color);
}

@media (max-width: 576px) {
    #page_event-agenda .agenda-item:not(.agenda-item--section) {
        flex-wrap: wrap;
        gap: 10px;
        padding: 14px;
    }

    #page_event-agenda .agenda-time {
        width: auto;
        min-width: 86px;
    }

    #page_event-agenda .agenda-sponsor img {
        max-width: 90px;
    }
}

.agenda-item--section {
    display: block;
    width: 100%;
    margin: 0.75rem 0 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 16px;
    text-align: center;
    background: var(--primary-color, #1f3f5b);
    background: linear-gradient(120deg, var(--primary-color, #1f3f5b), color-mix(in srgb, var(--primary-color, #1f3f5b) 72%, var(--additional-color, #000000)));
    color: var(--secondary-text-color, #ffffff);
    text-decoration: none;
    border: none;
}

a.agenda-item--section:hover,
a.agenda-item--section:focus {
    color: var(--secondary-text-color, #ffffff);
    text-decoration: none;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

a.agenda-item--section {
    transition: filter 0.2s ease, transform 0.2s ease;
}

/* Non-clickable sections (block titles, breaks): muted outline style */
.agenda-item--section-plain {
    background: transparent;
    border: 1px dashed rgba(127, 127, 127, 0.5);
    border: 1px dashed color-mix(in srgb, var(--text-color) 35%, transparent);
    color: var(--text-color);
}

.agenda-item--section-plain .agenda-section-title {
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 1rem;
}

.agenda-item--section * {
    color: inherit;
}

.agenda-section-title {
    font-weight: 700;
    font-size: 1.2rem;
}

.agenda-section-time {
    margin-top: 0.35rem;
    font-size: 1rem;
    opacity: 0.92;
}

/* Sticky day/room tab bar on the agenda page */
#page_event-agenda .agenda-tabs {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--bg-color);
}

/* Slim room header above the agenda list */
.agenda-room-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(127, 127, 127, 0.25);
    border-bottom: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
}

.agenda-room-header .title {
    position: relative;
    padding-bottom: 10px;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.2;
    color: var(--text-color);
}

.agenda-room-header .title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: var(--primary-color);
}

.agenda-room-header .desc {
    color: var(--text-color);
    font-size: 14px;
}

.agenda-room-header .logo img {
    max-height: 60px;
    max-width: 200px;
}

/* "Happening now" indicator */
.agenda-live-badge {
    display: none;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--secondary-text-color, var(--bg-color));
    background: var(--primary-color);
}

.agenda-live-badge::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    animation: agenda-live-pulse 1.6s ease-in-out infinite;
}

@keyframes agenda-live-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

.agenda-item--current .agenda-live-badge {
    display: inline-flex;
}

.agenda-item--current {
    border-left: 3px solid var(--primary-color);
    padding-left: 14px;
}

/* Speaker lists: compact responsive grid */
.agenda-speakers {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.25rem 1.5rem;
}

/* Empty day placeholder */
.agenda-empty-day {
    margin: 1rem 0 3rem;
    padding: 3.5rem 1.5rem;
    border: 1px dashed rgba(127, 127, 127, 0.5);
    border: 1px dashed color-mix(in srgb, var(--text-color) 35%, transparent);
    border-radius: 16px;
    text-align: center;
    font-size: 18px;
    color: var(--text-color);
    opacity: 0.75;
}

/* ===== Agenda timetable (grid) view ===== */

/* List / grid switcher */
#page_event-agenda .agenda-view-toggle {
    display: inline-flex;
    gap: 6px;
    margin: 1.5rem auto 0;
    padding: 5px;
    border-radius: 999px;
    background: rgba(127, 127, 127, 0.12);
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

#page_event-agenda .agenda-view-toggle__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--text-color);
    font-size: 13px;
    letter-spacing: 0.04em;
    transition: background 0.2s ease, color 0.2s ease;
}

#page_event-agenda .agenda-view-toggle__btn.active {
    background: var(--primary-color);
    color: var(--secondary-text-color, var(--bg-color));
}

/* View switching: grid markup is always rendered, visibility is class-driven */
#page_event-agenda .agenda-gridview {
    display: none;
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto 3rem;
}

#page_event-agenda .agenda-view--grid-active .agenda-gridview {
    display: block;
}

#page_event-agenda .agenda-single-day.agenda-view--grid-active > .tab-content,
#page_event-agenda .agenda-single-day.agenda-view--grid-active .agenda-tabs,
#page_event-agenda .agenda-single-day.agenda-view--grid-active .mobile-select {
    display: none !important;
}

#page_event-agenda .multi_days.agenda-view--grid-active .agenda-room-tabs,
#page_event-agenda .multi_days.agenda-view--grid-active .select_location,
#page_event-agenda .multi_days.agenda-view--grid-active .rooms-tabContent {
    display: none !important;
}

/* The grid is a self-scrolling board (sticky header/gutter work inside one
   scroll container, unlike page-level sticky inside an overflow wrapper) */
.agenda-gridview__scroll {
    overflow: auto;
    /* JS sets --agenda-grid-maxh to "fill from the board's real top to the
       bottom of the viewport" so the whole board sits on screen (no scroll
       past it). The calc() is just a pre-JS fallback. */
    max-height: var(--agenda-grid-maxh, calc(100vh - var(--agenda-tabs-offset, 64px) - 40px));
    min-height: 380px;
    scroll-padding-top: 48px;
    border: 1px solid rgba(127, 127, 127, 0.25);
    border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent);
    border-radius: 16px;
    background: rgba(127, 127, 127, 0.05);
    background: color-mix(in srgb, var(--text-color) 3%, transparent);
}

/* "Scroll for more" affordance: a bottom fade + pill, shown by JS only while
   the board is vertically scrollable and not yet at the bottom. */
.agenda-gridview__more {
    position: absolute;
    left: 1px;
    right: 1px;
    bottom: 1px;
    height: 72px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 10px;
    border-radius: 0 0 16px 16px;
    background: linear-gradient(to bottom, transparent, var(--bg-color));
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.agenda-gridview--has-more .agenda-gridview__more {
    opacity: 1;
}

.agenda-gridview__more-pill {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--bg-color);
    background: var(--primary-color);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25);
    cursor: pointer;
}

.agenda-gridview__head,
.agenda-gridview__lane,
.agenda-gridview__body {
    display: flex;
    min-width: max-content;
}

.agenda-gridview__head {
    position: sticky;
    top: 0;
    z-index: 5;
    background-color: var(--bg-color);
    border-bottom: 1px solid rgba(127, 127, 127, 0.25);
    border-bottom: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
}

.agenda-gridview__corner {
    flex: 0 0 auto;
    width: 56px;
    position: sticky;
    left: 0;
    z-index: 4;
    background-color: var(--bg-color);
}

.agenda-gridview__roomhead {
    flex: 1 1 0;
    min-width: 200px;
    padding: 12px 14px;
    border-left: 1px solid rgba(127, 127, 127, 0.2);
    border-left: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent);
}

.agenda-gridview__roomhead-location {
    display: inline-block;
    margin-bottom: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bg-color);
    background-color: var(--text-color);
    opacity: 0.85;
}

.agenda-gridview__roomhead-name {
    display: block;
    font-size: 15px;
    font-weight: bold;
    color: var(--text-color);
}

/* Full-day / unscheduled items lane */
.agenda-gridview__lane {
    border-bottom: 1px solid rgba(127, 127, 127, 0.25);
    border-bottom: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
}

.agenda-gridview__lane-label {
    display: flex;
    align-items: center;
    padding: 6px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.3;
    color: var(--text-color);
    opacity: 0.7;
}

.agenda-gridview__lane-cell {
    flex: 1 1 0;
    min-width: 200px;
    padding: 6px;
    border-left: 1px solid rgba(127, 127, 127, 0.2);
    border-left: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent);
}

/* Timed body: hour lines from a repeating gradient. The repeat length equals
   one hour in pixels and is fed from PHP via --agenda-hour-height so the lines
   always line up with the hour labels regardless of the px-per-minute scale. */
.agenda-gridview__body {
    position: relative;
    background-image: repeating-linear-gradient(
        to bottom,
        rgba(127, 127, 127, 0.16) 0 1px,
        transparent 1px var(--agenda-hour-height, 72px)
    );
}

.agenda-gridview__gutter {
    flex: 0 0 auto;
    width: 56px;
    position: sticky;
    left: 0;
    z-index: 3;
    background-color: var(--bg-color);
}

.agenda-gridview__hour {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 2px 6px 0 0;
    text-align: right;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    color: var(--text-color);
    opacity: 0.65;
}

.agenda-gridview__col {
    flex: 1 1 0;
    min-width: 200px;
    position: relative;
    border-left: 1px solid rgba(127, 127, 127, 0.2);
    border-left: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent);
}

.agenda-gridview__tiles-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 56px;
    pointer-events: none;
}

/* Tiles */
.agenda-gridview__tile {
    position: absolute;
    display: block;
    overflow: hidden;
    padding: 5px 8px;
    border: 1px solid rgba(127, 127, 127, 0.25);
    border: 1px solid color-mix(in srgb, var(--text-color) 14%, transparent);
    border-left: 3px solid var(--primary-color);
    border-radius: 0 8px 8px 0;
    background-color: var(--bg-color);
    background-image: linear-gradient(0deg, rgba(127, 127, 127, 0.12), rgba(127, 127, 127, 0.12));
    background-image: linear-gradient(0deg, color-mix(in srgb, var(--primary-color) 12%, transparent), color-mix(in srgb, var(--primary-color) 12%, transparent));
    color: var(--text-color);
    font-size: 12px;
    line-height: 1.3;
    text-decoration: none;
    pointer-events: auto;
    transition: border-color 0.2s ease, z-index 0s;
}

a.agenda-gridview__tile:hover,
a.agenda-gridview__tile:focus {
    z-index: 2;
    border-color: var(--primary-color);
    color: var(--text-color);
    text-decoration: none;
}

.agenda-gridview__tile-time {
    display: block;
    font-size: 11px;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    color: var(--primary-color);
}

.agenda-gridview__tile-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
}

.agenda-gridview__tile-type {
    display: inline-block;
    margin-top: 2px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.75;
}

/* Very short slots (≈ <18 min): no room for the stacked time + 2-line title,
   so collapse to a single "time · title" line that stays readable. */
.agenda-gridview__tile--compact {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 3px 8px;
    line-height: 1.2;
    white-space: nowrap;
}

.agenda-gridview__tile--compact .agenda-gridview__tile-time {
    flex: 0 0 auto;
}

.agenda-gridview__tile--compact .agenda-gridview__tile-title {
    display: block;
    -webkit-line-clamp: unset;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 600;
}

.agenda-gridview__tile--compact .agenda-gridview__tile-type {
    display: none;
}

.agenda-gridview__tile--section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-style: dashed;
    border-left: 1px dashed color-mix(in srgb, var(--text-color) 35%, transparent);
    border-radius: 8px;
    background-image: none;
    text-align: center;
}

.agenda-gridview__tile--section.agenda-gridview__tile--compact {
    align-items: center;
    gap: 2px;
    white-space: normal;
}

.agenda-gridview__tile--section .agenda-gridview__tile-time {
    order: 2;
    color: var(--text-color);
}

.agenda-gridview__tile--section .agenda-gridview__tile-title {
    display: block;
    order: 1;
    -webkit-line-clamp: unset;
    width: 100%;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
}

.agenda-gridview__tile--lane {
    position: static;
    margin: 0 0 4px;
}

.agenda-gridview__tile.agenda-item--current {
    box-shadow: 0 0 0 2px var(--primary-color);
}

@media (max-width: 768px) {
    .agenda-gridview__corner,
    .agenda-gridview__gutter {
        width: 44px;
    }

    .agenda-gridview__roomhead,
    .agenda-gridview__lane-cell,
    .agenda-gridview__col {
        min-width: 170px;
    }

    .agenda-gridview__tiles-layer {
        left: 44px;
    }

    .agenda-gridview__roomhead-name {
        font-size: 13px;
    }

    .agenda-gridview__tile {
        font-size: 11px;
    }
}

.agenda-single-day .mobile-select {
    display: none;
}

@media (max-width: 600px) {
    .agenda-single-day .agenda-tabs {
        display: none !important;
    }

    .agenda-single-day .mobile-select {
        width: 90%;
        display: block;
        margin: 0 auto;
    }

    .agenda-room-header .title {
        font-size: 22px;
    }
}

.room_info {
    align-self: start;
    padding: 30px;
    background: linear-gradient(135.27deg, #09242E 0%, rgba(9, 36, 46, 0) 54.57%);
    max-width: 430px;
    margin: 0 30px;
}

.room_info .title {
    font-size: 50px;
    font-weight: bold;
}

.room_info .logo img {
    max-width: 50%;
    max-height: 80px;
}

.custom-modal-dialog {
    width: 75%;
}

@media (max-width: 992px) {
    .agenda-tab {
        height: 300px;
    }
}

.modal-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    width: 50%;
    max-width: 600px;
}


/* FADE-IN EFFECT */
.fade-in {
    opacity: 0;
    transition: opacity 1s ease;
}

.fade-show {
    opacity: 1;
}

#page_speaker-profile .speaker-img {
    max-width: 370px;
}

#page_speaker-profile .speaker-details {
    grid-template-columns: 370px 2.5fr;
    width: 85%;
}

.grid-offset {
    grid-column-start: 2;
}

@media (max-width: 768px) {
    #page_speaker-profile .speaker-details {
        grid-template-columns: 1fr;
        justify-items: center;
        width: 100%;
    }

    .speaker-info {
        max-width: 370px;
    }

    .grid-offset {
        grid-column-start: 1;
    }

    .agenda-time {
        position: relative;
        left: auto;
    }

    .agenda-title {
        padding-left: 20px;
    }
}

.event_info {
    gap: 20px;
    background: var(--flekk-bg);
    white-space: nowrap;
}

.event_info > div {
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .event_info {
        flex-wrap: wrap;
    }

    .event_info > div {
        flex: 0 0 45%;
    }
}

#contacts .card-content {
    height: 100%;
    gap: 0.75rem;
    padding: 1rem 0.75rem;
    text-align: center;
}

#contacts .card-content h5,
#contacts .card-content p {
    margin-bottom: 0;
}

#sponsor_list .row,
#participating_companies_list .row {
    row-gap: 1rem;
}

#sponsor_list a,
#participating_companies_list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
}

#sponsor_list img,
#participating_companies_list img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.sponsor-title,
.participating_company-title {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 700;
}

.logo-img-container a img {
    max-width: 75px;
}

/* Loader */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loader {
    overflow: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.7);
}

.loader #loadingIcon {
    position: absolute;
    left: calc(50% - 60px);
    top: 50%;
    transform: translate(-50%, -50%);
    border: 16px solid #24C2B6;
    border-top: 16px solid blue; /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

.loader #loadingText {
    position: absolute;
    left: calc(50%);
    bottom: 10%;
    border-radius: 5px;
    transform: translate(-50%, -50%);
    width: auto;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 120%;
    color: white;
    background-color: black;
}

#newsletter_modal .close,
#newsletter_modal .modal-title {
    color: var(--primary-color);
}

.modal-body  {
    text-align: center;
    color: black;
}
.modal-title  {
	color: black;
}

@media only screen and (max-width: 420px) and (min-width: 100px) {
    #sponsor_list .top-sponsor.col-6 {
        width: 100% !important;
    }

    #sponsor_list .medium-sponsor.col-6 {
        width: 100% !important;
    }

    #sponsor_list .bottom-sponsor.col-6 {
        width: 100% !important;
    }
}

@media only screen and (max-width: 1200px) and (min-width: 900px) {
    #sponsor_list .medium-sponsor.col-lg-2 {
        width: 33% !important;
    }
}

/* SIGNAGE */
#page_signage_main #ajaxload {
	background: transparent !important;
}
#page_signage_room #ajaxload {
	background: transparent !important;
}

#page_signage_room {
	background: linear-gradient(to bottom, #010101, #225B75);
}

#page_signage_main {
	background: linear-gradient(to bottom, #010101, #225B75);
}

#page_signage_room .sign_agenda-time { font-size: 2.5rem !important; }
#page_signage_room .sign_agenda-type { font-size: 2.5rem !important; }
#page_signage_room .agenda-type { font-size: 2.5rem !important; }
#page_signage_room .sign_atitle { font-size: 3rem !important; }
#page_signage_room .asubtitle { font-size: 3rem !important; }
#page_signage_room .speaker-name { font-size: 2rem !important; }
#page_signage_room .position { font-size: 2rem !important; }
#page_signage_room .speaker_title { font-size: 2rem !important; }



#page_signage_main .sign_agenda-time { font-size: 2.5rem !important; }
#page_signage_main .sign_agenda-type { font-size: 2.5rem !important; }
#page_signage_main .agenda-type { font-size: 2.5rem !important; }
#page_signage_main .sign_atitle { font-size: 3rem !important; }
#page_signage_main .asubtitle { font-size: 3rem !important; }
#page_signage_main .speaker-name { font-size: 2rem !important; }
#page_signage_main .position { font-size: 2rem !important; }
#page_signage_main .speaker_title { font-size: 2rem !important; }
.sign_main_content .agenda-ear button { font-size: 22px !important; }

#page_signage_main .main_footer, #page_signage_room .main_footer {
	z-index: 10000;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
}

.main-room-header {
    height: 512px;
}
.main-room-header .agenda-tabs {
	background-color: rgba(0,0,0,0.5) !important;
}

.sign_main_content .room_sponsor {
	position: fixed;
	top: 40px;
	right: 40px;
	z-index: 1032;
	max-width: 400px;
}

#page_signage_room .room_header h1 {
	font-size: 90px;
}

#page_signage_room #room_foot {
	z-index: 10000;
	position: fixed;
	bottom:	0;
	left: 0;
	right: 0;
}

#page_signage_room {
    overflow: hidden;
}

.sign_main_content {
    background: url("./imgs/AI_Summit_2024_Signage_2160x3840_01.jpg");
    background-size: cover;
    overflow: hidden;
}

.sign_room_info {
    padding: 30px 100px 30px 30px;
    background: linear-gradient(135.27deg, var(--flekk-bg) 0%, transparent 54.57%);
}

.sign_room_info .title {
    font-size: 50px;
    font-weight: bold;
}

.sign_room_info .logo img {
    max-width: 50%;
    max-height: 80px;
}

.room_detail {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sign_agenda-item {
    margin-top: 15px;
    padding-bottom: 10px;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.sign_agenda-item-room {
    padding-left: 150px;
}

.sign_agenda-type {
    background: var(--primary-color);
    font-weight: normal;
    font-size: 16px;
    text-transform: uppercase;
    width: auto;
    display: inline-block;
    padding: 0 5px;
    margin-bottom: 5px;
}

.sign_room_agenda-time {
    color: white;
    font-weight: bold;
    position: absolute;
    left: 50px;
}

.not-current-agenda-item .sign_agenda-title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.sign_agenda-title {
    font-size: 16px;
    font-weight: bold;
    padding-bottom: 30px;
}

.sign_atitle {
    font-size: 20px;
}

.sign_speaker-img img {
    width: 70px;
}

.sign_room_speaker-img img {
    width: 90px;
}

.signage_speaker_slider .slick-list .slick-track {
    margin: 0;
}

.current-agenda-item {
    position: relative;
    background: linear-gradient(-90deg, var(--primary-color) 20%, transparent 80%);
    z-index: 102;
}

.current-agenda-item:after {
    content: 'MOST';
    font-size: 55px; /*this was changed*/
    font-weight: bold;
    position: absolute;
    color: #FFFFFF;
    transform-origin: center center;
    transform: rotate(-90deg) translate(25%, 0);
    top: 50%;
    right: 0;
    z-index: 103;
}

.current-agenda-item:before {
    height: 100%;
    width: 12%;
    content: '';
    background-color: var(--primary-color);
    font-size: 60px;
    font-weight: bold;
    position: absolute;
    color: var(--secondary-color-dark);;
    transform-origin: center center;
    top: 0;
    right: 0;
    z-index: 101;
}

.empty-room {
    height: 300px;
}

/*** ROOM-NEW ***/
.room-bg {
    background: url("./imgs/AI_Summit_2024_Signage_2160x3840_01.jpg");
}

.room_header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 512px;
    z-index: 2;
}

.room-logo img {
	margin-top: 3%;
    filter: brightness(20);
    max-height: 75px;
    object-fit: contain;
}

.room_foot {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 512px;
    z-index: 2;
    background: url("./imgs/AI_Summit_2024_Signage_room_footer.jpg");
}

/*** ROOM-NEW ***/
.room_header {
    position: relative;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .1); /*this was changed*/
}

.room_header_bottom {
    position: absolute;
    height: 100px;
    width: 100%;
    bottom: -100px;
    left: 0;
    background: linear-gradient(180deg, var(--bg-color) 80%, transparent); /*this was changed*/
    z-index: 1000;
}

.room_footer {
    position: absolute;
    height: 512px;
    width: 100%;
    bottom: 0;
    left: 0;
    background: transparent;
    z-index: 1000;
}

.room_header h1 {
    font-size: 40px;
    padding-left: 40px;
    padding-bottom: 10px;
}

.room_header h2 {
    font-size: 30px;
    padding-left: 40px;
    padding-bottom: 85px;
}

.room_sponsor_img {
    margin-top: 30px;
    padding: 45px 30px 0 30px;
    object-fit: contain;
    max-height: 90px;
}

.signage_sponsor_slider .slick-list .slick-track {
    display: flex !important;
    align-items: center !important;
}

.detail_header_bottom {
    position: absolute;
    height: 181px;
    width: 100%;
    bottom: -180px;
    left: 0;
    background: linear-gradient(180deg, var(--bg-color) 40%, transparent); /*this was changed*/
    z-index: 1000;
}

.signage-scroller {
    overflow-y: auto; /* Enable vertical scrolling */
    max-height: 72vh;
    scroll-behavior: smooth; /* Enable smooth scrolling */
}


::-webkit-scrollbar {
    display: none;
    width: 0;
}

.footer-for-appqr {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 250px;
    width: 100%;
    background-color: var(--secondary-color-dark);
}


.play-store-fixed {
    position: sticky;
    z-index: 1005;
    bottom: 0;
    transform: translateX(405px);
}

.app-store-fixed {
    position: sticky;
    z-index: 1006;
    bottom: 0;
    transform: translateX(-405px);
}

.explore-media,
.about-event-media {
    width: 100%;
}

.explore__content {
    margin: 0;
}

.explore-media {
    overflow: hidden;
    border-radius: var(--event-surface-radius);
    margin-left: 0;
    margin-right: auto;
}

.explore-img {
    display: block;
    width: 100%;
    height: auto;
}

.text-container {
    position: relative;
    margin: auto;
    text-align: center;
    max-width: 500px;

}

.text-container-img {
    position: absolute;
    max-width: 200px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}

/* Select language */
.languagepicker {
    position: absolute;
    top: 15px;
    left: 130px;
    background-color: #FFF;
    display: inline-block;
    padding: 0;
    height: 40px;
    overflow: hidden;
    transition: all .3s ease;
    margin: 0 0 10px 0;
    vertical-align: top;
    z-index: 1100;
}

.languagepicker a {
    color: #000;
    text-decoration: none;
}

.languagepicker li {
    display: block;
    padding: 0 20px;
    line-height: 40px;
    border-top: 1px solid #EEE;
}

.languagepicker li:hover {
    background-color: #EEE;
}

.languagepicker a:first-child li {
    border: none;
    background: #FFF;
}

.languagepicker li img {
    margin-right: 5px;
    margin-top: -3px;
}

/* Agenda */
.content .container-fluid.dark-bg {
    background-color: var(--bg-color) !important;
}

.text-white.multi_days {
    color: var(--text-color) !important;
}

.multi_days .agenda-ear button {
    font-size: 16px !important;
    font-weight: 600;
    color: var(--text-color) !important;
}

.multi_days .agenda-ear button.active {
    font-weight: bold;
    color: var(--secondary-text-color, var(--bg-color)) !important;
}

.multi_days .agenda-tabs {
    background-color: var(--bg-color) !important;
}

.multi_days .atitle,
.multi_days .asubtitle,
.multi_days .title,
.multi_days .desc,
.multi_days .agenda_speaker .position,
.speaker_title,
.moderator_title {
    color: var(--text-color) !important;
}

.multi_days .agenda-type {
    color: var(--secondary-text-color, #fff) !important;
}

.multi_days .logo img {
    max-width: 250px;
}

/* Multi-day agenda: horizontal room tab bar (same pattern as the single-day room tabs) */
.agenda-room-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 2rem;
}

/* Room selector sticks right below the sticky day tab bar
   (--agenda-tabs-offset is measured by agenda.js) */
#page_event-agenda .agenda-room-tabs {
    position: sticky;
    top: var(--agenda-tabs-offset, 64px);
    z-index: 99;
    padding: 10px 0;
    background-color: var(--bg-color);
}

@media (max-width: 1000px) {
    #page_event-agenda .select_location {
        position: sticky;
        top: var(--agenda-tabs-offset, 64px);
        z-index: 99;
    }
}

.agenda-room-tabs button {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 10px 18px;
    text-align: left;
    border: 1px solid rgba(127, 127, 127, 0.25);
    border: 1px solid color-mix(in srgb, var(--text-color) 12%, transparent);
    border-radius: 14px;
    background: rgba(127, 127, 127, 0.06);
    background: color-mix(in srgb, var(--text-color) 4%, transparent);
    color: var(--text-color);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.agenda-room-tabs button:hover {
    border-color: var(--primary-color);
    border-color: color-mix(in srgb, var(--primary-color) 55%, transparent);
}

.agenda-room-tabs button span.location {
    padding: 1px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--bg-color);
    background-color: var(--text-color);
    opacity: 0.85;
}

.agenda-room-tabs button span.room {
    font-size: 17px;
    font-weight: bold;
    color: inherit;
}

.agenda-room-tabs button.active {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.agenda-room-tabs button.active span.location {
    color: var(--secondary-text-color, var(--bg-color));
    background-color: var(--primary-color);
    opacity: 1;
}

.agenda-type.bg-dark {
    background-color: var(--additional-color) !important;
}

#select_location, .select_location {
    display: none;
}

#accessibility_settings_toggle {
    bottom: 90px !important;
}

@media (max-width: 1000px) {
    #select_location, .select_location {
        display: block;
        overflow: hidden;
    }

    .agenda-room-tabs {
        display: none;
    }
}

/* Ambassador */
#ambassador #image-cont img {
    max-width: 450px;
}
#ambassador .card-img-bubble {
    border-radius: 50% 50% 50% 0;
    filter: grayscale(0%);
    transition: all .5s;
}

#ambassador #text-content {
    flex-grow: 1;
}

.about-event__content {
    margin: 0;
}

.about-event-media {
    min-height: 300px;
    overflow: hidden;
    border-radius: var(--event-surface-radius);
    margin-left: 0;
    margin-right: auto;
}

.about-event-media iframe,
.about-event-media video,
.about-event-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
}

.about-event-meta {
    margin-top: 1.5rem;
    border-radius: 18px;
    overflow: hidden;
}

.about-event-meta__item {
    min-height: 82px;
}

.about-event-meta__icon {
    flex: 0 0 72px;
    width: 72px;
    min-width: 72px;
    align-self: stretch;
    border-right: 1px solid rgba(255, 255, 255, 0.4);
}

.location-module__grid {
    margin: 0;
}

.location-module__logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 96px;
}

.location-module__map {
    width: 100%;
    overflow: hidden;
    border-radius: var(--event-surface-radius);
}

.location-module__map iframe {
    display: block;
    width: 100%;
    min-height: 350px;
    border: 0;
}

@media all and (max-width: 1200px) {
    #ambassador #image-cont {
        max-width: 300px;
        max-height: 300px;
    }
}
@media (max-width: 992px) {
    .ambassador-content-wrapper {
        flex-direction: column !important;
    }

    #ambassador #image-cont {
        max-width: 100% !important;
        text-align: center;
        margin-bottom: 1rem;
    }

    #ambassador #image-cont img {
        width: 100%;
        max-width: 300px;
        height: auto;
    }

    #ambassador .py-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .about-event-media {
        min-height: 260px;
    }
}

@media (max-width: 768px) {
    .event-card__body {
        padding: 1rem;
    }

    .about-event-meta__item {
        min-height: 72px;
    }
}

body.event-page-style--modern {
    --event-modern-shell-radius: 22px;
    --event-modern-shell-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
    background:
        radial-gradient(circle at top left, rgba(214, 228, 255, 0.55), transparent 30%),
        linear-gradient(180deg, #f5f8fc 0%, #ffffff 28%, #eef3f8 100%);
}

body.event-page-style--modern .content {
    color: var(--secondary-color-dark);
}

body.event-page-style--modern .container-fluid.dark-bg {
    background:
        radial-gradient(circle at top, rgba(58, 97, 134, 0.42), transparent 44%),
        linear-gradient(160deg, #0d1727 0%, #1b3144 48%, #102131 100%);
}

body.event-page-style--modern .footer {
    padding-inline: 1rem;
}

body.event-page-style--modern .footer > .container {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding: 1.5rem 1.5rem 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--event-modern-shell-radius);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: var(--event-modern-shell-shadow);
    backdrop-filter: blur(18px);
}

body.event-page-style--modern .footer-navbar {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

body.event-page-style--modern .footer-copy,
body.event-page-style--modern .footer-copy a {
    color: var(--secondary-color-dark);
}

body.event-page-style--modern .footer-copy.small {
    color: rgba(15, 23, 42, 0.66) !important;
}

.event-module-variant--modern {
    --event-modern-radius: 22px;
    --event-modern-radius-sm: 16px;
    --event-modern-border: rgba(15, 23, 42, 0.08);
    --event-modern-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
    --event-modern-shadow-soft: 0 16px 40px rgba(15, 23, 42, 0.08);
    --event-modern-surface: rgba(255, 255, 255, 0.74);
    position: relative;
}

.event-module-variant--modern :is(h1, h2, h3, h4, h5) {
    letter-spacing: -0.03em;
}

.event-module-variant--modern :is(.btn, .event-border-btn) {
    border-radius: 999px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-module-variant--modern :is(.btn, .event-border-btn):hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16);
}

.event-module-variant--about-event #about_event > .container,
.event-module-variant--ambassador #ambassador,
.event-module-variant--app-promo #app_promo > .container,
.event-module-variant--call-to-action #call_to_action > .container,
.event-module-variant--conference #conference > .container,
.event-module-variant--contacts #contacts > .container,
.event-module-variant--cta-block-bottom #cta_block_bottom > .container,
.event-module-variant--cta-block-top #cta_block_top > .container,
.event-module-variant--explore #explore > .container,
.event-module-variant--event-registration #event-registration > .container,
.event-module-variant--faq #faq > .container,
.event-module-variant--gallery #gallery > .container,
.event-module-variant--highlighted-gallery #gallery.container,
.event-module-variant--location #location > .container,
.event-module-variant--news #news > .container,
.event-module-variant--newsletter #newsletter > .container,
.event-module-variant--participants #participants,
.event-module-variant--price #price > .container,
.event-module-variant--program #program_modul > .container,
.event-module-variant--quotes #quote-page,
.event-module-variant--related-events #related_events > .container,
.event-module-variant--speakers #speakers > .container,
.event-module-variant--sponsors #sponsor_list,
.event-module-variant--text-content .text-content {
    border: 1px solid var(--event-modern-border);
    border-radius: var(--event-modern-radius);
    box-shadow: var(--event-modern-shadow);
    overflow: hidden;
}

.event-module-variant--event-menu .nav-container {
    padding-inline: 1rem;
}

.event-module-variant--event-menu {
    position: sticky;
    top: 0;
    z-index: 1100;
}

.event-module-variant--event-menu .navbar {
    margin-top: 1rem;
    padding-inline: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: calc(var(--event-modern-radius) + 4px);
    background-color: var(--bg-color);
    background: color-mix(in srgb, var(--bg-color) 78%, transparent);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: var(--event-modern-shadow);
}

.event-module-variant--event-menu .event-menu-links {
    gap: 0.5rem 1rem;
}

.event-module-variant--event-menu :is(.event-menu-link, .event-menu-action, .event-menu-overflow-toggle) {
    font-size: 0.84rem;
    letter-spacing: 0.08em;
}

.event-module-variant--hero-header .hero-bg {
    min-height: clamp(560px, 72vw, 760px);
    padding: 1rem;
    overflow: hidden;
    border-radius: 0 0 calc(var(--event-modern-radius) + 10px) calc(var(--event-modern-radius) + 10px);
}

.event-module-variant--hero-header .hero-bg picture,
.event-module-variant--hero-header .hero-header-img {
    display: block;
    width: 100%;
    height: 100%;
}

.event-module-variant--hero-header .hero-bg:after {
    background: linear-gradient(180deg, rgba(6, 10, 18, 0.18) 0%, rgba(6, 10, 18, 0.78) 100%);
}

.event-module-variant--hero-header .hero-header-text {
    max-width: min(720px, 100%);
    margin: 0 auto 1.5rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: calc(var(--event-modern-radius) - 2px);
    background: rgba(6, 10, 18, 0.42);
    backdrop-filter: blur(12px);
}

.event-module-variant--event-title .container-fluid {
    padding-inline: 1rem;
}

.event-module-variant--event-title :is(p, h1, h3, h5) {
    max-width: min(920px, 100%);
    text-align: center;
}

.event-module-variant--event-title h1 {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

.event-module-variant--about-event #about_event > .container,
.event-module-variant--explore #explore > .container,
.event-module-variant--app-promo #app_promo > .container,
.event-module-variant--location #location > .container,
.event-module-variant--program #program_modul > .container,
.event-module-variant--text-content .text-content {
    padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.event-module-variant--about-event .about-event-media,
.event-module-variant--explore .explore-media,
.event-module-variant--app-promo .img-cover,
.event-module-variant--location .location-module__map,
.event-module-variant--gallery .event-gallery-image,
.event-module-variant--highlighted-gallery .event-gallery-image {
    border-radius: calc(var(--event-modern-radius) - 4px);
}

.event-module-variant--about-event .about-event-meta {
    border: 1px solid var(--event-modern-border);
    border-radius: calc(var(--event-modern-radius) - 2px);
    box-shadow: var(--event-modern-shadow-soft);
}

.event-module-variant--call-to-action .early-bird-container,
.event-module-variant--cta-block-bottom .cta-block,
.event-module-variant--cta-block-top .cta-block {
    padding: 0 !important;
}

.event-module-variant--call-to-action .row,
.event-module-variant--cta-block-bottom .row,
.event-module-variant--cta-block-top .row,
.event-module-variant--newsletter .row {
    align-items: center;
}

.event-module-variant--call-to-action #call_to_action > .container,
.event-module-variant--cta-block-bottom #cta_block_bottom > .container,
.event-module-variant--cta-block-top #cta_block_top > .container,
.event-module-variant--newsletter #newsletter > .container {
    padding-inline: clamp(1.25rem, 3vw, 2.25rem);
}

.event-module-variant--newsletter .intro {
    padding-right: clamp(0rem, 2vw, 1.5rem);
}

.event-module-variant--newsletter .form-control {
    min-height: 52px;
    border-radius: 999px;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: none;
}

.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card,
.event-module-variant--price .ticket-slider .card,
.event-module-variant--faq .faq-box,
.event-module-variant--contacts .card-content,
.event-module-variant--participants .participant-slider .col-4 {
    border: 1px solid var(--event-modern-border);
    border-radius: calc(var(--event-modern-radius) - 2px);
    box-shadow: var(--event-modern-shadow-soft);
    overflow: hidden;
}

.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card {
    height: calc(100% - 1.5rem);
}

.event-module-variant--news .event-card__body,
.event-module-variant--conference .event-card__body,
.event-module-variant--related-events .event-card__body {
    gap: 1rem;
    padding: 1.25rem;
}

.event-module-variant--news .category-label,
.event-module-variant--conference .category-label,
.event-module-variant--related-events .category-label {
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.14);
}

.event-module-variant--price .price-card-deck {
    gap: 1rem;
}

.event-module-variant--price .ticket-slider .card {
    margin: 0;
    padding: 0;
}

.event-module-variant--price .ticket-slider .card-header,
.event-module-variant--price .ticket-slider .card-body,
.event-module-variant--price .ticket-slider .price_btn_cont {
    padding-inline: 1.5rem;
}

.event-module-variant--price .ticket-slider .card-header {
    padding-top: 1.5rem;
}

.event-module-variant--price .ticket-slider .price_btn_cont {
    padding-bottom: 1.5rem;
}

.event-module-variant--faq .faq-box {
    margin-bottom: 1rem;
}

.event-module-variant--faq .faq-box .btn-link {
    text-decoration: none;
    padding: 1.25rem 1.5rem;
}

.event-module-variant--contacts .card-body {
    padding: 0;
}

.event-module-variant--contacts .row > div {
    display: flex;
}

.event-module-variant--contacts .card-content {
    width: 100%;
    height: 100%;
    padding: 1.5rem;
    align-items: flex-start !important;
    text-align: left;
}

.event-module-variant--speakers .speaker-slider .cp,
.event-module-variant--participants .participant-slider .col-4 {
    height: 100%;
}

.event-module-variant--speakers .speaker-slider .cp,
.event-module-variant--participants .participant-slider .col-4 {
    padding: 1rem;
}

.event-module-variant--speakers .speaker-img,
.event-module-variant--participants .participant-img {
    padding: 1rem 1rem 0;
}

.event-module-variant--speakers .speaker-name,
.event-module-variant--participants .speaker-name {
    margin-top: 1rem;
    border-radius: calc(var(--event-modern-radius) - 8px);
}

.event-module-variant--speakers .speaker-slider .cp > .mt-2,
.event-module-variant--participants .participant-slider .col-4 > .pt-2 {
    padding: 0 1rem 1.25rem;
}

.event-module-variant--participants #participants {
    width: min(100%, 1120px) !important;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.event-module-variant--quotes #quote-page {
    gap: 0.75rem;
    max-width: 920px;
    margin: 0 auto;
    padding-inline: clamp(1.5rem, 4vw, 3rem) !important;
}

.event-module-variant--quotes #quote-page img:last-of-type {
    box-shadow: var(--event-modern-shadow-soft);
}

.event-module-variant--sponsors #sponsor_list {
    gap: 0.25rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.event-module-variant--sponsors #sponsor_list a {
    min-height: 120px;
    padding: 1rem;
    border: 1px solid var(--event-modern-border);
    border-radius: calc(var(--event-modern-radius) - 6px);
    background: var(--event-modern-surface);
    box-shadow: none;
}

.event-module-variant--sponsors #sponsor_list img {
    max-width: 100%;
}

.event-module-variant--text-content .text-content {
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.event-module-variant--ambassador #ambassador {
    padding: 0;
}

.event-module-variant--ambassador .ambassador-content-wrapper {
    gap: clamp(1.5rem, 3vw, 2.5rem);
    padding: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.event-module-variant--ambassador #text-content {
    padding-inline: 0 !important;
}

.event-module-variant--location .location-module__grid {
    gap: 0;
}

.event-module-variant--location .location-module__map {
    box-shadow: var(--event-modern-shadow-soft);
}

@media (max-width: 992px) {
    .event-module-variant--event-menu .navbar {
        margin-top: 0.75rem;
        padding-inline: 1rem;
    }

    .event-module-variant--hero-header .hero-bg {
        min-height: 500px;
        border-radius: 0 0 var(--event-modern-radius) var(--event-modern-radius);
    }

    .event-module-variant--about-event #about_event > .container,
    .event-module-variant--explore #explore > .container,
    .event-module-variant--app-promo #app_promo > .container,
    .event-module-variant--call-to-action #call_to_action > .container,
    .event-module-variant--cta-block-bottom #cta_block_bottom > .container,
    .event-module-variant--cta-block-top #cta_block_top > .container,
    .event-module-variant--location #location > .container,
    .event-module-variant--newsletter #newsletter > .container,
    .event-module-variant--program #program_modul > .container,
    .event-module-variant--text-content .text-content {
        padding-inline: 1rem;
    }

    .event-module-variant--participants #participants {
        width: calc(100% - 1.5rem) !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 768px) {
    body.event-page-style--modern {
        --event-modern-shell-radius: 18px;
    }

    body.event-page-style--modern .footer {
        padding-inline: 0.75rem;
    }

    body.event-page-style--modern .footer > .container {
        padding: 1rem 1rem 0.5rem;
    }

    .event-module-variant--modern {
        --event-modern-radius: 18px;
        --event-modern-radius-sm: 14px;
    }

    .event-module-variant--hero-header .hero-header-text {
        padding: 1rem;
    }

    .event-module-variant--news .event-card,
    .event-module-variant--conference .event-card,
    .event-module-variant--related-events .event-card {
        height: auto;
    }

    .event-module-variant--contacts .card-content,
    .event-module-variant--faq .faq-box .btn-link,
    .event-module-variant--price .ticket-slider .card-header,
    .event-module-variant--price .ticket-slider .card-body,
    .event-module-variant--price .ticket-slider .price_btn_cont,
    .event-module-variant--quotes #quote-page,
    .event-module-variant--sponsors #sponsor_list {
        padding-inline: 1rem;
    }
}

/* Modern page style - stronger alternative */
body.event-page-style--modern {
    --event-modern-shell-radius: 28px;
    --event-modern-shell-shadow: 0 42px 100px rgba(15, 23, 42, 0.16);
    --event-modern-section-gap: clamp(1.25rem, 4vw, 3.5rem);
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at top left, rgba(85, 126, 255, 0.16), transparent 24%),
        radial-gradient(circle at top right, rgba(0, 189, 255, 0.12), transparent 20%),
        linear-gradient(180deg, #edf4fb 0%, #ffffff 18%, #f5f8fc 52%, #edf2f7 100%);
}

body.event-page-style--modern .content {
    flex: 1 0 auto;
}

body.event-page-style--modern .footer {
    flex-shrink: 0;
}

body.event-page-style--modern .footer > .container {
    background: rgba(255, 255, 255, 0.9);
}

.event-module-variant--modern {
    position: relative;
}

.event-module-variant--modern:not(.event-module-variant--event-menu):not(.event-module-variant--hero-header) {
    margin-block: var(--event-modern-section-gap);
    padding-inline: clamp(0.75rem, 2vw, 1.5rem);
}

.event-module-variant--modern:not(.event-module-variant--event-menu):not(.event-module-variant--hero-header)::before {
    content: "";
    position: absolute;
    inset: 1.5rem auto auto 2rem;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: var(--primary-color);
    opacity: 0.08;
    filter: blur(26px);
    pointer-events: none;
}

.event-module-variant--modern > * {
    position: relative;
    z-index: 1;
}

.event-module-variant--modern :is(p, li, .card-text, .contact-description) {
    line-height: 1.72;
}

.event-module-variant--modern :is(h1, h2) {
    font-weight: 800;
    letter-spacing: -0.05em;
}

.event-module-variant--modern :is(h3, h4, h5) {
    font-weight: 700;
    letter-spacing: -0.03em;
}

.event-module-variant--modern :is(.btn, .event-border-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding-inline: 1.25rem;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #call_to_action > .container,
    #conference > .container,
    #contacts > .container,
    #cta_block_bottom > .container,
    #cta_block_top > .container,
    #explore > .container,
    #event-registration > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #newsletter > .container,
    #price > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 248, 252, 0.88) 100%);
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #call_to_action > .container,
    #conference > .container,
    #contacts > .container,
    #cta_block_bottom > .container,
    #cta_block_top > .container,
    #explore > .container,
    #event-registration > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #newsletter > .container,
    #price > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
)::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, var(--primary-color), var(--additional-color), transparent 85%);
    opacity: 0.9;
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #call_to_action > .container,
    #conference > .container,
    #contacts > .container,
    #cta_block_bottom > .container,
    #cta_block_top > .container,
    #explore > .container,
    #event-registration > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #newsletter > .container,
    #price > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
)::after {
    content: "";
    position: absolute;
    inset: auto -80px -100px auto;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: var(--primary-color);
    opacity: 0.08;
    filter: blur(24px);
    pointer-events: none;
}

.event-module-variant--event-menu .nav-container {
    padding-inline: clamp(0.75rem, 2vw, 1.5rem);
}

.event-module-variant--event-menu .navbar {
    max-width: 1380px;
    margin-top: 1.25rem;
    padding-inline: clamp(1rem, 2.4vw, 1.75rem);
    border-radius: 999px;
    background-color: var(--bg-color);
    background: color-mix(in srgb, var(--bg-color) 78%, transparent);
    backdrop-filter: blur(22px) saturate(1.1);
    -webkit-backdrop-filter: blur(22px) saturate(1.1);
    box-shadow: 0 28px 80px rgba(5, 10, 20, 0.26);
}

.event-module-variant--event-menu .event-menu-links {
    gap: 0.25rem 1rem;
}

.event-module-variant--event-menu :is(.event-menu-link, .event-menu-action, .event-menu-overflow-toggle) {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    opacity: 0.92;
}

.event-module-variant--hero-header {
    margin-top: -0.65rem;
}

.event-module-variant--hero-header .hero-bg {
    min-height: clamp(620px, 78vw, 860px);
    align-items: flex-start !important;
    justify-content: flex-end;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 0 0 36px 36px;
    box-shadow: var(--event-modern-shell-shadow);
}

.event-module-variant--hero-header .hero-bg:after {
    background:
        linear-gradient(180deg, rgba(6, 10, 18, 0.08) 0%, rgba(6, 10, 18, 0.72) 62%, rgba(6, 10, 18, 0.92) 100%);
}

.event-module-variant--hero-header .hero-header-text {
    align-self: flex-start;
    width: min(760px, calc(100% - 2rem));
    margin: 0 0 2rem clamp(0.5rem, 4vw, 3.5rem);
    padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: calc(var(--event-modern-radius) + 2px);
    background:
        linear-gradient(140deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 100%);
    box-shadow: 0 30px 60px rgba(5, 10, 20, 0.24);
    backdrop-filter: blur(18px);
}

.event-module-variant--hero-header .hero-header-text p {
    margin-bottom: 0.85rem !important;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.88;
}

.event-module-variant--hero-header .hero-header-text h1 {
    max-width: 10ch;
    margin-bottom: 0.5rem !important;
    font-size: clamp(3rem, 8vw, 6rem);
    line-height: 0.92;
    overflow-wrap: break-word;
    word-break: break-word;
}

.event-module-variant--hero-header .hero-header-text h3 {
    max-width: 24ch;
    font-size: clamp(1.05rem, 2.4vw, 1.55rem);
    font-weight: 500;
    line-height: 1.45;
    opacity: 0.92;
    overflow-wrap: break-word;
    word-break: break-word;
}

.event-module-variant--event-title .container-fluid {
    padding-top: 1rem;
}

.event-module-variant--event-title h1 {
    max-width: 28ch;
    margin-inline: auto;
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    line-height: 1.15;
}

.event-module-variant--event-title :is(p, h3, h5) {
    max-width: 52rem;
    margin-inline: auto;
}

.event-module-variant--about-event #about_event > .container,
.event-module-variant--explore #explore > .container,
.event-module-variant--app-promo #app_promo > .container,
.event-module-variant--location #location > .container,
.event-module-variant--text-content .text-content {
    padding-block: clamp(1.75rem, 4vw, 3rem) !important;
}

.event-module-variant--about-event .about-event__content,
.event-module-variant--explore .explore__content,
.event-module-variant--app-promo .row,
.event-module-variant--location .location-module__grid {
    align-items: center !important;
    column-gap: clamp(0.5rem, 0.5vw, 0.5rem);
}

.event-module-variant--app-promo .col-lg-7 > p:first-child,
.event-module-variant--location .col-lg-4 > p:first-child {
    margin-bottom: 1rem !important;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.72;
}

.event-module-variant--about-event :is(h1, h2),
.event-module-variant--explore :is(h1, h2),
.event-module-variant--app-promo :is(h1, h2),
.event-module-variant--location :is(h1, h2) {
    max-width: 15ch;
    margin-bottom: 1rem;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 0.94;
}

.event-module-variant--text-content :is(h1, h2) {
    max-width: 100%;
    margin-bottom: 1rem;
    line-height: 1.1;
}

.event-module-variant--about-event .about-event-media,
.event-module-variant--explore .explore-media,
.event-module-variant--app-promo .col-lg-5 .img-cover {
    aspect-ratio: 4 / 5;
    min-height: clamp(360px, 48vw, 560px);
    border: 10px solid rgba(255, 255, 255, 0.62);
    box-shadow: 0 32px 72px rgba(15, 23, 42, 0.18);
    background: #ebf1f8;
}

.event-module-variant--about-event .about-event-media {
    transform: translateY(-18px);
}

.event-module-variant--explore .explore-media,
.event-module-variant--app-promo .col-lg-5 .img-cover {
    transform: translateY(18px);
}

.event-module-variant--about-event .about-event-meta {
    margin-top: 2rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.1);
}

.event-module-variant--about-event .about-event-meta__item {
    padding-right: 1rem;
}

.event-module-variant--location .location-module__map {
    min-height: 100%;
    border: 10px solid rgba(255, 255, 255, 0.62);
    box-shadow: 0 32px 72px rgba(15, 23, 42, 0.18);
}

.event-module-variant--location .location-module__map iframe {
    min-height: 520px;
}

.event-module-variant--news #news > .container,
.event-module-variant--conference #conference > .container,
.event-module-variant--related-events #related_events > .container,
.event-module-variant--gallery #gallery > .container,
.event-module-variant--event-registration #event-registration > .container,
.event-module-variant--speakers #speakers > .container,
.event-module-variant--price #price > .container,
.event-module-variant--faq #faq > .container,
.event-module-variant--contacts #contacts > .container,
.event-module-variant--newsletter #newsletter > .container,
.event-module-variant--call-to-action #call_to_action > .container,
.event-module-variant--cta-block-bottom #cta_block_bottom > .container,
.event-module-variant--cta-block-top #cta_block_top > .container {
    padding-block: clamp(1.75rem, 4vw, 3rem) !important;
}

.event-module-variant--news :is(h1, h2),
.event-module-variant--conference :is(h1, h2),
.event-module-variant--related-events :is(h1, h2),
.event-module-variant--gallery :is(h1, h2),
.event-module-variant--event-registration :is(h1, h2),
.event-module-variant--speakers :is(h1, h2),
.event-module-variant--price :is(h1, h2),
.event-module-variant--faq :is(h1, h2),
.event-module-variant--contacts :is(h1, h2),
.event-module-variant--newsletter :is(h1, h2) {
    font-size: clamp(2.15rem, 4vw, 3.7rem);
}

.event-module-variant--gallery .d-flex.align-items-center.justify-content-between,
.event-module-variant--news .d-flex.align-items-center.justify-content-between,
.event-module-variant--speakers .d-flex.align-items-center.justify-content-between,
.event-module-variant--related-events .conf-title {
    gap: 1rem 2rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.event-module-variant--gallery .d-flex.align-items-center.justify-content-between > div,
.event-module-variant--news p.mb-3,
.event-module-variant--related-events p.mb-3,
.event-module-variant--event-registration #event-registration > .container > .mb-4,
.event-module-variant--speakers p.mb-0,
.event-module-variant--price p.text-center,
.event-module-variant--faq .col-lg-5 > div,
.event-module-variant--newsletter .intro > p {
    max-width: 58ch;
}

.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card {
    position: relative;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 246, 252, 0.92) 100%);
}

.event-module-variant--news .event-card::after,
.event-module-variant--conference .event-card::after,
.event-module-variant--related-events .event-card::after {
    content: "";
    position: absolute;
    inset: auto 1.25rem 0.9rem 1.25rem;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary-color), transparent 88%);
    opacity: 0.8;
}

.event-module-variant--news .event-card__media,
.event-module-variant--conference .event-card__media,
.event-module-variant--related-events .event-card__media {
    aspect-ratio: 5 / 4;
}

.event-module-variant--news .event-card__media img,
.event-module-variant--conference .event-card__media img,
.event-module-variant--related-events .event-card__media img,
.event-module-variant--gallery .event-gallery-image {
    transition: transform 0.6s ease, filter 0.6s ease;
}

.event-module-variant--news .event-card:hover .event-card__media img,
.event-module-variant--conference .event-card:hover .event-card__media img,
.event-module-variant--related-events .event-card:hover .event-card__media img,
.event-module-variant--gallery .event-gallery-image:hover {
    transform: scale(1.05);
    filter: saturate(1.06);
}

.event-module-variant--news .card-title,
.event-module-variant--conference .card-title,
.event-module-variant--related-events .card-title {
    font-size: 1.3rem;
    line-height: 1.15;
}

.event-module-variant--news .category-label,
.event-module-variant--conference .category-label,
.event-module-variant--related-events .category-label {
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.event-module-variant--news .event-card__actions .btn,
.event-module-variant--conference .event-card__actions .btn,
.event-module-variant--related-events .event-card__actions .btn {
    width: 100%;
}

.event-module-variant--gallery .gallery-slider {
    margin-top: 1.5rem;
}

.event-module-variant--gallery .event-gallery-image {
    border: 8px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 26px 60px rgba(15, 23, 42, 0.16);
}

.event-module-variant--event-registration #event-registration > .container {
    padding-inline: clamp(1.25rem, 3vw, 2.25rem);
    background-clip: padding-box;
    border-bottom-color: transparent;
}

.event-module-variant--event-registration #event-registration > .container::after {
    display: none !important;
}

.event-module-variant--event-registration #event-registration h2 {
    max-width: 16ch;
    margin-bottom: 0.35rem;
    line-height: 0.98;
}

.event-module-variant--event-registration .event-registration-form-wrap {
    margin-top: clamp(1.25rem, 3vw, 2rem);
}

.event-module-variant--event-registration .event-registration-success__actions {
    margin-top: 1rem;
}

.event-module-variant--event-registration .event-registration-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
    align-items: end;
}

.event-module-variant--event-registration .event-registration-field {
    margin-bottom: 0 !important;
}

.event-module-variant--event-registration .event-registration-field--textarea,
.event-module-variant--event-registration .event-registration-field--consent,
.event-module-variant--event-registration .event-registration-field--checkbox,
.event-module-variant--event-registration .event-registration-field--interest-tags,
.event-module-variant--event-registration .event-registration-form__submit {
    grid-column: 1 / -1;
}

.event-module-variant--event-registration :is(.form-label, legend.form-label, .form-check-label) {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.event-module-variant--event-registration :is(.form-control, .form-select) {
    min-height: 3.25rem;
    border: 1px solid color-mix(in srgb, var(--text-color, #0f172a) 14%, transparent);
    border-radius: calc(var(--event-modern-radius) - 12px);
    background-color: color-mix(in srgb, #ffffff 94%, var(--bg-color, #ffffff) 6%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 12px 28px rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

.event-module-variant--event-registration :is(.form-control, .form-select):focus {
    border-color: var(--additional-color);
    box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--additional-color) 22%, transparent), 0 16px 34px rgba(15, 23, 42, 0.12);
}

.event-module-variant--event-registration textarea.form-control {
    min-height: 9rem;
}

.event-module-variant--event-registration .form-check {
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.event-module-variant--event-registration .form-check-input {
    flex: 0 0 auto;
    margin-top: 0;
}

.event-module-variant--event-registration .event-registration-form__submit {
    justify-self: start;
    margin-top: 0.35rem;
    border-radius: 999px;
}

.event-module-variant--event-registration .event-registration-form__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

.event-module-variant--speakers .speaker-slider {
    margin-top: 1.5rem;
}

.event-module-variant--speakers .speaker-slider .cp {
    border: 1px solid var(--event-modern-border);
    border-radius: calc(var(--event-modern-radius) - 2px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 246, 252, 0.92) 100%);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.12);
    overflow: hidden;
}

.event-module-variant--speakers .speaker-img {
    position: relative;
    padding: 1.25rem 1.25rem 0;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.12) 0%, rgba(15, 23, 42, 0.05) 100%);
}

.event-module-variant--speakers .speaker-name {
    display: inline-flex;
    width: auto;
    margin: -1.25rem 0 0 0.9rem;
    box-shadow: 0 18px 35px rgba(15, 23, 42, 0.18);
}

.event-module-variant--speakers .speaker-slider .cp > .mt-2 {
    padding: 1rem 1.25rem 1.5rem;
}

.event-module-variant--speakers .speaker-slider .cp > .mt-2 br {
    display: none;
}

.event-module-variant--price .price-card-deck {
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.event-module-variant--price .ticket-slider .card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 246, 252, 0.92) 100%);
}

.event-module-variant--price .popular-price {
    border-width: 2px;
    box-shadow: 0 34px 72px rgba(15, 23, 42, 0.16);
}

.event-module-variant--price .ticket-slider .card-header {
    padding-bottom: 1.1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.event-module-variant--price .ticket-slider .card-header h5 {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.event-module-variant--price .pricing-card-title {
    font-size: clamp(2rem, 6vw, 2rem);
    line-height: 1.2;
}

.event-module-variant--price .price_btn_cont {
    margin-top: auto;
}

.event-module-variant--price .price_btn_cont .btn {
    width: 100%;
}

.event-module-variant--price .not_active {
    opacity: 0.68;
}

.event-module-variant--faq .row.justify-content-between {
    row-gap: 2rem;
}

.event-module-variant--faq .faq-box {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.event-module-variant--faq .faq-box .btn-link {
    font-size: 1.05rem;
    font-weight: 700;
}

.event-module-variant--faq .collapse .card-body {
    padding: 0 1.5rem 1.35rem;
}

.event-module-variant--faq .faq-header i {
    transition: transform 0.24s ease;
}

.event-module-variant--faq .faq-header .btn-link[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.event-module-variant--contacts .row {
    row-gap: 1.25rem;
}

.event-module-variant--contacts .card-content {
    position: relative;
    gap: 0.95rem;
    border-left: 4px solid var(--primary-color);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.event-module-variant--contacts .card-content i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.05);
}

.event-module-variant--newsletter #newsletter > .container,
.event-module-variant--call-to-action #call_to_action > .container,
.event-module-variant--cta-block-bottom #cta_block_bottom > .container,
.event-module-variant--cta-block-top #cta_block_top > .container {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(235, 241, 248, 0.95) 100%);
}

.event-module-variant--newsletter #newsletter .row,
.event-module-variant--call-to-action #call_to_action .row,
.event-module-variant--cta-block-bottom #cta_block_bottom .row,
.event-module-variant--cta-block-top #cta_block_top .row {
    row-gap: 1.5rem;
}

.event-module-variant--newsletter .intro h2,
.event-module-variant--call-to-action .early-bird-text-container small:first-child {
    max-width: 12ch;
}

.event-module-variant--newsletter .intro {
    position: relative;
    z-index: 1;
}

.event-module-variant--newsletter form {
    margin-top: 1.25rem;
}

.event-module-variant--newsletter .form-control {
    min-height: 54px;
    padding-inline: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.event-module-variant--newsletter .order-0 img {
    width: min(100%, 240px);
    padding: 1.25rem;
    border-radius: calc(var(--event-modern-radius) - 4px);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.1);
}

.event-module-variant--call-to-action .early-bird-text-container,
.event-module-variant--cta-block-bottom .cta-block,
.event-module-variant--cta-block-top .cta-block {
    position: relative;
    z-index: 1;
}

.event-module-variant--call-to-action .early-bird-text-container small:first-child {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.82rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.event-module-variant--call-to-action .early-cta-text .btn,
.event-module-variant--cta-block-bottom .btn,
.event-module-variant--cta-block-top .btn {
    min-width: min(100%, 240px);
}

.event-module-variant--sponsors #sponsor_list,
.event-module-variant--participants #participants {
    padding: clamp(1.75rem, 4vw, 3rem);
}

.event-module-variant--sponsors #sponsor_list p,
.event-module-variant--participants .participating_company-title {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.event-module-variant--sponsors #sponsor_list a,
.event-module-variant--participants #participating_companies_list a {
    min-height: 138px;
    padding: 1.25rem;
    border-width: 1px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.07);
}

.event-module-variant--quotes #quote-page,
.event-module-variant--ambassador #ambassador {
    padding: clamp(1.75rem, 4vw, 3rem) !important;
}

@media (max-width: 992px) {
    .event-module-variant--modern:not(.event-module-variant--event-menu):not(.event-module-variant--hero-header) {
        padding-inline: 0.75rem;
    }

    .event-module-variant--event-menu .navbar {
        border-radius: 28px;
    }

    .event-module-variant--hero-header {
        margin-top: -0.4rem;
    }

    .event-module-variant--hero-header .hero-bg {
        min-height: 560px;
        border-radius: 0 0 28px 28px;
    }

    .event-module-variant--hero-header .hero-header-text {
        width: calc(100% - 1rem);
        margin: 0 0 1.25rem 0.5rem;
    }

    .event-module-variant--about-event .about-event-media,
    .event-module-variant--explore .explore-media,
    .event-module-variant--app-promo .col-lg-5 .img-cover {
        transform: none;
        min-height: 320px;
    }

    .event-module-variant--location .location-module__map iframe {
        min-height: 380px;
    }
}

@media (max-width: 768px) {
    body.event-page-style--modern {
        --event-modern-shell-radius: 20px;
    }

    body.event-page-style--modern .content {
        padding-bottom: 2rem;
    }

    .event-module-variant--hero-header .hero-bg {
        min-height: 500px;
        padding: 0.75rem;
    }

    .event-module-variant--hero-header .hero-header-text {
        margin: 0 0 1rem 0;
        width: 100%;
    }

    .event-module-variant--hero-header .hero-header-text h1 {
        max-width: 100%;
    }

    .event-module-variant--hero-header .hero-header-text h3 {
        max-width: 100%;
    }

    .event-module-variant--about-event :is(h1, h2),
    .event-module-variant--explore :is(h1, h2),
    .event-module-variant--app-promo :is(h1, h2),
    .event-module-variant--location :is(h1, h2) {
        max-width: 100%;
    }

    .event-module-variant--news .event-card__actions .btn,
    .event-module-variant--conference .event-card__actions .btn,
    .event-module-variant--related-events .event-card__actions .btn,
    .event-module-variant--price .price_btn_cont .btn,
    .event-module-variant--call-to-action .early-cta-text .btn,
    .event-module-variant--cta-block-bottom .btn,
    .event-module-variant--cta-block-top .btn {
        width: 100%;
        min-width: 0;
    }

    .event-module-variant--newsletter .order-0,
    .event-module-variant--call-to-action .early-bird-text-container {
        text-align: left;
    }
}

/* Modern refinement - reduce neutral panel overuse */
body.event-page-style--modern {
    --event-modern-section-border: rgba(255, 255, 255, 0.14);
    --event-modern-section-border: color-mix(in srgb, var(--text-color, #ffffff) 14%, transparent);
    --event-modern-elevated-border: rgba(255, 255, 255, 0.22);
    --event-modern-elevated-border: color-mix(in srgb, var(--text-color, #ffffff) 22%, transparent);
    --event-modern-elevated-bg: rgba(255, 255, 255, 0.12);
    --event-modern-elevated-bg: color-mix(in srgb, var(--bg-color, #0f172a) 78%, white 22%);
    --event-modern-card-bg: rgba(255, 255, 255, 0.1);
    --event-modern-card-bg: color-mix(in srgb, var(--bg-color, #0f172a) 82%, white 18%);
    --event-modern-cta-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);
    --event-modern-cta-bg: linear-gradient(
        145deg,
        color-mix(in srgb, var(--bg-color, #0f172a) 86%, black 14%) 0%,
        color-mix(in srgb, var(--bg-color, #0f172a) 72%, white 28%) 100%
    );
    --event-modern-card-shadow: 0 18px 42px rgba(5, 10, 20, 0.14);
}

body.event-page-style--modern .content {
    color: inherit;
}

body.event-page-style--modern .footer > .container {
    background: rgba(255, 255, 255, 0.08);
    background: color-mix(in srgb, var(--bg-color, #0f172a) 78%, white 22%);
    border-color: var(--event-modern-elevated-border);
    box-shadow: 0 24px 52px rgba(5, 10, 20, 0.12);
}

.event-module-variant--modern:not(.event-module-variant--event-menu):not(.event-module-variant--hero-header)::before {
    opacity: 0.04;
    filter: blur(34px);
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #conference > .container,
    #contacts > .container,
    #explore > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
) {
    background: transparent;
    border-color: var(--event-modern-section-border);
    box-shadow: none;
    backdrop-filter: none;
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #conference > .container,
    #contacts > .container,
    #explore > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
)::before {
    height: 3px;
    opacity: 0.7;
}

.event-module-variant--modern :is(
    #about_event > .container,
    #app_promo > .container,
    #conference > .container,
    #contacts > .container,
    #explore > .container,
    #faq > .container,
    #gallery > .container,
    #location > .container,
    #news > .container,
    #program_modul > .container,
    #related_events > .container,
    #speakers > .container,
    .text-content,
    #sponsor_list,
    #participants,
    #quote-page,
    #ambassador
)::after {
    opacity: 0.035;
    filter: blur(34px);
}

.event-module-variant--newsletter #newsletter > .container,
.event-module-variant--call-to-action #call_to_action > .container,
.event-module-variant--cta-block-bottom #cta_block_bottom > .container,
.event-module-variant--cta-block-top #cta_block_top > .container,
.event-module-variant--price #price > .container {
    background: var(--event-modern-cta-bg);
    border-color: var(--event-modern-elevated-border);
    box-shadow: 0 28px 70px rgba(5, 10, 20, 0.18);
    backdrop-filter: blur(18px);
}

.event-module-variant--about-event .about-event-meta,
.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card,
.event-module-variant--speakers .speaker-slider .cp,
.event-module-variant--price .ticket-slider .card,
.event-module-variant--faq .faq-box,
.event-module-variant--contacts .card-content,
.event-module-variant--sponsors #sponsor_list a,
.event-module-variant--participants #participating_companies_list a,
.event-module-variant--newsletter .order-0 img {
    background: var(--event-modern-card-bg);
    border-color: var(--event-modern-elevated-border);
    box-shadow: var(--event-modern-card-shadow);
    backdrop-filter: blur(14px);
}

.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card,
.event-module-variant--speakers .speaker-slider .cp,
.event-module-variant--price .ticket-slider .card,
.event-module-variant--faq .faq-box,
.event-module-variant--contacts .card-content {
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color, #0f172a) 84%, white 16%) 0%,
            color-mix(in srgb, var(--bg-color, #0f172a) 78%, white 22%) 100%
        );
}

.event-module-variant--contacts .card-content,
.event-module-variant--faq .faq-box,
.event-module-variant--news .event-card,
.event-module-variant--conference .event-card,
.event-module-variant--related-events .event-card,
.event-module-variant--speakers .speaker-slider .cp,
.event-module-variant--price .ticket-slider .card {
    border-width: 1px;
}

.event-module-variant--about-event .about-event-meta,
.event-module-variant--newsletter .order-0 img {
    background: rgba(255, 255, 255, 0.12);
    background: color-mix(in srgb, var(--bg-color, #0f172a) 80%, white 20%);
}

.event-module-variant--sponsors #sponsor_list,
.event-module-variant--participants #participants {
    border-color: transparent;
}

.event-module-variant--sponsors #sponsor_list a,
.event-module-variant--participants #participating_companies_list a {
    background: rgba(255, 255, 255, 0.08);
    background: color-mix(in srgb, var(--bg-color, #0f172a) 86%, white 14%);
    box-shadow: 0 14px 32px rgba(5, 10, 20, 0.08);
}

.event-module-variant--gallery .event-gallery-image,
.event-module-variant--about-event .about-event-media,
.event-module-variant--explore .explore-media,
.event-module-variant--app-promo .col-lg-5 .img-cover,
.event-module-variant--location .location-module__map {
    border-color: color-mix(in srgb, var(--text-color, #ffffff) 20%, transparent);
}

.event-module-variant--gallery .event-gallery-image {
    box-shadow: 0 20px 44px rgba(5, 10, 20, 0.14);
}

.event-module-variant--newsletter .form-control {
    background: rgba(255, 255, 255, 0.92);
    border-color: color-mix(in srgb, var(--text-color, #ffffff) 12%, transparent);
}

.event-module-variant--faq .faq-box,
.event-module-variant--contacts .card-content {
    box-shadow: 0 16px 36px rgba(5, 10, 20, 0.1);
}

@media (max-width: 768px) {
    .event-module-variant--newsletter #newsletter > .container,
    .event-module-variant--call-to-action #call_to_action > .container,
    .event-module-variant--cta-block-bottom #cta_block_bottom > .container,
    .event-module-variant--cta-block-top #cta_block_top > .container,
    .event-module-variant--price #price > .container {
        box-shadow: 0 18px 40px rgba(5, 10, 20, 0.14);
    }
}

/* Modern refinement - targeted fixes */
.event-module-variant--modern :is(p, li, .card-text, .contact-description, .speaker-company, .speaker-summary) {
    font-weight: 400;
}

.event-module-variant--modern :is(h1, h2) {
    font-weight: 700;
    letter-spacing: -0.04em;
}

.event-module-variant--modern :is(h3, h4, h5) {
    font-weight: 600;
}

.event-module-variant--modern :is(.btn, .event-border-btn, .category-label, .speaker-name) {
    font-weight: 600;
}

.event-module-variant--modern :is(
    .hero-header-text p,
    #about_event p.m-0,
    #explore p.m-0,
    #app_promo p.m-0,
    #location p.m-0,
    #newsletter .intro p,
    #news p.mb-3,
    #gallery .d-flex.align-items-center.justify-content-between > div,
    #related_events p.mb-3,
    #faq .col-lg-5 > div
) {
    letter-spacing: 0;
}

.event-module-variant--hero-header .hero-bg:after {
    background: none;
}

.event-module-variant--hero-header .hero-header-text {
    background: rgba(8, 14, 28, 0.42);
}

.event-module-variant--hero-header .hero-header-text h1 {
    font-size: clamp(2.7rem, 7vw, 5rem);
    font-weight: 700;
}

.event-module-variant--hero-header .hero-header-text h3 {
    font-weight: 400;
}

.event-module-variant--about-event :is(h1, h2),
.event-module-variant--explore :is(h1, h2),
.event-module-variant--app-promo :is(h1, h2),
.event-module-variant--location :is(h1, h2) {
    font-size: clamp(2.15rem, 4.4vw, 3.7rem);
    font-weight: 700;
}

.event-module-variant--text-content :is(h1, h2),
.event-module-variant--news :is(h1, h2),
.event-module-variant--conference :is(h1, h2),
.event-module-variant--related-events :is(h1, h2),
.event-module-variant--gallery :is(h1, h2),
.event-module-variant--speakers :is(h1, h2),
.event-module-variant--price :is(h1, h2),
.event-module-variant--faq :is(h1, h2),
.event-module-variant--contacts :is(h1, h2),
.event-module-variant--newsletter :is(h1, h2) {
    font-size: clamp(1.9rem, 3.6vw, 3rem);
    font-weight: 700;
}

.event-module-variant--about-event .about-event-media,
.event-module-variant--explore .explore-media {
    aspect-ratio: 5 / 4;
    max-width: min(100%, 430px);
    min-height: 0;
    transform: none;
}

.event-module-variant--app-promo .col-lg-5 .img-cover {
    aspect-ratio: 5 / 4;
    max-width: min(100%, 380px);
    min-height: 0;
    transform: none;
}

.event-module-variant--about-event .about-event-media,
.event-module-variant--explore .explore-media,
.event-module-variant--app-promo .col-lg-5 .img-cover {
    box-shadow: 0 22px 48px rgba(5, 10, 20, 0.16);
}

.event-module-variant--app-promo .d-lg-none.img-cover {
    display: block;
    width: min(100%, 320px) !important;
    height: auto !important;
    margin: 1rem 0 0;
}

.event-module-variant--speakers .speaker-copy {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.event-module-variant--speakers .speaker-position {
    font-weight: 600;
    line-height: 1.35;
}

.event-module-variant--speakers .speaker-company {
    line-height: 1.45;
    opacity: 0.88;
}

.event-module-variant--speakers .speaker-summary {
    margin-top: 0.5rem;
}

.event-module-variant--sponsors {
    overflow: hidden;
}

.event-module-variant--sponsors #sponsor_list {
    max-width: min(100%, 1320px);
    margin-inline: auto;
    overflow: hidden;
}

.event-module-variant--sponsors #sponsor_list::before {
    inset: 0 0 auto 0;
}

/* The admin-configured background may sit on the inner container
   (sponsor_list full_width == 2), so the card padding must live there
   for the color to fill the whole block. */
.event-module-variant--sponsors #sponsor_list {
    padding: 0;
}

.event-module-variant--sponsors #sponsor_list > .sponsor-list__inner {
    width: 100%;
    max-width: none;
    padding: clamp(1.75rem, 4vw, 3rem);
}

@media (max-width: 768px) {
    .event-module-variant--sponsors #sponsor_list > .sponsor-list__inner {
        padding-inline: 1rem;
    }
}

@media (max-width: 992px) {
    .event-module-variant--about-event .about-event-media,
    .event-module-variant--explore .explore-media,
    .event-module-variant--app-promo .col-lg-5 .img-cover {
        max-width: min(100%, 360px);
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 768px) {
    .event-module-variant--hero-header .hero-header-text {
        background: rgba(8, 14, 28, 0.36);
    }

    .event-module-variant--about-event .about-event-media,
    .event-module-variant--explore .explore-media,
    .event-module-variant--app-promo .col-lg-5 .img-cover,
    .event-module-variant--app-promo .d-lg-none.img-cover {
        max-width: min(100%, 320px);
        aspect-ratio: 4 / 3;
    }

}

/* Modern refinement - sticky nav, font source, subpages */
body.event-page-style--modern,
body.event-page-style--modern .content,
body.event-page-style--modern :is(
    h1, h2, h3, h4, h5,
    p, li, a, button, input, select, textarea,
    .agenda-title, .agenda-time, .agenda-type, .speaker-name, .speaker-position, .speaker-company
) {
    font-family: var(--primary-font);
}

body.event-page-style--modern :is(
    .event-menu-link,
    .event-menu-action,
    .event-menu-language,
    .event-border-btn,
    .event-btn,
    .event-btn-additional,
    .speaker-position,
    .speaker-company,
    .agenda-time,
    .agenda-type,
    .agenda-ear button,
    #rooms-tab button,
    .footer-copy,
    .sponsor-title,
    .participating_company-title
) {
    font-family: var(--secondary-font);
}

body.event-page-style--modern .event-module-variant--event-menu {
    position: sticky;
    top: 0;
    z-index: 1100;
    padding-top: 0.35rem;
}

body.event-page-style--modern .event-module-variant--event-menu .nav-container {
    padding-top: 0.15rem;
    padding-bottom: 0.35rem;
    background-color: var(--bg-color);
    background: linear-gradient(180deg, color-mix(in srgb, var(--bg-color) 40%, transparent), transparent);
}

body.event-page-style--modern .event-module-variant--event-menu .navbar {
    margin-top: 0;
}

.event-module-variant--explore .explore-media {
    display: inline-flex;
    width: auto;
    max-width: min(100%, 360px);
    aspect-ratio: auto;
    max-height: 320px;
    align-self: flex-start;
}

.event-module-variant--explore .explore-img {
    width: auto;
    max-width: 100%;
    max-height: 320px;
    height: auto;
    object-fit: contain;
}

@media (min-width: 768px) {
    .event-module-variant--app-promo .app-promo__media-col.d-none.d-lg-block {
        display: flex !important;
        flex: 0 0 min(40%, 380px);
        max-width: 380px;
        align-items: center;
        justify-content: flex-end;
    }

    .event-module-variant--app-promo .app-promo__text-col {
        flex: 1 1 0;
        max-width: none;
    }

    .event-module-variant--app-promo .app-promo__media-mobile {
        display: none !important;
    }

    .event-module-variant--about-event .about-event__content,
    .event-module-variant--explore .explore__content {
        flex-wrap: nowrap;
    }

    .event-module-variant--about-event .about-event__content > :first-child {
        order: 2;
        flex: 0 0 60%;
        max-width: 60%;
    }

    .event-module-variant--about-event .about-event__content > :last-child {
        order: 1;
        flex: 0 0 40%;
        max-width: 40%;
    }
    .event-module-variant--about-event .about-event__content > :only-child {
        flex: 0 0 100%;
        max-width: 100%;
        order: 1; /* opcionális */
    }
    .event-module-variant--explore .explore__content > :first-child {
        flex: 0 0 40%;
        max-width: 40%;
    }

    .event-module-variant--explore .explore__content > :last-child {
        flex: 0 0 60%;
        max-width: 60%;
    }

    .event-module-variant--about-event .about-event-media--image,
    .event-module-variant--explore .explore-media.d-none.d-lg-block {
        display: block !important;
    }
}

.event-module-variant--speakers .speaker-slider .slick-track {
    display: flex !important;
}

.event-module-variant--speakers .speaker-slider .cp {
    margin: 1rem;
    height: 100%;
}

body.event-page-style--modern .content > #sponsor_list {
    position: relative;
    width: min(1320px, calc(100% - 1.5rem));
    margin-inline: auto;
    border: 1px solid var(--event-modern-section-border);
    border-radius: calc(var(--event-modern-radius) + 4px);
    overflow: hidden;
}

body.event-page-style--modern .content > #sponsor_list::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--additional-color), transparent 88%);
    opacity: 0.72;
}

body.event-page-style--modern .content > #sponsor_list > .sponsor-list__inner {
    width: 100%;
    max-width: none;
}

body.event-page-style--modern#page_event-agenda .content > .container-fluid.dark-bg,
body.event-page-style--modern#page_speaker-profile .content > .container-fluid.dark-bg {
    padding-bottom: 2rem !important;
}

body.event-page-style--modern#page_event-agenda .agenda-tabs,
body.event-page-style--modern#page_event-agenda .tab-content.container {
    width: min(1180px, 96%);
    margin-inline: auto;
}

body.event-page-style--modern#page_event-agenda .agenda-tabs {
    margin-top: 1rem;
    padding: 0.85rem;
    border: 1px solid var(--event-modern-elevated-border);
    border-radius: calc(var(--event-modern-radius) + 2px);
    background: color-mix(in srgb, var(--bg-color, #0f172a) 84%, white 16%);
    box-shadow: 0 18px 42px rgba(5, 10, 20, 0.12);
}

body.event-page-style--modern#page_event-agenda .tab-content.container,
body.event-page-style--modern#page_event-agenda .rooms-tabContent,
body.event-page-style--modern#page_event-agenda .rooms-tabContent > .tab-pane,
body.event-page-style--modern#page_event-agenda .rooms-tabContent > .tab-pane > .w-100.pb-5,
body.event-page-style--modern#page_event-agenda .room_info {
    background: transparent !important;
    box-shadow: none !important;
}

body.event-page-style--modern#page_event-agenda .room_info,
body.event-page-style--modern#page_event-agenda .rooms-tabContent > .tab-pane > .w-100.pb-5 {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.event-page-style--modern#page_event-agenda .room_info .title,
body.event-page-style--modern#page_event-agenda .rooms-tabContent .atitle {
    margin-bottom: 0.75rem;
}

body.event-page-style--modern#page_speaker-profile .content > .container.fade-in.mt-5,
body.event-page-style--modern#page_speaker-profile .content > .container.m-auto.mt-5 {
    width: min(1160px, 94%);
}

body.event-page-style--modern#page_speaker-profile .content > .container.fade-in.mt-5 .row {
    row-gap: 1.5rem;
}

body.event-page-style--modern#page_speaker-profile .speaker-details {
    width: min(1120px, 100%);
    padding: clamp(1.25rem, 3vw, 2rem);
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    align-items: start;
    row-gap: 1.75rem;
    column-gap: clamp(1.5rem, 4vw, 3rem);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.event-page-style--modern#page_speaker-profile .speaker-details .ps-5,
body.event-page-style--modern#page_speaker-profile .speaker-details .grid-offset {
    padding-left: 0 !important;
}

/* "Előadások" spans the full width below the photo + bio instead of
   being squeezed into the narrow right column. */
body.event-page-style--modern#page_speaker-profile .speaker-details .grid-offset {
    grid-column: 1 / -1;
    padding-top: 1.75rem !important;
    margin-top: 0.25rem;
    border-top: 1px solid color-mix(in srgb, var(--text-color, #0f172a) 16%, transparent);
}

/* "Előadások" heading as an eyebrow label, matching the agenda subpage. */
body.event-page-style--modern#page_speaker-profile .grid-offset > .fw-bold:first-child {
    margin-bottom: 1rem !important;
    font-size: 0.92rem !important;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.85;
}

/* Agenda rows reuse the card treatment from #page_event-agenda. */
body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-item {
    align-items: flex-start;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 18px;
    margin: 0 0 14px;
    padding: 18px 20px;
    border: 1px solid rgba(127, 127, 127, 0.25);
    border: 1px solid color-mix(in srgb, var(--text-color, #0f172a) 12%, transparent);
    border-radius: 16px;
    background: rgba(127, 127, 127, 0.06);
    background: color-mix(in srgb, var(--text-color, #0f172a) 4%, transparent);
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-item:hover {
    border-color: var(--primary-color, #F02A64);
    border-color: color-mix(in srgb, var(--primary-color, #F02A64) 55%, transparent);
    background: rgba(127, 127, 127, 0.1);
    background: color-mix(in srgb, var(--text-color, #0f172a) 6%, transparent);
    transform: translateY(-2px);
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-time {
    position: static;
    left: auto;
    flex: 0 0 auto;
    width: auto;
    min-width: 96px;
    align-self: flex-start;
    padding: 6px 12px !important;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    color: var(--primary-color, #F02A64);
    background: rgba(240, 42, 100, 0.12);
    background: color-mix(in srgb, var(--primary-color, #F02A64) 14%, transparent);
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-time .ps-2 {
    display: block;
    padding-left: 0 !important;
    font-weight: 400;
    opacity: 0.75;
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-title {
    flex: 1 1 auto;
    padding-bottom: 0;
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-room {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0.8;
}

body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-title > div:not(.d-flex):not(.d-inline) {
    margin-top: 4px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

body.event-page-style--modern#page_speaker-profile .speaker-back {
    position: relative;
    z-index: 1;
}


@media (max-width: 768px) {
    body.event-page-style--modern .event-module-variant--event-menu {
        padding-top: 0;
    }

    body.event-page-style--modern .event-module-variant--event-menu .nav-container {
        padding-bottom: 0;
    }

    .event-module-variant--explore .explore-media,
    .event-module-variant--explore .explore-img {
        max-width: min(100%, 320px);
        max-height: 280px;
    }

    .event-module-variant--speakers .speaker-slider .cp {
        margin: 0.75rem;
    }

    body.event-page-style--modern .content > #sponsor_list {
        width: calc(100% - 1rem);
    }

    body.event-page-style--modern#page_speaker-profile .speaker-details {
        grid-template-columns: 1fr;
        justify-items: start;
        padding: 1rem;
    }

    body.event-page-style--modern#page_speaker-profile .speaker-details .speaker-img {
        max-width: 260px;
    }

    body.event-page-style--modern#page_speaker-profile .grid-offset .agenda-item {
        flex-wrap: wrap;
        gap: 10px;
        padding: 14px;
    }
}

.event-module-variant--about-event .module-eyebrow,
.event-module-variant--explore .module-eyebrow {
    margin-bottom: 1rem !important;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    opacity: 0.72;
}

/* Modern refinement - speaker cards */
.event-module-variant--speakers .speaker-slider {
    margin-top: 1.75rem;
}

body.event-page-style--modern .speaker-list-grid {
    margin-top: 1.75rem;
}

.event-module-variant--speakers .speaker-slider .slick-list {
    margin-inline: -0.75rem;
    overflow: visible;
}

.event-module-variant--speakers .speaker-slider .slick-track {
    display: flex !important;
    align-items: flex-start;
}

.event-module-variant--speakers .speaker-slider .cp {
    display: flex !important;
    flex-direction: column;
    margin: 1rem;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    height: auto;
}

body.event-page-style--modern .speaker-list-item {
    display: flex !important;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    height: auto;
}

body.event-page-style--modern .speaker-list-item .speaker-summary {
    max-width: none;
}

.event-module-variant--speakers .speaker-img,
body.event-page-style--modern .speaker-list-item .speaker-img {
    position: relative;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.event-module-variant--speakers .speaker-image,
body.event-page-style--modern .speaker-list-item .speaker-image {
    display: block;
    width: 100%;
    border: 1px solid color-mix(in srgb, var(--text-color, #0f172a) 12%, transparent);
    box-shadow: 0 24px 54px rgba(15, 23, 42, 0.14);
    background: color-mix(in srgb, var(--bg-color, #0f172a) 88%, white 12%);
}

.event-module-variant--speakers .speaker-flag,
body.event-page-style--modern .speaker-list-item .speaker-flag {
    width: clamp(2.2rem, 16%, 3.1rem);
}

.event-module-variant--speakers .speaker-name,
body.event-page-style--modern .speaker-list-item .speaker-name {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    display: inline-flex;
    width: auto;
    margin: -1rem 0 0 1rem;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
}

.event-module-variant--speakers .speaker-copy,
body.event-page-style--modern .speaker-list-item .speaker-copy {
    gap: 0.4rem;
    padding: 1rem 0 0 !important;
}

.event-module-variant--speakers .speaker-copy > p,
body.event-page-style--modern .speaker-list-item .speaker-copy > p {
    margin: 0;
    padding-inline: 0 !important;
}

.event-module-variant--speakers .speaker-position,
.event-module-variant--speakers .speaker-company,
body.event-page-style--modern .speaker-list-item :is(.speaker-position, .speaker-company) {
    display: block;
}

.event-module-variant--speakers .speaker-position,
body.event-page-style--modern .speaker-list-item .speaker-position {
    margin-bottom: 0.2rem;
    opacity: 1;
}

.event-module-variant--speakers .speaker-company,
body.event-page-style--modern .speaker-list-item .speaker-company {
    opacity: 0.82;
}

.event-module-variant--speakers .speaker-summary,
body.event-page-style--modern .speaker-list-item .speaker-summary {
    max-width: 30ch;
}

@media (max-width: 768px) {
    .event-module-variant--speakers .speaker-slider .slick-list {
        margin-inline: -0.35rem;
    }

    .event-module-variant--speakers .speaker-slider .cp {
        margin: 0.75rem;
    }

    body.event-page-style--modern .speaker-list-item {
        margin: 0 !important;
    }

    .event-module-variant--speakers .speaker-name,
    body.event-page-style--modern .speaker-list-item .speaker-name {
        margin-left: 0.75rem;
    }

    .event-module-variant--event-registration .event-registration-form {
        grid-template-columns: 1fr;
    }

    .event-module-variant--event-registration #event-registration > .container {
        padding-inline: 1rem;
    }

    .event-module-variant--event-registration .event-registration-form__submit {
        width: 100%;
    }

    .speaker-flag--top-right,
    .speaker-flag--top-left {
        top: 0.65rem;
    }

    .speaker-flag--top-right,
    .speaker-flag--bottom-right {
        right: 0.65rem;
    }

    .speaker-flag--top-left,
    .speaker-flag--bottom-left {
        left: 0.65rem;
    }

    .speaker-flag--bottom-right,
    .speaker-flag--bottom-left {
        bottom: 0.95rem;
    }
}

.event-module-variant--hero-header .hero-layout--full-width.hero-bg {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    background: var(--bg-color);
    border-radius: 0;
    box-shadow: none;
}

.event-module-variant--hero-header .hero-layout--full-width > picture {
    position: absolute;
    inset: 0 auto 0 50%;
    width: min(100vw, 1920px);
    height: 100%;
    transform: translateX(-50%);
}

.event-module-variant--hero-header .hero-layout--full-width.hero-bg:after {
    border-radius: 0;
}

.event-module-variant--hero-header .hero-layout--full-width .hero-header-text {
    align-self: center;
    width: min(1200px, 100%);
    margin: 0 auto clamp(1rem, 4vw, 2.5rem);
    padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: calc(var(--event-modern-radius) + 2px);
    background:
        linear-gradient(140deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 100%);
    box-shadow: 0 30px 60px rgba(5, 10, 20, 0.24);
    backdrop-filter: blur(18px);
}

.event-module-variant--hero-header .hero-layout--full-width .hero-header-text h1,
.event-module-variant--hero-header .hero-layout--full-width .hero-header-text h3,
.event-module-variant--hero-header .hero-layout--full-width .hero-header-text p {
    max-width: min(820px, 100%);
}

@media (max-width: 768px) {
    .event-module-variant--hero-header .hero-layout--full-width .hero-header-text {
        width: 100%;
        margin: 0 auto 1rem;
        padding-inline: 1rem;
    }
}

/* Language switcher dropdown */
.event-menu-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.5rem;
    background: transparent;
    border: 1px solid var(--primary-color);
    border-radius: 0.4rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    color: var(--primary-color);
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.event-menu-lang-btn::after {
    display: none;
}

.event-menu-lang-btn:hover,
.event-menu-lang-btn:focus {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    box-shadow: none;
    outline: none;
}

.event-menu-lang-btn svg {
    flex-shrink: 0;
    opacity: 0.85;
}

.event-menu-language .dropdown-menu {
    min-width: 7rem;
    padding: 0.35rem 0;
    border: 1px solid rgba(128, 128, 128, 0.25);
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(10px);
}

.event-menu-language .dropdown-item {
    padding: 0.45rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #333;
}

.event-menu-language .dropdown-item:hover,
.event-menu-language .dropdown-item:focus {
    background: rgba(0, 0, 0, 0.06);
    color: var(--primary-color, inherit);
}

/* Hero (classic design) keeps 16/9 on mobile instead of the fixed
   min-height the modern variant applies for full-width/carousel */
.event-module-variant--hero-header .hero-bg--classic .hero-header-img {
    object-fit: cover;
}

/* A hidden hero text box must not leave its decorative dark overlay behind. */
.hero-bg--text-hidden::after {
    display: none;
}

@media (max-width: 992px) {
    .event-module-variant--hero-header .hero-bg--classic {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

/* Public event navigation overflow and collapse fallback. */
.event-menu-navigation {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    min-width: 0;
    gap: 0.5rem;
}

.event-menu-links {
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.event-menu--js-ready .event-menu-links {
    overflow: hidden;
}

.event-menu-links .event-menu-item {
    flex: 0 0 auto;
    white-space: nowrap;
}

.event-menu-actions {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
}

.event-menu-overflow {
    flex: 0 0 auto;
}

.event-menu-overflow[hidden] {
    display: none !important;
}

.event-menu-overflow-toggle {
    white-space: nowrap;
    padding: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.72;
}

.event-menu-overflow-toggle:hover,
.event-menu-overflow-toggle:focus {
    color: var(--primary-color) !important;
}

.event-menu-overflow-list {
    background: rgba(5, 10, 18, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.6rem;
    box-shadow: 0 16px 32px rgba(5, 10, 18, 0.28);
    color: #fff !important;
    backdrop-filter: blur(14px);
}

.event-menu-overflow-list .event-menu-link,
.event-menu-overflow-list .event-menu-parent,
.event-menu-overflow-list .event-menu-toggle {
    color: #fff !important;
    text-shadow: none;
}

.event-menu-overflow-list .event-menu-link {
    display: block;
    width: 100%;
    padding: 0.45rem 1rem;
}

.event-menu-overflow-list .event-menu-link:hover,
.event-menu-overflow-list .event-menu-link:focus,
.event-menu-overflow-list .event-menu-parent:hover,
.event-menu-overflow-list .event-menu-parent:focus {
    background: rgba(255, 255, 255, 0.1);
    color: var(--primary-color) !important;
}

.event-menu-overflow-list .event-menu-item {
    position: relative;
    display: block;
    min-width: 12rem;
}

.event-menu-overflow-list .event-menu-link-wrap {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.event-menu-overflow-list .event-menu-submenu {
    position: static;
    min-width: 100%;
    margin: 0.35rem 0 0;
    box-shadow: none;
    display: none !important;
}

.event-menu-overflow-list .event-menu-item.has-children.is-open > .event-menu-submenu,
.event-menu-overflow-list .event-menu-item.has-children:focus-within > .event-menu-submenu {
    display: block !important;
}

@media (min-width: 1101px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex: 1 1 0;
        width: 0;
        min-width: 0;
    }
}

@media (max-width: 1100px) {
    .navbar-expand-lg .navbar-toggler {
        display: block;
    }

    .navbar-expand-lg .navbar-collapse:not(.show) {
        display: none !important;
    }

    .navbar-expand-lg .navbar-collapse.show {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        max-height: calc(100dvh - 6rem);
        padding-bottom: 0.75rem;
        overflow: hidden;
    }

    .event-menu-navigation {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .event-menu-navigation .event-menu-links {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-height: calc(100dvh - 12rem);
        padding-bottom: 0.5rem;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .event-menu-overflow {
        display: none !important;
    }

    .event-menu-actions {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        white-space: normal;
    }
}

/* Speaker listing page: compact directory layout */
body.event-page-style--modern .speaker-list-shell {
    width: min(1180px, calc(100% - 1.5rem));
}

body.event-page-style--modern .speaker-list-description {
    max-width: 58ch;
    margin-inline: auto;
    line-height: 1.55;
    opacity: 0.84;
}

body.event-page-style--modern .speaker-list-grid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2rem;
    margin-top: 1.25rem;
}

body.event-page-style--modern .speaker-list-grid .speaker-list-item {
    /* Restore the Bootstrap column gutters that the generic
       .speaker-list-item rule above zeroes out, otherwise the
       photos butt up against each other on every side. */
    padding: 0 calc(var(--bs-gutter-x) * 0.5) !important;
    margin: 0 0 var(--bs-gutter-y) !important;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease;
}

body.event-page-style--modern .speaker-list-grid .speaker-list-item:hover,
body.event-page-style--modern .speaker-list-grid .speaker-list-item:focus {
    color: inherit;
    text-decoration: none;
    transform: translateY(-3px);
}

body.event-page-style--modern .speaker-list-grid .speaker-list-item:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 6px;
}

body.event-page-style--modern .speaker-list-grid .speaker-img {
    overflow: visible !important;
}

body.event-page-style--modern .speaker-list-grid .speaker-image {
    aspect-ratio: 4 / 3;
    border-radius: 14px !important;
    clip-path: none !important;
    filter: grayscale(24%);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

body.event-page-style--modern .speaker-list-grid .speaker-list-item:hover .speaker-image,
body.event-page-style--modern .speaker-list-grid .speaker-list-item:focus .speaker-image {
    filter: grayscale(0%);
}

body.event-page-style--modern .speaker-list-grid .speaker-name {
    position: static;
    display: block;
    width: 100%;
    margin: 0.8rem 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-color) !important;
    font-size: 1rem;
    line-height: 1.22;
}

body.event-page-style--modern .speaker-list-grid .speaker-copy {
    gap: 0.2rem;
    padding-top: 0.45rem !important;
}

body.event-page-style--modern .speaker-list-grid .speaker-meta,
body.event-page-style--modern .speaker-list-grid .speaker-summary {
    font-size: 0.9rem;
    line-height: 1.45;
}

body.event-page-style--modern .speaker-list-grid .speaker-position,
body.event-page-style--modern .speaker-list-grid .speaker-company {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

body.event-page-style--modern .speaker-list-grid .speaker-summary {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 0.25rem;
    opacity: 0.76;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media (max-width: 768px) {
    body.event-page-style--modern .speaker-list-shell {
        width: calc(100% - 1rem);
        margin-top: 1.5rem !important;
    }

    body.event-page-style--modern .speaker-list-description {
        margin-bottom: 1.1rem !important;
        text-align: left !important;
        font-size: 0.95rem;
    }

    body.event-page-style--modern .speaker-list-grid {
        --bs-gutter-y: 1rem;
        margin-top: 0;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-list-item {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 0.85rem;
        align-items: center;
        min-height: 104px;
        padding-bottom: 0.9rem !important;
        border-bottom: 1px solid color-mix(in srgb, var(--text-color, #0f172a) 10%, transparent) !important;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-img {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-image {
        width: 104px;
        aspect-ratio: 1 / 1;
        border-radius: 12px !important;
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
    }

    body.event-page-style--modern .speaker-list-grid .speaker-name {
        grid-column: 2;
        margin-top: 0 !important;
        font-size: 0.98rem;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-copy {
        grid-column: 2;
        padding-top: 0.3rem !important;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-summary {
        -webkit-line-clamp: 1;
    }

    body.event-page-style--modern .speaker-list-grid .speaker-flag {
        width: 2rem;
    }
}

/* ==========================================================================
   Public purchase flow (cart / checkout / summary / order created)
   Styled with the event design system tokens so it matches the agenda and
   speakers pages. No dedicated checkout stylesheet is loaded for these pages.
   ========================================================================== */
.event-purchase-shell {
    width: min(1160px, 94%);
}

.event-purchase-shell__intro {
    font-family: var(--secondary-font);
    color: var(--text-color);
    opacity: 0.85;
}

.event-purchase-shell .form-box {
    width: auto;
    padding: 1.75rem;
    background: #fff;
    color: #1f2937;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 6px;
    box-shadow: 0 18px 44px rgba(5, 10, 18, 0.12);
}

/* Cards are white, so keep their text dark regardless of the brand text colour. */
.event-purchase-shell .event-checkout-page,
.event-purchase-shell .event-checkout-page h2,
.event-purchase-shell .event-checkout-page h3,
.event-purchase-shell .event-checkout-page h5,
.event-purchase-shell .event-checkout-page p,
.event-purchase-shell .event-checkout-page label,
.event-purchase-shell .event-checkout-page dt,
.event-purchase-shell .event-checkout-page dd,
.event-purchase-shell .event-checkout-page th,
.event-purchase-shell .event-checkout-page td {
    color: #1f2937;
}

.event-purchase-shell .event-checkout-page .text-muted {
    color: #64748b !important;
}

.event-purchase-shell .event-checkout-page h2:before,
.event-purchase-shell .event-checkout-page h3:before {
    background: var(--primary-color);
}

/* --- Buttons: match the square, uppercase event button language ---------- */
.event-purchase-shell .btn-primary,
.event-purchase-shell .btn-secondary,
.event-purchase-shell .btn-outline-primary {
    font-family: var(--secondary-font);
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 0;
    padding: 10px 22px;
}

.event-purchase-shell .btn-primary {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

.event-purchase-shell .btn-primary:hover,
.event-purchase-shell .btn-primary:focus {
    background: var(--additional-color);
    border-color: var(--additional-color);
    color: #fff;
}

.event-purchase-shell .btn-secondary,
.event-purchase-shell .btn-outline-primary {
    background: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

.event-purchase-shell .btn-secondary:hover,
.event-purchase-shell .btn-secondary:focus,
.event-purchase-shell .btn-outline-primary:hover,
.event-purchase-shell .btn-outline-primary:focus {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}

.event-purchase-shell .btn.disabled,
.event-purchase-shell .btn:disabled {
    opacity: 0.5;
}

.event-purchase-shell .btn-link {
    color: var(--primary-color);
}

/* --- Progress steps ------------------------------------------------------ */
.checkout-steps {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: 0 auto 1.75rem;
    padding: 0.85rem 1.1rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(5, 10, 18, 0.12);
}

.checkout-steps__item {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
}

.checkout-steps__item:not(:last-child)::after {
    content: "";
    flex: 1;
    height: 2px;
    margin: 0 0.6rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.12);
}

.checkout-steps__item--done:not(:last-child)::after {
    background: var(--primary-color);
}

.checkout-steps__link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    color: rgba(15, 23, 42, 0.55);
    font-family: var(--secondary-font);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

a.checkout-steps__link:hover,
a.checkout-steps__link:focus {
    color: var(--primary-color);
}

.checkout-steps__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    flex-shrink: 0;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    color: rgba(15, 23, 42, 0.6);
    font-size: 0.85rem;
}

.checkout-steps__item--active .checkout-steps__link,
.checkout-steps__item--done .checkout-steps__link {
    color: #0f172a;
}

.checkout-steps__item--active .checkout-steps__index,
.checkout-steps__item--done .checkout-steps__index {
    background: var(--primary-color);
    color: #fff;
}

/* --- Cart table ---------------------------------------------------------- */
.event-checkout-page .table {
    background: transparent;
    color: #1f2937;
}

.event-cart-stepper {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.event-cart-stepper__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 999px;
    background: #fff;
    color: var(--primary-color);
    font-size: 1.1rem;
    line-height: 1;
    transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.event-cart-stepper__btn:hover,
.event-cart-stepper__btn:focus {
    border-color: var(--primary-color);
    background: rgba(15, 23, 42, 0.04);
    transform: translateY(-1px);
}

.event-cart-stepper .event-cart-quantity-input {
    width: 3.25rem;
    min-width: 3.25rem;
    padding-inline: 0.25rem;
    -moz-appearance: textfield;
}

.event-cart-stepper .event-cart-quantity-input::-webkit-outer-spin-button,
.event-cart-stepper .event-cart-quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.event-cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(15, 23, 42, 0.4);
    transition: color 0.16s ease, background 0.16s ease;
}

.event-cart-remove:hover,
.event-cart-remove:focus {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.08);
}

.event-cart-table tbody tr.is-removing {
    opacity: 0.45;
}

.event-cart-table .event-cart-total-row th {
    border-top: 2px solid rgba(15, 23, 42, 0.16);
    font-size: 1.05rem;
}

.event-cart-table .event-cart-discount-row th {
    color: #047857;
}

[data-cart-form].is-enhanced .event-cart-update-btn {
    display: none;
}

.event-cart-empty {
    padding: 2.5rem 1rem;
    color: #1f2937;
}

.event-cart-empty__icon {
    color: var(--primary-color);
    line-height: 0;
    margin-bottom: 0.75rem;
}

.event-cart-empty__title {
    font-size: 1.15rem;
    font-weight: 700;
}

.event-cart-feedback {
    margin-top: 0.75rem;
    display: inline-block;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    font-size: 0.85rem;
    font-weight: 700;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.event-cart-feedback.is-visible {
    opacity: 1;
}

.event-reservation-timer [data-reservation-countdown] {
    font-variant-numeric: tabular-nums;
    font-size: 1.05em;
}

/* --- Checkout two-column layout & order summary -------------------------- */
.event-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(290px, 0.95fr);
    gap: 1.5rem;
    align-items: start;
}

.event-checkout-grid .event-checkout-main {
    width: auto;
    margin: 0;
}

.event-checkout-aside {
    position: sticky;
    top: 1.5rem;
}

.event-order-summary__items {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: grid;
    gap: 0.75rem;
}

.event-order-summary__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.event-order-summary__qty {
    display: block;
    color: rgba(15, 23, 42, 0.55);
    font-size: 0.85rem;
}

.event-order-summary__price {
    white-space: nowrap;
    font-weight: 600;
}

.event-order-summary__totals > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.event-order-summary__totals dt {
    margin: 0;
    font-weight: 400;
    color: rgba(15, 23, 42, 0.62);
}

.event-order-summary__totals dd {
    margin: 0;
    white-space: nowrap;
}

.event-order-summary__discount dt,
.event-order-summary__discount dd {
    color: #047857;
}

.event-order-summary__grand {
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    border-top: 2px solid rgba(15, 23, 42, 0.16);
}

.event-order-summary__grand dt {
    color: #0f172a;
    font-weight: 700;
}

.event-order-summary__grand dd {
    font-size: 1.2rem;
    font-weight: 800;
}

.event-order-summary__edit {
    display: inline-block;
    margin-top: 1rem;
    color: var(--primary-color);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
}

.event-order-summary__edit:hover,
.event-order-summary__edit:focus {
    text-decoration: underline;
}

/* --- Payment method cards ------------------------------------------------ */
.event-payment-options {
    display: grid;
    gap: 0.75rem;
}

.event-payment-option {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.event-payment-option:hover {
    border-color: rgba(15, 23, 42, 0.3);
}

.event-payment-option input {
    margin-top: 0.2rem;
    flex-shrink: 0;
    accent-color: var(--primary-color);
}

.event-payment-option:has(input:checked) {
    border-color: var(--primary-color);
    background: rgba(15, 23, 42, 0.03);
    box-shadow: inset 0 0 0 1px var(--primary-color);
}

.event-payment-option__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.event-payment-option__title {
    font-weight: 700;
}

.event-payment-option__desc {
    color: rgba(15, 23, 42, 0.6);
    font-size: 0.88rem;
}

/* --- Order created / confirmation ---------------------------------------- */
.event-checkout-page--response .form-box {
    overflow: hidden;
    padding: 0;
}

.event-checkout-response__card {
    position: relative;
}

.event-checkout-response__hero {
    padding: 1.5rem 1.75rem 1.25rem;
    background: var(--bg-color);
    color: #fff;
}

.event-checkout-response__hero .event-checkout-response__order-hash {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    overflow-wrap: anywhere;
}

.event-checkout-response__eyebrow {
    color: rgba(255, 255, 255, 0.72);
    font-family: var(--secondary-font);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.event-checkout-response__body {
    padding: 1.75rem;
    text-align: center;
}

.event-checkout-response__body .alert {
    text-align: left;
}

.event-checkout-response__icon {
    color: #16a34a;
    line-height: 0;
    margin-bottom: 0.75rem;
}

.event-payment-polling {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}

.event-payment-polling__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.event-payment-polling__spinner {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: event-payment-polling-spin 0.8s linear infinite;
}

.event-payment-polling__progress {
    display: block;
    width: 100%;
    max-width: 220px;
    height: 4px;
    border-radius: 999px;
    background: rgba(13, 110, 253, 0.15);
    overflow: hidden;
}

.event-payment-polling__progress-bar {
    display: block;
    width: 40%;
    height: 100%;
    border-radius: inherit;
    background: currentColor;
    animation: event-payment-polling-slide 1.4s ease-in-out infinite;
}

.event-payment-polling__elapsed {
    opacity: 0.75;
}

@keyframes event-payment-polling-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes event-payment-polling-slide {
    0% {
        transform: translateX(-100%);
    }
    50% {
        transform: translateX(60%);
    }
    100% {
        transform: translateX(220%);
    }
}

.event-checkout-response__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 0;
    text-align: left;
}

.event-payment-confirmation {
    margin-top: 1.5rem;
    text-align: left;
}

.event-checkout-response__meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(248, 250, 252, 0.92);
    border-radius: 6px;
}

.event-checkout-response__label {
    color: rgba(15, 23, 42, 0.58);
    font-family: var(--secondary-font);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .event-checkout-grid {
        grid-template-columns: 1fr;
    }

    .event-checkout-aside {
        position: static;
        top: auto;
        order: -1;
    }
}

@media (max-width: 575px) {
    .checkout-steps {
        border-radius: 12px;
    }

    .checkout-steps__item {
        justify-content: center;
    }
}

/* --- Floating cart drawer: per-item quantity controls -------------------- */
.event-cart-drawer__item-main {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.event-cart-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.event-cart-stepper--compact {
    white-space: nowrap;
}

.event-cart-drawer__breakdown {
    display: grid;
    gap: 0.35rem;
}

.event-cart-drawer__breakdown-row {
    display: grid;
    gap: 0.15rem;
    color: #475569;
    font-size: 0.86rem;
}

.event-cart-drawer__breakdown-row strong {
    color: #111827;
}

.event-cart-drawer__stepper {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.event-cart-drawer__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 999px;
    background: #fff;
    color: var(--primary-color, #111827);
    font-size: 1rem;
    line-height: 1;
    transition: border-color 0.16s ease, background 0.16s ease;
}

.event-cart-drawer__step:hover,
.event-cart-drawer__step:focus {
    border-color: var(--primary-color, #111827);
    background: rgba(15, 23, 42, 0.05);
}

.event-cart-drawer__qty {
    min-width: 1.5rem;
    text-align: center;
    font-weight: 700;
}

.event-cart-drawer__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    margin-left: 0.15rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(15, 23, 42, 0.4);
    transition: color 0.16s ease, background 0.16s ease;
}

.event-cart-drawer__remove:hover,
.event-cart-drawer__remove:focus {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.08);
}

.event-cart-drawer__item-price {
    white-space: nowrap;
    font-weight: 600;
}

.event-cart-drawer__discount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #15803d;
    font-size: 0.92rem;
}

/* --- Checkout ticket-data accordion -------------------------------------- */
.event-ticket-card {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 6px;
    background: #fff;
}

.event-ticket-card + .event-ticket-card {
    margin-top: 0.75rem;
}

.event-ticket-card__summary {
    list-style: none;
    cursor: pointer;
    padding: 0.85rem 1rem;
    font-weight: 700;
    color: #1f2937;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.event-ticket-card__summary::-webkit-details-marker {
    display: none;
}

.event-ticket-card__summary::after {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border-right: 2px solid rgba(15, 23, 42, 0.45);
    border-bottom: 2px solid rgba(15, 23, 42, 0.45);
    transform: rotate(45deg);
    transition: transform 0.18s ease;
}

.event-ticket-card[open] .event-ticket-card__summary::after {
    transform: rotate(-135deg);
}

.event-ticket-card__body {
    padding: 0 1rem 1rem;
}
