:root {
    --ek23-pink: #e85aa6;
    --ek23-pink-bright: #ff79ba;
    --ek23-cyan: #74e2ff;
    --ek23-bg: #070812;
    --ek23-panel: rgba(17, 19, 39, .94);
    --ek23-line: rgba(255, 255, 255, .12);
    --ek23-text: #f8f7ff;
    --ek23-muted: rgba(248, 247, 255, .70);
}

/* Real age checkbox. No hidden browser checkbox and no second fake checkbox. */
body[data-route="sylius_shop_register"] .ek-age-confirm {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    row-gap: 5px !important;
    align-items: start !important;
    margin: 18px 0 22px !important;
    padding: 15px 16px !important;
    border: 1px solid var(--ek23-line) !important;
    border-radius: 15px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body[data-route="sylius_shop_register"] input.ek-age-confirm__control[type="checkbox"] {
    position: relative !important;
    display: block !important;
    inline-size: 22px !important;
    block-size: 22px !important;
    min-inline-size: 22px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 7px !important;
    background: rgba(5,6,16,.82) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
    cursor: pointer !important;
}

body[data-route="sylius_shop_register"] input.ek-age-confirm__control[type="checkbox"]::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 3px !important;
    inline-size: 6px !important;
    block-size: 11px !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) scale(0) !important;
    transform-origin: center !important;
    transition: transform .14s ease !important;
}

body[data-route="sylius_shop_register"] input.ek-age-confirm__control[type="checkbox"]:checked {
    border-color: transparent !important;
    background: linear-gradient(180deg, var(--ek23-pink-bright), var(--ek23-pink)) !important;
    box-shadow: 0 0 0 4px rgba(232,90,166,.14), 0 8px 20px rgba(232,90,166,.20) !important;
}

body[data-route="sylius_shop_register"] input.ek-age-confirm__control[type="checkbox"]:checked::after {
    transform: rotate(45deg) scale(1) !important;
}

body[data-route="sylius_shop_register"] input.ek-age-confirm__control[type="checkbox"]:focus-visible {
    outline: 2px solid var(--ek23-cyan) !important;
    outline-offset: 3px !important;
}

body[data-route="sylius_shop_register"] .ek-age-confirm__label {
    margin: 0 !important;
    color: var(--ek23-text) !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}

body[data-route="sylius_shop_register"] .ek-age-confirm__help {
    grid-column: 2 !important;
    margin: 0 !important;
    color: var(--ek23-muted) !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
}

body[data-route="sylius_shop_register"] .ek-age-confirm__errors {
    grid-column: 2 !important;
}

body[data-route="sylius_shop_register"] .ek-age-confirm__errors:empty {
    display: none !important;
}

body[data-route="sylius_shop_register"] .ek-age-confirm__errors ul,
body[data-route="sylius_shop_register"] .ek-age-confirm__errors .invalid-feedback {
    display: block !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: #ff91ad !important;
    list-style: none !important;
    font-size: .85rem !important;
    font-weight: 750 !important;
}

/* Premium order confirmation. */
.ek-order-success {
    position: relative !important;
    isolation: isolate !important;
    display: grid !important;
    place-items: center !important;
    min-height: 700px !important;
    padding: 190px 22px 90px !important;
    overflow: hidden !important;
    color: var(--ek23-text) !important;
    background:
        radial-gradient(circle at 10% 10%, rgba(232,90,166,.18), transparent 27%),
        radial-gradient(circle at 90% 22%, rgba(116,226,255,.11), transparent 22%),
        linear-gradient(180deg, #080914 0%, #0b0d1b 55%, #06070f 100%) !important;
}

.ek-order-success__glow {
    position: absolute !important;
    z-index: -1 !important;
    width: 480px !important;
    height: 480px !important;
    border-radius: 50% !important;
    filter: blur(100px) !important;
    opacity: .24 !important;
    pointer-events: none !important;
}

.ek-order-success__glow--pink {
    top: 100px !important;
    left: -220px !important;
    background: var(--ek23-pink) !important;
}

.ek-order-success__glow--cyan {
    right: -240px !important;
    bottom: 20px !important;
    background: var(--ek23-cyan) !important;
}

.ek-order-success__card {
    width: min(920px, 100%) !important;
    padding: clamp(28px, 5vw, 56px) !important;
    border: 1px solid var(--ek23-line) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
        rgba(13,15,31,.92) !important;
    box-shadow: 0 34px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    text-align: center !important;
}

.ek-order-success__icon {
    display: grid !important;
    place-items: center !important;
    width: 84px !important;
    height: 84px !important;
    margin: 0 auto 20px !important;
    border-radius: 50% !important;
    background: linear-gradient(180deg, var(--ek23-pink-bright), var(--ek23-pink)) !important;
    box-shadow: 0 18px 38px rgba(232,90,166,.28), 0 0 0 8px rgba(232,90,166,.09) !important;
}

.ek-order-success__icon span {
    width: 19px !important;
    height: 35px !important;
    border-right: 5px solid #fff !important;
    border-bottom: 5px solid #fff !important;
    transform: translateY(-4px) rotate(45deg) !important;
}

.ek-order-success__eyebrow {
    margin: 0 0 11px !important;
    color: var(--ek23-cyan) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.ek-order-success h1 {
    margin: 0 !important;
    color: var(--ek23-text) !important;
    font-size: clamp(2.35rem, 6vw, 4.4rem) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
}

.ek-order-success__lead {
    max-width: 650px !important;
    margin: 18px auto 0 !important;
    color: var(--ek23-muted) !important;
    font-size: 1.04rem !important;
    line-height: 1.7 !important;
}

.ek-order-success__details {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 32px 0 0 !important;
}

.ek-order-success__details > div {
    min-width: 0 !important;
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.025) !important;
    text-align: left !important;
}

.ek-order-success__details span {
    display: block !important;
    margin-bottom: 7px !important;
    color: var(--ek23-muted) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.ek-order-success__details strong {
    display: block !important;
    overflow: hidden !important;
    color: var(--ek23-text) !important;
    font-size: .98rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ek-order-success__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    margin-top: 28px !important;
}

.ek-order-success__primary,
.ek-order-success__secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 22px !important;
    border-radius: 15px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 850 !important;
}

.ek-order-success__primary {
    border: 0 !important;
    background: linear-gradient(180deg, var(--ek23-pink-bright), var(--ek23-pink)) !important;
    box-shadow: 0 15px 30px rgba(232,90,166,.24) !important;
}

.ek-order-success__secondary {
    border: 1px solid var(--ek23-line) !important;
    background: rgba(255,255,255,.035) !important;
}

.ek-order-success__notice {
    margin-top: 28px !important;
    padding: 17px 19px !important;
    border: 1px solid rgba(116,226,255,.15) !important;
    border-radius: 16px !important;
    background: rgba(116,226,255,.045) !important;
    text-align: left !important;
}

.ek-order-success__notice strong {
    color: var(--ek23-text) !important;
}

.ek-order-success__notice p {
    margin: 5px 0 0 !important;
    color: var(--ek23-muted) !important;
    line-height: 1.55 !important;
}

/* Security activity. */
.ek-security-summary {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 22px !important;
    margin-bottom: 22px !important;
    padding: 17px 18px !important;
    border: 1px solid rgba(116,226,255,.13) !important;
    border-radius: 16px !important;
    background: rgba(116,226,255,.035) !important;
}

.ek-security-summary > div {
    display: grid !important;
    gap: 2px !important;
}

.ek-security-summary span {
    color: var(--ek23-muted) !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.ek-security-summary strong {
    color: var(--ek23-text) !important;
    font-size: 1.65rem !important;
}

.ek-security-summary p {
    margin: 0 !important;
    color: var(--ek23-muted) !important;
}

.ek-security-warning {
    border-color: rgba(255,177,90,.2) !important;
    background: rgba(255,177,90,.05) !important;
}

/* Avatar rules and explicit validation messages. */
.account-avatar-editor__content > p {
    max-width: 650px !important;
}

.account-avatar-file__errors:empty {
    display: none !important;
}

.account-avatar-file__errors ul,
.account-avatar-file__errors .invalid-feedback {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,120,150,.25) !important;
    border-radius: 12px !important;
    color: #ff9ab3 !important;
    background: rgba(255,80,120,.065) !important;
    list-style: none !important;
    font-size: .9rem !important;
    font-weight: 750 !important;
    line-height: 1.5 !important;
}

@media (max-width: 860px) {
    .ek-order-success {
        min-height: 620px !important;
        padding-top: 135px !important;
    }

    .ek-order-success__details {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body[data-route="sylius_shop_register"] .ek-age-confirm {
        padding: 14px !important;
    }

    .ek-order-success {
        padding-inline: 12px !important;
    }

    .ek-order-success__card {
        border-radius: 20px !important;
    }

    .ek-order-success__details {
        grid-template-columns: 1fr !important;
    }

    .ek-order-success__actions {
        display: grid !important;
    }

    .ek-security-summary {
        grid-template-columns: 1fr !important;
    }

    .account-security-log__head {
        display: none !important;
    }

    .account-security-log__row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}
