/* ========================================================================== 
   Theme variables
   ========================================================================== */

:root {
    --gm-white: #ffffff;
    --gm-black: #000000;
    --gm-navy-750: #0b1f4d;
    --gm-red-630: #980623;
    --gm-red-550: #c94f58;
    --gm-text-strong: #111827;
    --gm-paleblue: #d7edf5;
    --gm-blue-500: #6ec1e4;

    --gm-shadow-xs: 0 6px 18px rgba(0, 0, 0, 0.04);
    --gm-shadow-sm: 0 8px 20px rgba(12, 32, 61, 0.05);
    --gm-shadow-md: 0 10px 24px rgba(17, 47, 87, 0.07);
    --gm-shadow-lg: 0 12px 28px rgba(13, 35, 64, 0.08);
    --gm-shadow-xl: 0 14px 34px rgba(15, 23, 42, 0.06);
    --gm-shadow-2xl: 0 18px 40px rgba(14, 47, 90, 0.08);
    --gm-shadow-card: 0 18px 45px rgba(8, 25, 67, 0.08);
    --gm-shadow-card-hover: 0 24px 55px rgba(8, 25, 67, 0.14);

    --gm-radius-sm: 3px;
    --gm-radius-md: 8px;
    --gm-radius-lg: 10px;
    --gm-radius-xl: 12px;
    --gm-radius-2xl: 14px;
    --gm-radius-3xl: 18px;
    --gm-radius-pill: 999px;
}

/* ========================================================================== 
   Base
   ========================================================================== */

p.tags a {
    left: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 10px;
    margin-left: 0;
    border-radius: var(--gm-radius-sm);
    background: color-mix(in srgb, var(--gm-navy-750) 88%, transparent);
    color: var(--gm-white);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.tribe-common a {
    cursor: pointer;
    color: var(--gm-red-630);
}

.entry .entry-content .event-tickets .tribe-tickets__form input[type="number"].tribe-tickets__tickets-item-quantity-number-input,
.event-tickets .tribe-tickets__form input[type="number"].tribe-tickets__tickets-item-quantity-number-input,
.woocommerce-cart .gtm-cart__quantity .qty,
.woocommerce-cart .gtm-cart__quantity input.qty,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
}

/* ========================================================================== 
   Buttons
   ========================================================================== */

.site-button,
.tudastar-card__button,
.gyik-link a,
.kapcsolat-btn,
.search .gm-search-card__link,
.search .gm-search-form__button,
.gm-event-card__button.site-button,
body.woocommerce-cart .return-to-shop .button.wc-backward,
body.woocommerce-cart .return-to-shop a.wc-backward,
body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link,
body.woocommerce-order-received .tribe-common-c-btn-border.tec-tickets__wallet-plus-component-pdf-button-link,
.woocommerce-checkout .woocommerce-button,
.woocommerce-checkout .woocommerce-form-login__submit,
.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_update_totals"],
.woocommerce-checkout .woocommerce-checkout-payment .button.alt,
.tribe-modal__wrapper--ar .tribe-common-c-btn,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-submit,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-checkout-button,
.tribe-modal__wrapper--ar button[name="checkout-button"],
.entry .entry-content .event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn,
.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn,
.event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn--small,
.tribe-common button.tribe-common-c-btn--small,
.tribe-common input[type="button"].tribe-common-c-btn--small,
.tribe-common input[type="submit"].tribe-common-c-btn--small,
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 11px 18px;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

/* Default / transparent outline buttons */
.site-button,
.tudastar-card__button,
.gyik-link a,
.kapcsolat-btn,
.search .gm-search-form__button,
body.woocommerce-cart .return-to-shop .button.wc-backward,
body.woocommerce-cart .return-to-shop a.wc-backward,
body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link,
body.woocommerce-order-received .tribe-common-c-btn-border.tec-tickets__wallet-plus-component-pdf-button-link,
.tribe-common a.tribe-common-c-btn--small,
.tribe-common button.tribe-common-c-btn--small,
.tribe-common input[type="button"].tribe-common-c-btn--small,
.tribe-common input[type="submit"].tribe-common-c-btn--small,
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    border-color: var(--gm-navy-750);
    background: transparent;
    color: var(--gm-navy-750);
    box-shadow: none;
}

.site-button:hover,
.site-button:focus,
.tudastar-card__button:hover,
.tudastar-card__button:focus,
.gyik-link a:hover,
.gyik-link a:focus,
.kapcsolat-btn:hover,
.kapcsolat-btn:focus,
.search .gm-search-form__button:hover,
.search .gm-search-form__button:focus,
body.woocommerce-cart .return-to-shop .button.wc-backward:hover,
body.woocommerce-cart .return-to-shop .button.wc-backward:focus,
body.woocommerce-cart .return-to-shop a.wc-backward:hover,
body.woocommerce-cart .return-to-shop a.wc-backward:focus,
body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link:hover,
body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link:focus,
body.woocommerce-order-received .tribe-common-c-btn-border.tec-tickets__wallet-plus-component-pdf-button-link:hover,
body.woocommerce-order-received .tribe-common-c-btn-border.tec-tickets__wallet-plus-component-pdf-button-link:focus,
.tribe-common a.tribe-common-c-btn--small:hover,
.tribe-common a.tribe-common-c-btn--small:focus,
.tribe-common button.tribe-common-c-btn--small:hover,
.tribe-common button.tribe-common-c-btn--small:focus,
.tribe-common input[type="button"].tribe-common-c-btn--small:hover,
.tribe-common input[type="button"].tribe-common-c-btn--small:focus,
.tribe-common input[type="submit"].tribe-common-c-btn--small:hover,
.tribe-common input[type="submit"].tribe-common-c-btn--small:focus,
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover,
input.wpcf7-form-control.wpcf7-submit.has-spinner:focus {
    border-color: var(--gm-navy-750);
    background: var(--gm-navy-750);
    color: var(--gm-white);
    transform: translateY(-1px);
}

.search .gm-search-form__button {
    border-color: #737e97;
    background: transparent;
    color: #fff;
    box-shadow: none;
}

/* Light buttons */
.site-button.site-button--light,
.gm-hero-slideshow__actions .site-button.site-button--light {
    border-color: var(--gm-white);
    background: var(--gm-white);
    color: var(--gm-navy-750);
}

.site-button.site-button--light:hover,
.site-button.site-button--light:focus,
.gm-hero-slideshow__actions .site-button.site-button--light:hover,
.gm-hero-slideshow__actions .site-button.site-button--light:focus {
    border-color: var(--gm-white);
    background: transparent;
    color: var(--gm-white);
    transform: translateY(-1px);
}

/* Dark / navy buttons */
.site-button.site-button--dark,
.site-button.site-button--navy,
.search .gm-search-card__link,
.woocommerce-checkout .woocommerce-button,
.woocommerce-checkout .woocommerce-form-login__submit,
.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_update_totals"],
.woocommerce-checkout .woocommerce-checkout-payment .button.alt,
.tribe-modal__wrapper--ar .tribe-common-c-btn,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-submit,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-checkout-button,
.tribe-modal__wrapper--ar button[name="checkout-button"],
.entry .entry-content .event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn,
.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn,
.event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn {
    border-color: var(--gm-navy-750);
    background: var(--gm-navy-750);
    color: var(--gm-white);
    box-shadow: none;
}

.site-button.site-button--dark:hover,
.site-button.site-button--dark:focus,
.site-button.site-button--navy:hover,
.site-button.site-button--navy:focus,
.search .gm-search-card__link:hover,
.search .gm-search-card__link:focus,
.woocommerce-checkout .woocommerce-button:hover,
.woocommerce-checkout .woocommerce-button:focus,
.woocommerce-checkout .woocommerce-form-login__submit:hover,
.woocommerce-checkout .woocommerce-form-login__submit:focus,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout button[name="woocommerce_checkout_update_totals"]:hover,
.woocommerce-checkout button[name="woocommerce_checkout_update_totals"]:focus,
.woocommerce-checkout .woocommerce-checkout-payment .button.alt:hover,
.woocommerce-checkout .woocommerce-checkout-payment .button.alt:focus,
.tribe-modal__wrapper--ar .tribe-common-c-btn:hover,
.tribe-modal__wrapper--ar .tribe-common-c-btn:focus,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-submit:hover,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-submit:focus,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-checkout-button:hover,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-checkout-button:focus,
.tribe-modal__wrapper--ar button[name="checkout-button"]:hover,
.tribe-modal__wrapper--ar button[name="checkout-button"]:focus,
.entry .entry-content .event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:hover,
.entry .entry-content .event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:focus,
.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:hover,
.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:focus,
.event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:hover,
.event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:focus,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:hover,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:focus {
    border-color: color-mix(in srgb, var(--gm-navy-750) 88%, var(--gm-black));
    background: color-mix(in srgb, var(--gm-navy-750) 88%, var(--gm-black));
    color: var(--gm-white);
    transform: translateY(-1px);
}

/* Red buttons */
.site-button.site-button--red,
.site-button.site-button--accent,
.gm-event-card__button.site-button,
.search .gm-search-form__button.site-button--red,
input.wpcf7-form-control.wpcf7-submit.has-spinner.site-button--red {
    border-color: var(--gm-red-630);
    background: var(--gm-red-630);
    color: var(--gm-white);
    box-shadow: none;
}

.site-button.site-button--red:hover,
.site-button.site-button--red:focus,
.site-button.site-button--accent:hover,
.site-button.site-button--accent:focus,
.gm-event-card__button.site-button:hover,
.gm-event-card__button.site-button:focus,
.search .gm-search-form__button.site-button--red:hover,
.search .gm-search-form__button.site-button--red:focus,
input.wpcf7-form-control.wpcf7-submit.has-spinner.site-button--red:hover,
input.wpcf7-form-control.wpcf7-submit.has-spinner.site-button--red:focus {
    border-color: color-mix(in srgb, var(--gm-red-630) 88%, var(--gm-black));
    background: color-mix(in srgb, var(--gm-red-630) 88%, var(--gm-black));
    color: var(--gm-white);
    transform: translateY(-1px);
}

/* Disabled buttons */
.entry .entry-content .event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:disabled,
.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:disabled,
.event-tickets .tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:disabled,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:disabled {
    border-color: color-mix(in srgb, var(--gm-white) 80%, var(--gm-text-strong));
    background: color-mix(in srgb, var(--gm-white) 86%, var(--gm-text-strong));
    color: color-mix(in srgb, var(--gm-text-strong) 55%, var(--gm-white));
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.gyik-link a {
    gap: 10px;
    padding: 16px 22px;
    border-width: 2px;
    font-size: 18px;
    line-height: 1;
}

.gyik-link a:visited,
body.woocommerce-cart .return-to-shop .button.wc-backward:visited,
body.woocommerce-cart .return-to-shop a.wc-backward:visited {
    color: inherit;
}

.tudastar-card__button {
    min-width: 110px;
    padding: 11px 18px;
}

.woocommerce-checkout #place_order {
    width: 100%;
}

body.woocommerce-cart .return-to-shop .button.wc-backward,
body.woocommerce-cart .return-to-shop a.wc-backward {
    min-height: 50px;
    padding: 0 22px;
    font-size: 0.96rem;
    line-height: 1;
}

body.woocommerce-cart .return-to-shop .button.wc-backward::before,
body.woocommerce-cart .return-to-shop a.wc-backward::before {
    content: "←";
    margin-right: 10px;
    font-size: 1rem;
    line-height: 1;
}

body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link,
body.woocommerce-order-received .tribe-common-c-btn-border.tec-tickets__wallet-plus-component-pdf-button-link {
    width: 100%;
    min-height: 52px;
    padding: 12px 18px;
    line-height: 1.2;
}

.kapcsolat-btn {
    gap: 10px;
    min-height: 52px;
    padding: 14px 22px;
    font-size: 15px;
    line-height: 1;
    text-align: center;
}

.kapcsolat-btn--ghost {
    width: 100%;
    justify-content: space-between;
    border-color: color-mix(in srgb, var(--gm-white) 78%, var(--gm-text-strong));
    background: color-mix(in srgb, var(--gm-white) 92%, var(--gm-text-strong));
    color: var(--gm-text-strong);
    line-height: 1.2;
}

.kapcsolat-btn--ghost:hover,
.kapcsolat-btn--ghost:focus {
    border-color: color-mix(in srgb, var(--gm-white) 68%, var(--gm-text-strong));
    background: color-mix(in srgb, var(--gm-white) 84%, var(--gm-text-strong));
    color: var(--gm-text-strong);
}

.kapcsolat-btn--ghost img {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}

.search .gm-search-form__button {
    height: 54px;
    padding: 0 22px;
    font-size: 0.95rem;
}

.gm-event-card__button.site-button {
    padding: 12px 22px;
    border-radius: 0;
    line-height: 1;
}

.search .gm-search-card__link {
    min-height: 46px;
    padding: 0 18px;
    border-radius: var(--gm-radius-xl);
    font-size: 0.92rem;
    font-weight: 700;
}

/* ========================================================================== 
   Utility links
   ========================================================================== */

.gyik-link {
    margin: 24px 0 0;
}

div#tudastarlink,
div#tobilink {
    position: fixed;
    top: 50%;
    z-index: 900;
    padding: 0.5rem 1rem;
    margin: 0;
    background-color: var(--gm-red-630);
}

div#tudastarlink {
    right: -3.4rem;
    transform: rotate(-90deg);
}

div#tobilink {
    left: -1.2rem;
    transform: rotate(90deg);
}

div#tobilink a,
div#tudastarlink a {
    color: var(--gm-white);
    font-size: 28px;
    text-decoration: none;
}

@media (max-width: 767px) {
    div#tudastarlink,
    div#tobilink {
        position: fixed;
        top: auto;
        bottom: calc(16px + env(safe-area-inset-bottom));
        transform: none;
        padding: 0;
        margin: 0;
        width: calc(50% - 24px);
        max-width: 180px;
        z-index: 900;
        background-color: var(--gm-red-630);
    }

    div#tobilink {
        left: 16px;
        right: auto;
    }

    div#tudastarlink {
        right: 16px;
        left: auto;
    }

    div#tobilink a,
    div#tudastarlink a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 16px;
        color: var(--gm-white);
        font-size: 22px;
        line-height: 1;
        text-align: center;
        text-decoration: none;
    }
}

/* ========================================================================== 
   Header and breadcrumb
   ========================================================================== */

.page-title-container {
    text-align: center;
}

nav.breadcrumb ul {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

nav.breadcrumb ul li {
    margin: 0 0.5rem;
    list-style: none;
    color: color-mix(in srgb, var(--gm-white) 70%, transparent);
}

.site-header {
    position: relative;
    overflow: hidden;
}

.site-header__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.site-header__top,
.inner-page-hero {
    position: relative;
    z-index: 1;
}

.site-header--inner {
    color: var(--gm-white);
    background: linear-gradient(90deg, color-mix(in srgb, var(--gm-navy-750) 96%, var(--gm-black)) 0%, color-mix(in srgb, var(--gm-navy-750) 93%, transparent) 58%, color-mix(in srgb, var(--gm-navy-750) 92%, var(--gm-black)) 100%);
}

.site-header--inner .site-header__bg {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--gm-navy-750) 92%, var(--gm-black)) 0%, color-mix(in srgb, var(--gm-navy-750) 78%, transparent) 58%, color-mix(in srgb, var(--gm-navy-750) 72%, transparent) 100%),
        url('/wp-content/uploads/2026/03/inner-header-bg.jpg') right center / cover no-repeat;
}

.site-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 86px;
}

.main-navigation .main-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-navigation .main-menu > li > a {
    color: var(--gm-white);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

.site-header--inner .site-header__extras input[type="search"],
.site-header--inner .search-field {
    border: 1px solid color-mix(in srgb, var(--gm-white) 18%, transparent);
    background: color-mix(in srgb, var(--gm-white) 8%, transparent);
    color: var(--gm-white);
}

.site-header--inner .search-field::placeholder {
    color: color-mix(in srgb, var(--gm-white) 72%, transparent);
}

.inner-page-hero {
    padding: 34px 0 48px;
}

.inner-page-hero__title {
    margin: 0 0 10px;
    color: var(--gm-white);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    line-height: 1.05;
    text-align: center;
}

.inner-page-hero__breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: color-mix(in srgb, var(--gm-white) 78%, transparent);
    font-size: 0.92rem;
}

.inner-page-hero__breadcrumbs a {
    color: color-mix(in srgb, var(--gm-white) 92%, transparent);
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .site-header__bar {
        min-height: auto;
        padding: 16px 0;
        flex-wrap: wrap;
        gap: 14px;
    }

    .main-navigation {
        width: 100%;
        order: 3;
    }

    .main-navigation .main-menu {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .site-header__extras {
        margin-left: auto;
    }

    .inner-page-hero {
        padding: 24px 0 32px;
    }
}

/* ========================================================================== 
   Home
   ========================================================================== */

body.home header#masthead,
body.home div#inner-header {
    position: relative;
    height: 300px;
}

body.home div#inner-header {
    position: absolute;
    top: 0;
    left: 0;
}

.slideshow-home {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    width: 100%;
    height: 50vh;
}

#home-tobi.home-tobi-section {
    position: relative;
    isolation: isolate;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 110px 0;
    overflow: hidden;
    background: var(--gm-black);
    color: var(--gm-white);
}

#home-tobi .home-tobi__divider {
    position: absolute;
    left: 0;
    z-index: 4;
    width: 100%;
    line-height: 0;
    pointer-events: none;
}

#home-tobi .home-tobi__divider--top {
    top: 0;
}

#home-tobi .home-tobi__divider--bottom {
    bottom: 0;
}

#home-tobi .home-tobi__divider svg {
    display: block;
    width: 100%;
    height: 110px;
}

#home-tobi .home-tobi__divider path {
    fill: var(--gm-white);
}

#home-tobi .home-tobi__bg {
    position: absolute;
    inset: -8% 0;
    z-index: 0;
    background: url('/wp-content/uploads/2025/08/human-brain-nervous-system-3d-illustration.jpg') 78% 50% / cover no-repeat;
    transform: translate3d(0, 0, 0) scale(1.12);
    will-change: transform;
}

#home-tobi .home-tobi__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, color-mix(in srgb, var(--gm-black) 95%, transparent) 0%, color-mix(in srgb, var(--gm-black) 92%, transparent) 26%, color-mix(in srgb, var(--gm-black) 78%, transparent) 48%, color-mix(in srgb, var(--gm-black) 42%, transparent) 70%, color-mix(in srgb, var(--gm-black) 12%, transparent) 100%);
}

#home-tobi .home-tobi__inner {
    position: relative;
    z-index: 2;
}

#home-tobi .home-tobi__row {
    min-height: 560px;
}

#home-tobi .home-tobi__content {
    max-width: 640px;
    padding-right: 28px;
}

#home-tobi .home-tobi__title {
    margin: 0 0 24px;
    color: var(--gm-white);
    font-size: clamp(2rem, 3.1vw, 3rem);
    line-height: 1.1;
    font-weight: 700;
}

#home-tobi .home-tobi__text,
#home-tobi .home-tobi__text p,
#home-tobi .home-tobi__text li {
    color: color-mix(in srgb, var(--gm-white) 92%, transparent);
    font-size: clamp(1rem, 1.08vw, 1.125rem);
    line-height: 1.85;
}

#home-tobi .home-tobi__text > *:last-child {
    margin-bottom: 0;
}

#home-tobi .home-tobi__future-form {
    min-height: 360px;
}

#home-eloadasok {
    row-gap: 28px;
    margin-top: 32px;
    margin-bottom: 40px;
}

#home-eloadasok > h2,
.tema-posts-panel__title,
h2.home-tudastar__title {
    margin: 0 0 26px;
    color: var(--gm-navy-750);
    font-size: clamp(2rem, 3.3vw, 3.4rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.02em;
}

#home-eloadasok > h2 {
    margin-bottom: 4px;
}

.home-eloadasok__item,
.balsai-card-grid__item {
    display: flex;
}

.eloadas-card__media {
    display: block;
    overflow: hidden;
}

.eloadas-card__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.eloadas-card__title {
    margin-bottom: 10px;
}

.eloadas-card__title a {
    text-decoration: none;
}

.eloadas-card__date,
.tudastar-card__meta.event-date {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-size: 0.92rem;
    line-height: 1.5;
}

#home-eloadasok .eloadas-card__media,
#home-eloadasok .tudastar-card__media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

#home-eloadasok .eloadas-card__media img,
#home-eloadasok .tudastar-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================================================== 
   Cards
   ========================================================================== */

.tudastar-grid,
.archive-tudastar-page .tudastar-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 30px;
}

.tudastar-grid__item,
.archive-tudastar-page .tudastar-grid__item {
    display: flex;
    flex: 0 0 calc((100% - 60px) / 3);
    max-width: calc((100% - 60px) / 3);
}

.tudastar-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--gm-white);
    border: 1px solid color-mix(in srgb, var(--gm-navy-750) 12%, transparent);
    box-shadow: var(--gm-shadow-card);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tudastar-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--gm-shadow-card-hover);
}

.tudastar-card__media,
.balsai-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: color-mix(in srgb, var(--gm-white) 88%, var(--gm-navy-750));
    border-radius: 0;
}

.tudastar-card__image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.tudastar-card__image,
.tudastar-card__media img,
.balsai-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.tudastar-card:hover .tudastar-card__image,
.tudastar-card.balsai-card:hover .balsai-card__media img {
    transform: scale(1.04);
}

.tudastar-card__meta-left,
.tudastar-card__meta-right {
    position: absolute;
    top: 12px;
    z-index: 2;
}

.tudastar-card__meta-left {
    left: 12px;
    right: 120px;
}

.tudastar-card__meta-right {
    right: 12px;
}

.tudastar-card__type,
.tudastar-card__access,
.tudastar-card__date,
.tudastar-card__new {
    display: inline-flex;
    align-items: center;
    border-radius: var(--gm-radius-sm);
}

.tudastar-card__type,
.tudastar-card__access {
    gap: 6px;
    min-height: 30px;
    padding: 6px 10px;
    color: var(--gm-white);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

.tudastar-card__type,
.tudastar-card__new {
    background: color-mix(in srgb, var(--gm-red-630) 92%, transparent);
}

.tudastar-card__access {
    white-space: nowrap;
}

.tudastar-card__access--access {
    background: color-mix(in srgb, var(--gm-navy-750) 92%, transparent);
}

.tudastar-card__access--noaccess,
#home-tudastar .tudastar-card__access--noaccess {
    background: color-mix(in srgb, var(--gm-black) 78%, transparent);
}

.tudastar-card__date {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 10px;
    background: color-mix(in srgb, var(--gm-navy-750) 88%, transparent);
    color: var(--gm-white);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.tudastar-card__new {
    justify-content: center;
    padding: 3px 6px;
    color: var(--gm-white);
    font-size: 11px;
    letter-spacing: 0.04em;
}

.tudastar-card__body,
.tudastar-card__content,
.balsai-card__content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 22px 22px 20px;
}

.tudastar-card__title,
.balsai-card__title {
    margin: 0 0 12px;
    color: var(--gm-navy-750);
    font-size: 1.35rem;
    line-height: 1.2;
    font-weight: 700;
}

.balsai-card__title {
    font-size: 1.18rem;
    line-height: 1.35;
    font-weight: 800;
}

.tudastar-card__title a,
.balsai-card__title a {
    color: inherit;
    text-decoration: none;
}

.tudastar-card__title a:hover,
.tudastar-card__title a:focus,
.balsai-card__title a:hover,
.balsai-card__title a:focus {
    color: var(--gm-red-630);
}

.tudastar-card__excerpt,
.balsai-card__excerpt {
    color: color-mix(in srgb, var(--gm-text-strong) 76%, var(--gm-white));
    font-size: 0.98rem;
    line-height: 1.75;
}

.tudastar-card__excerpt {
    line-height: 1.7;
}

.tudastar-card__excerpt p:last-child,
.balsai-card__excerpt p:last-child {
    margin-bottom: 0;
}

.tudastar-card__footer {
    margin-top: auto;
    padding-top: 22px;
}

/* ========================================================================== 
   Tema taxonomy
   ========================================================================== */

body.tax-tema #content {
    background: color-mix(in srgb, var(--gm-white) 94%, var(--gm-navy-750));
}

.tema-tax-page {
    padding-top: 24px;
    padding-bottom: 48px;
}

.tema-tax-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tema-top-panel,
.tema-posts-panel,
.tema-info-box,
.tema-top-panel__term {
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 92%, var(--gm-navy-750));
}

.tema-top-panel__inner,
.tema-posts-panel__inner {
    padding: 24px;
}

.tema-top-panel__inner {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tema-top-panel__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    column-gap: 28px;
    row-gap: 20px;
}

.tema-top-panel__intro {
    display: flex;
    flex: 0 0 300px;
    max-width: 300px;
    flex-direction: column;
    justify-content: center;
}

.tema-top-panel__boxes {
    display: flex;
    flex: 1 1 700px;
    flex-wrap: wrap;
    gap: 14px;
}

.tema-info-box {
    flex: 1 1 calc((100% - 28px) / 3);
    min-width: 220px;
    padding: 16px 18px;
}

.tema-top-panel__term {
    padding: 18px 20px;
    background: color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

.tema-top-panel__subtitle,
.tema-post-card__date {
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-weight: 700;
}

.tema-top-panel__subtitle {
    margin-bottom: 8px;
    font-size: 0.9rem;
    font-weight: 600;
}

.tema-top-panel__title,
.tema-top-panel__term-title,
.tema-info-box__title {
    margin: 0;
    color: var(--gm-navy-750);
}

.tema-top-panel__title {
    font-size: clamp(2rem, 3vw, 2rem);
    line-height: 1.05;
    text-transform: uppercase;
}

.tema-top-panel__term-title {
    margin-bottom: 12px;
    font-size: 1.45rem;
    line-height: 1.2;
}

.tema-top-panel__term-text,
.tema-top-panel__term-text p,
.tema-info-box__text,
.tema-info-box__text p,
.tema-post-card__excerpt,
.tema-empty-state p {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 72%, var(--gm-white));
    font-size: 0.95rem;
    line-height: 1.7;
}

.tema-top-panel__term-text,
.tema-top-panel__term-text p {
    font-size: 0.98rem;
    line-height: 1.8;
}

.tema-top-panel__term-text p + p,
.tema-info-box__text p + p {
    margin-top: 10px;
}

.tema-tabs-nav {
    margin: 0;
}

.tema-tabs-nav__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tema-tabs-nav__item {
    margin: 0;
    padding: 0;
}

.tema-tabs-nav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 70%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 84%, var(--gm-navy-750));
    color: var(--gm-navy-750);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

.tema-tabs-nav__link:hover,
.tema-tabs-nav__link:focus,
.tema-tabs-nav__link.is-active {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.tema-post-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.tema-post-card {
    display: flex;
    flex: 0 0 calc((100% - 54px) / 4);
    max-width: calc((100% - 54px) / 4);
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    background: var(--gm-white);
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-navy-750));
}

.tema-post-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    background: color-mix(in srgb, var(--gm-white) 84%, var(--gm-navy-750));
}

.tema-post-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tema-post-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
}

.tema-post-card__date {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tema-post-card__title {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.35;
}

.tema-post-card__title a {
    color: var(--gm-navy-750);
    text-decoration: none;
}

.tema-post-card__title a:hover,
.tema-post-card__title a:focus {
    color: var(--gm-red-630);
}

.tema-readmore-btn.btn {
    align-self: flex-start;
    margin-top: auto;
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.tema-readmore-btn.btn:hover,
.tema-readmore-btn.btn:focus {
    background: color-mix(in srgb, var(--gm-navy-750) 88%, var(--gm-black));
    border-color: color-mix(in srgb, var(--gm-navy-750) 88%, var(--gm-black));
    color: var(--gm-white);
}

.tema-pagination {
    margin-top: 26px;
}

body.tax-tema .nav-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

body.tax-tema .nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-navy-750));
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-weight: 700;
    text-decoration: none;
}

body.tax-tema .nav-links .page-numbers.current,
body.tax-tema .nav-links a.page-numbers:hover,
body.tax-tema .nav-links a.page-numbers:focus {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.tema-empty-state {
    padding: 24px 0 8px;
}

/* ========================================================================== 
   Balsai page
   ========================================================================== */

.balsai-doki-page-wrap {
    margin-top: 36px;
    margin-bottom: 64px;
}

.balsai-doki-page,
.balsai-richtext,
.balsai-intro__lead {
    color: color-mix(in srgb, var(--gm-text-strong) 82%, var(--gm-white));
}

.balsai-intro {
    align-items: flex-start !important;
    row-gap: 28px;
    margin-bottom: 34px;
}

.balsai-intro__media {
    margin: 0 auto;
    padding: 10px;
    background: var(--gm-paleblue);
    box-shadow: var(--gm-shadow-2xl);
}

.balsai-intro__image {
    display: block;
    width: 100%;
    height: auto;
}

.balsai-intro__content {
    max-width: 620px;
}

.balsai-eyebrow,
.kapcsolat-eyebrow {
    margin-bottom: 10px;
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.balsai-intro__title {
    margin: 0 0 16px;
    color: var(--gm-text-strong);
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1.08;
    font-weight: 800;
}

.balsai-intro__lead {
    font-size: 1.03rem;
    line-height: 1.8;
}

.balsai-intro__lead p:last-child {
    margin-bottom: 0;
}

.balsai-main-content {
    margin-bottom: 42px;
}

.balsai-richtext {
    font-size: 1rem;
    line-height: 1.95;
}

.balsai-richtext p {
    margin-bottom: 1.15em;
}

.balsai-section {
    margin-top: 42px;
}

.balsai-section--soft .balsai-section__inner {
    padding: 34px 28px 36px;
    background: var(--gm-paleblue);
}

.balsai-section__header {
    margin-bottom: 26px;
}

.balsai-section__title {
    margin: 0;
    color: var(--gm-navy-750);
    font-size: clamp(1.8rem, 2.3vw, 2.6rem);
    line-height: 1.15;
    font-weight: 800;
}

.balsai-section__intro {
    margin-top: 12px;
    color: color-mix(in srgb, var(--gm-text-strong) 68%, var(--gm-white));
    line-height: 1.8;
}

.balsai-card-grid,
.balsai-results__grid {
    row-gap: 28px;
}

.tudastar-card.balsai-card {
    border: 1px solid color-mix(in srgb, var(--gm-navy-750) 8%, transparent);
    box-shadow: var(--gm-shadow-xl);
}

.tudastar-card.balsai-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--gm-shadow-2xl);
}

.balsai-card--media .balsai-card__title {
    font-size: 1.02rem;
}

.balsai-card__placeholder {
    width: 100%;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gm-white) 75%, var(--gm-navy-750)), color-mix(in srgb, var(--gm-white) 88%, var(--gm-navy-750)));
}

.media-nav-container {
    margin-bottom: 22px;
}

.media-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

nav.media-nav ul li {
    margin: 0;
}

.media-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.media-nav a:hover,
.media-nav a:focus,
.media-nav a.is-active {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.balsai-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--gm-navy-750) 82%, transparent);
    color: var(--gm-white);
    font-size: 1.1rem;
    transform: translate(-50%, -50%);
    box-shadow: var(--gm-shadow-md);
}

.balsai-empty {
    margin: 0;
    padding: 18px 20px;
    background: var(--gm-white);
    border-radius: var(--gm-radius-2xl);
    color: color-mix(in srgb, var(--gm-text-strong) 68%, var(--gm-white));
}

.balsai-results .balsai-section__inner {
    padding: 0;
    background: transparent;
}

.balsai-results__intro {
    max-width: 760px;
}

.balsai-results__grid {
    margin-top: 18px;
    row-gap: 20px;
}

.balsai-stat-card {
    height: 100%;
    padding: 28px 22px;
    border: 1px solid color-mix(in srgb, var(--gm-text-strong) 8%, transparent);
    border-radius: var(--gm-radius-3xl);
    background: linear-gradient(180deg, var(--gm-white) 0%, color-mix(in srgb, var(--gm-white) 94%, var(--gm-navy-750)) 100%);
    text-align: center;
    box-shadow: var(--gm-shadow-xl);
}

.balsai-stat-card__value {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    margin-bottom: 10px;
    color: var(--gm-text-strong);
    font-size: clamp(2.1rem, 3.2vw, 3.4rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.balsai-stat-card__plus {
    color: var(--gm-red-630);
}

.balsai-stat-card__label {
    color: color-mix(in srgb, var(--gm-text-strong) 76%, var(--gm-white));
    font-size: 0.98rem;
    font-weight: 700;
}

.ml-media-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.ml-media-modal__overlay {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--gm-black) 78%, transparent);
}

.ml-media-modal__dialog {
    position: relative;
    z-index: 2;
    width: min(960px, calc(100vw - 32px));
    margin: 5vh auto 0;
    overflow: hidden;
    background: var(--gm-white);
    border-radius: var(--gm-radius-3xl);
    box-shadow: var(--gm-shadow-card-hover);
}

.ml-media-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: var(--gm-radius-pill);
    background: color-mix(in srgb, var(--gm-text-strong) 85%, transparent);
    color: var(--gm-white);
    font-size: 1.4rem;
    cursor: pointer;
}

.ml-media-modal__content {
    padding: 0;
}

.ml-media-modal__ratio {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.ml-media-modal__ratio iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

html.ml-media-modal-open,
html.ml-media-modal-open body {
    overflow: hidden;
}

/* ========================================================================== 
   Tudástár archive
   ========================================================================== */

.archive-tudastar-page {
    padding-top: 18px;
    padding-bottom: 70px;
}

.archive-tudastar-header {
    margin-bottom: 36px;
}

.archive-tudastar-header__title {
    margin: 0 0 20px;
    color: var(--gm-navy-750);
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.archive-tudastar-header__content,
.archive-tudastar-empty p {
    color: color-mix(in srgb, var(--gm-text-strong) 78%, var(--gm-white));
    font-size: 1rem;
    line-height: 1.8;
}

.archive-tudastar-header__content {
    max-width: 980px;
}

.archive-tudastar-header__content p,
.archive-tudastar-header__content ul {
    margin-bottom: 14px;
}

.archive-tudastar-header__content ul {
    padding-left: 22px;
}

.archive-tudastar-list__title {
    margin: 0 0 26px;
    color: var(--gm-navy-750);
    font-size: clamp(1.8rem, 2.8vw, 3rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.archive-tudastar-empty p {
    margin: 0;
}

/* ========================================================================== 
   Events
   ========================================================================== */

.tribe-events .tribe-events-c-nav__list {
    display: none;
}

.gm-events-archive__section {
    padding: 56px 0 72px;
}

.gm-events-archive__container {
    max-width: 1180px;
    margin: 0 auto;
}

.gm-events-list,
.gm-events-month {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gm-events-list {
    display: flex;
    flex-direction: column;
    gap: 42px;
}

.gm-events-list__empty {
    padding: 24px 0;
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-size: 16px;
}

.gm-events-month__title {
    margin: 0 0 4px;
}

.gm-events-month__time {
    display: inline-block;
    color: var(--gm-text-strong);
    font-size: clamp(34px, 3vw, 54px);
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.gm-events-list__item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tribe-common article,
.tribe-common aside,
.tribe-common details,
.tribe-common figcaption,
.tribe-common figure,
.tribe-common footer,
.tribe-common header,
.tribe-common main,
.tribe-common menu,
.tribe-common nav,
.tribe-common section,
.tribe-common summary .gm-event-card,
.gm-event-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.gm-event-card__content {
    flex: 0 0 60%;
    max-width: 60%;
    min-width: 0;
}

.gm-event-card__media {
    flex: 0 0 40%;
    max-width: 40%;
}

.gm-event-card__image-link,
.gm-event-card__img {
    display: block;
    width: 100%;
}

.gm-event-card__img {
    height: 100%;
    border-radius: 0;
    box-shadow: none;
}

.gm-event-card__header {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 20px;
}

.gm-event-card__title {
    margin: 0;
    font-size: clamp(28px, 2vw, 42px);
    line-height: 1.12;
    font-weight: 800;
}

.gm-event-card__title-link {
    color: var(--gm-red-630);
    text-decoration: none;
}

.gm-event-card__title-link:hover,
.gm-event-card__title-link:focus {
    color: var(--gm-red-550);
    text-decoration: none;
}

.gm-event-card__meta {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: color-mix(in srgb, var(--gm-text-strong) 78%, var(--gm-white));
    font-size: 16px;
    line-height: 1.6;
}

.gm-event-card__meta i {
    flex: 0 0 auto;
    margin-top: 4px;
    color: color-mix(in srgb, var(--gm-text-strong) 50%, var(--gm-white));
    font-size: 15px;
}

.gm-event-card__meta--date,
.gm-event-card__venue {
    color: var(--gm-text-strong);
    font-weight: 700;
}

.gm-event-card__location-text {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gm-event-card__address {
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-style: italic;
}

.gm-event-card__excerpt {
    max-width: 760px;
}

.gm-event-card__excerpt p {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 16px;
    line-height: 1.75;
}

.gm-event-card__actions {
    margin-top: 18px;
}

.gm-events-archive .tribe-events-c-nav,
.gm-events-archive .tribe-events-nav-pagination {
    margin-top: 24px;
}

/* ========================================================================== 
   Single event
   ========================================================================== */

#tribe-events-content.tribe-events-single {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 16px 48px;
    color: var(--gm-navy-750);
    font-family: inherit;
}

#tribe-events-pg-template {
    max-width: 100%;
}

.tribe-events-schedule {
    margin-bottom: 24px;
    padding: 14px 18px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-text-strong));
    border-radius: var(--gm-radius-md);
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
}

.event-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    align-items: center;
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 15px;
    line-height: 1.6;
}

.event-single-meta i {
    margin-right: 8px;
    color: var(--gm-navy-750);
}

#tribe-events-header {
    margin-bottom: 18px;
}

.tribe-events-event-image {
    margin-bottom: 28px;
}

.tribe-events-event-image img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: var(--gm-shadow-xl);
}

.tribe-events-single-event-description {
    margin: 0 auto 36px;
    color: color-mix(in srgb, var(--gm-text-strong) 82%, var(--gm-white));
    font-family: inherit;
    font-size: 17px;
    line-height: 1.8;
}

.tribe-events-single-event-description p,
.tribe-events-single-event-description div,
.tribe-events-single-event-description li,
.tribe-events-single-event-description span,
.tribe-events-single-event-description strong,
.tribe-events-single-event-description a {
    font-family: inherit !important;
}

.tribe-events-single-event-description p,
.tribe-events-single-event-description div {
    margin: 0 0 14px;
}

.tribe-events-single-event-description strong {
    color: var(--gm-text-strong);
    font-weight: 700;
}

.tribe-events-single-event-description a {
    color: var(--gm-navy-750);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.tribe-events-single-event-description a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

.tribe-events-single-event-description [class*="x"] {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.tribe-events-c-subscribe-dropdown__container,
.single-tribe_events .tribe-events-c-subscribe-dropdown__container {
    margin: 28px auto 32px;
}

.tribe-events-c-subscribe-dropdown__button-text {
    color: var(--gm-text-strong);
    font-family: inherit;
    font-weight: 600;
}

.mentha-event-meta {
    margin-top: 24px;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown {
    position: relative;
    display: inline-block;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 16px;
    border: 2px solid var(--gm-navy-750);
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gm-navy-750) 18%, transparent);
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button .fa,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text {
    color: var(--gm-navy-750);
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button .fa {
    margin: 0;
    font-size: 14px;
    line-height: 1;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text {
    min-height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: none;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text:focus {
    background: transparent;
    color: var(--gm-white);
    outline: none;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button-icon {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button-icon .tribe-common-c-svgicon__svg-fill {
    fill: var(--gm-white);
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__content {
    z-index: 30;
    width: fit-content;
    margin-top: 8px;
    padding: 8px 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    border-radius: var(--gm-radius-md);
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-lg);
}

.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border {
    width: fit-content !important;
    padding: 11px 20px;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item {
    margin: 0;
    padding: 0;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link {
    display: block;
    padding: 11px 16px;
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link:focus {
    background: color-mix(in srgb, var(--gm-white) 94%, var(--gm-navy-750));
    color: var(--gm-navy-750);
    outline: none;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover .tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within .tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover .fa,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within .fa {
    color: var(--gm-white);
}

.tribe-events-event-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

.tribe-events-meta-group {
    width: 100%;
    margin-right: 0;
    padding: 24px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-text-strong));
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-md);
    margin-bottom:2rem;
}

.tribe-events-single-section-title {
    margin: 0 0 18px;
    color: var(--gm-text-strong);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.tribe-events-meta-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tribe-events-meta-item {
    margin-left: 0;
    padding: 10px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 88%, var(--gm-navy-750));
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 15px;
    line-height: 1.6;
}

.tribe-events-meta-item:last-child {
    border-bottom: 0;
}

.tribe-events-meta-label {
    display: inline-block;
    min-width: 85px;
    color: var(--gm-text-strong);
    font-weight: 600;
}

.tribe-events-meta-value,
.tribe-events-address,
.tribe-venue {
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
}

.tribe-events-meta-value a,
.tribe-events-address a,
.tribe-events-meta-item a {
    color: var(--gm-navy-750);
    text-decoration: none;
}

.tribe-events-meta-value a:hover,
.tribe-events-address a:hover,
.tribe-events-meta-item a:hover {
    text-decoration: underline;
}

.tribe-events-meta-group-gmap {
    grid-column: 1 / -1;
    padding: 0;
    overflow: hidden;
}

.tribe-events-venue-map {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.tribe-events-venue-map iframe {
    display: block;
    min-height: 340px;
    border: 0;
    border-radius: 0;
}

/* ========================================================================== 
   Tickets and modal
   ========================================================================== */

.single-tribe_events .event-tickets.tribe-tickets__tickets-wrapper,
.single-tribe_events .tribe-common.event-tickets.tribe-tickets__tickets-wrapper {
    margin-top: 28px;
    background: var(--gm-white);
    border-radius: var(--gm-radius-lg);
    box-shadow: var(--gm-shadow-sm);
}

.single-tribe_events .tribe-tickets__tickets-title,
.single-tribe_events .tribe-tickets__attendee-tickets-title {
    margin: 0 0 18px;
    color: var(--gm-navy-750);
    font-weight: 700;
    line-height: 1.2;
}

.single-tribe_events .tribe-tickets__tickets-title {
    font-size: 30px;
}

.single-tribe_events .tribe-tickets__attendee-tickets-title {
    font-size: 24px;
}

.single-tribe_events .tribe-tickets__notice,
.single-tribe_events .tribe-tickets__attendee-tickets .tribe-tickets__notice,
.single-tribe_events .tribe-modal__content .tribe-tickets__notice {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-navy-750));
    border-radius: var(--gm-radius-md);
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 14px;
    line-height: 1.6;
}

.single-tribe_events .tribe-tickets__tickets-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title price" "desc qty";
    gap: 14px 24px;
    align-items: start;
    padding: 20px 0;
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

.single-tribe_events .tribe-tickets__tickets-item:first-of-type {
    padding-top: 4px;
    border-top: 0;
}

.single-tribe_events .tribe-tickets__tickets-item-content-title-container {
    grid-area: title;
    min-width: 0;
}

.single-tribe_events .tribe-tickets__tickets-item-content-title {
    margin: 0;
    color: var(--gm-navy-750);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.single-tribe_events .tribe-tickets__tickets-item-details-content {
    grid-area: desc;
    max-width: 760px;
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 66%, var(--gm-white));
    font-size: 15px !important;
    line-height: 1.7;
}

.single-tribe_events .tribe-tickets__tickets-item-extra {
    grid-area: price;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.single-tribe_events .tribe-tickets__tickets-item-extra-price .tribe-amount,
.single-tribe_events .tribe-tickets__tickets-footer-quantity-number,
.single-tribe_events .tribe-tickets__tickets-footer-total-wrap,
.single-tribe_events .tribe-tickets__tickets-footer-total-wrap .tribe-amount {
    color: var(--gm-navy-750);
    font-weight: 800;
}

.single-tribe_events .tribe-tickets__tickets-item-extra-price .tribe-amount {
    font-size: 30px;
    line-height: 1;
}

.single-tribe_events .tribe-tickets__tickets-item-extra-price .tribe-currency-symbol,
.single-tribe_events .tribe-tickets__tickets-footer-total-wrap .tribe-currency-symbol {
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
}

.single-tribe_events .tribe-tickets__tickets-item-quantity {
    grid-area: qty;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-add,
.single-tribe_events .tribe-tickets__tickets-item-quantity-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--gm-white) 70%, var(--gm-navy-750));
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-size: 24px;
    line-height: 1;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-add:hover,
.single-tribe_events .tribe-tickets__tickets-item-quantity-remove:hover {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-number {
    display: flex;
    align-items: center;
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-number-input {
    width: 72px;
    height: 40px;
    padding: 0 8px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 70%, var(--gm-navy-750));
    border-radius: var(--gm-radius-md);
    background: var(--gm-white);
    color: var(--gm-navy-750);
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    box-shadow: none;
    appearance: textfield;
    -moz-appearance: textfield;
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-number-input::-webkit-outer-spin-button,
.single-tribe_events .tribe-tickets__tickets-item-quantity-number-input::-webkit-inner-spin-button,
.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity-number-input::-webkit-outer-spin-button,
.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity-number-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.single-tribe_events .tribe-tickets__tickets-item-quantity-number-input:focus {
    outline: none;
    border-color: var(--gm-navy-750);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gm-navy-750) 12%, transparent);
}

.single-tribe_events .tribe-tickets__tickets-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

.single-tribe_events .tribe-tickets__tickets-footer-quantity,
.single-tribe_events .tribe-tickets__tickets-footer-total {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 66%, var(--gm-white));
    font-size: 14px;
    line-height: 1.4;
}

.single-tribe_events .tribe-tickets__tickets-footer-quantity-label,
.single-tribe_events .tribe-tickets__tickets-footer-total-label {
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-weight: 600;
}

.single-tribe_events .tribe-tickets__tickets-footer-quantity-number,
.single-tribe_events .tribe-tickets__tickets-footer-total-wrap .tribe-amount {
    font-size: 20px;
    line-height: 1;
}

.single-tribe_events .tribe-tickets__tickets-buy,
.single-tribe_events .tribe-tickets__attendee-tickets-submit {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-tribe_events .tribe-modal__content,
.single-tribe_events .tribe-dialog__content {
    border-radius: var(--gm-radius-xl);
}

.single-tribe_events .tribe-tickets__attendee-tickets {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

.single-tribe_events .tribe-tickets__attendee-tickets-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.single-tribe_events .tribe-tickets-loader__dots {
    margin: 16px 0 0;
}

.tribe-modal__wrapper--ar.tribe-dialog__wrapper {
    padding: 32px 20px !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.tribe-modal__wrapper--ar [role="document"] {
    position: relative;
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-text-strong)) !important;
    border-radius: 0 !important;
    background: var(--gm-white) !important;
    box-shadow: var(--gm-shadow-card-hover) !important;
}

.tribe-modal__wrapper--ar .tribe-dialog__close-button,
.tribe-modal__wrapper--ar .tribe-modal__close-button {
    position: absolute !important;
    top: 22px !important;
    right: 22px !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-text-strong)) !important;
    border-radius: 0 !important;
    background: var(--gm-white) center no-repeat !important;
    color: color-mix(in srgb, var(--gm-text-strong) 80%, var(--gm-white)) !important;
    opacity: 1 !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tribe-modal__wrapper--ar .tribe-dialog__close-button:hover,
.tribe-modal__wrapper--ar .tribe-modal__close-button:hover {
    background-color: var(--gm-navy-750) !important;
    border-color: var(--gm-navy-750) !important;
    color: var(--gm-white) !important;
}

.tribe-modal__wrapper--ar .tribe-dialog__close-button::before,
.tribe-modal__wrapper--ar .tribe-dialog__close-button::after,
.tribe-modal__wrapper--ar .tribe-modal__close-button::before,
.tribe-modal__wrapper--ar .tribe-modal__close-button::after {
    background: currentColor !important;
}

.tribe-modal__wrapper--ar .tribe-dialog__title,
.tribe-modal__wrapper--ar .tribe-modal__title {
    margin: 0 !important;
    padding: 30px 88px 22px 32px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750)) !important;
    background: var(--gm-white) !important;
    color: color-mix(in srgb, var(--gm-text-strong) 80%, var(--gm-white)) !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.tribe-modal__wrapper--ar .tribe-dialog__content,
.tribe-modal__wrapper--ar .tribe-modal__content,
.tribe-modal__wrapper--ar .tribe-tickets__form,
.tribe-modal__wrapper--ar .tribe-modal__cart,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets,
.tribe-modal__wrapper--ar #tribe-modal__attendee-registration {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 140px 110px 140px;
    gap: 24px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 28px 32px !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750)) !important;
    background: var(--gm-white) !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title-container,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra-price,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity-number-input,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity-label,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-label,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-title {
    color: color-mix(in srgb, var(--gm-text-strong) 80%, var(--gm-white)) !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap {
    text-align: right !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra-price,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity-number-input {
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity-number {
    display: flex !important;
    justify-content: flex-end !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity-number-input {
    width: 56px !important;
    min-width: 56px !important;
    height: 42px !important;
    padding: 0 8px !important;
    border: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-text-strong)) !important;
    border-radius: 0 !important;
    background: var(--gm-white) !important;
    text-align: center !important;
    box-shadow: none !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    padding: 22px 32px 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity-number,
.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-wrap {
    font-weight: 700 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets {
    margin: 0 !important;
    padding: 0 32px 32px !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-title {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__notice {
    margin: 18px 0 0 !important;
    padding: 14px 16px !important;
    border: 1px solid color-mix(in srgb, var(--gm-red-550) 30%, var(--gm-white)) !important;
    border-radius: 0 !important;
    background: color-mix(in srgb, var(--gm-red-550) 8%, var(--gm-white)) !important;
    color: var(--gm-red-630) !important;
}

.tribe-modal__wrapper--ar .tribe-tickets-notice__content {
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form {
    margin-top: 18px !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form input[type="text"],
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form input[type="email"],
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form input[type="tel"],
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form textarea,
.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form select {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-text-strong)) !important;
    border-radius: 0 !important;
    background: var(--gm-white) !important;
    color: color-mix(in srgb, var(--gm-text-strong) 80%, var(--gm-white)) !important;
    box-shadow: none !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-form textarea {
    min-height: 120px !important;
    padding: 14px !important;
    resize: vertical !important;
}

.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-top: 18px !important;
    padding-top: 18px !important;
}

.tribe-modal__wrapper--ar .tribe-common-c-loader__dot circle {
    fill: var(--gm-navy-750) !important;
}

.single-tribe_events .tribe-dialog__overlay.tribe-modal__overlay {
    background: color-mix(in srgb, var(--gm-black) 62%, transparent);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar {
    width: min(92vw, 980px);
    max-width: 980px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--gm-radius-3xl);
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-card-hover);
}

.single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar > [role="document"] {
    position: relative;
    padding: 34px 36px 32px;
    background: var(--gm-white);
}

.single-tribe_events .tribe-modal__title,
.single-tribe_events .tribe-dialog__title {
    margin: 0 56px 24px 0;
    padding: 0 0 18px;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 84%, var(--gm-navy-750));
    color: var(--gm-navy-750);
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.single-tribe_events .tribe-modal__close-button,
.single-tribe_events .tribe-dialog__close-button {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 46px;
    height: 46px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-navy-750));
    border-radius: var(--gm-radius-lg);
    background: var(--gm-white);
    color: var(--gm-navy-750);
    box-shadow: none;
    transition: all 0.2s ease;
}

.single-tribe_events .tribe-modal__close-button:hover,
.single-tribe_events .tribe-dialog__close-button:hover {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

.single-tribe_events .tribe-modal__close-button:before,
.single-tribe_events .tribe-modal__close-button:after,
.single-tribe_events .tribe-dialog__close-button:before,
.single-tribe_events .tribe-dialog__close-button:after {
    background-color: currentColor;
}

.single-tribe_events .tribe-modal__content,
.single-tribe_events .tribe-dialog__content,
.single-tribe_events .tribe-modal__cart.event-tickets,
.single-tribe_events .tribe-modal-cart {
    padding: 0;
    border: 0;
    background: transparent;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    grid-template-areas: "title price qty total";
    align-items: center;
    gap: 18px 28px;
    padding: 18px 0 24px;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-navy-750));
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-content-title-container {
    grid-area: title;
    min-width: 0;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-content-title {
    margin: 0;
    color: var(--gm-navy-750);
    font-size: 1.15rem;
    line-height: 1.35;
    font-weight: 700;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-details-content:not(.tribe-common-a11y-hidden) {
    margin-top: 10px;
    color: color-mix(in srgb, var(--gm-text-strong) 66%, var(--gm-white));
    font-size: 0.95rem;
    line-height: 1.65;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-extra {
    grid-area: price;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-extra-price {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 12px 16px;
    border-radius: var(--gm-radius-lg);
    white-space: nowrap;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-extra-price .tribe-amount {
    color: var(--gm-navy-750);
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-extra-price .tribe-currency-symbol {
    color: color-mix(in srgb, var(--gm-white) 88%, transparent);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity {
    grid-area: qty;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 10px 12px;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity-number {
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity-number-input {
    width: 74px;
    height: 44px;
    padding: 0 8px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 70%, var(--gm-navy-750));
    border-radius: var(--gm-radius-md);
    background: var(--gm-white);
    color: var(--gm-navy-750);
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
    box-shadow: none;
    appearance: textfield;
    -moz-appearance: textfield;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-total-wrap {
    grid-area: total;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-total {
    color: var(--gm-navy-750);
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 800;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-total .tribe-currency-symbol {
    color: color-mix(in srgb, var(--gm-text-strong) 64%, var(--gm-white));
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 18px 0 16px;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-navy-750));
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-quantity,
.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-total {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: color-mix(in srgb, var(--gm-text-strong) 68%, var(--gm-white));
    font-size: 0.95rem;
    line-height: 1.4;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-quantity-number,
.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-total-wrap,
.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-total-wrap .tribe-amount {
    color: var(--gm-navy-750);
    font-weight: 800;
}

.single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer-total-wrap .tribe-currency-symbol {
    color: color-mix(in srgb, var(--gm-text-strong) 64%, var(--gm-white));
    font-size: 0.78rem;
    text-transform: uppercase;
}

.single-tribe_events .tribe-tickets__attendee-tickets-submit {
    min-width: 150px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (min-width: 768px) {
    .entry .entry-content .event-tickets .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__content .tribe-tickets__tickets-item-quantity-number,
    .event-tickets .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__content .tribe-tickets__tickets-item-quantity-number {
        width: fit-content !important;
    }
}

/* ========================================================================== 
   Contact page
   ========================================================================== */

.kapcsolat-page-custom {
    width: 100%;
    margin: 0 auto;
    padding: 56px 24px 72px;
}

.kapcsolat-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 48px;
    align-items: start;
}

.kapcsolat-left {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.kapcsolat-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.kapcsolat-card {
    padding: 8px 0;
    background: var(--gm-white);
}

.kapcsolat-card--form {
    padding-left: 48px;
    border-left: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-text-strong));
}

.kapcsolat-page-custom .kapcsolat-card--form {
    padding: 32px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-2xl);
}

.kapcsolat-card__head,
.kapcsolat-page-custom .kapcsolat-card--form .kapcsolat-card__head {
    margin-bottom: 18px;
}

.kapcsolat-page-custom .kapcsolat-card--form .kapcsolat-card__head {
    margin-bottom: 20px;
}

.kapcsolat-eyebrow {
    margin: 0 0 8px;
    color: color-mix(in srgb, var(--gm-text-strong) 55%, var(--gm-white));
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: none;
}

.kapcsolat-page-custom .kapcsolat-card--form .kapcsolat-eyebrow {
    margin: 0 0 6px;
    color: var(--gm-blue-500);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.kapcsolat-page-custom h4 {
    margin: 0;
    color: var(--gm-navy-750);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
    font-weight: 700;
}

.kapcsolat-card--events h4,
.kapcsolat-card--newsletter h4,
.kapcsolat-card--social h4,
.kapcsolat-card--form h4 {
    font-size: clamp(24px, 2.2vw, 34px);
}

.kapcsolat-page-custom .kapcsolat-card--form h4 {
    color: var(--gm-navy-750);
    font-size: 1.9rem;
    line-height: 1.2;
    font-weight: 700;
}

.kapcsolat-page-custom p {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 17px;
    line-height: 1.75;
}

.kapcsolat-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.kapcsolat-socials li {
    margin: 0;
    padding: 0;
}

.kapcsolat-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-text-strong));
    border-radius: var(--gm-radius-pill);
    background: var(--gm-white);
    color: var(--gm-text-strong);
    font-size: 22px;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kapcsolat-socials a:hover,
.kapcsolat-socials a:focus {
    transform: translateY(-2px);
    border-color: var(--gm-red-630);
    color: var(--gm-red-630);
}

.kapcsolat-event-date {
    margin-bottom: 18px !important;
    color: var(--gm-text-strong);
    font-weight: 600;
}

.kapcsolat-card--form form,
.kapcsolat-card--form .wpcf7,
.kapcsolat-card--form .wpforms-container,
.kapcsolat-card--form .gform_wrapper {
    margin-top: 8px;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 {
    margin-top: 6px;
}

.kapcsolat-card--form p,
.kapcsolat-card--form .wpcf7-form p,
.kapcsolat-card--form .wpforms-field-container,
.kapcsolat-card--form .gform-body {
    margin-bottom: 0;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form > p {
    margin: 0 0 16px;
}

.kapcsolat-page-custom .kapcsolat-card--form label {
    display: block;
    margin: 0;
    color: var(--gm-navy-750);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.45;
    transition: color 0.25s ease, transform 0.25s ease;
}

.kapcsolat-page-custom .kapcsolat-card--form label:focus-within {
    color: var(--gm-red-630);
    transform: translateX(4px);
}

.kapcsolat-card--form .wpcf7-form-control-wrap,
.kapcsolat-card--form .wpforms-field,
.kapcsolat-card--form .gfield {
    display: block;
    margin-bottom: 16px;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-form-control-wrap {
    position: relative;
    margin-top: 8px;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-form-control-wrap::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 8px;
    height: 2px;
    border-radius: var(--gm-radius-pill);
    background: linear-gradient(90deg, var(--gm-navy-750) 0%, var(--gm-red-550) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.28s ease;
    pointer-events: none;
}

.kapcsolat-page-custom .kapcsolat-card--form label:focus-within .wpcf7-form-control-wrap::after {
    transform: scaleX(1);
}

.kapcsolat-card--form input[type="text"],
.kapcsolat-card--form input[type="email"],
.kapcsolat-card--form input[type="tel"],
.kapcsolat-card--form input[type="url"],
.kapcsolat-card--form textarea,
.kapcsolat-card--form select,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-text,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-email,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-textarea {
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    color: var(--gm-text-strong);
}

.kapcsolat-card--form input[type="text"],
.kapcsolat-card--form input[type="email"],
.kapcsolat-card--form input[type="tel"],
.kapcsolat-card--form input[type="url"],
.kapcsolat-card--form textarea,
.kapcsolat-card--form select {
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 76%, var(--gm-text-strong));
    background: var(--gm-white);
    box-shadow: none;
    font-size: 15px;
    line-height: 1.5;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-text,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-email,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-textarea,
.kapcsolat-page-custom .kapcsolat-card--form input[type="text"],
.kapcsolat-page-custom .kapcsolat-card--form input[type="email"],
.kapcsolat-page-custom .kapcsolat-card--form textarea {
    border: 1px solid color-mix(in srgb, var(--gm-white) 72%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 96%, transparent);
    color: var(--gm-navy-750);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 0.98rem;
    line-height: 1.3;
    box-shadow: var(--gm-shadow-md);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, background-color 0.25s ease;
    appearance: none;
    -webkit-appearance: none;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-text,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-email,
.kapcsolat-page-custom .kapcsolat-card--form input[type="text"],
.kapcsolat-page-custom .kapcsolat-card--form input[type="email"] {
    height: 54px;
    min-height: 54px;
    padding: 0 16px;
}

.kapcsolat-card--form textarea,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-textarea,
.kapcsolat-page-custom .kapcsolat-card--form textarea {
    min-height: 160px;
    padding: 16px;
    resize: vertical;
}

.kapcsolat-card--form input::placeholder,
.kapcsolat-card--form textarea::placeholder,
.kapcsolat-page-custom .kapcsolat-card--form input::placeholder,
.kapcsolat-page-custom .kapcsolat-card--form textarea::placeholder {
    color: color-mix(in srgb, var(--gm-text-strong) 45%, var(--gm-white));
    opacity: 1;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-text:hover,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-email:hover,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-textarea:hover,
.kapcsolat-page-custom .kapcsolat-card--form input[type="text"]:hover,
.kapcsolat-page-custom .kapcsolat-card--form input[type="email"]:hover,
.kapcsolat-page-custom .kapcsolat-card--form textarea:hover {
    border-color: color-mix(in srgb, var(--gm-white) 62%, var(--gm-navy-750));
    background: var(--gm-white);
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-text:focus,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-email:focus,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-textarea:focus,
.kapcsolat-page-custom .kapcsolat-card--form input[type="text"]:focus,
.kapcsolat-page-custom .kapcsolat-card--form input[type="email"]:focus,
.kapcsolat-page-custom .kapcsolat-card--form textarea:focus {
    outline: none;
    border-color: var(--gm-red-550);
    background: var(--gm-white);
    transform: translateY(-1px);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gm-red-550) 18%, transparent), var(--gm-shadow-lg);
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-validates-as-required {
    scroll-margin-top: 120px;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-not-valid {
    border-color: var(--gm-red-630) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gm-red-630) 12%, transparent) !important;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: var(--gm-red-630);
    font-size: 0.83rem;
    line-height: 1.35;
    font-weight: 500;
}

.kapcsolat-card--form input[type="submit"],
.kapcsolat-card--form button[type="submit"],
.kapcsolat-card--form .wpforms-submit,
.kapcsolat-card--form .gform_button,
.kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 22px;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.kapcsolat-card--form input[type="submit"],
.kapcsolat-card--form button[type="submit"],
.kapcsolat-card--form .wpforms-submit,
.kapcsolat-card--form .gform_button {
    width: 100%;
    border: 1px solid var(--gm-text-strong);
    background: var(--gm-text-strong);
    color: var(--gm-white);
    line-height: 1.2;
    box-shadow: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.kapcsolat-card--form input[type="submit"]:hover,
.kapcsolat-card--form button[type="submit"]:hover,
.kapcsolat-card--form .wpforms-submit:hover,
.kapcsolat-card--form .gform_button:hover {
    background: var(--gm-black);
    border-color: var(--gm-black);
}

.kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit {
    min-width: 190px;
    background: var(--gm-navy-750);
    color: var(--gm-white);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 0.96rem;
    letter-spacing: 0.02em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: var(--gm-shadow-lg);
    transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit:hover,
.kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit:focus {
    transform: translateY(-3px);
    border: 1px solid var(--gm-red-550);
    background: color-mix(in srgb, var(--gm-white) 84%, var(--gm-navy-750));
    color: var(--gm-navy-750);
    box-shadow: var(--gm-shadow-2xl);
}

.kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gm-red-550) 18%, transparent), var(--gm-shadow-2xl);
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-spinner {
    margin: 0 0 0 12px;
    vertical-align: middle;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7-response-output {
    margin: 18px 0 0;
    padding: 12px 14px;
    border-radius: var(--gm-radius-2xl);
    font-size: 0.92rem;
    line-height: 1.5;
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form.sent .wpcf7-response-output {
    border: 1px solid color-mix(in srgb, var(--gm-navy-750) 25%, var(--gm-white));
    background: color-mix(in srgb, var(--gm-white) 92%, var(--gm-navy-750));
    color: var(--gm-navy-750);
}

.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form.invalid .wpcf7-response-output,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form.unaccepted .wpcf7-response-output,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form.payment-required .wpcf7-response-output,
.kapcsolat-page-custom .kapcsolat-card--form .wpcf7 form.failed .wpcf7-response-output {
    border: 1px solid color-mix(in srgb, var(--gm-red-550) 35%, var(--gm-white));
    background: color-mix(in srgb, var(--gm-red-550) 8%, var(--gm-white));
    color: var(--gm-red-630);
}

/* ========================================================================== 
   Cart and checkout
   ========================================================================== */

.woocommerce-cart .gtm-cart,
.woocommerce-checkout .gtm-checkout {
    margin: 48px 0 84px;
    color: var(--gm-navy-750);
}

.woocommerce-checkout .gtm-checkout {
    margin-top: 42px;
}

.woocommerce-cart .gtm-cart,
.woocommerce-cart .gtm-cart *,
.woocommerce-checkout .woocommerce,
.woocommerce-checkout .gtm-checkout,
.woocommerce-checkout .gtm-checkout * {
    box-sizing: border-box;
}

.woocommerce-cart .gtm-cart table,
.woocommerce-cart .gtm-cart th,
.woocommerce-cart .gtm-cart td,
.woocommerce-cart .gtm-cart input,
.woocommerce-cart .gtm-cart select,
.woocommerce-cart .gtm-cart textarea,
.woocommerce-cart .gtm-cart button,
.woocommerce-cart .gtm-cart .button,
.woocommerce-cart .gtm-cart .checkout-button,
.woocommerce-cart .gtm-cart .cart_totals,
.woocommerce-cart .gtm-cart .shop_table,
.woocommerce-checkout .gtm-checkout table,
.woocommerce-checkout .gtm-checkout th,
.woocommerce-checkout .gtm-checkout td,
.woocommerce-checkout .gtm-checkout input,
.woocommerce-checkout .gtm-checkout select,
.woocommerce-checkout .gtm-checkout textarea,
.woocommerce-checkout .gtm-checkout button,
.woocommerce-checkout .gtm-checkout .button,
.woocommerce-checkout .gtm-checkout .select2-selection,
.woocommerce-checkout .gtm-checkout .cart_totals,
.woocommerce-checkout .gtm-checkout .shop_table,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
    border-radius: 0 !important;
    color:#fff;
}

.woocommerce-cart .gtm-cart__layout,
.woocommerce-checkout .gtm-checkout__layout,
.woocommerce-checkout .gtm-checkout__form,
.woocommerce-cart .gtm-cart__head-row,
.woocommerce-cart .gtm-cart__item,
.woocommerce-cart .gtm-cart__product,
.woocommerce-cart .gtm-cart__footer,
.woocommerce-cart .gtm-cart__coupon,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout .create-account {
    display: flex;
}

.woocommerce-cart .gtm-cart__layout,
.woocommerce-checkout .gtm-checkout__layout {
    align-items: flex-start;
    justify-content: space-between;
}

.woocommerce-cart .gtm-cart__layout {
    gap: 56px;
}

.woocommerce-checkout .gtm-checkout__layout,
.woocommerce-checkout .gtm-checkout__form {
    gap: 42px;
}

.woocommerce-cart .gtm-cart__main,
.woocommerce-checkout .gtm-checkout__main {
    flex: 1 1 auto;
    min-width: 0;
}

.woocommerce-cart .gtm-cart__summary {
    flex: 0 0 360px;
    width: 360px;
    min-width: 360px;
}

.woocommerce-checkout .gtm-checkout__form {
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
    margin: 0;
}

.woocommerce-checkout .gtm-checkout__main {
    flex: 1 1 0;
}

.woocommerce-checkout .gtm-checkout__summary {
    position: sticky;
    top: 24px;
    flex: 0 0 clamp(320px, 29vw, 380px);
    width: clamp(320px, 29vw, 380px);
    min-width: 320px;
}

.woocommerce-cart .gtm-cart__form {
    margin: 0;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 24px;
}

.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    color: color-mix(in srgb, var(--gm-text-strong) 68%, var(--gm-white));
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
    border-color: color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    position: relative;
    margin: 0 0 14px;
    list-style: none;
    font-size: 14px;
    line-height: 1.6;
}

.woocommerce-cart .woocommerce-error a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-message a,
.woocommerce-checkout .woocommerce-form-login-toggle a,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-error a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
}

.woocommerce-cart .gtm-cart__table {
    width: 100%;
}

.woocommerce-cart .gtm-cart__head {
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
}

.woocommerce-cart .gtm-cart__head-row,
.woocommerce-cart .gtm-cart__item {
    align-items: center;
    gap: 0;
}

.woocommerce-cart .gtm-cart__head-cell,
.woocommerce-cart .gtm-cart__cell {
    min-width: 0;
}

.woocommerce-cart .gtm-cart__head-cell {
    padding: 0 16px 14px;
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.woocommerce-cart .gtm-cart__head-cell--remove,
.woocommerce-cart .gtm-cart__cell--remove {
    flex: 0 0 44px;
    padding-left: 0;
    padding-right: 8px;
}

.woocommerce-cart .gtm-cart__head-cell--product,
.woocommerce-cart .gtm-cart__cell--product {
    flex: 1 1 auto;
    min-width: 0;
}

.woocommerce-cart .gtm-cart__head-cell--price,
.woocommerce-cart .gtm-cart__head-cell--quantity,
.woocommerce-cart .gtm-cart__head-cell--subtotal,
.woocommerce-cart .gtm-cart__cell--price,
.woocommerce-cart .gtm-cart__cell--quantity,
.woocommerce-cart .gtm-cart__cell--subtotal {
    flex: 0 0 140px;
}

.woocommerce-cart .gtm-cart__item {
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
}

.woocommerce-cart .gtm-cart__cell {
    padding: 22px 16px;
}

.woocommerce-cart .gtm-cart__remove,
.woocommerce-cart a.gtm-cart__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gm-red-630) !important;
    font-size: 23px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

.woocommerce-cart .gtm-cart__remove:hover,
.woocommerce-cart a.gtm-cart__remove:hover {
    color: color-mix(in srgb, var(--gm-red-630) 72%, var(--gm-black)) !important;
    background: transparent;
}

.woocommerce-cart .gtm-cart__product {
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.woocommerce-cart .gtm-cart__media {
    flex: 0 0 64px;
    width: 64px;
}

.woocommerce-cart .gtm-cart__media img,
.woocommerce-cart .gtm-cart__thumb-link img {
    display: block;
    width: 64px;
    height: auto;
    border: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    background: var(--gm-white);
}

.woocommerce-cart .gtm-cart__content {
    flex: 1 1 auto;
    min-width: 0;
}

.woocommerce-cart .gtm-cart__title,
.woocommerce-cart .gtm-cart__title-link,
.woocommerce-cart .gtm-cart__title a,
.woocommerce-cart .gtm-cart__value,
.woocommerce-cart .gtm-cart__collaterals .shop_table th,
.woocommerce-cart .gtm-cart__collaterals .shop_table td,
.woocommerce-checkout .gtm-checkout,
.woocommerce-checkout label,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout #payment ul.payment_methods label,
.woocommerce-checkout .woocommerce-terms-and-conditions h2,
.woocommerce-checkout .woocommerce-terms-and-conditions a,
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a {
    color: var(--gm-navy-750);
}

.woocommerce-cart .gtm-cart__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 600;
}

.woocommerce-cart .gtm-cart__title-link,
.woocommerce-cart .gtm-cart__title a {
    text-decoration: none;
}

.woocommerce-cart .gtm-cart__title-link:hover,
.woocommerce-cart .gtm-cart__title a:hover {
    text-decoration: underline;
}

.woocommerce-cart .gtm-cart__meta,
.woocommerce-cart .gtm-cart__collaterals .woocommerce-shipping-destination,
.woocommerce-cart .gtm-cart__collaterals .woocommerce-shipping-methods,
.woocommerce-cart .gtm-cart__collaterals .woocommerce-shipping-totals small,
.woocommerce-cart .gtm-cart__collaterals .includes_tax,
.woocommerce-checkout .optional,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity,
.woocommerce-checkout .woocommerce-checkout-review-order-table .includes_tax,
.woocommerce-checkout .woocommerce-checkout-review-order-table small,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-terms-and-conditions {
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
}

.woocommerce-cart .gtm-cart__meta {
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.55;
}

.woocommerce-cart .gtm-cart__meta dl.variation,
.woocommerce-cart .gtm-cart__meta .wc-item-meta {
    margin: 7px 0 0;
}

.woocommerce-cart .gtm-cart__meta dt,
.woocommerce-cart .gtm-cart__meta dd {
    font-size: inherit;
}

.woocommerce-cart .gtm-cart__backorder {
    margin: 8px 0 0;
    color: var(--gm-red-630);
    font-size: 13px;
}

.woocommerce-cart .gtm-cart__value {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    white-space: nowrap;
}

.woocommerce-cart .gtm-cart__value--subtotal,
.woocommerce-cart .gtm-cart__collaterals .order-total th,
.woocommerce-cart .gtm-cart__collaterals .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-weight: 700;
}

.woocommerce-cart .gtm-cart__quantity,
.woocommerce-cart .gtm-cart__quantity .quantity {
    display: inline-flex;
    align-items: center;
}

.woocommerce-cart .gtm-cart__quantity .quantity {
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-text-strong));
    background: var(--gm-white);
}

.woocommerce-cart .gtm-cart__quantity .qty,
.woocommerce-cart .gtm-cart__quantity input.qty {
    width: 54px;
    min-width: 54px;
    height: 40px;
    padding: 0 8px;
    border: 0 !important;
    background: transparent;
    color: var(--gm-navy-750);
    font-size: 14px;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.woocommerce-cart .gtm-cart__quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .gtm-cart__quantity input.qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.woocommerce-cart .gtm-cart__footer {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 22px;
}

.woocommerce-cart .gtm-cart__coupon {
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.woocommerce-cart .gtm-cart__coupon-input {
    width: 220px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-text-strong)) !important;
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-size: 14px;
}

.woocommerce-cart .gtm-cart__coupon-input::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: color-mix(in srgb, var(--gm-text-strong) 45%, var(--gm-white));
}

.woocommerce-cart .gtm-cart__footer-actions {
    margin-left: auto;
}

.woocommerce-cart .gtm-cart__button {
    min-height: 44px;
    padding: 12px 22px;
    white-space: nowrap;
    text-decoration: none !important;
}

.woocommerce-cart .gtm-cart__button--coupon {
    min-width: 150px;
}

.woocommerce-cart .gtm-cart__button--update {
    min-width: 170px;
}

.woocommerce-cart .gtm-cart__collaterals,
.woocommerce-cart .gtm-cart__collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-cart .gtm-cart__collaterals .cross-sells {
    display: none;
}

.woocommerce-cart .gtm-cart__collaterals .cart_totals,
.woocommerce-checkout .gtm-checkout__panel,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout #payment ul.payment_methods li {
    border: 1px solid color-mix(in srgb, var(--gm-white) 80%, var(--gm-navy-750));
    background: var(--gm-white);
}

.woocommerce-cart .gtm-cart__collaterals .cart_totals > h2,
.woocommerce-checkout .gtm-checkout__panel-header {
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
}

.woocommerce-cart .gtm-cart__collaterals .cart_totals > h2 {
    margin: 0;
    padding: 20px 22px 16px;
    color: var(--gm-navy-750);
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;
}

.woocommerce-cart .gtm-cart__collaterals .shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.woocommerce-cart .gtm-cart__collaterals .shop_table tr {
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
}

.woocommerce-cart .gtm-cart__collaterals .shop_table tr:last-child {
    border-bottom: 0;
}

.woocommerce-cart .gtm-cart__collaterals .shop_table th,
.woocommerce-cart .gtm-cart__collaterals .shop_table td {
    padding: 15px 22px;
    border: 0;
    background: transparent;
    font-size: 15px;
    line-height: 1.5;
}

.woocommerce-cart .gtm-cart__collaterals .shop_table th {
    width: 48%;
    text-align: left;
    font-weight: 600;
}

.woocommerce-cart .gtm-cart__collaterals .shop_table td {
    text-align: right;
    font-weight: 500;
}

.woocommerce-cart .gtm-cart__collaterals .order-total th,
.woocommerce-cart .gtm-cart__collaterals .order-total td {
    font-size: 17px;
}

.woocommerce-cart .gtm-cart__collaterals .woocommerce-shipping-methods {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.woocommerce-cart .gtm-cart__collaterals .woocommerce-shipping-methods li {
    margin: 0 0 6px;
}

.woocommerce-cart .gtm-cart__collaterals .wc-proceed-to-checkout {
    margin: 0;
    padding: 22px;
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
}

.woocommerce-cart .gtm-cart__collaterals .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    margin: 0;
}

.woocommerce-cart .gtm-cart__collaterals .showcoupon,
.woocommerce-cart .gtm-cart__collaterals .shipping-calculator-button {
    color: var(--gm-navy-750);
    text-decoration: underline;
}

body.woocommerce-cart .woocommerce {
    margin: 0 auto;
}

body.woocommerce-cart .wc-empty-cart-message {
    margin: 0 0 24px;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
    position: relative;
    margin: 0;
    padding: 24px 28px 24px 72px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    border-left: 6px solid var(--gm-navy-750);
    background: linear-gradient(180deg, color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750)) 0%, color-mix(in srgb, var(--gm-white) 92%, var(--gm-navy-750)) 100%);
    color: var(--gm-navy-750);
    font-size: 1.05rem;
    line-height: 1.6;
    box-shadow: var(--gm-shadow-lg);
}

body.woocommerce-cart .cart-empty.woocommerce-info::after {
    display: none;
}

body.woocommerce-cart .return-to-shop {
    margin: 0;
}

body.woocommerce-cart .page-content .woocommerce {
    padding-top: 6px;
    padding-bottom: 20px;
}

.woocommerce-checkout .gtm-checkout__customer-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    width: 100%;
    margin: 0;
}

.woocommerce-checkout .gtm-checkout__panel-header {
    padding: 20px 24px 16px;
}

.woocommerce-checkout .gtm-checkout__panel-title {
    margin: 0;
    color: var(--gm-navy-750);
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.woocommerce-checkout .gtm-checkout__panel-body {
    padding: 24px;
}

.woocommerce-checkout .woocommerce-form-login-toggle {
    margin-bottom: 18px;
}

.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    top: 14px !important;
    left: 14px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.woocommerce-checkout .woocommerce-form-login {
    margin: 0 0 28px;
    padding: 22px 24px 18px;
}

.woocommerce-checkout .woocommerce-form-login > p:first-child {
    margin-top: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-size: 14px;
    line-height: 1.6;
}

.woocommerce-checkout .woocommerce-form-login .form-row {
    margin-bottom: 18px;
}

.woocommerce-checkout .woocommerce-form-login .lost_password {
    margin: 0;
    font-size: 14px;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
    margin: 0 0 18px;
    color: var(--gm-navy-750);
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout .create-account {
    flex-wrap: wrap;
    gap: 0;
}

.woocommerce-checkout .form-row {
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 9px);
}

.woocommerce-checkout .form-row-first {
    margin-right: 18px;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout #ws_opt_in_field,
.woocommerce-checkout #account_password_field {
    width: 100%;
    margin-right: 0;
}

.woocommerce-checkout label {
    display: inline-block;
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.woocommerce-checkout .required,
.woocommerce-checkout abbr.required {
    color: var(--gm-red-630);
    border: 0;
    text-decoration: none;
    font-weight: 700;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750)) !important;
    background: var(--gm-white);
    font-size: 15px;
    line-height: 1.4;
}

.woocommerce-checkout textarea.input-text,
.woocommerce-checkout textarea {
    min-height: 120px;
    padding: 14px;
    resize: vertical;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-selection:focus {
    outline: none;
    border-color: var(--gm-navy-750) !important;
}

.woocommerce-checkout .woocommerce-input-wrapper,
.woocommerce-checkout .password-input {
    display: block;
    width: 100%;
}

.woocommerce-checkout .password-input {
    position: relative;
}

.woocommerce-checkout .show-password-input {
    right: 14px !important;
}

.woocommerce-checkout .show-password-input::after {
    color: color-mix(in srgb, var(--gm-text-strong) 60%, var(--gm-white)) !important;
}

.woocommerce-checkout .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
    height: 48px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750)) !important;
    background: var(--gm-white);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 14px;
    padding-right: 36px;
    font-size: 15px;
    line-height: 46px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 10px;
    height: 46px;
}

.woocommerce-checkout .select2-dropdown,
.woocommerce-checkout .select2-search--dropdown .select2-search__field {
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.checkbox {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}

.woocommerce-checkout input.input-checkbox,
.woocommerce-checkout .woocommerce-form__input-checkbox {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 3px 0 0;
    accent-color: var(--gm-navy-750);
}

.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .woocommerce-invalid .select2-selection {
    border-color: var(--gm-red-550) !important;
}

.woocommerce-checkout .woocommerce-validated input,
.woocommerce-checkout .woocommerce-validated select,
.woocommerce-checkout .woocommerce-validated textarea,
.woocommerce-checkout .woocommerce-validated .select2-selection {
    border-color: color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750)) !important;
}

.woocommerce-checkout .gtm-checkout__order-review {
    width: 100%;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    background: transparent;
    color: color-mix(in srgb, var(--gm-text-strong) 62%, var(--gm-white));
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    background: transparent;
    font-size: 15px;
    line-height: 1.55;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name {
    padding-right: 18px;
    font-weight: 600;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    font-weight: 500;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
    font-weight: 600;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    width: 48%;
    text-align: left;
    font-weight: 700;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 17px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .includes_tax,
.woocommerce-checkout .woocommerce-checkout-review-order-table small {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}

.woocommerce-checkout #payment {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0 0 12px;
    padding: 16px;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    margin-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods label {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}

.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout .woocommerce-terms-and-conditions {
    border: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
}

.woocommerce-checkout #payment .payment_box {
    margin: 12px 0 0;
    padding: 14px 16px;
    color: color-mix(in srgb, var(--gm-text-strong) 70%, var(--gm-white));
    font-size: 14px;
    line-height: 1.6;
}

.woocommerce-checkout #payment .payment_box::before {
    display: none;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 13px;
    line-height: 1.65;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin-bottom: 14px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
    margin: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions {
    max-height: 220px;
    margin: 12px 0 16px;
    padding: 16px;
    overflow: auto;
    font-size: 13px;
    line-height: 1.65;
}

.woocommerce-checkout .woocommerce-terms-and-conditions p,
.woocommerce-checkout .woocommerce-terms-and-conditions li {
    font-size: inherit;
    line-height: inherit;
}

.woocommerce-checkout .woocommerce-terms-and-conditions h2 {
    margin: 16px 0 10px;
    font-size: 15px;
    line-height: 1.4;
}

.woocommerce-checkout .woocommerce-terms-and-conditions a,
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a {
    font-weight: 700;
    text-decoration: underline;
}

.woocommerce-checkout .place-order {
    margin: 0;
    padding: 0;
}

.woocommerce-checkout .place-order > *:last-child {
    margin-bottom: 0;
}

.woocommerce-checkout .clear {
    clear: both;
}

.woocommerce-checkout .tribe-checkout-backlinks,
.woocommerce-checkout wc-order-attribution-inputs {
    display: none;
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .gtm-checkout__form > .woocommerce-NoticeGroup-checkout {
    order: -1;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout > div,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-notices-wrapper {
    width: 100%;
}

/* ========================================================================== 
   Order received
   ========================================================================== */

body.woocommerce-order-received #inner-content.container {
    max-width: 1240px;
}

body.woocommerce-order-received .page-content .woocommerce {
    max-width: 1100px;
    margin: 0 auto;
    color: var(--gm-text-strong);
}

body.woocommerce-order-received .woocommerce-notice--success {
    margin: 0 0 28px;
    padding: 18px 22px;
    border: 1px solid color-mix(in srgb, var(--gm-navy-750) 30%, var(--gm-white));
    border-left: 5px solid var(--gm-navy-750);
    background: color-mix(in srgb, var(--gm-white) 92%, var(--gm-navy-750));
    color: var(--gm-navy-750);
    font-size: 1.02rem;
    line-height: 1.6;
    box-shadow: var(--gm-shadow-xs);
}

body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 22px;
    padding: 0;
    border: 0;
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received .shop_table.order_details,
body.woocommerce-order-received .tec-tickets__attendees-list-wrapper,
body.woocommerce-order-received .woocommerce-customer-details address {
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-2xl);
}

body.woocommerce-order-received .woocommerce-order-overview li {
    margin: 0;
    padding: 16px 18px;
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-size: 0.95rem;
    line-height: 1.45;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 6px;
    color: var(--gm-navy-750);
    font-size: 1rem;
    font-weight: 700;
    word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
    margin: 0 0 28px;
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-size: 0.98rem;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .tec-tickets__attendees-list-wrapper {
    margin-top: 28px;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    margin: 0 0 18px;
    color: var(--gm-navy-750);
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: 700;
}

body.woocommerce-order-received .shop_table.order_details {
    width: 100%;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

body.woocommerce-order-received .shop_table.order_details thead th {
    padding: 16px 20px;
    border: 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--gm-white) 94%, var(--gm-navy-750)) 0%, color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750)) 100%);
    color: var(--gm-navy-750);
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: left;
    text-transform: uppercase;
}

body.woocommerce-order-received .shop_table.order_details thead th.product-name {
    width: 78%;
}

body.woocommerce-order-received .shop_table.order_details thead th.product-total {
    width: 22%;
    text-align: right;
}

body.woocommerce-order-received .shop_table.order_details tbody td,
body.woocommerce-order-received .shop_table.order_details tfoot th,
body.woocommerce-order-received .shop_table.order_details tfoot td {
    padding: 22px 20px;
    vertical-align: top;
    background: var(--gm-white);
}

body.woocommerce-order-received .shop_table.order_details tbody tr:first-child td {
    border-top: 0;
}

body.woocommerce-order-received .shop_table.order_details td.product-total,
body.woocommerce-order-received .shop_table.order_details tfoot td {
    text-align: right;
    white-space: nowrap;
    color: var(--gm-navy-750);
    font-weight: 700;
}

body.woocommerce-order-received .shop_table.order_details tfoot th,
body.woocommerce-order-received .woocommerce-Price-amount {
    color: var(--gm-navy-750);
    font-weight: 700;
}

body.woocommerce-order-received .shop_table.order_details td.product-name {
    font-size: 1rem;
    line-height: 1.55;
}

body.woocommerce-order-received .shop_table.order_details .product-quantity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 3px 10px;
    color: var(--gm-red-550);
    font-size: 0.86rem;
    font-weight: 700;
}

body.woocommerce-order-received .tribe-event-details {
    margin-top: 14px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    background: color-mix(in srgb, var(--gm-white) 96%, var(--gm-navy-750));
    color: var(--gm-text-strong);
}

body.woocommerce-order-received .tribe-event-details .event-title {
    color: var(--gm-navy-750);
    font-weight: 700;
    text-decoration: none;
}

body.woocommerce-order-received .tribe-event-details .event-title:hover {
    color: var(--gm-red-630);
}

body.woocommerce-order-received .tribe-event-details em,
body.woocommerce-order-received .tribe-address,
body.woocommerce-order-received .shop_table.order_details small.includes_tax,
body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email {
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
}

body.woocommerce-order-received .tribe-event-details em {
    display: block;
    margin: 8px 0 10px;
    font-style: normal;
}

body.woocommerce-order-received .tribe-address {
    display: block;
    line-height: 1.55;
}

body.woocommerce-order-received .tribe-attendee-meta {
    width: 100%;
    margin: 14px 0 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    border-collapse: separate;
    border-spacing: 0;
    background: var(--gm-white);
}

body.woocommerce-order-received .tribe-attendee-meta tr + tr td {
    border-top: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
}

body.woocommerce-order-received .tribe-attendee-meta td {
    padding: 11px 14px;
    font-size: 0.93rem;
    line-height: 1.45;
    vertical-align: top;
}

body.woocommerce-order-received .tribe-attendee-meta td:first-child {
    width: 180px;
    background: color-mix(in srgb, var(--gm-white) 94%, var(--gm-navy-750));
    color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
    font-weight: 600;
}

body.woocommerce-order-received .tribe-attendee-meta td:last-child,
body.woocommerce-order-received .tribe-attendee-meta-heading {
    color: var(--gm-navy-750);
}

body.woocommerce-order-received .tribe-attendee-meta td:last-child {
    word-break: break-word;
}

body.woocommerce-order-received .tribe-attendee-meta-heading {
    font-weight: 700;
}

body.woocommerce-order-received .shop_table.order_details small.includes_tax {
    display: block;
    margin-top: 6px;
    font-size: 0.84rem;
    font-weight: 400;
    white-space: normal;
}

body.woocommerce-order-received .tec-tickets__attendees-list-wrapper {
    padding: 24px;
}

body.woocommerce-order-received .tec-tickets__attendees-list-wrapper::before {
    content: "Letölthető jegyek";
    display: block;
    margin-bottom: 18px;
    color: var(--gm-navy-750);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

body.woocommerce-order-received .tec-tickets__attendees-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item {
    min-width: 0;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item-attendee-details {
    display: none;
}

body.woocommerce-order-received .tec-tickets__wallet-plus-passes-container,
body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-container {
    height: 100%;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    margin: 0;
    padding: 22px 24px;
    color: var(--gm-text-strong);
    font-style: normal;
    line-height: 1.7;
}

body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email {
    margin: 12px 0 0;
}

body.woocommerce-order-received .woocommerce a {
    word-break: break-word;
}

/* ========================================================================== 
   Search results
   ========================================================================== */

.search .gm-search-page {
    padding-top: 48px;
    padding-bottom: 72px;
}

.search .gm-search-results {
    margin: 0 auto;
}

.search .gm-search-results__hero {
    margin-bottom: 34px;
}

.search .gm-search-results__hero-inner {
    position: relative;
    overflow: hidden;
    padding: 34px 32px;
    color: var(--gm-white);
    background: linear-gradient(135deg, color-mix(in srgb, var(--gm-navy-750) 98%, var(--gm-black)) 0%, color-mix(in srgb, var(--gm-navy-750) 84%, var(--gm-white)) 100%);
    box-shadow: var(--gm-shadow-card);
}

.search .gm-search-results__hero-inner::after {
    content: "";
    position: absolute;
    top: -70px;
    right: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--gm-white) 6%, transparent);
    pointer-events: none;
}

.search .gm-search-results__eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: color-mix(in srgb, var(--gm-white) 78%, transparent);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.search .gm-search-results__title {
    margin: 0 0 10px;
    color: var(--gm-white);
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.08;
    font-weight: 800;
}

.search .gm-search-results__lead {
    margin: 0 0 24px;
    color: color-mix(in srgb, var(--gm-white) 86%, transparent);
    font-size: 1rem;
    line-height: 1.6;
}

.search .gm-search-form {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.search .gm-search-form__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 54px;
    padding: 0 18px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 22%, transparent);
    background: color-mix(in srgb, var(--gm-white) 10%, transparent);
    color: var(--gm-white);
    font-size: 1rem;
    outline: none;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

input#gm-search-field-empty {
    color: var(--gm-navy-750);
}

.search .gm-search-form__input::placeholder {
    color: color-mix(in srgb, var(--gm-white) 70%, transparent);
}

.search .gm-search-form__input:focus {
    border-color: color-mix(in srgb, var(--gm-white) 55%, transparent);
    background: color-mix(in srgb, var(--gm-white) 16%, transparent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gm-white) 8%, transparent);
}

.search .gm-search-results__list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.search .gm-search-card {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 26px;
    align-items: stretch;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-navy-750));
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-md);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.search .gm-search-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--gm-white) 74%, var(--gm-navy-750));
    box-shadow: var(--gm-shadow-lg);
}

.search .gm-search-card__media {
    display: block;
    min-height: 100%;
    overflow: hidden;
    background: color-mix(in srgb, var(--gm-white) 92%, var(--gm-navy-750));
}

.search .gm-search-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
}

.search .gm-search-card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

.search .gm-search-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.search .gm-search-card__type,
.search .gm-search-card__date {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

.search .gm-search-card__type {
    background: color-mix(in srgb, var(--gm-navy-750) 8%, transparent);
    color: var(--gm-navy-750);
}

.search .gm-search-card__date {
    background: color-mix(in srgb, var(--gm-red-630) 8%, transparent);
    color: var(--gm-red-630);
}

.search .gm-search-card__title {
    margin: 0 0 14px;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.22;
    font-weight: 800;
}

.search .gm-search-card__title a {
    color: var(--gm-navy-750);
    text-decoration: none;
}

.search .gm-search-card__title a:hover,
.search .gm-search-card__title a:focus {
    color: var(--gm-red-630);
}

.search .gm-search-card__excerpt {
    margin: 0;
    color: color-mix(in srgb, var(--gm-text-strong) 72%, var(--gm-white));
    font-size: 1rem;
    line-height: 1.75;
}

.search .gm-search-card__footer {
    margin-top: 20px;
}

.search .gm-search-card:not(:has(.gm-search-card__media)) {
    grid-template-columns: minmax(0, 1fr);
}

.search .gm-search-empty {
    padding: 34px 28px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-navy-750));
    border-radius: var(--gm-radius-2xl);
    background: var(--gm-white);
    box-shadow: var(--gm-shadow-md);
    text-align: center;
}

.search .gm-search-empty__title {
    margin: 0 0 10px;
    color: var(--gm-navy-750);
    font-size: 1.8rem;
}

.search .gm-search-empty__text {
    margin: 0 0 22px;
    color: color-mix(in srgb, var(--gm-text-strong) 64%, var(--gm-white));
    line-height: 1.7;
}

.search .gm-search-form--empty {
    margin: 0 auto;
    justify-content: center;
}

.search .gm-search-pagination {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.search .gm-search-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.search .gm-search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb, var(--gm-white) 82%, var(--gm-navy-750));
    background: var(--gm-white);
    color: var(--gm-navy-750);
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--gm-shadow-sm);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.search .gm-search-pagination .page-numbers:hover,
.search .gm-search-pagination .page-numbers:focus {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--gm-white) 70%, var(--gm-navy-750));
}

.search .gm-search-pagination .page-numbers.current {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: var(--gm-white);
}

/* ========================================================================== 
   Responsive
   ========================================================================== */

@media (max-width: 1399.98px) {
    .tema-post-card {
        flex: 0 0 calc((100% - 36px) / 3);
        max-width: calc((100% - 36px) / 3);
    }
}

@media (max-width: 1199.98px) {
    #home-tobi.home-tobi-section {
        padding: 100px 0;
    }

    #home-tobi .home-tobi__row {
        min-height: 500px;
    }

    #home-tobi .home-tobi__bg {
        background-position: 72% 50%;
    }
}

@media (max-width: 1080px) {
    .woocommerce-cart .gtm-cart__layout,
    .woocommerce-checkout .gtm-checkout__layout,
    .woocommerce-checkout .gtm-checkout__form {
        flex-direction: column;
        gap: 28px;
    }

    .woocommerce-cart .gtm-cart__summary,
    .woocommerce-checkout .gtm-checkout__summary {
        position: static;
        top: auto;
        width: 100%;
        min-width: 0;
        flex: 0 0 auto;
    }

    .woocommerce-checkout .gtm-checkout__form {
        flex-wrap: nowrap;
    }

    .woocommerce-checkout .woocommerce-NoticeGroup-checkout,
    .woocommerce-checkout .woocommerce-NoticeGroup,
    .woocommerce-checkout .gtm-checkout__form > .woocommerce-NoticeGroup-checkout {
        order: 0;
        margin-bottom: 20px;
    }
}

@media (max-width: 1024px) {
    .kapcsolat-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .kapcsolat-card--form {
        padding-top: 36px;
        padding-left: 0;
        border-top: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-text-strong));
        border-left: 0;
    }

    body.woocommerce-order-received .woocommerce-order-overview,
    body.woocommerce-order-received .tec-tickets__attendees-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.woocommerce-order-received .shop_table.order_details thead th.product-name {
        width: auto;
    }

    body.woocommerce-order-received .shop_table.order_details thead th.product-total {
        width: 180px;
    }
}

@media (max-width: 991.98px) {
    #home-tobi.home-tobi-section {
        padding: 90px 0;
    }

    #home-tobi .home-tobi__divider svg {
        height: 72px;
    }

    #home-tobi .home-tobi__row {
        min-height: auto;
        row-gap: 28px;
    }

    #home-tobi .home-tobi__content {
        max-width: 100%;
        padding-right: 0;
    }

    #home-tobi .home-tobi__future-form {
        min-height: 0;
    }

    #home-tobi .home-tobi__bg {
        background-position: center right;
        transform: none !important;
    }

    .tudastar-grid,
    .archive-tudastar-page .tudastar-grid,
    #home-tudastar .home-tudastar__grid {
        gap: 24px;
    }

    .tudastar-grid__item,
    .archive-tudastar-page .tudastar-grid__item,
    #home-tudastar .home-tudastar__item {
        flex: 0 0 calc((100% - 24px) / 2);
        max-width: calc((100% - 24px) / 2);
    }

    .tema-top-panel__hero {
        flex-direction: column;
    }

    .tema-top-panel__intro,
    .tema-top-panel__boxes {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tema-info-box {
        flex: 1 1 calc((100% - 14px) / 2);
    }

    .tema-post-card {
        flex: 0 0 calc((100% - 18px) / 2);
        max-width: calc((100% - 18px) / 2);
    }

    .balsai-doki-page-wrap {
        margin-top: 24px;
        margin-bottom: 48px;
    }

    .balsai-section--soft .balsai-section__inner {
        padding: 24px 18px 26px;
    }

    .balsai-intro__media {
        max-width: 100%;
    }

    .balsai-richtext {
        line-height: 1.85;
    }

    .gm-events-archive__section {
        padding: 42px 0 56px;
    }

    .gm-event-card {
        gap: 26px;
    }

    .gm-event-card__content {
        flex-basis: 72%;
        max-width: 72%;
    }

    .gm-event-card__media {
        flex-basis: 28%;
        max-width: 28%;
    }

    .single-tribe_events .event-tickets.tribe-tickets__tickets-wrapper,
    .single-tribe_events .tribe-common.event-tickets.tribe-tickets__tickets-wrapper {
        padding: 20px;
    }

    .single-tribe_events .tribe-tickets__tickets-item {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "price" "desc" "qty";
        gap: 12px;
    }

    .single-tribe_events .tribe-tickets__tickets-item-extra,
    .single-tribe_events .tribe-tickets__tickets-item-quantity,
    .single-tribe_events .tribe-tickets__tickets-footer {
        justify-content: flex-start;
    }

    .single-tribe_events .tribe-tickets__tickets-footer {
        align-items: flex-start;
    }

    .tribe-modal__wrapper--ar [role="document"] {
        width: min(100%, 100%) !important;
    }

    .tribe-modal__wrapper--ar .tribe-dialog__title,
    .tribe-modal__wrapper--ar .tribe-modal__title {
        padding: 24px 72px 18px 20px !important;
        font-size: 20px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item {
        grid-template-columns: 1fr 120px 90px 120px !important;
        gap: 18px !important;
        padding: 24px 20px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-footer,
    .tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar {
        width: min(94vw, 760px);
    }

    .single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar > [role="document"] {
        padding: 28px 24px 24px;
    }

    .single-tribe_events .tribe-modal__title,
    .single-tribe_events .tribe-dialog__title {
        font-size: 1.7rem;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "title price" "qty total";
        gap: 14px 18px;
    }

    .search .gm-search-card {
        grid-template-columns: 1fr;
    }

    .search .gm-search-card__media img {
        min-height: 240px;
        max-height: 320px;
    }
}

@media (max-width: 900px) {
    .tribe-events-event-meta {
        grid-template-columns: 1fr;
    }

    .tribe-events-single-event-description {
        font-size: 16px;
    }

    .tribe-events-single-section-title {
        font-size: 18px;
    }
}

@media (max-width: 767.98px) {
    #home-tobi.home-tobi-section {
        padding: 76px 0;
    }

    #home-tobi .home-tobi__divider svg {
        height: 48px;
    }

    .tudastar-grid,
    .archive-tudastar-page .tudastar-grid,
    #home-tudastar .home-tudastar__grid {
        gap: 20px;
    }

    .tudastar-grid__item,
    .archive-tudastar-page .tudastar-grid__item,
    #home-tudastar .home-tudastar__item,
    .tema-info-box,
    .tema-post-card {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tudastar-card__body,
    .tudastar-card__content,
    .balsai-card__content,
    #home-tudastar .tudastar-card__body {
        padding: 18px 18px 16px;
    }

    .tudastar-card__title,
    #home-tudastar .tudastar-card__title {
        font-size: 1.2rem;
    }

    .tudastar-card__meta-left,
    #home-tudastar .tudastar-card__meta-left {
        right: 12px;
    }

    .tudastar-card__meta-right,
    #home-tudastar .tudastar-card__meta-right {
        position: static;
        top: auto;
        right: auto;
        margin-top: 8px;
    }

    .tudastar-card__access,
    #home-tudastar .tudastar-card__access {
        white-space: normal;
    }

    .tema-tax-page {
        padding-top: 18px;
        padding-bottom: 32px;
    }

    .tema-top-panel__inner,
    .tema-posts-panel__inner {
        padding: 18px;
    }

    .tema-top-panel__boxes,
    .tema-tabs-nav__list,
    .woocommerce-cart .gtm-cart__footer,
    .woocommerce-cart .gtm-cart__coupon,
    .search .gm-search-form {
        flex-direction: column;
    }

    .tema-tabs-nav__list,
    .woocommerce-cart .gtm-cart__footer,
    .woocommerce-cart .gtm-cart__coupon {
        align-items: stretch;
    }

    .tema-tabs-nav__link {
        width: 100%;
    }

    .balsai-intro {
        margin-bottom: 24px;
    }

    .balsai-intro__title {
        font-size: 1.9rem;
    }

    .balsai-stat-card {
        padding: 24px 18px;
    }

    .gm-events-archive__section {
        padding: 30px 0 40px;
    }

    .gm-events-list {
        gap: 28px;
    }

    .gm-events-month__time {
        font-size: 30px;
    }

    .gm-event-card {
        flex-direction: column-reverse;
        gap: 16px;
    }

    .gm-event-card__content,
    .gm-event-card__media {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .gm-event-card__title {
        font-size: 24px;
    }

    .gm-event-card__meta,
    .gm-event-card__excerpt p {
        font-size: 14px;
    }

    .single-tribe_events .tribe-events-c-subscribe-dropdown,
    .single-tribe_events .tribe-events-c-subscribe-dropdown__button {
        width: 100%;
    }

    .single-tribe_events .tribe-events-c-subscribe-dropdown__button {
        justify-content: center;
    }

    .single-tribe_events .tribe-events-c-subscribe-dropdown__content {
        min-width: 100%;
    }

    .kapcsolat-page-custom {
        padding: 40px 18px 56px;
    }

    .kapcsolat-mini-grid {
        grid-template-columns: 1fr;
    }

    .kapcsolat-page-custom h4 {
        font-size: 28px;
    }

    .kapcsolat-page-custom p {
        font-size: 16px;
        line-height: 1.65;
    }

    .kapcsolat-socials {
        gap: 12px;
    }

    .kapcsolat-socials a {
        width: 46px;
        height: 46px;
        font-size: 20px;
    }

    .kapcsolat-page-custom .kapcsolat-card--form {
        padding: 22px 18px;
        border-radius: var(--gm-radius-3xl);
    }

    .kapcsolat-page-custom .kapcsolat-card--form h4 {
        font-size: 1.5rem;
    }

    .kapcsolat-page-custom .kapcsolat-card--form input.wpcf7-submit,
    .woocommerce-cart .gtm-cart__coupon,
    .woocommerce-cart .gtm-cart__footer-actions,
    .woocommerce-cart .gtm-cart__coupon-input,
    .woocommerce-cart .gtm-cart__button,
    .woocommerce-cart .gtm-cart .site-button,
    .woocommerce-cart .gtm-cart .checkout-button,
    .search .gm-search-form__input,
    .search .gm-search-form__button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .woocommerce-cart .gtm-cart,
    .woocommerce-checkout .gtm-checkout {
        margin: 28px 0 56px;
    }

    .woocommerce-cart .gtm-cart__head {
        display: none;
    }

    .woocommerce-cart .gtm-cart__item {
        position: relative;
        display: block;
        margin-bottom: 18px;
        padding: 18px;
        border: 1px solid color-mix(in srgb, var(--gm-white) 86%, var(--gm-navy-750));
        background: var(--gm-white);
    }

    .woocommerce-cart .gtm-cart__cell {
        padding: 0;
    }

    .woocommerce-cart .gtm-cart__cell--remove {
        position: absolute;
        top: 10px;
        right: 10px;
        width: auto;
        padding: 0;
    }

    .woocommerce-cart .gtm-cart__product {
        align-items: flex-start;
        padding-right: 26px;
    }

    .woocommerce-cart .gtm-cart__media {
        flex: 0 0 72px;
        width: 72px;
    }

    .woocommerce-cart .gtm-cart__media img,
    .woocommerce-cart .gtm-cart__thumb-link img {
        width: 72px;
    }

    .woocommerce-cart .gtm-cart__title {
        font-size: 18px;
    }

    .woocommerce-cart .gtm-cart__meta {
        font-size: 12px;
    }

    .woocommerce-cart .gtm-cart__cell--price,
    .woocommerce-cart .gtm-cart__cell--quantity,
    .woocommerce-cart .gtm-cart__cell--subtotal {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        margin-top: 14px;
        padding-top: 12px;
        border-top: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    }

    .woocommerce-cart .gtm-cart__cell--price::before,
    .woocommerce-cart .gtm-cart__cell--quantity::before,
    .woocommerce-cart .gtm-cart__cell--subtotal::before {
        content: attr(data-label);
        color: color-mix(in srgb, var(--gm-text-strong) 60%, var(--gm-white));
        font-size: 11px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .woocommerce-cart .gtm-cart__footer {
        gap: 14px;
    }

    .woocommerce-cart .gtm-cart__footer-actions {
        margin-left: 0;
    }

    .woocommerce-cart .gtm-cart__collaterals .cart_totals > h2 {
        padding: 18px 18px 14px;
        font-size: 22px;
    }

    .woocommerce-cart .gtm-cart__collaterals .shop_table th,
    .woocommerce-cart .gtm-cart__collaterals .shop_table td {
        padding: 14px 18px;
        font-size: 14px;
    }

    .woocommerce-cart .gtm-cart__collaterals .wc-proceed-to-checkout {
        padding: 18px;
    }

    .woocommerce-cart .woocommerce-error,
    .woocommerce-cart .woocommerce-info,
    .woocommerce-cart .woocommerce-message,
    .woocommerce-checkout .woocommerce-info,
    .woocommerce-checkout .woocommerce-message,
    .woocommerce-checkout .woocommerce-error {
        padding: 13px 14px 13px 40px !important;
        font-size: 13px;
    }

    .woocommerce-cart .woocommerce-error::before,
    .woocommerce-cart .woocommerce-info::before,
    .woocommerce-cart .woocommerce-message::before,
    .woocommerce-checkout .woocommerce-info::before,
    .woocommerce-checkout .woocommerce-message::before,
    .woocommerce-checkout .woocommerce-error::before {
        top: 13px !important;
        left: 13px !important;
        font-size: 14px !important;
    }

    body.woocommerce-cart .cart-empty.woocommerce-info {
        padding: 20px 18px 20px 58px;
        border-radius: var(--gm-radius-2xl);
        font-size: 0.98rem;
    }

    body.woocommerce-cart .cart-empty.woocommerce-info::before {
        top: 18px;
        left: 18px;
        width: 28px;
        height: 28px;
        font-size: 1rem;
    }

    body.woocommerce-cart .return-to-shop .button.wc-backward,
    body.woocommerce-cart .return-to-shop a.wc-backward {
        width: 100%;
        min-height: 48px;
        padding: 0 18px;
    }

    .woocommerce-checkout .gtm-checkout__panel-header {
        padding: 18px 18px 14px;
    }

    .woocommerce-checkout .gtm-checkout__panel-title {
        font-size: 22px;
    }

    .woocommerce-checkout .gtm-checkout__panel-body,
    .woocommerce-checkout .woocommerce-form-login {
        padding: 18px;
    }

    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100%;
        margin-right: 0;
    }

    .woocommerce-checkout input.input-text,
    .woocommerce-checkout textarea.input-text,
    .woocommerce-checkout .input-text,
    .woocommerce-checkout input[type="text"],
    .woocommerce-checkout input[type="email"],
    .woocommerce-checkout input[type="tel"],
    .woocommerce-checkout input[type="password"],
    .woocommerce-checkout textarea,
    .woocommerce-checkout select {
        min-height: 46px;
        font-size: 14px;
    }

    .woocommerce-checkout .select2-container--default .select2-selection--single {
        height: 46px;
    }

    .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 14px;
        line-height: 44px;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table thead {
        display: none;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr,
    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px 14px;
        padding: 14px 0;
        border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750));
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
        padding: 0;
        border: 0;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
        font-size: 13px;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
        text-align: right;
    }

    .woocommerce-checkout #payment ul.payment_methods li {
        padding: 14px;
    }

    .tribe-modal__wrapper--ar.tribe-dialog__wrapper {
        padding: 12px !important;
    }

    .tribe-modal__wrapper--ar [role="document"] {
        max-height: calc(100vh - 24px) !important;
        overflow-y: auto !important;
    }

    .tribe-modal__wrapper--ar .tribe-dialog__close-button,
    .tribe-modal__wrapper--ar .tribe-modal__close-button {
        top: 14px !important;
        right: 14px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .tribe-modal__wrapper--ar .tribe-dialog__title,
    .tribe-modal__wrapper--ar .tribe-modal__title {
        padding: 20px 58px 16px 16px !important;
        font-size: 18px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item {
        display: block !important;
        padding: 18px 16px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title-container {
        margin-bottom: 14px !important;
        padding-right: 24px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title {
        font-size: 17px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra,
    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity,
    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid color-mix(in srgb, var(--gm-white) 90%, var(--gm-navy-750)) !important;
        text-align: left !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra::before,
    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity::before,
    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap::before {
        color: color-mix(in srgb, var(--gm-text-strong) 60%, var(--gm-white));
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra::before {
        content: "Ár";
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity::before {
        content: "Mennyiség";
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-item-total-wrap::before {
        content: "Összesen";
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-footer {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 16px 16px 0 !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity,
    .tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets {
        padding: 0 16px 16px !important;
    }

    .tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer {
        display: block !important;
    }

    .tribe-modal__wrapper--ar .tribe-common-c-btn,
    .tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-submit,
    .tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-checkout-button,
    .tribe-modal__wrapper--ar button[name="checkout-button"] {
        width: 100% !important;
    }

    .search .gm-search-page {
        padding-top: 28px;
        padding-bottom: 48px;
    }

    .search .gm-search-results__hero-inner {
        padding: 24px 18px;
    }

    .search .gm-search-card {
        padding: 16px;
        gap: 18px;
    }

    .search .gm-search-card__media img {
        min-height: 200px;
    }

    body.woocommerce-order-received .page-title-container h1,
    body.woocommerce-order-received .tile {
        font-size: 2rem;
    }

    body.woocommerce-order-received .woocommerce-order-overview,
    body.woocommerce-order-received .tec-tickets__attendees-list {
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        gap: 10px;
    }

    body.woocommerce-order-received .woocommerce-order-details__title,
    body.woocommerce-order-received .woocommerce-column__title,
    body.woocommerce-order-received .tec-tickets__attendees-list-wrapper::before {
        font-size: 1.35rem;
    }

    body.woocommerce-order-received .shop_table.order_details,
    body.woocommerce-order-received .shop_table.order_details thead,
    body.woocommerce-order-received .shop_table.order_details tbody,
    body.woocommerce-order-received .shop_table.order_details tfoot,
    body.woocommerce-order-received .shop_table.order_details tr,
    body.woocommerce-order-received .shop_table.order_details th,
    body.woocommerce-order-received .shop_table.order_details td {
        display: block;
        width: 100%;
    }

    body.woocommerce-order-received .shop_table.order_details thead {
        display: none;
    }

    body.woocommerce-order-received .shop_table.order_details tbody tr,
    body.woocommerce-order-received .shop_table.order_details tfoot tr {
        border-top: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    }

    body.woocommerce-order-received .shop_table.order_details tbody tr:first-child {
        border-top: 0;
    }

    body.woocommerce-order-received .shop_table.order_details tbody td,
    body.woocommerce-order-received .shop_table.order_details tfoot th,
    body.woocommerce-order-received .shop_table.order_details tfoot td {
        padding: 14px 16px;
        text-align: left;
        white-space: normal;
    }

    body.woocommerce-order-received .shop_table.order_details td.product-total {
        padding-top: 0;
        text-align: left;
    }

    body.woocommerce-order-received .shop_table.order_details td.product-total::before {
        content: "Összeg";
        display: block;
        margin-bottom: 6px;
        color: color-mix(in srgb, var(--gm-text-strong) 65%, var(--gm-white));
        font-size: 0.85rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    body.woocommerce-order-received .shop_table.order_details tfoot th {
        padding-bottom: 4px;
    }

    body.woocommerce-order-received .shop_table.order_details tfoot td {
        padding-top: 0;
        text-align: left;
    }

    body.woocommerce-order-received .tribe-attendee-meta td,
    body.woocommerce-order-received .tribe-attendee-meta tr,
    body.woocommerce-order-received .tribe-attendee-meta tbody {
        display: block;
        width: 100%;
    }

    body.woocommerce-order-received .tribe-attendee-meta td:first-child {
        width: 100%;
        border-bottom: 1px solid color-mix(in srgb, var(--gm-white) 78%, var(--gm-navy-750));
    }

    body.woocommerce-order-received .tec-tickets__attendees-list-wrapper,
    body.woocommerce-order-received .woocommerce-customer-details address {
        padding: 18px;
    }
}

@media (max-width: 640px) {
    #tribe-events-content.tribe-events-single {
        padding: 18px 12px 36px;
    }

    .tribe-events-schedule,
    .tribe-events-meta-group {
        padding: 18px;
    }

    .event-single-meta {
        font-size: 14px;
    }

    .single-tribe_events .tribe-tickets__tickets-title {
        font-size: 24px;
    }

    .single-tribe_events .tribe-tickets__tickets-item-content-title {
        font-size: 18px;
    }

    .single-tribe_events .tribe-tickets__tickets-item-extra-price {
        padding: 10px 14px;
    }

    .single-tribe_events .tribe-tickets__tickets-item-extra-price .tribe-amount {
        font-size: 26px;
    }

    .single-tribe_events .tribe-tickets__tickets-item-quantity {
        width: 100%;
        justify-content: space-between;
    }

    .single-tribe_events .tribe-tickets__tickets-item-quantity-number {
        flex: 1 1 auto;
        justify-content: center;
    }

    .single-tribe_events .tribe-tickets__tickets-item-quantity-number-input {
        width: 100%;
        max-width: 92px;
    }

    .single-tribe_events .tribe-tickets__tickets-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .single-tribe_events .tribe-tickets__tickets-buy,
    .single-tribe_events .tribe-tickets__attendee-tickets-submit {
        width: 100%;
    }

    .single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar {
        width: calc(100vw - 24px);
        max-height: calc(100vh - 24px);
        overflow: auto;
        border-radius: var(--gm-radius-2xl);
    }

    .single-tribe_events .tribe-dialog__wrapper.tribe-modal__wrapper--ar > [role="document"] {
        padding: 22px 16px 18px;
    }

    .single-tribe_events .tribe-modal__title,
    .single-tribe_events .tribe-dialog__title {
        margin-right: 54px;
        margin-bottom: 18px;
        padding-bottom: 14px;
        font-size: 1.4rem;
    }

    .single-tribe_events .tribe-modal__close-button,
    .single-tribe_events .tribe-dialog__close-button {
        top: 16px;
        right: 16px;
        width: 42px;
        height: 42px;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item {
        grid-template-columns: 1fr;
        grid-template-areas: "title" "price" "qty" "total";
        gap: 12px;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-extra,
    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-total-wrap,
    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity,
    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer {
        justify-content: flex-start;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity {
        width: 100%;
        min-width: 0;
        border: none;
        background: none;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-item-quantity-number-input {
        width: 100%;
        max-width: 96px;
    }

    .single-tribe_events #tribe-modal__cart .tribe-tickets__tickets-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .single-tribe_events .tribe-tickets__attendee-tickets-footer {
        justify-content: stretch;
    }
}

@media (max-width: 480px) {
    .woocommerce-cart .gtm-cart__item {
        padding: 16px;
    }

    .woocommerce-cart .gtm-cart__media {
        flex: 0 0 64px;
        width: 64px;
    }

    .woocommerce-cart .gtm-cart__media img,
    .woocommerce-cart .gtm-cart__thumb-link img {
        width: 64px;
    }

    .woocommerce-cart .gtm-cart__title {
        font-size: 17px;
    }

    .woocommerce-cart .gtm-cart__quantity .qty,
    .woocommerce-cart .gtm-cart__quantity input.qty {
        width: 50px;
        min-width: 50px;
        height: 38px;
        font-size: 14px;
    }

    .woocommerce-checkout .gtm-checkout__panel-title {
        font-size: 20px;
    }

    .woocommerce-checkout .gtm-checkout__panel-header {
        padding: 16px 16px 12px;
    }

    .woocommerce-checkout .gtm-checkout__panel-body,
    .woocommerce-checkout .woocommerce-form-login {
        padding: 16px;
    }

    .woocommerce-checkout .woocommerce-button,
    .woocommerce-checkout .woocommerce-form-login__submit,
    .woocommerce-checkout #place_order,
    .woocommerce-checkout button[name="woocommerce_checkout_update_totals"],
    .woocommerce-checkout .woocommerce-checkout-payment .button.alt {
        width: 100%;
    }

    body.woocommerce-order-received .woocommerce-notice--success,
    body.woocommerce-order-received .woocommerce-order-overview li,
    body.woocommerce-order-received .tribe-event-details,
    body.woocommerce-order-received .woocommerce-customer-details address {
        border-radius: var(--gm-radius-2xl);
    }

    body.woocommerce-order-received .shop_table.order_details {
        border-radius: var(--gm-radius-3xl);
    }

    body.woocommerce-order-received .tribe-attendee-meta,
    body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link {
        border-radius: var(--gm-radius-xl);
    }
}

.tribe-common a.tribe-common-c-btn--small, .tribe-common button.tribe-common-c-btn--small, .tribe-common input[type=button].tribe-common-c-btn--small, .tribe-common input[type=submit].tribe-common-c-btn--small {
    background: var(--gm-navy-750)!important;
    padding: 11px 14px;
    width: auto;
}

/* Packages grid */
.tudastar-single.no-access .buyit-buttons {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.tudastar-single.no-access .buyit-buttons li {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
    border: 1px solid rgba(9, 41, 96, 0.12);
    box-shadow: 0 12px 30px rgba(9, 41, 96, 0.06);
    min-height: 100%;
    margin: 0;
}

.tudastar-single.no-access .buyit-buttons li h3 {
    margin: 0 0 14px;
    color: var(--gm-navy-750);
    font-size: 1.2rem;
    line-height: 1.3;
}

.tudastar-single.no-access .buyit-buttons li p {
    margin: 0 0 16px;
    color: var(--gm-navy-700);
    line-height: 1.7;
}

.tudastar-single.no-access .buyit-buttons li p:last-of-type {
    margin-bottom: 20px;
}

/* Price */
.tudastar-single.no-access .buyit-buttons .membership-price {
    margin-top: auto;
    margin-bottom: 20px;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--gm-navy-750);
    line-height: 1.2;
}

.tudastar-single.no-access .buyit-buttons .membership-price .amount {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.tudastar-single.no-access .buyit-buttons .woocommerce-Price-currencySymbol {
    font-size: 0.95em;
}


.tudastar-single.no-access .buyit-buttons .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    border: 1px solid var(--gm-navy-750);
    background: transparent;
    color: var(--gm-navy-750);
    font-weight: 700;
    min-width: 110px;
    padding: 11px 18px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tudastar-single.no-access .buyit-buttons .button:hover,
.tudastar-single.no-access .buyit-buttons .button:focus {
    background: var(--gm-navy-750);
    border-color: var(--gm-navy-750);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(9, 41, 96, 0.16);
}

.tudastar-single.no-access .buyit-buttons .button:focus-visible {
    outline: 2px solid var(--gm-navy-750);
    outline-offset: 2px;
}


.tudastar-single.no-access .elofizetesek .gyik-link {
    margin: 24px 0 0;

}


.tudastar-single.no-access .tudastar-notification {
    margin-bottom: 32px;
    padding: 18px 20px;
    background: rgba(152, 6, 35, 0.06);
    border-left: 4px solid #980623;
    color: var(--gm-navy-750);
}

.tudastar-single.no-access .tudastar-notification p {
    margin: 0;
    line-height: 1.7;
}

.tudastar-single.no-access .tudastar-notification a {
    color: #980623;
    font-weight: 700;
    text-decoration: underline;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 991.98px) {
    .tudastar-single.no-access .elofizetesek {
        padding: 24px;
    }

    .tudastar-single.no-access .buyit-buttons {
        gap: 20px;
    }

    .tudastar-single.no-access .buyit-buttons li {
        padding: 24px;
    }
}

@media (max-width: 767.98px) {
    .tudastar-single.no-access .elofizetesek {
        margin-top: 36px;
        padding: 20px;
    }

    .tudastar-single.no-access .buyit-buttons {
        grid-template-columns: 1fr;
    }

    .tudastar-single.no-access .buyit-buttons li {
        padding: 20px;
    }

    .tudastar-single.no-access .buyit-buttons .button {
        width: 100%;
    }
}

div#cib_tajekoztat_field span.woocommerce-input-wrapper label.checkbox {
    display: inline;
    font-size: 13px;
    font-weight: normal;
}
.form-row.place-order {
    font-size: 13px;
}

/* =========================================================
   CHECKOUT – password strength meter
   ========================================================= */

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field {
    margin-bottom: 20px !important;
}

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > label {
    display: block !important;
    margin: 0 0 6px !important;
}

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > input.input-text {
    width: 100% !important;
    padding-right: 58px !important;
}

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: block !important;
    width: 56px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid #c7d3df !important;
    border-radius: 0 !important;
    background: #f8fbfd !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    z-index: 3 !important;
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
}


body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input::after {
    content: none !important;
    display: none !important;
}


body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    transform: translate(-50%, -50%) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    opacity: 0.9 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a234a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>") !important;
}


body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input.display-password::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a234a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.77 21.77 0 0 1 5.06-5.94'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.8 21.8 0 0 1-4.3 5.19'/><path d='M14.12 14.12A3 3 0 0 1 9.88 9.88'/><path d='M1 1l22 22'/></svg>") !important;
}

body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input:hover,
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input:focus {
    background: #eef4f8 !important;
    outline: none !important;
}


body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #d6e0ea !important;
    border-radius: 0 !important;
    background: #f8fbfd !important;
    color: #0a234a !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}


body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength::before {
    content: "" !important;
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    margin-right: 10px !important;
    border-radius: 50% !important;
    background: currentColor !important;
    vertical-align: middle !important;
}

/* BAD / SHORT */
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength.bad,
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength.short {
    background: #fdf2f2 !important;
    border-color: #efc4c4 !important;
    color: #8f1d2c !important;
}

/* GOOD */
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength.good {
    background: #fff6df !important;
    border-color: #eed89b !important;
    color: #8a5a00 !important;
}

/* STRONG */
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength.strong {
    background: #edf8f0 !important;
    border-color: #b9dec3 !important;
    color: #1f6b36 !important;
}

/* Hint */
body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-password-hint {
    display: block !important;
    margin: 10px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #5a6d86 !important;
}

/* Mobil */
@media (max-width: 767.98px) {
    body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > button.show-password-input {
        width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
    }

    body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > .woocommerce-input-wrapper.password-input > input.input-text {
        padding-right: 54px !important;
    }

    body.woocommerce-checkout #container #content #inner-content article .page-content .woocommerce .gtm-checkout .gtm-checkout__panel--billing .woocommerce-account-fields .create-account #account_password_field > #password_strength.woocommerce-password-strength {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}