:root {
    --kto-v16-pink: #ff385c;
    --kto-v16-rose: #ff719b;
    --kto-v16-cyan: #00666a;
    --kto-v16-gold: #6c5a00;
    --kto-v16-dark: #0f172a;
    --kto-v16-text: #334155;
    --kto-v16-muted: #64748b;
    --kto-v16-soft: #f8fafc;
    --kto-v16-border: #e5e5e5;
    --kto-v16-radius: 40px;
    --kto-v16-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    --kto-v16-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.kto-v16-template,
.kto-v16-template * {
    box-sizing: border-box;
}

.kto-v16-template {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: var(--kto-v16-text);
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kto-v16-template img {
    display: block;
    max-width: 100%;
}

.kto-v16-container {
    width: min(1184px, calc(100% - 32px));
    margin: 0 auto;
}

.kto-v16-page-main {
    margin: 0;
    padding: 0;
}

.kto-v16-hidden-popups {
    display: none;
}

    /* Header */
    .kto-v16-header-wrap {
        width: 100vw;
        max-width: none;
        min-height: 56px;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        position: relative;
        z-index: 100000;
    }

    .kto-v16-header {
        width: 100vw;
        max-width: none;
        min-height: 56px;
        margin: 0;
        background: #ffffff;
        border-bottom: 1px solid #94a3b8;
        z-index: 100000;
    }

    .kto-v16-header.is-sticky {
        position: fixed;
        top: var(--kto-v16-sticky-top, 0px);
        left: 0;
        right: 0;
        width: 100vw;
        max-width: none;
        margin: 0;
        transform: none;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    }

    .kto-v16-header__bar {
        width: 100%;
        min-height: 56px;
        padding: 0 32px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .kto-v16-header__brand {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        color: var(--kto-v16-pink);
        text-decoration: none;
    }

    .kto-v16-header__logo-frame {
        width: 149px;
        padding: 10px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-shrink: 0;
    }

    .kto-v16-header__logo-frame img {
        width: 100%;
        height: auto;
        aspect-ratio: 1776 / 672;
        object-fit: cover;
        display: block;
    }

    .kto-v16-header__brand-text {
        width: 90.56px;
        height: 32px;
        color: var(--kto-v16-pink);
        font-size: 24px;
        font-style: italic;
        font-weight: 800;
        line-height: 32px;
        letter-spacing: -0.96px;
        white-space: nowrap;
    }

    .kto-v16-header__toggle {
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0.9px solid #94a3b8;
        border-radius: 8.1px;
        background: #ffffff;
        color: var(--kto-v16-dark);
        cursor: pointer;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        display: none;
    }

    .kto-v16-header__toggle img {
        width: 18.9px;
        height: 16.2px;
        object-fit: contain;
    }

    .kto-v16-menu-backdrop {
        position: fixed;
        inset: 0;
        z-index: 100001;
        background: rgba(15, 23, 42, 0.42);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.32s ease, visibility 0.32s ease;
    }

    .kto-v16-menu-drawer {
        position: fixed;
        left: 0;
        top: var(--kto-v16-sticky-top, 0px);
        z-index: 100002;
        width: 80vw;
        max-width: 420px;
        height: calc(100vh - var(--kto-v16-sticky-top, 0px));
        padding: 24px;
        background: #ffffff;
        box-shadow: var(--kto-v16-shadow-lg);
        transform: translate3d(-100%, 0, 0);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.36s ease;
        display: flex;
        flex-direction: column;
        gap: 24px;
        overflow-y: auto;
        overscroll-behavior: contain;
        will-change: transform;
    }

    .kto-v16-header-wrap.is-open .kto-v16-menu-backdrop,
    html.kto-v16-menu-open .kto-v16-menu-backdrop,
    body.kto-v16-menu-open .kto-v16-menu-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .kto-v16-header-wrap.is-open .kto-v16-menu-drawer,
    html.kto-v16-menu-open .kto-v16-menu-drawer,
    body.kto-v16-menu-open .kto-v16-menu-drawer {
        transform: translate3d(0, 0, 0);
        visibility: visible;
        pointer-events: auto;
    }

    .kto-v16-menu-drawer__header {
        min-height: 48px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e2e8f0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .kto-v16-menu-drawer__header strong {
        color: var(--kto-v16-dark);
        font-size: 22px;
        font-weight: 800;
        line-height: 1.2;
    }

    .kto-v16-menu-drawer__close {
        width: 40px;
        height: 40px;
        border: 1px solid #e2e8f0;
        border-radius: 9999px;
        background: #ffffff;
        color: var(--kto-v16-dark);
        cursor: pointer;
        font-size: 28px;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kto-v16-header-menu,
    .kto-v16-footer-menu {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .kto-v16-header-menu {
        display: grid;
        gap: 0;
    }

    .kto-v16-header-menu li {
        border-bottom: 1px solid #e2e8f0;
    }

    .kto-v16-header-menu a {
        min-height: 56px;
        padding: 16px 0;
        color: var(--kto-v16-dark);
        font-size: 18px;
        font-weight: 800;
        line-height: 1.35;
        text-decoration: none;
        text-transform: uppercase;
        display: flex;
        align-items: center;
    }

    .kto-v16-header-menu a:hover,
    .kto-v16-header-menu a:focus {
        color: var(--kto-v16-pink);
    }

    html.kto-v16-menu-open,
    body.kto-v16-menu-open {
        overflow: hidden;
    }

    body.kto-v16-menu-open {
        touch-action: none;
    }


    /* Hero slideshow */
    .kto-v16-hero {
        position: relative;
        width: min(1184px, calc(100% - 32px));
        height: 719px;
        margin: 6px auto 48px;
        border-radius: var(--kto-v16-radius);
        overflow: hidden;
        background: #ffffff;
        box-shadow: var(--kto-v16-shadow-lg);
    }

    .kto-v16-hero .swiper-wrapper,
    .kto-v16-hero .swiper-slide {
        width: 100%;
        height: 100%;
    }

    .kto-v16-hero .swiper-slide {
        position: relative;
        overflow: hidden;
        background: #ffffff;
    }

    .kto-v16-hero .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
    }

    .kto-v16-hero .swiper-pagination {
        bottom: 18px !important;
        z-index: 5;
    }

/* Partner brands */
.kto-v16-partner-brands {
    width: min(1184px, calc(100% - 32px));
    min-height: 260px;
    margin: 0 auto 48px;
    padding: 46px 24px 42px;
    border-radius: var(--kto-v16-radius);
    background: var(--kto-v16-soft);
}

.kto-v16-partner-brands__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.kto-v16-eyebrow {
    margin: 0;
    color: var(--kto-v16-pink);
    font-size: 20px;
    font-weight: 800;
    line-height: 33px;
    letter-spacing: 2.4px;
    text-align: center;
    text-transform: uppercase;
}

.kto-v16-partner-brands h2 {
    max-width: 920px;
    margin: -12px auto 0;
    color: #1e293b;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
}

.kto-v16-partner-brand-grid {
    width: min(1030px, 100%);
    margin-top: 4px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: 28px;
}

.kto-v16-partner-brand {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-partner-brand img {
    width: auto !important;
    height: auto !important;
    max-width: 150px;
    max-height: 46px;
    object-fit: contain !important;
    object-position: center center;
    aspect-ratio: auto;
    display: block;
    flex: 0 0 auto;
}


/* Partner offers */
.kto-v16-partner-offers {
    width: min(840px, calc(100% - 32px));
    margin: 0 auto 60px;
}

.kto-v16-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, 264px);
    gap: 20px;
    justify-content: center;
}

.kto-v16-offer-card {
    width: 264px;
    min-height: 460px;
    border: 1px solid var(--kto-v16-border);
    border-radius: 9px;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 6px 3px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}

.kto-v16-offer-card__image {
    width: 100%;
    height: 149px;
    overflow: hidden;
    background: #d3d3d3;
}

.kto-v16-offer-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kto-v16-offer-card__body {
    flex: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kto-v16-offer-card__logo {
    width: auto;
    height: auto;
    max-width: 170px;
    max-height: 40px;
    object-fit: contain;
}

.kto-v16-offer-card h3 {
    min-height: 54px;
    margin: 0;
    color: var(--kto-v16-text);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.36;
    letter-spacing: -0.5px;
}

.kto-v16-offer-card p {
    margin: 0;
    color: var(--kto-v16-muted);
    font-size: 16px;
    line-height: 24.38px;
}

.kto-v16-button {
    width: 100%;
    min-height: 40px;
    border: 0;
    border-radius: 8px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
}

.kto-v16-offer-card__button {
    margin-top: auto;
}


/* V16 Partner Offer coming soon card - Figma nodes 2:2009 / 2:2025 */


.kto-v16-offer-card__coming-soon {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-offer-card__coming-soon img {
    max-width: 216px;
    object-fit: contain;
    display: block;
}

/* Shared headings */
.kto-v16-section-heading {
    margin-bottom: 56px;
}

.kto-v16-section-heading.is-center {
    text-align: center;
}

.kto-v16-section-heading h2,
.kto-v16-rewards h2 {
    margin: 0 0 24px;
    color: var(--kto-v16-dark);
    font-size: 48px;
    font-weight: 700;
    line-height: 60px;
}

.kto-v16-section-heading p {
    max-width: 1027px;
    margin: 0;
    color: var(--kto-v16-muted);
    font-size: 20px;
    line-height: 28px;
}

.kto-v16-section-heading.is-center p {
    max-width: 574px;
    margin: 0 auto;
}

/* Destination mosaic */
.kto-v16-destination {
    width: 100%;
    margin-bottom: 48px;
    padding: 60px 0;
    background: var(--kto-v16-soft);
}

.kto-v16-mosaic {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 278px 278px;
    gap: 24px;
}

.kto-v16-mosaic-card {
    position: relative;
    min-width: 0;
    border-radius: 40px;
    background: #d9d9d9;
    overflow: hidden;
}

.kto-v16-mosaic-card.is-large {
    grid-column: span 2;
    grid-row: span 2;
}

.kto-v16-mosaic-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kto-v16-mosaic-card__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 17px 21px;
    border: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(1px);
}

.kto-v16-mosaic-card.is-large .kto-v16-mosaic-card__content {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 25px;
}

.kto-v16-mosaic-card h3 {
    margin: 0 0 4px;
    color: var(--kto-v16-pink);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 16.25px;
    text-transform: uppercase;
}

.kto-v16-mosaic-card.is-large h3 {
    font-size: 24px;
    line-height: 36px;
}

.kto-v16-mosaic-card p {
    margin: 0;
    color: var(--kto-v16-text);
    font-size: 11px;
    line-height: 14px;
}

.kto-v16-mosaic-card.is-large p {
    font-size: 16px;
    line-height: 22px;
}

/* Three ways */
.kto-v16-three-ways {
    margin-bottom: 70px;
    text-align: center;
}

.kto-v16-way-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}

.kto-v16-way-card img {
    width: 100%;
    height: 280px;
    border-radius: 40px;
    object-fit: cover;
    box-shadow: var(--kto-v16-shadow);
}

.kto-v16-way-card h3 {
    margin: 20px 0 8px;
    color: var(--kto-v16-pink);
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
}

.kto-v16-way-card p {
    margin: 0;
    color: var(--kto-v16-muted);
    font-size: 16px;
    line-height: 24px;
}




/* V16 Three Ways optional link underline/reset final fix */
.kto-v16-way-card__link,
.kto-v16-way-card__link:visited,
.kto-v16-way-card__link:hover,
.kto-v16-way-card__link:focus,
.kto-v16-way-card__link:active {
    width: 100%;
    color: inherit !important;
    display: block;
    text-decoration: none !important;
}

.kto-v16-way-card__link *,
.kto-v16-way-card__link h3,
.kto-v16-way-card__link p {
    text-decoration: none !important;
}

.kto-v16-way-card__link .kto-v16-way-card {
    width: 100%;
}

.kto-v16-way-card__link:focus-visible {
    outline: 2px solid var(--kto-v16-pink);
    outline-offset: 6px;
    border-radius: 24px;
}
/* Rewards */
.kto-v16-rewards {
    margin-bottom: 60px;
    text-align: center;
}

.kto-v16-reward-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 373px));
    justify-content: center;
    gap: 32px;
}

.kto-v16-reward-card {
    margin: 0;
}

.kto-v16-reward-card img {
    width: 100%;
    border-radius: 16px;
}

.kto-v16-reward-note-wrap {
    width: min(1152px, 100%);
    min-height: 45px;
    margin: 18px auto 0;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: center;
    text-align: left;
}

.kto-v16-reward-note-icon {
    position: relative;
    z-index: 2;
    width: 45px;
    height: 45px;
    color: var(--kto-v16-pink);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-reward-note-icon svg {
    width: 45px;
    height: 45px;
    display: block;
}

.kto-v16-reward-note {
    min-height: 31px;
    margin: 0 0 0 8px;
    padding: 8px 24px 8px 0;
    border: 0;
    border-left: 0;
    border-radius: 0 60px 60px 0;
    background: #ffffff;
    color: #000000;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.kto-v16-reward-note__highlight {
    color: var(--kto-v16-pink);
    font-weight: 800;
}

/* Event buttons */
.kto-v16-event-buttons {
    width: min(1024px, calc(100% - 32px));
    margin: 0 auto 80px;
    display: grid;
    gap: 24px;
}

.kto-v16-event-button {
    min-height: 74px;
    padding: 28px 40px;
    border-radius: 9999px;
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: var(--kto-v16-shadow);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 3.2px;
    text-transform: uppercase;
}

.kto-v16-event-button.is-pink {
    background: var(--kto-v16-pink);
}

.kto-v16-event-button.is-cyan {
    background: var(--kto-v16-cyan);
}

.kto-v16-event-button.is-gold {
    background: var(--kto-v16-gold);
}

    /* Event form */
    .kto-v16-event-form {
        width: min(1024px, calc(100% - 32px));
        margin: 0 auto 80px;
        border: 1px solid #cecece;
        border-radius: 40px;
        overflow: hidden;
        background: #ffffff;
        box-shadow: var(--kto-v16-shadow);
        display: grid;
        grid-template-columns: 358px minmax(0, 1fr);
    }

    .kto-v16-event-form.is-reverse {
        grid-template-columns: minmax(0, 1fr) 358px;
    }

    .kto-v16-event-form.is-reverse .kto-v16-event-form__side {
        order: 2;
    }

    .kto-v16-event-form.is-pink {
        --kto-event-color: var(--kto-v16-pink);
        --kto-event-glow-left: -40px;
        --kto-event-glow-right: auto;
        --kto-event-glow-top: -40px;
        --kto-event-glow-bottom: auto;
    }

    .kto-v16-event-form.is-cyan {
        --kto-event-color: var(--kto-v16-cyan);
        --kto-event-glow-left: auto;
        --kto-event-glow-right: -40px;
        --kto-event-glow-top: auto;
        --kto-event-glow-bottom: -40px;
    }

    .kto-v16-event-form.is-gold {
        --kto-event-color: var(--kto-v16-gold);
        --kto-event-glow-left: -40px;
        --kto-event-glow-right: auto;
        --kto-event-glow-top: -40px;
        --kto-event-glow-bottom: auto;
    }

    .kto-v16-event-form__side {
        position: relative;
        padding: 48px 30px;
        background: var(--kto-event-color);
        color: #ffffff;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 16px;
        overflow: hidden;
    }

    .kto-v16-event-form__glow {
        position: absolute;
        left: var(--kto-event-glow-left);
        right: var(--kto-event-glow-right);
        top: var(--kto-event-glow-top);
        bottom: var(--kto-event-glow-bottom);
        width: 160px;
        height: 160px;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.1);
        filter: blur(20px);
        pointer-events: none;
    }

    .kto-v16-event-form__side small,
    .kto-v16-event-form__side h3,
    .kto-v16-event-form__image-wrap,
    .kto-v16-event-form__steps {
        position: relative;
        z-index: 1;
    }

    .kto-v16-event-form__side small {
        display: block;
        padding-bottom: 12px;
        opacity: 0.7;
        color: #ffffff;
        font-size: 12px;
        font-weight: 800;
        line-height: 16px;
        letter-spacing: 1.2px;
        text-transform: uppercase;
    }

    .kto-v16-event-form__side h3 {
        min-height: 77px;
        margin: 0;
        color: #ffffff;
        font-size: 30px;
        font-weight: 800;
        line-height: 37.5px;
        letter-spacing: -0.6px;
        text-transform: uppercase;
    }

    .kto-v16-event-form__image-wrap {
        position: relative;
        width: 100%;
        height: 269.713px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 16px;
        background: #ffffff;
        overflow: hidden;
        backdrop-filter: blur(12px);
    }

    .kto-v16-event-form__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .kto-v16-event-form__image-overlay {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 298px;
        height: 298px;
        transform: translate(-50%, -50%);
        object-fit: contain;
        pointer-events: none;
    }

    .kto-v16-event-form__steps {
        width: 100%;
    }

    .kto-v16-event-form__steps strong {
        display: block;
        margin-bottom: 10px;
        color: #ffffff;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
    }

    .kto-v16-event-form__steps ol {
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 6px;
    }

    .kto-v16-event-form__steps li {
        min-height: 53px;
        padding: 5px 6px;
        border-radius: 9px;
        background: #ffffff;
        color: #484848;
        display: grid;
        grid-template-columns: 43px 43px minmax(0, 1fr);
        align-items: center;
        justify-content: start;
        column-gap: 8px;
        row-gap: 0;
        overflow: hidden;
    }

    .kto-v16-event-step__number {
        grid-column: 1;
        width: 43px;
        height: 43px;
        color: var(--kto-event-color);
        font-size: 40px;
        font-weight: 600;
        line-height: 1.05;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kto-v16-event-step__icon-cell {
        grid-column: 2;
        width: 43px;
        height: 43px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kto-v16-event-step__icon {
        width: 40px;
        height: 40px;
        object-fit: contain;
        display: block;
    }

    .kto-v16-event-step__icon-fallback {
        width: 26px;
        height: 26px;
        border-radius: 9999px;
        background: var(--kto-event-color);
        opacity: 0.25;
    }

    .kto-v16-event-step__text {
        grid-column: 3;
        width: auto;
        min-width: 0;
        color: #484848;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.2;
        text-align: justify;
    }

    .kto-v16-event-form__content {
        padding: 40px;
    }

    .kto-v16-event-form.is-middle .kto-v16-event-form__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .kto-v16-rules-link {
        display: inline-block;
        margin-bottom: 20px;
        border: 0;
        background: transparent;
        color: #006aff;
        cursor: pointer;
        font-size: 14px;
        font-weight: 800;
        text-decoration: underline;
    }

    .kto-v16-cf7-placeholder {
        padding: 24px;
        border: 2px dashed #e2e8f0;
        border-radius: 16px;
        background: var(--kto-v16-soft);
        color: var(--kto-v16-muted);
    }

    .kto-v16-event-form .wpcf7-form {
        display: grid;
        gap: 20px;
    }

    .kto-v16-event-form .wpcf7-form .form-grid,
    .kto-v16-event-form .wpcf7-form .kto-form-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .kto-v16-event-form .wpcf7-form label {
        display: flex;
        flex-direction: column;
        gap: 8px;
        color: #94a3b8;
        font-size: 11px;
        font-weight: 800;
        line-height: 16.5px;
        letter-spacing: 1.1px;
        text-transform: uppercase;
    }

    .kto-v16-event-form .wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
    .kto-v16-event-form .wpcf7-form textarea,
    .kto-v16-event-form .wpcf7-form select {
        width: 100%;
        min-height: 57px;
        padding: 16px;
        border: 0;
        border-radius: 24px;
        background: var(--kto-v16-soft);
        color: var(--kto-v16-text);
        font-size: 15px;
        letter-spacing: normal;
        text-transform: none;
    }

    .kto-v16-event-form .wpcf7-form input[type="file"]:not(.kto-v16-upload-field__input) {
        width: 100%;
        padding: 42px;
        border: 2px dashed #e2e8f0;
        border-radius: 16px;
        background: var(--kto-v16-soft);
    }

.kto-v16-event-form .wpcf7-form input[type="submit"] {
        width: 100%;
        min-height: 52px;
        border: 0;
        border-radius: 9999px;
        background: var(--kto-event-color);
        color: #ffffff;
        cursor: pointer;
        font-size: 14px;
        font-weight: 800;
        line-height: 20px;
        letter-spacing: 1.4px;
        text-transform: uppercase;
    }


/* Community */
.kto-v16-community {
    width: min(1024px, calc(100% - 32px));
    margin: 0 auto 80px;
    padding: 24px;
    border-radius: 9999px;
    background: var(--kto-v16-dark);
    color: #ffffff;
    text-align: center;
    box-shadow: 0 20px 25px -5px #e2e8f0, 0 8px 10px -6px #e2e8f0;
    font-size: 14px;
    font-weight: 700;
}

.kto-v16-community strong {
    color: var(--kto-v16-pink);
}

/* CTA */
.kto-v16-cta {
    position: relative;
    width: min(1184px, calc(100% - 32px));
    margin: 0 auto 48px;
    padding: 112px 80px;
    border-radius: 40px;
    overflow: hidden;
    background: var(--kto-v16-pink);
    text-align: center;
    box-shadow: var(--kto-v16-shadow);
}

.kto-v16-cta::before,
.kto-v16-cta::after {
    content: "";
    position: absolute;
    width: 384px;
    height: 384px;
    border-radius: 9999px;
    filter: blur(32px);
}

.kto-v16-cta::before {
    top: -128px;
    left: -128px;
    background: var(--kto-v16-rose);
    opacity: 0.3;
}

.kto-v16-cta::after {
    right: -128px;
    bottom: -128px;
    background: #ffffff;
    opacity: 0.1;
}

.kto-v16-cta h2,
.kto-v16-cta__buttons,
.kto-v16-cta p {
    position: relative;
    z-index: 1;
}

.kto-v16-cta h2 {
    margin: 0 0 48px;
    color: #ffffff;
    font-size: 50px;
    font-weight: 800;
    line-height: 66px;
    text-transform: uppercase;
}

.kto-v16-cta__buttons {
    margin-bottom: 48px;
    display: flex;
    justify-content: center;
    gap: 24px;
}

.kto-v16-cta__buttons a {
    min-width: 298px;
    min-height: 76px;
    padding: 24px 48px;
    border-radius: 9999px;
    font-size: 20px;
    font-weight: 800;
    line-height: 28px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15.99px;
}

.kto-v16-cta__button-icon {
    width: 22px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kto-v16-cta__button-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.kto-v16-cta__button-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-cta__buttons .is-primary {
    background: #ffffff;
    color: var(--kto-v16-pink);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.kto-v16-cta__buttons .is-primary .kto-v16-cta__button-icon {
    width: 22px;
    height: 15px;
}

.kto-v16-cta__buttons .is-outline {
    min-width: 323px;
    border: 2px solid #ffffff;
    color: #ffffff;
}

.kto-v16-cta__buttons .is-outline .kto-v16-cta__button-icon {
    width: 20px;
    height: 20px;
}

.kto-v16-cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    font-weight: 700;
    line-height: 16.5px;
    letter-spacing: 3.3px;
}

    /* Footer */
    .kto-v16-footer {
        max-width: 1280px;
        margin: 0 auto;
        padding: 42px 46px 31px;
        border-radius: 20px 20px 0 0;
        background: #f9fafc;
        color: #000000;
    }

    .kto-v16-footer__inner {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 43px;
    }

    .kto-v16-footer__brand {
        width: 188px;
        height: 84px;
display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-shrink: 0;
    }

    .kto-v16-footer__brand img {
        width: 168px;
        height: auto;
        aspect-ratio: 1776 / 672;
        object-fit: contain;
    }

    .kto-v16-footer__columns {
        width: min(696.056px, 100%);
        display: flex;
        align-items: flex-start;
        justify-content: right;
        gap: 43px;
    }

    .kto-v16-footer__link-column,
    .kto-v16-footer__social-column,
    .kto-v16-footer__contact {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 11.593px;
    }

    .kto-v16-footer__link-column {
        width: 179.684px;
        display: none;
    }

    .kto-v16-footer__social-column {
        width: 179.684px;
    }

    .kto-v16-footer__contact {
        width: 250.688px;
    }

    .kto-v16-footer__link-column a,
    .kto-v16-footer__social-column strong,
    .kto-v16-footer__contact strong {
        color: #000000;
        font-size: 15.94px;
        font-weight: 700;
        line-height: 23.91px;
        text-decoration: none;
        text-transform: uppercase;
    }

    .kto-v16-footer__social-list {
        display: flex;
        align-items: center;
        gap: 4.347px;
    }

    .kto-v16-footer__social-link {
        width: 33.279px;
        height: 33.279px;
        border-radius: 4.347px;
        background: #000000;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kto-v16-footer__social-link img {
        width: 68%;
        height: 68%;
        object-fit: contain;
    }

    .kto-v16-footer__contact p {
        margin: 0;
        color: #000000;
        font-size: 13.042px;
        font-weight: 500;
        line-height: 1.8;
    }

    .kto-v16-footer__divider {
        width: 100%;
        height: 1px;
        margin: 35px auto 16px;
        background: rgba(0, 0, 0, 0.35);
    }

    .kto-v16-footer__copyright {
        margin: 0;
        color: #000000;
        text-align: center;
        font-size: 12.235px;
        font-weight: 500;
        line-height: 1.3;
    }


/* Fixed scroll top */
.kto-v16-scroll-top {
    position: fixed;
    right: 40px;
    bottom: 34px;
    z-index: 600;
    width: 64px;
    height: 64px;
    border: 0;
    border-radius: 9999px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    box-shadow: var(--kto-v16-shadow-lg);
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

/* Fancybox popups */
.kto-v16-fancybox-popup {
    width: min(948px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: auto;
    border-radius: 24px;
    background: #ffffff;
    color: #000000;
    font-family: "Plus Jakarta Sans", sans-serif;
}

.kto-v16-offer-popup {
    padding: 36px 36px 80px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kto-v16-offer-popup__hero {
    width: 100%;
    height: auto;
}

.kto-v16-popup-section h3 {
    margin: 0 0 14px;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.kto-v16-popup-section p,
.kto-v16-popup-section li {
    font-size: 20px;
    line-height: 1.3;
}

.kto-v16-popup-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.kto-v16-popup-form-grid label {
    display: grid;
    gap: 8px;
    font-size: 16px;
    font-weight: 800;
}

.kto-v16-popup-form-grid input {
    min-height: 58px;
    padding: 16px;
    border: 0;
    border-radius: 24px;
    background: #f2f2f2;
}

.kto-v16-popup-dark-button {
    min-width: 247px;
    height: 51px;
    margin-top: 16px;
    border: 0;
    border-radius: 8px;
    background: #000000;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
}

.kto-v16-popup-cta {
    padding: 16px 24px;
    border-radius: 8px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
}

.kto-v16-rules-popup {
    width: min(624px, calc(100vw - 32px));
    padding: 27px 28px;
    border-radius: 35px;
}

.kto-v16-rules-popup h3 {
    margin: 0 0 20px;
    color: var(--kto-v16-dark);
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
}

.kto-v16-rules-popup h4 {
    margin: 20px 0 12px;
    color: var(--kto-v16-dark);
    font-size: 20px;
    line-height: 1.3;
}

.kto-v16-rules-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid #cecece;
    border-radius: 20px;
    overflow: hidden;
}

.kto-v16-rules-table > div {
    min-height: 52px;
    padding: 12px;
    border-bottom: 1px solid #383838;
    font-size: 12.5px;
    line-height: 1.2;
}

.kto-v16-rules-table > div:nth-child(odd) {
    border-right: 1px solid #383838;
}

.kto-v16-rules-table .table-head {
    min-height: 49px;
    color: #ffffff;
    text-align: center;
    font-size: 19px;
    font-weight: 700;
}

.kto-v16-rules-table .is-valid {
    background: #29caa5;
}

.kto-v16-rules-table .is-invalid {
    background: var(--kto-v16-pink);
}

/* V16 editable offer popups */
.kto-v16-offer-popup-pool {
    display: none;
}

.kto-v16-offer-popup {
    width: min(948px, calc(100vw - 32px));
    padding: 46px 36px;
    border-radius: 22px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kto-v16-offer-popup__hero {
    width: 100%;
    aspect-ratio: 1672 / 941;
    border-radius: 0;
    object-fit: cover;
}

.kto-v16-offer-popup .kto-v16-popup-section {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kto-v16-offer-popup .kto-v16-popup-section h3 {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.kto-v16-offer-popup .kto-v16-popup-section h4 {
    margin: 0;
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.kto-v16-offer-popup .kto-v16-popup-section p,
.kto-v16-offer-popup .kto-v16-popup-section li {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

.kto-v16-offer-popup .kto-v16-popup-section ul {
    margin: 0;
    padding-left: 30px;
}

.kto-v16-popup-register {
    gap: 14px;
}

.kto-v16-popup-note {
    margin: 0;
    color: #000000;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 16.5px !important;
}

.kto-v16-popup-note strong {
    color: var(--kto-v16-pink);
    font-weight: 800;
}

.kto-v16-offer-popup .kto-v16-popup-cta {
    width: 100%;
    min-height: 64px;
    padding: 10px 46.739px;
    border-radius: 8px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    line-height: normal;
}

/* V16 post-based offer popups */
.kto-v16-offer-post-popup {
    width: min(948px, calc(100vw - 32px));
    padding: 46px 36px;
    border-radius: 22px;
    background: #ffffff;
}

.kto-v16-popup-post {
    width: 100%;
}

.kto-v16-popup-post__thumbnail {
    margin-bottom: 24px;
}

.kto-v16-popup-post__thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 0;
    object-fit: cover;
}

.kto-v16-popup-post__content {
    color: #000000;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
    line-height: 1.3;
}

.kto-v16-popup-post__content > *:first-child {
    margin-top: 0;
}

.kto-v16-popup-post__content > *:last-child {
    margin-bottom: 0;
}

.kto-v16-popup-post__content h1,
.kto-v16-popup-post__content h2,
.kto-v16-popup-post__content h3 {
    margin: 24px 0 14px;
    color: #000000;
    font-weight: 700;
    line-height: 1.2;
}

.kto-v16-popup-post__content h1 {
    font-size: 32px;
}

.kto-v16-popup-post__content h2,
.kto-v16-popup-post__content h3 {
    font-size: 28px;
}

.kto-v16-popup-post__content p {
    margin: 0 0 16px;
}

.kto-v16-popup-post__content ul,
.kto-v16-popup-post__content ol {
    margin: 0 0 24px;
    padding-left: 30px;
}

.kto-v16-popup-post__content li {
    margin-bottom: 4px;
}

.kto-v16-popup-post__content img {
    max-width: 100%;
    height: auto;
}

.kto-v16-popup-post__content .wp-block-button__link,
.kto-v16-popup-post__content a.wp-block-button__link {
    min-height: 64px;
    padding: 14px 46px;
    border-radius: 8px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    line-height: normal;
    text-decoration: none;
}

.kto-v16-popup-post-placeholder {
    padding: 32px;
    border: 2px dashed #e2e8f0;
    border-radius: 16px;
    background: var(--kto-v16-soft);
    color: var(--kto-v16-text);
}

.kto-v16-popup-post-placeholder h3 {
    margin: 0 0 12px;
    color: var(--kto-v16-dark);
    font-size: 24px;
    line-height: 1.2;
}

.kto-v16-popup-post-placeholder p {
    margin: 0;
    color: var(--kto-v16-muted);
    font-size: 16px;
    line-height: 1.5;
}

/* V16 hotfix: drawer close/backdrop interaction */
.kto-v16-menu-backdrop[data-kto-menu-close],
.kto-v16-menu-drawer__close[data-kto-menu-close] {
    cursor: pointer;
}

html.kto-v16-menu-open,
body.kto-v16-menu-open {
    overflow: hidden;
}


/* V16 scroll unlock hotfix */
html.kto-v16-menu-open,
body.kto-v16-menu-open {
    overflow: hidden;
}

body.kto-v16-menu-open {
    touch-action: none;
}


/* V16 editable photo-rules popup image */
.kto-v16-inline-popup-pool {
    display: none;
}

.kto-v16-rules-image-popup {
    width: min(948px, calc(100vw - 32px));
    padding: 0;
    border-radius: 24px;
    overflow: hidden;
    background: transparent;
}

.kto-v16-rules-image-popup img {
    width: 100%;
    height: auto;
    display: block;
}


/* V16 upload field hotfix - Figma node 2:2535 */
.kto-v16-event-form .wpcf7-form label:has(.kto-v16-upload-field) {
    gap: 0;
}

.kto-v16-upload-field {
    position: relative;
    width: 100%;
    min-height: 233px;
    padding: 42px;
    border: 2px dashed #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    color: #94a3b8;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    cursor: pointer;
}

.kto-v16-upload-field__icon {
    width: 44px;
    height: 32px;
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-upload-field__icon svg {
    width: 44px;
    height: 32px;
    display: block;
}

.kto-v16-upload-field__title {
    padding-top: 8px;
    color: #334155;
    font-size: 14px;
    font-weight: 800;
    line-height: 14px;
    letter-spacing: -0.35px;
    text-align: center;
    text-transform: uppercase;
}

.kto-v16-upload-field__hint {
    padding-bottom: 16px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 700;
    line-height: 16.5px;
    letter-spacing: 1.1px;
    text-align: center;
    text-transform: uppercase;
}

.kto-v16-upload-field__button {
    min-width: 153px;
    min-height: 41px;
    padding: 12px 40px;
    border-radius: 9999px;
    background: #0f172a;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
    line-height: 16.5px;
    letter-spacing: 2.2px;
    text-align: center;
    text-transform: uppercase;
}

.kto-v16-upload-field__filename {
    max-width: 100%;
    min-height: 16px;
    margin-top: 4px;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    word-break: break-word;
}

.kto-v16-upload-field:not(.has-file) .kto-v16-upload-field__filename {
    display: none;
}

.kto-v16-upload-field__input {
    position: absolute;
    inset: 0;
    z-index: 5;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0;
    cursor: pointer;
}

.kto-v16-upload-field__input::file-selector-button {
    cursor: pointer;
}

/* V16 custom scrollbar for overflow boxes */
.kto-v16-scrollbar,
.kto-v16-menu-drawer,
.kto-v16-fancybox-popup,
.kto-v16-offer-popup,
.kto-v16-offer-post-popup,
.kto-v16-rules-popup,
.kto-v16-rules-image-popup,
.kto-v16-popup-post__content,
.kto-v16-event-form__side,
.kto-v16-event-form__content,
.kto-v16-offer-popup-pool,
.kto-v16-inline-popup-pool {
    scrollbar-width: thin;
    scrollbar-color: var(--kto-v16-pink) #f1f5f9;
}

.kto-v16-scrollbar::-webkit-scrollbar,
.kto-v16-menu-drawer::-webkit-scrollbar,
.kto-v16-fancybox-popup::-webkit-scrollbar,
.kto-v16-offer-popup::-webkit-scrollbar,
.kto-v16-offer-post-popup::-webkit-scrollbar,
.kto-v16-rules-popup::-webkit-scrollbar,
.kto-v16-rules-image-popup::-webkit-scrollbar,
.kto-v16-popup-post__content::-webkit-scrollbar,
.kto-v16-event-form__side::-webkit-scrollbar,
.kto-v16-event-form__content::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.kto-v16-scrollbar::-webkit-scrollbar-track,
.kto-v16-menu-drawer::-webkit-scrollbar-track,
.kto-v16-fancybox-popup::-webkit-scrollbar-track,
.kto-v16-offer-popup::-webkit-scrollbar-track,
.kto-v16-offer-post-popup::-webkit-scrollbar-track,
.kto-v16-rules-popup::-webkit-scrollbar-track,
.kto-v16-rules-image-popup::-webkit-scrollbar-track,
.kto-v16-popup-post__content::-webkit-scrollbar-track,
.kto-v16-event-form__side::-webkit-scrollbar-track,
.kto-v16-event-form__content::-webkit-scrollbar-track {
    margin: 12px 0;
    border-radius: 9999px;
    background: #f1f5f9;
}

.kto-v16-scrollbar::-webkit-scrollbar-thumb,
.kto-v16-menu-drawer::-webkit-scrollbar-thumb,
.kto-v16-fancybox-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-post-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-image-popup::-webkit-scrollbar-thumb,
.kto-v16-popup-post__content::-webkit-scrollbar-thumb,
.kto-v16-event-form__side::-webkit-scrollbar-thumb,
.kto-v16-event-form__content::-webkit-scrollbar-thumb {
    border: 2px solid #f1f5f9;
    border-radius: 9999px;
    background: linear-gradient(180deg, var(--kto-v16-pink), #ff719b);
}

.kto-v16-scrollbar::-webkit-scrollbar-thumb:hover,
.kto-v16-menu-drawer::-webkit-scrollbar-thumb:hover,
.kto-v16-fancybox-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-offer-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-offer-post-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-rules-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-rules-image-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-popup-post__content::-webkit-scrollbar-thumb:hover,
.kto-v16-event-form__side::-webkit-scrollbar-thumb:hover,
.kto-v16-event-form__content::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #ff719b, var(--kto-v16-pink));
}

/* Fancybox inner content can overflow on small screens. */
.fancybox__content.kto-v16-fancybox-popup,
.fancybox__content .kto-v16-fancybox-popup {
    overscroll-behavior: contain;
}

/* Optional helper class for future overflow boxes. */
.kto-v16-scrollbar {
    overflow: auto;
    overscroll-behavior: contain;
}


/* V16 Event 01 form text and checkbox hotfix - Figma node 2:2443 */
.kto-v16-event-form .wpcf7-form .kto-v16-form-help {
    width: 100%;
    margin-top: -10px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help strong {
    display: block;
    margin-bottom: 2px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help ol {
    margin: 0;
    padding-left: 16.5px;
    color: #94a3b8;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help li {
    margin: 0;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 500;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-consents {
    width: 100%;
    display: grid;
    gap: 4px;
}

.kto-v16-event-form .wpcf7-form .wpcf7-acceptance,
.kto-v16-event-form .wpcf7-form .wpcf7-checkbox {
    display: block;
    width: 100%;
}

.kto-v16-event-form .wpcf7-form .wpcf7-list-item {
    margin: 0;
    display: block;
    width: 100%;
}

.kto-v16-event-form .wpcf7-form .wpcf7-list-item label,
.kto-v16-event-form .wpcf7-form label.kto-v16-checkbox-label {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 8px !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 16.5px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.kto-v16-event-form .wpcf7-form .wpcf7-list-item-label {
    width: calc(100% - 21px);
    color: #94a3b8;
    font-size: 10px;
    font-weight: 500;
    line-height: 16.5px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .wpcf7-list-item-label strong,
.kto-v16-event-form .wpcf7-form .wpcf7-list-item-label b {
    color: #94a3b8;
    font-weight: 800;
}

.kto-v16-event-form .wpcf7-form input[type="checkbox"] {
    position: relative;
    width: 12.31px;
    height: 12.31px;
    min-width: 12.31px;
    min-height: 12.31px;
    margin: 0;
    padding: 0;
    border: 0.724px solid var(--kto-v16-pink);
    border-radius: 0;
    background: #ffffff;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.kto-v16-event-form .wpcf7-form input[type="checkbox"]::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 1px;
    width: 4px;
    height: 7px;
    border: solid #ffffff;
    border-width: 0 1.5px 1.5px 0;
    opacity: 0;
    transform: rotate(45deg);
}

.kto-v16-event-form .wpcf7-form input[type="checkbox"]:checked {
    background: var(--kto-v16-pink);
}

.kto-v16-event-form .wpcf7-form input[type="checkbox"]:checked::after {
    opacity: 1;
}

.kto-v16-event-form .wpcf7-form input[type="checkbox"]:focus-visible {
    outline: 2px solid rgba(255, 56, 92, 0.28);
    outline-offset: 2px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note {
    width: 100%;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 800;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note__label {
    margin: 0;
    color: var(--kto-v16-pink);
    font-size: 10px;
    font-weight: 800;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note ul {
    margin: 0;
    padding-left: 15px;
    color: #94a3b8;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note li {
    margin: 0;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 500;
    line-height: 16.5px;
}

/* V16 Event 02 form text and rules link hotfix - Figma node 2:2493 */
.kto-v16-event-form .wpcf7-form .kto-v16-form-rules-link,
.kto-v16-event-form .wpcf7-form a.kto-v16-rules-link {
    color: #006aff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    line-height: 16.5px;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-photo-rules {
    width: 100%;
    margin-top: 0;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 800;
    line-height: 16.5px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-photo-rules__title {
    margin: 0;
    color: #00666a;
    font-size: 10px;
    font-weight: 800;
    line-height: 16.5px;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-photo-rules ul {
    margin: 0;
    padding-left: 15px;
    color: #94a3b8;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-photo-rules li {
    margin: 0;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 500;
    line-height: 16.5px;
}

.kto-v16-event-form.is-cyan .wpcf7-form input[type="checkbox"] {
    border-color: var(--kto-event-color);
}

.kto-v16-event-form.is-cyan .wpcf7-form input[type="checkbox"]:checked {
    background: var(--kto-event-color);
}

.kto-v16-event-form.is-cyan .wpcf7-form input[type="submit"] {
    background: var(--kto-event-color);
    box-shadow: 0 10px 15px -3px rgba(0, 102, 106, 0.2), 0 4px 6px -4px rgba(0, 102, 106, 0.2);
}


/* V16 Event 03 form missing text hotfix - Figma node 2:2712 */
.kto-v16-event-form .wpcf7-form .kto-v16-lck-schedule-link {
    width: 100%;
    min-height: 40px;
    border: 2px solid #6c5a00;
    border-radius: 8px;
    background: #ffffff;
    color: #6c5a00;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
    text-decoration: none;
}

.kto-v16-event-form .wpcf7-form .kto-v16-lck-schedule-icon {
    width: 71px;
    min-height: 40px;
    background: #6c5a00;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kto-v16-event-form .wpcf7-form .kto-v16-lck-schedule-icon::before {
    content: "";
    width: 45px;
    height: 20px;
    background: currentColor;
    clip-path: polygon(0 40%, 38% 40%, 52% 0, 63% 0, 57% 40%, 100% 40%, 100% 60%, 57% 60%, 63% 100%, 52% 100%, 38% 60%, 0 60%);
    display: block;
}

.kto-v16-event-form .wpcf7-form .kto-v16-lck-schedule-text {
    color: #6c5a00;
    font-size: 16px;
    font-weight: 800;
    line-height: 20px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.kto-v16-event-form.is-gold .wpcf7-form .kto-v16-form-photo-rules__title {
    color: var(--kto-event-color);
}

.kto-v16-event-form.is-gold .wpcf7-form input[type="checkbox"] {
    border-color: var(--kto-event-color);
}

.kto-v16-event-form.is-gold .wpcf7-form input[type="checkbox"]:checked {
    background: var(--kto-event-color);
}

.kto-v16-event-form.is-gold .wpcf7-form input[type="submit"] {
    background: var(--kto-event-color);
    box-shadow: 0 10px 15px -3px rgba(108, 90, 0, 0.2), 0 4px 6px -4px rgba(108, 90, 0, 0.2);
}

/* V16 header full-width hotfix */
.kto-v16-header-wrap,
.kto-v16-header,
.kto-v16-header.is-sticky {
    box-sizing: border-box;
}

.kto-v16-header-wrap {
    width: 100vw !important;
    max-width: none !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
}

.kto-v16-header,
.kto-v16-header.is-sticky {
    width: 100vw !important;
    max-width: none !important;
}

.kto-v16-header.is-sticky {
    left: 0 !important;
    right: 0 !important;
}

.kto-v16-header__bar {
    width: 100%;
    max-width: none;
}

html,
body {
    overflow-x: clip;
}

@supports not (overflow-x: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}


/* V16 partner brands spacing/logo hotfix - Figma node 2:1980 */
.kto-v16-partner-brand img[src],
.kto-v16-partner-brands img[src] {
    transform: none;
    image-rendering: auto;
}

.kto-v16-partner-brands .wpb_single_image img,
.kto-v16-partner-brands .vc_single_image-img {
    width: auto !important;
    height: auto !important;
    max-width: 150px !important;
    max-height: 46px !important;
    object-fit: contain !important;
}

/* V16 popup style and scroll hotfix - Figma node 0:1 */
.fancybox__container {
    --fancybox-bg: rgba(15, 23, 42, 0.56);
    z-index: 120000;
}

.fancybox__backdrop {
    background: rgba(15, 23, 42, 0.56) !important;
    backdrop-filter: blur(4px);
}

.fancybox__slide {
    padding: 24px !important;
}

.fancybox__content.kto-v16-fancybox-popup,
.fancybox__content .kto-v16-fancybox-popup,
.kto-v16-fancybox-popup {
    width: min(948px, calc(100vw - 32px));
    max-height: min(920px, calc(100dvh - 48px));
    padding: 30px 26px 80px;
    border-radius: 22px;
    background: #ffffff;
    color: #000000;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@supports not (height: 100dvh) {
    .fancybox__content.kto-v16-fancybox-popup,
    .fancybox__content .kto-v16-fancybox-popup,
    .kto-v16-fancybox-popup {
        max-height: calc(100vh - 48px);
    }
}

.fancybox__content.kto-v16-fancybox-popup > .carousel__button.is-close,
.fancybox__content.kto-v16-fancybox-popup > .f-button.is-close-btn,
.fancybox__content.kto-v16-fancybox-popup .fancybox__button--close {
    top: 20px !important;
    right: 20px !important;
    opacity: 1;
    position: fixed;
}

.kto-v16-offer-popup,
.kto-v16-offer-post-popup {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kto-v16-offer-popup {
    padding: 46px 36px;
}

.kto-v16-offer-post-popup {
    padding: 46px 36px;
}

.kto-v16-offer-popup__hero,
.kto-v16-popup-post__thumbnail,
.kto-v16-rules-image-popup img {
    width: 100%;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
}

.kto-v16-offer-popup__hero,
.kto-v16-popup-post__thumbnail img {
    width: 100%;
    height: auto;
    aspect-ratio: 1672 / 941;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.kto-v16-popup-post__thumbnail {
    margin-bottom: 0;
}

.kto-v16-popup-post {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kto-v16-popup-post__content {
    max-height: none;
    overflow: visible;
    color: #000000;
    font-size: 20px;
    line-height: 1.3;
}

.kto-v16-popup-section {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kto-v16-popup-section h3,
.kto-v16-popup-post__content h1,
.kto-v16-popup-post__content h2,
.kto-v16-popup-post__content h3 {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.kto-v16-popup-section h4,
.kto-v16-popup-post__content h4 {
    margin: 0;
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.kto-v16-popup-section p,
.kto-v16-popup-section li,
.kto-v16-popup-post__content p,
.kto-v16-popup-post__content li {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

.kto-v16-popup-section ul,
.kto-v16-popup-post__content ul,
.kto-v16-popup-post__content ol {
    margin: 0;
    padding-left: 30px;
}

.kto-v16-popup-post__content p {
    margin: 0 0 16px;
}

.kto-v16-popup-post__content > *:first-child {
    margin-top: 0;
}

.kto-v16-popup-post__content > *:last-child {
    margin-bottom: 0;
}

.kto-v16-popup-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.kto-v16-popup-form-grid label {
    display: grid;
    gap: 8px;
    color: #000000;
    font-size: 16px;
    font-weight: 800;
}

.kto-v16-popup-form-grid input {
    min-height: 58px;
    padding: 16px;
    border: 0;
    border-radius: 24px;
    background: #f2f2f2;
    color: #000000;
}

.kto-v16-popup-dark-button {
    min-width: 247px;
    height: 51px;
    margin-top: 16px;
    border: 0;
    border-radius: 8px;
    background: #000000;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
}

.kto-v16-popup-cta,
.kto-v16-popup-post__content .wp-block-button__link,
.kto-v16-popup-post__content a.wp-block-button__link {
    width: 100%;
    min-height: 64px;
    padding: 10px 46px;
    border-radius: 8px;
    background: var(--kto-v16-pink);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    line-height: normal;
    text-decoration: none;
}

.kto-v16-rules-popup {
    width: min(948px, calc(100vw - 32px));
    max-height: min(920px, calc(100dvh - 48px));
    padding: 46px 36px;
    border-radius: 22px;
    overflow-y: auto;
}

.kto-v16-rules-popup h3 {
    margin: 0 0 24px;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.kto-v16-rules-popup h4 {
    margin: 22px 0 14px;
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.kto-v16-rules-image-popup {
    width: min(948px, calc(100vw - 32px));
    max-height: min(920px, calc(100dvh - 48px));
    padding: 0;
    border-radius: 22px;
    overflow-y: auto;
    background: #ffffff;
}

.kto-v16-rules-image-popup img {
    width: 100%;
    height: auto;
    display: block;
}

/* Scrollbar specifically inside modal content */
.fancybox__content.kto-v16-fancybox-popup,
.kto-v16-offer-popup,
.kto-v16-offer-post-popup,
.kto-v16-rules-popup,
.kto-v16-rules-image-popup {
    scrollbar-width: thin;
    scrollbar-color: var(--kto-v16-pink) #f1f5f9;
}

.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar,
.kto-v16-offer-popup::-webkit-scrollbar,
.kto-v16-offer-post-popup::-webkit-scrollbar,
.kto-v16-rules-popup::-webkit-scrollbar,
.kto-v16-rules-image-popup::-webkit-scrollbar {
    width: 8px;
}

.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-track,
.kto-v16-offer-popup::-webkit-scrollbar-track,
.kto-v16-offer-post-popup::-webkit-scrollbar-track,
.kto-v16-rules-popup::-webkit-scrollbar-track,
.kto-v16-rules-image-popup::-webkit-scrollbar-track {
    margin: 16px 0;
    border-radius: 9999px;
    background: #f1f5f9;
}

.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-post-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-image-popup::-webkit-scrollbar-thumb {
    border: 2px solid #f1f5f9;
    border-radius: 9999px;
    background: linear-gradient(180deg, var(--kto-v16-pink), #ff719b);
}

/* V16 iOS-like transparent scrollbar hotfix */
.kto-v16-scrollbar,
.kto-v16-menu-drawer,
.kto-v16-fancybox-popup,
.kto-v16-offer-popup,
.kto-v16-offer-post-popup,
.kto-v16-rules-popup,
.kto-v16-rules-image-popup,
.kto-v16-popup-post__content,
.kto-v16-event-form__side,
.kto-v16-event-form__content,
.kto-v16-offer-popup-pool,
.kto-v16-inline-popup-pool,
.fancybox__content.kto-v16-fancybox-popup {
    scrollbar-width: thin;
    scrollbar-color: rgba(60, 60, 67, 0.36) transparent;
}

.kto-v16-scrollbar::-webkit-scrollbar,
.kto-v16-menu-drawer::-webkit-scrollbar,
.kto-v16-fancybox-popup::-webkit-scrollbar,
.kto-v16-offer-popup::-webkit-scrollbar,
.kto-v16-offer-post-popup::-webkit-scrollbar,
.kto-v16-rules-popup::-webkit-scrollbar,
.kto-v16-rules-image-popup::-webkit-scrollbar,
.kto-v16-popup-post__content::-webkit-scrollbar,
.kto-v16-event-form__side::-webkit-scrollbar,
.kto-v16-event-form__content::-webkit-scrollbar,
.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar {
    width: 7px;
    height: 7px;
    background: transparent;
}

.kto-v16-scrollbar::-webkit-scrollbar-track,
.kto-v16-menu-drawer::-webkit-scrollbar-track,
.kto-v16-fancybox-popup::-webkit-scrollbar-track,
.kto-v16-offer-popup::-webkit-scrollbar-track,
.kto-v16-offer-post-popup::-webkit-scrollbar-track,
.kto-v16-rules-popup::-webkit-scrollbar-track,
.kto-v16-rules-image-popup::-webkit-scrollbar-track,
.kto-v16-popup-post__content::-webkit-scrollbar-track,
.kto-v16-event-form__side::-webkit-scrollbar-track,
.kto-v16-event-form__content::-webkit-scrollbar-track,
.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-track {
    margin: 12px 0;
    border: 0;
    border-radius: 9999px;
    background: transparent !important;
    box-shadow: none;
}

.kto-v16-scrollbar::-webkit-scrollbar-thumb,
.kto-v16-menu-drawer::-webkit-scrollbar-thumb,
.kto-v16-fancybox-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-popup::-webkit-scrollbar-thumb,
.kto-v16-offer-post-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-popup::-webkit-scrollbar-thumb,
.kto-v16-rules-image-popup::-webkit-scrollbar-thumb,
.kto-v16-popup-post__content::-webkit-scrollbar-thumb,
.kto-v16-event-form__side::-webkit-scrollbar-thumb,
.kto-v16-event-form__content::-webkit-scrollbar-thumb,
.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-thumb {
    min-height: 42px;
    border: 2px solid transparent !important;
    border-radius: 9999px;
    background: rgba(60, 60, 67, 0.36) !important;
    background-clip: padding-box !important;
    box-shadow: none;
}

.kto-v16-scrollbar::-webkit-scrollbar-thumb:hover,
.kto-v16-menu-drawer::-webkit-scrollbar-thumb:hover,
.kto-v16-fancybox-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-offer-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-offer-post-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-rules-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-rules-image-popup::-webkit-scrollbar-thumb:hover,
.kto-v16-popup-post__content::-webkit-scrollbar-thumb:hover,
.kto-v16-event-form__side::-webkit-scrollbar-thumb:hover,
.kto-v16-event-form__content::-webkit-scrollbar-thumb:hover,
.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-thumb:hover {
    background: rgba(60, 60, 67, 0.52) !important;
    background-clip: padding-box !important;
}

.kto-v16-scrollbar::-webkit-scrollbar-corner,
.kto-v16-menu-drawer::-webkit-scrollbar-corner,
.kto-v16-fancybox-popup::-webkit-scrollbar-corner,
.kto-v16-offer-popup::-webkit-scrollbar-corner,
.kto-v16-offer-post-popup::-webkit-scrollbar-corner,
.kto-v16-rules-popup::-webkit-scrollbar-corner,
.kto-v16-rules-image-popup::-webkit-scrollbar-corner,
.kto-v16-popup-post__content::-webkit-scrollbar-corner,
.kto-v16-event-form__side::-webkit-scrollbar-corner,
.kto-v16-event-form__content::-webkit-scrollbar-corner,
.fancybox__content.kto-v16-fancybox-popup::-webkit-scrollbar-corner {
    background: transparent;
}

/* V16 drawer menu visual style hotfix */
.kto-v16-menu-backdrop {
    background: rgba(15, 23, 42, 0.18);
    backdrop-filter: none;
}

.kto-v16-menu-drawer {
    width: 80vw;
    max-width: 794px;
    min-width: 320px;
    height: calc(100vh - var(--kto-v16-sticky-top, 0px));
    padding: 32px 26px 56px;
    background: #f8f9fb;
    box-shadow: 20px 0 60px rgba(15, 23, 42, 0.14);
    gap: 0;
}

.kto-v16-menu-drawer__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.kto-v16-menu-drawer__logos {
    min-height: 95px;
    padding-top: 88px;
    display: flex;
    align-items: center;
    gap: 40px;
    min-width: 0;
}

.kto-v16-menu-drawer__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.kto-v16-menu-drawer__logo img {
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block;
}

.kto-v16-menu-drawer__logo.is-primary-logo img {
    max-width: 236px;
    max-height: 74px;
}

.kto-v16-menu-drawer__logo.is-secondary-logo img {
    max-width: 222px;
    max-height: 48px;
}

.kto-v16-menu-drawer__logo-text {
    color: #101b45;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -1.2px;
    text-transform: uppercase;
    white-space: nowrap;
}

.kto-v16-menu-drawer__close {
    width: 48px;
    height: 48px;
    margin-top: 0;
    border: 0;
    border-radius: 9999px;
    background: #e54848;
    color: #ffffff;
    font-size: 48px;
    font-weight: 300;
    line-height: 42px;
    box-shadow: none;
}

.kto-v16-menu-drawer__close span {
    display: block;
    transform: translateY(-2px);
}

.kto-v16-menu-drawer__title {
    display: none;
}

.kto-v16-menu-drawer__nav {
    width: 100%;
}

.kto-v16-header-menu {
    width: 100%;
    display: grid;
    gap: 0;
}

.kto-v16-header-menu li {
    border-bottom: 1px solid #e3e6eb;
}

.kto-v16-header-menu a {
    min-height: 92px;
    padding: 0 20px;
    color: #606266;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
}

.kto-v16-header-menu a:hover,
.kto-v16-header-menu a:focus {
    color: var(--kto-v16-pink);
}

/* V16 drawer menu style v2 hotfix */
.kto-v16-menu-drawer {
    width: min(80vw, 794px) !important;
    max-width: 794px !important;
    height: calc(100dvh - var(--kto-v16-sticky-top, 0px)) !important;
    padding: 0 !important;
    background: #f7f8fa !important;
    box-shadow: 32px 0 70px rgba(15, 23, 42, 0.18) !important;
    gap: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

@supports not (height: 100dvh) {
    .kto-v16-menu-drawer {
        height: calc(100vh - var(--kto-v16-sticky-top, 0px)) !important;
    }
}

.kto-v16-menu-drawer__header {
    min-height: 244px !important;
    padding: 112px 26px 42px !important;
    border-bottom: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    position: relative !important;
}

.kto-v16-menu-drawer__logos,
.kto-v16-menu-drawer__brand,
.kto-v16-menu-drawer__logo-group {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    min-width: 0 !important;
}

.kto-v16-menu-drawer__logo,
.kto-v16-menu-drawer__logo img,
.kto-v16-drawer-logo,
.kto-v16-drawer-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.kto-v16-menu-drawer__logo:first-child img,
.kto-v16-drawer-logo:first-child img {
    max-width: 252px !important;
    max-height: 74px !important;
}

.kto-v16-menu-drawer__logo:nth-child(2) img,
.kto-v16-drawer-logo:nth-child(2) img {
    max-width: 230px !important;
    max-height: 52px !important;
}

.kto-v16-menu-drawer__brand-text,
.kto-v16-menu-drawer__logo-text,
.kto-v16-drawer-logo-text {
    color: #172a56 !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: -1.2px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.kto-v16-menu-drawer__close {
    position: absolute !important;
    top: 42px !important;
    right: 30px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.kto-v16-menu-drawer__close::before,
.kto-v16-menu-drawer__close::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 34px !important;
    height: 5px !important;
    border-radius: 9999px !important;
    background: #ffffff !important;
    transform-origin: center !important;
}

.kto-v16-menu-drawer__close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.kto-v16-menu-drawer__close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.kto-v16-menu-drawer__nav,
.kto-v16-drawer-menu-nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kto-v16-menu-drawer ul,
.kto-v16-menu-drawer ol,
.kto-v16-menu-drawer .menu,
.kto-v16-menu-drawer__nav ul,
.kto-v16-menu-drawer__nav ol,
.kto-v16-menu-drawer__nav .menu,
.kto-v16-header-menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
}

.kto-v16-menu-drawer li,
.kto-v16-menu-drawer__nav li,
.kto-v16-header-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-top: 1px solid #e5e7eb !important;
    border-bottom: 0 !important;
}

.kto-v16-menu-drawer li::marker,
.kto-v16-menu-drawer__nav li::marker,
.kto-v16-header-menu li::marker {
    content: "" !important;
    display: none !important;
}

.kto-v16-menu-drawer li:last-child,
.kto-v16-menu-drawer__nav li:last-child,
.kto-v16-header-menu li:last-child {
    border-bottom: 0 !important;
}

.kto-v16-menu-drawer a,
.kto-v16-menu-drawer__nav a,
.kto-v16-menu-drawer__nav .menu-item a,
.kto-v16-header-menu a {
    width: 100% !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 0 26px !important;
    color: #606166 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 1.4px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.kto-v16-menu-drawer a:hover,
.kto-v16-menu-drawer a:focus,
.kto-v16-menu-drawer__nav a:hover,
.kto-v16-menu-drawer__nav a:focus,
.kto-v16-header-menu a:hover,
.kto-v16-header-menu a:focus {
    color: #ff385c !important;
    background: rgba(255, 56, 92, 0.035) !important;
    text-decoration: none !important;
}

.kto-v16-menu-drawer a::before,
.kto-v16-menu-drawer a::after,
.kto-v16-menu-drawer__nav a::before,
.kto-v16-menu-drawer__nav a::after,
.kto-v16-header-menu a::before,
.kto-v16-header-menu a::after {
    display: none !important;
    content: none !important;
}

.kto-v16-menu-drawer__nav .sub-menu {
    margin: 0 !important;
    padding: 0 !important;
}

.kto-v16-menu-drawer__nav .sub-menu a {
    min-height: 72px !important;
    padding-left: 54px !important;
    font-size: 22px !important;
    letter-spacing: 1px !important;
}

.kto-v16-menu-backdrop {
    background: rgba(15, 23, 42, 0.34) !important;
    backdrop-filter: blur(2px);
}

/* V16 drawer menu compact size hotfix */
.kto-v16-menu-drawer {
    width: min(76vw, 520px) !important;
    max-width: 520px !important;
}

.kto-v16-menu-drawer__header {
    min-height: 164px !important;
    padding: 66px 24px 28px !important;
    gap: 18px !important;
}

.kto-v16-menu-drawer__logos,
.kto-v16-menu-drawer__brand,
.kto-v16-menu-drawer__logo-group {
    gap: 18px !important;
}

.kto-v16-menu-drawer__logo:first-child img,
.kto-v16-drawer-logo:first-child img {
    max-width: 188px !important;
    max-height: 56px !important;
}

.kto-v16-menu-drawer__logo:nth-child(2) img,
.kto-v16-drawer-logo:nth-child(2) img {
    max-width: 170px !important;
    max-height: 19px !important;
}

.kto-v16-menu-drawer__brand-text,
.kto-v16-menu-drawer__logo-text,
.kto-v16-drawer-logo-text {
    font-size: 24px !important;
    line-height: 1 !important;
    letter-spacing: -0.7px !important;
}

.kto-v16-menu-drawer__close {
    top: 24px !important;
    right: 24px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
}

.kto-v16-menu-drawer__close::before,
.kto-v16-menu-drawer__close::after {
    width: 23px !important;
    height: 3px !important;
}

.kto-v16-menu-drawer a,
.kto-v16-menu-drawer__nav a,
.kto-v16-menu-drawer__nav .menu-item a,
.kto-v16-header-menu a {
    min-height: 56px !important;
    padding: 0 24px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.9px !important;
}

.kto-v16-menu-drawer__nav .sub-menu a {
    min-height: 48px !important;
    padding-left: 44px !important;
    font-size: 15px !important;
    letter-spacing: 0.7px !important;
}

/* V16 drawer menu precise compact hotfix */
.kto-v16-menu-drawer {
    width: min(80vw, 400px) !important;
    max-width: 400px !important;
    background: #f7f8fa !important;
}

.kto-v16-menu-drawer__header {
    min-height: 94px !important;
    padding: 34px 24px 18px !important;
    gap: 12px !important;
    align-items: center !important;
}

.kto-v16-menu-drawer__logos,
.kto-v16-menu-drawer__brand,
.kto-v16-menu-drawer__logo-group {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.kto-v16-menu-drawer__logo,
.kto-v16-drawer-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 40px !important;
    max-height: 40px !important;
}

.kto-v16-menu-drawer__logo img,
.kto-v16-drawer-logo img,
.kto-v16-menu-drawer__logo:first-child img,
.kto-v16-drawer-logo:first-child img {
    width: auto !important;
    height: auto !important;
    max-width: 160px !important;
    max-height: 49px !important;
    object-fit: contain !important;
    display: block !important;
}

.kto-v16-menu-drawer__brand-text,
.kto-v16-menu-drawer__logo-text,
.kto-v16-drawer-logo-text {
    height: 40px !important;
    color: #172a56 !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 40px !important;
    letter-spacing: -0.4px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.kto-v16-menu-drawer__close {
    top: 12px !important;
    right: 12px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border-radius: 9999px !important;
}

.kto-v16-menu-drawer__close::before,
.kto-v16-menu-drawer__close::after {
    width: 15px !important;
    height: 2px !important;
}

.kto-v16-menu-drawer__logo.is-primary-logo {
    padding-left: 20px;
}

.kto-v16-menu-drawer__nav,
.kto-v16-drawer-menu-nav {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.kto-v16-menu-drawer ul,
.kto-v16-menu-drawer ol,
.kto-v16-menu-drawer .menu,
.kto-v16-menu-drawer__nav ul,
.kto-v16-menu-drawer__nav ol,
.kto-v16-menu-drawer__nav .menu,
.kto-v16-header-menu {
    margin: 0 !important;
    padding: 0 !important;
}

.kto-v16-menu-drawer li:first-child,
.kto-v16-menu-drawer__nav li:first-child,
.kto-v16-header-menu li:first-child {
    border-top: 0 !important;
}

.kto-v16-menu-drawer a,
.kto-v16-menu-drawer__nav a,
.kto-v16-menu-drawer__nav .menu-item a,
.kto-v16-header-menu a {
    min-height: 45px !important;
    height: 45px !important;
    padding: 0 24px !important;
    color: #606166 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    letter-spacing: 0.55px !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.kto-v16-menu-drawer__nav .sub-menu a {
    min-height: 30px !important;
    height: 30px !important;
    padding-left: 38px !important;
    font-size: 11px !important;
    line-height: 30px !important;
}

/* V16 menu close-before-scroll hotfix */
.kto-v16-menu-drawer {
    transition-duration: 0.36s !important;
}


/* V16 custom menu smooth-scroll hotfix */
.kto-v16-template {
    scroll-behavior: auto;
}


/* V16 reliable custom smooth-scroll */
html,
body,
.kto-v16-template {
    scroll-behavior: auto !important;
}


/* V16 All-in-K wordmark image hotfix - Figma node 26:6708 */
.kto-v16-header__brand-image {
    width: 90.56px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
}

.kto-v16-header__brand-image img {
    width: auto;
    height: auto;
    max-width: 90.56px;
    max-height: 32px;
    object-fit: contain;
    object-position: left center;
    display: block;
}

/* V16 offer card logo alignment hotfix - Figma node 2:2036 */
.kto-v16-offer-card__body {
    align-items: stretch;
}

.kto-v16-offer-card__logo {
    width: auto !important;
    height: auto !important;
    max-width: 170px !important;
    max-height: 30px !important;
    object-fit: contain !important;
    object-position: left center !important;
    align-self: flex-start !important;
    display: block !important;
    flex: 0 0 auto !important;
}

.is-coming-soon .kto-v16-offer-card__logo {
    visibility: hidden !important;
}

/* V16 popup typography/color hotfix - Figma node 0:1 */
.kto-v16-fancybox-popup,
.kto-v16-offer-popup,
.kto-v16-offer-post-popup,
.kto-v16-rules-popup,
.kto-v16-popup-post,
.kto-v16-popup-post__content,
.kto-v16-popup-section {
    color: #383838;
    letter-spacing: 0;
}


.kto-v16-rules-table > div {
    color: #383838;
    line-height: 18px;
}

.kto-v16-rules-table .table-head {
    color: #ffffff;
    line-height: 24px;
}

/* V16 event buttons height/style hotfix - Figma node 2:2176 */
.kto-v16-event-buttons {
    width: min(1024px, calc(100% - 32px));
    margin: 0 auto 80px;
    display: grid;
    gap: 24px;
}

.kto-v16-event-button {
    height: 74px !important;
    min-height: 0 !important;
    max-height: 74px !important;
    padding: 0 40px !important;
    border-radius: 9999px;
    color: #ffffff;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    overflow: hidden;
    box-shadow: var(--kto-v16-shadow);
    font-size: 18px;
    font-weight: 800;
    line-height: 22px;
    letter-spacing: 3.2px;
    text-transform: uppercase;
    white-space: nowrap;
}

.kto-v16-event-button span {
    width: 24px;
    height: 24px;
    min-width: 24px;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-1px);
}

.kto-v16-event-button:hover,
.kto-v16-event-button:focus {
    color: #ffffff;
    text-decoration: none;
    filter: brightness(0.97);
}

/* V16 Event 01 compact form spacing hotfix - Figma node 2:2444 */
.kto-v16-event-form .wpcf7-form {
    display: grid !important;
    gap: 20px !important;
    align-items: start !important;
}

.kto-v16-event-form .wpcf7-form p,
.kto-v16-event-form .wpcf7-form p:empty {
    margin: 0 !important;
    padding: 0 !important;
}

.kto-v16-event-form .wpcf7-form br {
    display: none !important;
}

.kto-v16-event-form .wpcf7-form .form-grid,
.kto-v16-event-form .wpcf7-form .kto-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: start !important;
}

.kto-v16-event-form .wpcf7-form .form-grid > p,
.kto-v16-event-form .wpcf7-form .kto-form-grid > p {
    margin: 0 !important;
    padding: 0 !important;
}

.kto-v16-event-form .wpcf7-form label,
.kto-v16-event-form .wpcf7-form p > label {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 16.5px !important;
    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;
}

.kto-v16-event-form .wpcf7-form .wpcf7-form-control-wrap {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    line-height: 0 !important;
}

.kto-v16-event-form .wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.kto-v16-event-form .wpcf7-form select {
    width: 100% !important;
    height: 57px !important;
    min-height: 57px !important;
    max-height: 57px !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.kto-v16-event-form .wpcf7-form textarea {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    box-shadow: none !important;
    resize: none !important;
}

.kto-v16-event-form .wpcf7-form input::placeholder,
.kto-v16-event-form .wpcf7-form textarea::placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help {
    width: 100% !important;
    margin-top: -12px !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help strong {
    display: block !important;
    margin: 0 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help ol {
    margin: 0 !important;
    padding-left: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-help li {
    margin: 0 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-consents {
    width: 100% !important;
    margin-top: 0 !important;
    display: grid !important;
    gap: 4px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note {
    width: 100% !important;
    margin-top: -4px !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note__label {
    margin: 0 !important;
    color: #ff385c !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note ul {
    margin: 0 !important;
    padding-left: 15px !important;
}

.kto-v16-event-form .wpcf7-form .kto-v16-form-note li {
    margin: 0 !important;
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 16.5px !important;
}

.kto-v16-event-form .wpcf7-form input[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: var(--kto-event-color) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 15px -3px rgba(255, 56, 92, 0.2), 0 4px 6px -4px rgba(255, 56, 92, 0.2) !important;
}

/* V16 rules image popup scroll hotfix - Figma node 2:2713 */
.fancybox__slide {
    overflow: hidden !important;
}

.fancybox__content.kto-v16-rules-image-popup,
.fancybox__content .kto-v16-rules-image-popup,
.kto-v16-rules-image-popup {
    width: min(948px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 48px) !important;
    padding: 0 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-gutter: stable;
}

@supports not (height: 100dvh) {
    .fancybox__content.kto-v16-rules-image-popup,
    .fancybox__content .kto-v16-rules-image-popup,
    .kto-v16-rules-image-popup {
        max-height: calc(100vh - 48px) !important;
    }
}

/* When Fancybox wraps the inline popup inside its own content container. */
@supports selector(:has(*)) {
    .fancybox__content:has(.kto-v16-rules-image-popup) {
        width: min(948px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        max-height: calc(100dvh - 48px) !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    @supports not (height: 100dvh) {
        .fancybox__content:has(.kto-v16-rules-image-popup) {
            max-height: calc(100vh - 48px) !important;
        }
    }
}

.kto-v16-rules-image-popup img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    object-position: top center !important;
}

/* V16 rules popup width revert hotfix */
.fancybox__slide:has(.kto-v16-rules-image-popup) {
    padding: 24px !important;
    overflow: hidden !important;
}

.fancybox__content.kto-v16-rules-image-popup,
.fancybox__content.kto-v16-rules-image-popup.kto-v16-fancybox-popup,
.fancybox__content:has(.kto-v16-rules-image-popup),
.kto-v16-rules-image-popup-shell,
.kto-v16-rules-image-popup {
    display:  block !important;
    width: min(948px, calc(100vw - 32px)) !important;
    max-width: min(948px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100dvh - 48px) !important;
    padding: 0 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
}

@supports not (height: 100dvh) {
    .fancybox__content.kto-v16-rules-image-popup,
    .fancybox__content.kto-v16-rules-image-popup.kto-v16-fancybox-popup,
    .fancybox__content:has(.kto-v16-rules-image-popup),
    .kto-v16-rules-image-popup-shell,
    .kto-v16-rules-image-popup {
        max-height: calc(100vh - 48px) !important;
    }
}

.fancybox__content.kto-v16-rules-image-popup img,
.fancybox__content:has(.kto-v16-rules-image-popup) .kto-v16-rules-image-popup img,
.kto-v16-rules-image-popup-shell .kto-v16-rules-image-popup img,
.kto-v16-rules-image-popup img {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: top center !important;
}

/* V16 hero top radius hotfix */
.kto-v16-hero {
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}


/* V16 hero slideshow no-crop hotfix */
.kto-v16-hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

.kto-v16-hero .swiper-wrapper,
.kto-v16-hero .swiper-slide {
    width: 100% !important;
    height: 100% !important;
}

.kto-v16-hero .swiper-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.kto-v16-hero .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* V16 hero margin top hotfix */
.kto-v16-hero {
    margin-top: 0 !important;
}


/* V16 offer card logo max-height hotfix */
.kto-v16-offer-card__logo {
    max-height: 27px !important;
}


/* Partner offer mobile swiper is hidden by default; enabled in responsive CSS. */
.kto-v16-offer-mobile-swiper {
    display: none;
}


/* V16 reward note overlay hotfix - Figma nodes 2:2367, 2:2368, 2:2373 */
.kto-v16-reward-note-wrap {
    position: relative;
    width: min(1152px, 100%);
    min-height: 45px;
    margin: 18px auto 0;
    display: block;
    text-align: center;
}

.kto-v16-reward-note-icon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 45px;
    height: 45px;
    display: block;
    pointer-events: none;
}

.kto-v16-reward-note-box {
    position: relative;
    top: 7px;
    left: 4px;
    width: calc(100% - 4px);
    min-height: 31px;
    padding: 0 24px 0 56px;
    border: 1px solid var(--kto-v16-border);
    border-radius: 60px;
    background: #ffffff;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kto-v16-reward-note {
    margin: 0;
    color: #000000;
    font-size: 12px;
    font-weight: 600;
    line-height: 12px;
    text-align: center;
    white-space: nowrap;
}

.kto-v16-reward-note__highlight,
.kto-v16-reward-note__amount {
    color: var(--kto-v16-pink);
    font-weight: 800;
}

.kto-v16-reward-note__divider {
    width: 1px;
    height: 16px;
    margin: 0 18px;
    background: #9ca3af;
    display: inline-block;
    vertical-align: middle;
}


/* V16 event button arrow image hotfix - Figma node 2:2176 */
.kto-v16-event-button__label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.kto-v16-event-button .kto-v16-event-button__icon {
    width: 15px !important;
    height: 10px !important;
    min-width: 15px !important;
    min-height: 10px !important;
    margin-left: auto;
    color: #ffffff;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 15px !important;
    line-height: 0 !important;
    transform: none !important;
}

.kto-v16-event-button .kto-v16-event-button__icon img {
    width: 15px !important;
    height: 10px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}


/* V16 event button label alignment hotfix - Figma node 2:2176 */
.kto-v16-event-button .kto-v16-event-button__label {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    line-height: 22px !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform: none !important;
}

.kto-v16-event-button .kto-v16-event-button__icon {
    position: relative !important;
    top: 0 !important;
    align-self: center !important;
    transform: none !important;
}


/* V16 event button font-size hotfix - Figma node 2:2176 */
.kto-v16-event-button,
.kto-v16-event-button .kto-v16-event-button__label {
    font-size: 18px !important;
    line-height: 18px !important;
}
/* V16 reward note display hotfix */
.kto-v16-reward-note {
    display: block !important;
}


/* V16 scroll-top FAB icon hotfix - Figma node 2:2825 */
.kto-v16-scroll-top {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

.kto-v16-scroll-top img {
    width: 25px !important;
    height: 25px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;
    pointer-events: none !important;
}


/* V16 scroll-top FAB icon visibility hotfix - Figma node 2:2825 */
.kto-v16-scroll-top {
    position: fixed;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
}

.kto-v16-scroll-top::before {
    content: "";
    width: 25px;
    height: 25px;
    background-image: url("../images/to-top-ico.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    display: block;
    pointer-events: none;
    flex: 0 0 25px;
}

.kto-v16-scroll-top img {
    width: 25px !important;
    height: 25px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    pointer-events: none !important;
}

.kto-v16-scroll-top:has(img)::before {
    display: none;
}


/* V16 footer contact paragraph line-height hotfix */
.kto-v16-footer__contact p {
    line-height: 1.8;
}


/* V16 reward image link hotfix - Figma node 2:2197 */
.kto-v16-reward-card__link {
    width: 100%;
    color: inherit;
    display: block;
    text-decoration: none;
}

.kto-v16-reward-card__link img {
    transition: transform 0.25s ease;
}

.kto-v16-reward-card__link:hover img,
.kto-v16-reward-card__link:focus-visible img {
    transform: translateY(-2px);
}

.kto-v16-reward-card__link:focus-visible {
    outline: 2px solid var(--kto-v16-pink);
    outline-offset: 4px;
    border-radius: 16px;
}


/* V16 hero slideshow slide link hotfix - Figma node 2:1969 */
.kto-v16-hero-slide-link {
    width: 100%;
    height: 100%;
    color: inherit;
    display: block;
    text-decoration: none;
}

.kto-v16-hero-slide-link img {
    display: block;
}

.kto-v16-hero-slide-link:focus-visible {
    outline: 3px solid var(--kto-v16-pink);
    outline-offset: -6px;
}

/* V16 event step three-column spacing refinement - Figma node 2:2649 */
.kto-v16-event-form__steps li {
    --kto-v16-step-column-gap: 8px;

    grid-template-columns: 24px 40px minmax(0, 1fr);
    column-gap: var(--kto-v16-step-column-gap);
    row-gap: 0;
}

.kto-v16-event-step__number,
.kto-v16-event-step__icon-cell {
    flex-shrink: 0;
}

.kto-v16-event-step__text {
    width: auto;
    min-width: 0;
    padding-right: 10px;
}

/* V16 CF7 required consent validation - Figma nodes 2:2481, 2:2545, 2:2768 */
.kto-v16-event-form .wpcf7-form input[type="checkbox"].kto-v16-consent-not-valid {
    border-color: #dc2626;
}

.kto-v16-event-form .wpcf7-form .kto-v16-consent-error {
    margin: 4px 0 0 20px;
    color: #dc2626;
    display: block;
    font-size: 10px;
    font-weight: 600;
    line-height: 15px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .wpcf7-response-output.kto-v16-consent-response {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #dc2626;
    border-radius: 10px;
    color: #dc2626;
    background: #fff7f7;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

/* V16 CF7 required consent validation v2 - robust fallback */
.kto-v16-event-form .wpcf7-form input[type="checkbox"].kto-v16-consent-not-valid {
    border-color: #dc2626;
}

.kto-v16-event-form .wpcf7-form .kto-v16-consent-error {
    width: 100%;
    margin: 4px 0 0 20px;
    color: #dc2626;
    display: block;
    font-size: 10px;
    font-weight: 600;
    line-height: 15px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .wpcf7-response-output.kto-v16-consent-response {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #dc2626;
    border-radius: 10px;
    color: #dc2626;
    background: #fff7f7;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

/* V16 CF7 acceptance validation v3 */
.kto-v16-event-form .wpcf7-form input[type="checkbox"].kto-v16-consent-not-valid {
    border-color: #dc2626;
}

.kto-v16-event-form .wpcf7-form .kto-v16-consent-error {
    width: 100%;
    margin: 4px 0 0 20px;
    color: #dc2626;
    display: block;
    font-size: 10px;
    font-weight: 600;
    line-height: 15px;
    letter-spacing: normal;
    text-transform: none;
}

.kto-v16-event-form .wpcf7-form .wpcf7-response-output.kto-v16-consent-response {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #dc2626;
    border-radius: 10px;
    color: #dc2626;
    background: #fff7f7;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

/* duc-nh */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: rgba(188, 220, 187, .95);
    background: radial-gradient(circle at 18% 14%, rgba(255, 255, 255, .58), rgba(255, 255, 255, 0) 34%), linear-gradient(135deg, #e2f6df 0%, #cfeec8 100%);
    border-radius: 12px;
    padding: 5px 15px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.wpcf7-not-valid-tip {
    text-transform: none;
    text-align: right;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    background: radial-gradient(circle at 18% 14%, rgba(255, 255, 255, .48), rgba(255, 255, 255, 0) 34%), linear-gradient(135deg, #ffe680 0%, #f7c83b 100%);
    border-color: rgba(234, 198, 98, .96);
    border-radius: 12px;
    padding: 5px 15px;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* V16 Three Ways mobile swiper baseline - added after latest CSS baseline */
.kto-v16-way-mobile-swiper {
    display: none;
}

.kto-v16-way-mobile-swiper .swiper-wrapper {
    align-items: stretch;
}

.kto-v16-way-mobile-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.kto-v16-way-card--mobile {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* V16 Destination mobile swiper baseline - Figma node 2:2098 */
.kto-v16-destination-mobile-swiper {
    display: none;
}

.kto-v16-destination-mobile-swiper .swiper-wrapper {
    align-items: stretch;
}

.kto-v16-destination-mobile-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.kto-v16-mosaic-card--mobile {
    width: 100%;
    height: 100%;
}

/* V16 Reward mobile swiper baseline - Figma node 2:2197 */
.kto-v16-reward-mobile-swiper {
    display: none;
}

.kto-v16-reward-mobile-swiper .swiper-wrapper {
    align-items: stretch;
}

.kto-v16-reward-mobile-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.kto-v16-reward-card--mobile {
    width: 100%;
    height: 100%;
    margin: 0;
}
