.tm-modal { display:none; position:fixed; inset:0; z-index:2147483647; }
.tm-modal.is-open { display:block; }
.tm-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.45); }
.tm-modal__dialog {
    position:absolute; left:50%; top:45%; transform:translate(-50%,-50%);
    width:min(520px, calc(100% - 32px));
    /*background: rgb(34, 42, 78);*/
    background: rgb(34, 35, 39);
    color:#f5f5f7;

    border:1px solid rgba(255,255,255,.08);
    border-radius:14px; padding:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
    font-family: Inter, system-ui, sans-serif;
    opacity:1;
    transition:opacity 280ms ease, transform 280ms ease;
}
.tm-modal.is-closing .tm-modal__overlay { opacity:0; transition:opacity 280ms ease; }
.tm-modal.is-closing .tm-modal__dialog {
    opacity:0;
    transform:translate(-50%,-58%) scale(.97);
}
.tm-modal.is-wide .tm-modal__dialog {
    width:min(680px, calc(100% - 32px));
}
.tm-modal__confirmation-layer {
    position:fixed;
    inset:0;
    z-index:2;
}
.tm-modal__confirmation-overlay {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.58);
}
.tm-modal__confirmation-dialog {
    position:absolute;
    left:50%;
    top:45%;
    transform:translate(-50%,-50%);
    width:min(420px, calc(100% - 48px));
    padding:20px;
    color:#f5f5f7;
    background:rgb(34,35,39);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    box-shadow:0 24px 80px rgba(0,0,0,.7);
    font-family:Inter,system-ui,sans-serif;
}
.tm-modal__confirmation-dialog h2 { margin:0 0 14px; }
.tm-modal__confirmation-dialog p { margin:0; }
.tm-modal__close{
    position:absolute; right:12px; top:10px;
    background:transparent; border:0; color:inherit; font-size:22px; cursor:pointer;
}
.tm-modal.is-mandatory .tm-modal__close { display:none; }
.tm-modal.is-success .tm-modal__close { opacity:0; pointer-events:none; }
.tm-modal__errors{
    margin:6px 0; padding:5px 8px; border-radius:8px;
    background:rgba(255,60,60,.12); border:1px solid rgba(255,60,60,.25);
}
.tm-modal__errors ul { margin:0; padding-left:18px; }
.tm-modal__errors li { margin:0; }
.account-gate-message {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid rgba(119, 213, 139, 0.26);
    border-radius: 10px;
    background: rgba(119, 213, 139, 0.09);
    color: #d9f5df;
    line-height: 1.5;
}
.tm-modal__body label { display:block; margin:10px 0 4px; }
.tm-modal__body input { box-sizing:border-box; width:100%; padding:10px; border-radius:10px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:inherit;

outline: none;
}

.passwordField {
    position: relative;
    width: 100%;
}

.tm-modal__body .passwordField input {
    width: 100%;
    padding-right: 44px;
}

.passwordVisibilityToggle {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    transform: translateY(-50%);
}

.passwordVisibilityToggle::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: #c9cbd3;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 5C6.5 5 2.1 8.4 1 12c1.1 3.6 5.5 7 11 7s9.9-3.4 11-7c-1.1-3.6-5.5-7-11-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 5C6.5 5 2.1 8.4 1 12c1.1 3.6 5.5 7 11 7s9.9-3.4 11-7c-1.1-3.6-5.5-7-11-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></svg>') no-repeat center / contain;
}

.passwordVisibilityToggle:hover::before,
.passwordVisibilityToggle:focus-visible::before {
    background: #fff;
}

.passwordVisibilityToggle:focus-visible {
    outline: 2px solid #55c7f3;
    outline-offset: -2px;
    border-radius: 8px;
}

/* Login modal */
.tm-modal:has(.tm-loginAccountForm) .tm-modal__overlay {
    background: rgba(2, 8, 20, 0.76);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__dialog {
    top: 50%;
    width: min(580px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    padding: 26px 30px 28px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 12% 4%, rgba(93, 126, 158, 0.08), transparent 32%),
        linear-gradient(145deg, rgba(27, 31, 38, 0.99), rgba(17, 21, 28, 0.995));
    border: 1px solid rgba(163, 178, 196, 0.22);
    border-radius: 24px;
    box-shadow: 0 30px 90px rgba(0, 4, 15, 0.70), inset 0 1px rgba(255, 255, 255, 0.04);
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__close {
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #dce9f9;
    background: rgba(42, 47, 55, 0.74);
    border: 1px solid rgba(177, 188, 201, 0.22);
    border-radius: 12px;
    font-size: 27px;
    line-height: 1;
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__close:hover,
.tm-modal:has(.tm-loginAccountForm) .tm-modal__close:focus-visible {
    color: #fff;
    background: rgba(72, 83, 96, 0.55);
    border-color: rgba(184, 202, 220, 0.48);
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__header {
    display: flex;
    align-items: center;
    min-height: 76px;
    padding: 4px 54px 4px 88px;
    background: url('../assets/login-travel-icon.png') no-repeat left center / 72px 72px;
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2 {
    margin: 0;
    color: #f4f8ff;
    font-size: clamp(23px, 4vw, 28px);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2::after {
    content: "Log in to access your trips, maps and plans.";
    display: block;
    margin-top: 6px;
    color: #9eabc0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
}

.tm-modal:has(.tm-loginAccountForm) .account-gate-message {
    border-color: rgba(133, 164, 194, 0.24);
    background: rgba(87, 108, 130, 0.14);
    color: #dce5ed;
}

.tm-loginAccountForm {
    margin-top: 14px;
}

.tm-registerSubmit {
    display: flex;
    width: 100%;
    min-height: 46px;
    height: auto;
    margin-top: 20px;
    border-radius: 10px;
    background: linear-gradient(105deg, #465767, #586b7b 52%, #607687);
    border-color: rgba(181, 199, 214, 0.26);
    box-shadow: 0 12px 28px rgba(3, 8, 14, 0.30), inset 0 1px rgba(255, 255, 255, 0.10);
    color: #f6fbff;
    font-size: 15px;
    font-weight: 700;
}

.tm-registerSubmit:hover,
.tm-registerSubmit:focus-visible {
    background: linear-gradient(105deg, #526576, #64798b 52%, #6d8598);
    border-color: rgba(190, 210, 226, 0.42);
}

.tm-registerLogin {
    margin-top: 14px;
    color: #c9c9ce;
    text-align: center;
}

.tm-registerLogin a {
    font-weight: 600;
}

/* Standalone email verification dialog */
.tm-verificationModal .tm-modal__overlay {
    background:
        radial-gradient(circle at 50% 15%, rgba(28, 54, 82, 0.24), transparent 42%),
        rgba(2, 7, 17, 0.88);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.tm-verificationModal .tm-modal__dialog {
    box-sizing: border-box;
    top: 50%;
    width: min(540px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    padding: 28px 32px 32px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 8% 0%, rgba(94, 137, 176, 0.13), transparent 34%),
        linear-gradient(155deg, rgba(26, 31, 39, 0.995), rgba(14, 18, 25, 0.998));
    border: 1px solid rgba(165, 185, 207, 0.25);
    border-radius: 26px;
    box-shadow:
        0 34px 100px rgba(0, 4, 15, 0.78),
        inset 0 1px rgba(255, 255, 255, 0.06);
}

.tm-verificationModal .tm-modal__close {
    top: 20px;
    right: 20px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    color: #cbd8e7;
    background: rgba(55, 65, 77, 0.48);
    border: 1px solid rgba(177, 195, 214, 0.20);
    border-radius: 12px;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
    transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.tm-verificationModal .tm-modal__close:hover,
.tm-verificationModal .tm-modal__close:focus-visible {
    color: #fff;
    background: rgba(84, 100, 118, 0.56);
    border-color: rgba(197, 216, 234, 0.44);
    transform: translateY(-1px);
}

.tm-verificationModal .tm-modal__header {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 0 52px 22px 76px;
    background: url('../assets/login-travel-icon.png') no-repeat left top / 60px 60px;
    border-bottom: 1px solid rgba(169, 188, 209, 0.13);
}

.tm-verification-heading {
    min-width: 0;
}

.tm-verification-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #8fa5ba;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tm-verificationModal .tm-modal__header h2 {
    margin: 0;
    color: #f4f8ff;
    font-size: clamp(23px, 4vw, 27px);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.tm-verificationModal .tm-modal__body {
    padding-top: 24px;
    color: #c9c9ce;
    line-height: 1.6;
}

.tm-verification-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 25px 24px 23px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(96, 190, 139, 0.13), transparent 58%),
        rgba(31, 48, 43, 0.22);
    border: 1px solid rgba(111, 211, 155, 0.20);
    border-radius: 19px;
}

.tm-verificationModal--error .tm-verification-status {
    background:
        radial-gradient(circle at 50% 0%, rgba(224, 112, 112, 0.13), transparent 58%),
        rgba(60, 34, 39, 0.24);
    border-color: rgba(232, 124, 124, 0.22);
}

.tm-verification-statusIcon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    color: #10261a;
    background: linear-gradient(145deg, #7fe39d, #5fcf83);
    border: 1px solid rgba(210, 255, 221, 0.52);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(40, 172, 91, 0.24), inset 0 1px rgba(255, 255, 255, 0.34);
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    animation: tm-success-pop 420ms cubic-bezier(.2, .9, .25, 1.25);
}

.tm-verificationModal--error .tm-verification-statusIcon {
    color: #321113;
    background: linear-gradient(145deg, #ff9b9b, #e56d76);
    border-color: rgba(255, 220, 220, 0.48);
    box-shadow: 0 12px 30px rgba(207, 65, 76, 0.22), inset 0 1px rgba(255, 255, 255, 0.28);
    animation-name: tm-verification-error-pop;
}

.tm-verification-statusTitle {
    margin-top: 16px;
    color: #eff8f3;
    font-size: 18px;
    line-height: 1.3;
}

.tm-verification-statusMessage {
    max-width: 390px;
    margin: 7px 0 0;
    color: #b8c5c0;
    font-size: 15px;
    line-height: 1.55;
}

.tm-verificationModal--error .tm-verification-statusTitle {
    color: #fff0f0;
}

.tm-verificationModal--error .tm-verification-statusMessage {
    color: #d8bcbc;
}

.tm-verificationModal .tm-modal__body > p {
    margin: 0;
}

.tm-verification-copy {
    max-width: 410px;
    margin: 18px auto 0 !important;
    color: #8f9baa;
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}

.tm-verification-actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.tm-verification-actions .pill {
    box-sizing: border-box;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 0 20px;
    border-radius: 12px;
    color: #f6fbff;
    background: linear-gradient(105deg, #4b6073, #5c7388 52%, #68839a);
    border-color: rgba(181, 204, 224, 0.30);
    box-shadow: 0 14px 32px rgba(0, 8, 20, 0.34), inset 0 1px rgba(255, 255, 255, 0.11);
    font-size: 15px;
    font-weight: 700;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tm-verification-actions .pill:hover,
.tm-verification-actions .pill:focus-visible {
    background: linear-gradient(105deg, #587188, #6a849b 52%, #7894ac);
    border-color: rgba(204, 224, 241, 0.52);
    box-shadow: 0 16px 36px rgba(0, 8, 20, 0.40), inset 0 1px rgba(255, 255, 255, 0.14);
    transform: translateY(-1px);
}

.tm-verification-closedMessage {
    position: fixed;
    inset: 0;
    display: none;
    place-items: center;
    padding: 24px;
    color: #b8c5d3;
    font-size: 16px;
    text-align: center;
}

.tm-verification-closedMessage.is-visible {
    display: grid;
}

.tm-verification-closedMessage p {
    margin: 0;
}

@keyframes tm-verification-error-pop {
    0% { opacity: 0; transform: scale(.65) rotate(-8deg); }
    100% { opacity: 1; transform: scale(1) rotate(0); }
}

@media (max-width: 600px) {
    .tm-verificationModal .tm-modal__dialog {
        width: min(100% - 20px, 540px);
        max-height: calc(100dvh - 20px);
        padding: 22px 20px 24px;
    }

    .tm-verificationModal .tm-modal__close {
        top: 14px;
        right: 14px;
        width: 38px;
        height: 38px;
    }

    .tm-verificationModal .tm-modal__header {
        min-height: 54px;
        padding: 0 42px 18px 64px;
        background-size: 52px 52px;
    }

    .tm-verificationModal .tm-modal__header h2 {
        font-size: 21px;
    }

    .tm-verificationModal .tm-modal__body {
        padding-top: 20px;
    }

    .tm-verification-status {
        padding: 22px 16px 20px;
    }

    .tm-verification-copy {
        font-size: 13px;
    }
}

.tm-loginField {
    position: relative;
    padding-left: 60px;
    margin-top: 16px;
}

.tm-loginField::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 44px;
    height: 44px;
    background: linear-gradient(145deg, rgba(65, 76, 89, 0.58), rgba(34, 41, 51, 0.76));
    border: 1px solid rgba(145, 166, 187, 0.25);
    border-radius: 12px;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.tm-loginField::after {
    content: "";
    position: absolute;
    left: 12px;
    bottom: 12px;
    width: 20px;
    height: 20px;
    background: #a8bac9;
}

.tm-loginField--email::after {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z"/></svg>') no-repeat center / contain;
}

.tm-loginField--password::after {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 10V7a5 5 0 0 1 10 0v3h2v11H5V10h2zm2 0h6V7a3 3 0 0 0-6 0v3zm3 3a2 2 0 0 0-1 3.73V18h2v-1.27A2 2 0 0 0 12 13z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 10V7a5 5 0 0 1 10 0v3h2v11H5V10h2zm2 0h6V7a3 3 0 0 0-6 0v3zm3 3a2 2 0 0 0-1 3.73V18h2v-1.27A2 2 0 0 0 12 13z"/></svg>') no-repeat center / contain;
}

.tm-modal__body .tm-loginField label {
    margin: 0 0 6px;
    color: #e8f1ff;
    font-size: 15px;
    font-weight: 500;
}

.tm-modal__body .tm-loginField input {
    min-height: 44px;
    padding: 0 16px;
    background: rgba(18, 22, 29, 0.76);
    border: 1px solid rgba(151, 167, 185, 0.24);
    border-radius: 12px;
    font-size: 16px;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.tm-modal__body .tm-loginField input:focus {
    background: rgba(25, 30, 38, 0.92);
    border-color: rgba(129, 165, 196, 0.66);
    box-shadow: 0 0 0 3px rgba(101, 139, 171, 0.12);
}

.tm-loginAccountForm .passwordVisibilityToggle::before {
    background: #aebdd0;
}

.tm-loginAccountForm .passwordVisibilityToggle:hover::before,
.tm-loginAccountForm .passwordVisibilityToggle:focus-visible::before {
    background: #b8cad9;
}

.tm-loginOptions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 11px;
}

.tm-modal__body .tm-loginRemember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #aeb9c7;
    font-size: 13px;
    cursor: pointer;
}

.tm-modal__body .tm-loginRemember input {
    width: 16px;
    height: 16px;
    min-height: 0;
    margin: 0;
    padding: 0;
    accent-color: #829aae;
    cursor: pointer;
}

.tm-loginForgot {
    display: block;
    width: fit-content;
    margin-left: auto;
    color: #a8bfd2;
    font-size: 14px;
}

.tm-loginForgot:hover,
.tm-loginForgot:focus-visible,
.tm-loginSignup a:hover,
.tm-loginSignup a:focus-visible {
    color: #e0ebf3;
}

.tm-loginAccountForm .tm-loginSubmit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 50px;
    margin-top: 20px;
    color: #f6fbff;
    background: linear-gradient(105deg, #465767, #586b7b 52%, #607687);
    border: 1px solid rgba(181, 199, 214, 0.26);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(3, 8, 14, 0.34), inset 0 1px rgba(255, 255, 255, 0.10);
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    transition: filter 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.tm-loginAccountForm .tm-loginSubmit:hover,
.tm-loginAccountForm .tm-loginSubmit:focus-visible {
    filter: brightness(1.12);
    box-shadow: 0 16px 38px rgba(7, 13, 20, 0.42), 0 0 0 3px rgba(150, 178, 200, 0.12);
}

.tm-loginAccountForm .tm-loginSubmit:active {
    transform: translateY(1px);
}

.tm-loginSubmitIcon {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border: 2px solid rgba(255, 255, 255, 0.78);
    border-radius: 50%;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
}

.tm-loginDivider {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 20px 0 15px;
    color: #8391a7;
    font-size: 12px;
    text-transform: uppercase;
}

.tm-loginDivider::before,
.tm-loginDivider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(129, 165, 204, 0.25));
}

.tm-loginDivider::after {
    transform: scaleX(-1);
}

.tm-loginSignup {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 8px 12px;
    color: #aeb9ca;
    background: rgba(30, 35, 43, 0.74);
    border: 1px solid rgba(150, 166, 182, 0.18);
    border-radius: 12px;
    font-size: 15px;
}

.tm-loginSignupIcon {
    position: relative;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    background: rgba(65, 77, 90, 0.48);
    border: 1px solid rgba(151, 174, 194, 0.22);
    border-radius: 10px;
}

.tm-loginSignupIcon::before {
    content: "";
    position: absolute;
    inset: 9px;
    background: #c6d9ed;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-8a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 10c-5 0-9 2.5-9 5.5V22h18v-2.5c0-3-4-5.5-9-5.5zm-7 6c.1-1.8 3.1-4 7-4s6.9 2.2 7 4H5z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-8a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 10c-5 0-9 2.5-9 5.5V22h18v-2.5c0-3-4-5.5-9-5.5zm-7 6c.1-1.8 3.1-4 7-4s6.9 2.2 7 4H5z"/></svg>') no-repeat center / contain;
}

.tm-loginSignup a {
    margin-left: auto;
    color: #a8bfd2;
    white-space: nowrap;
}

@media (max-height: 700px) and (min-width: 621px) {
    .tm-modal:has(.tm-loginAccountForm) .tm-modal__dialog {
        max-height: calc(100dvh - 16px);
        padding: 18px 30px 20px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__close {
        top: 14px;
        right: 16px;
        width: 40px;
        height: 40px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header {
        min-height: 64px;
        padding-left: 78px;
        background-size: 64px 64px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2 {
        font-size: 26px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2::after {
        margin-top: 4px;
        font-size: 13px;
    }

    .tm-loginAccountForm {
        margin-top: 8px;
    }

    .tm-loginField {
        padding-left: 58px;
        margin-top: 12px;
    }

    .tm-loginField::before {
        width: 42px;
        height: 42px;
    }

    .tm-loginField::after {
        left: 11px;
        bottom: 11px;
        width: 20px;
        height: 20px;
    }

    .tm-modal__body .tm-loginField label {
        margin-bottom: 5px;
        font-size: 14px;
    }

    .tm-modal__body .tm-loginField input {
        min-height: 42px;
    }

    .tm-loginForgot {
        margin-top: 0;
    }

    .tm-loginAccountForm .tm-loginSubmit {
        min-height: 48px;
        margin-top: 16px;
    }

    .tm-loginSubmitIcon {
        width: 26px;
        height: 26px;
    }

    .tm-loginDivider {
        margin: 14px 0 10px;
    }

    .tm-loginSignup {
        min-height: 52px;
        padding: 6px 12px;
    }
}

@media (max-width: 620px) {
    .tm-modal:has(.tm-loginAccountForm) .tm-modal__dialog {
        width: calc(100% - 20px);
        max-height: calc(100dvh - 20px);
        padding: 22px 18px 24px;
        border-radius: 18px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__close {
        top: 14px;
        right: 14px;
        width: 40px;
        height: 40px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header {
        min-height: 72px;
        padding: 2px 46px 2px 76px;
        background-size: 64px 64px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2 {
        font-size: 22px;
    }

    .tm-modal:has(.tm-loginAccountForm) .tm-modal__header h2::after {
        margin-top: 5px;
        font-size: 13px;
    }

    .tm-loginAccountForm {
        margin-top: 14px;
    }

    .tm-loginField {
        padding-left: 56px;
        margin-top: 18px;
    }

    .tm-loginField::before {
        width: 42px;
        height: 42px;
    }

    .tm-loginField::after {
        left: 11px;
        bottom: 11px;
        width: 20px;
        height: 20px;
    }

    .tm-modal__body .tm-loginField input {
        min-height: 44px;
    }

    .tm-loginSignup {
        flex-wrap: wrap;
    }

    .tm-loginSignup a {
        margin-left: 52px;
    }
}
/*.tm-modal__body button[type="submit"]{ margin-top:14px; padding:10px 12px; border-radius:10px; border:0; cursor:pointer; }*/

ul {
    font-size: 15px;
    line-height: 29px;
}


.tm-modal__header h2
{
    margin-top: 0px;
}

.tm-cookie-text {
    margin: 0 0 18px;
    color: #c9c9ce;
    font-size: 14px;
    line-height: 1.5;
}

.tm-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.tm-content-bottom
{
    margin-top: 40px;
}

.tm-modal__success {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:12px 0 18px;
    text-align:center;
}

.tm-modal__success-icon {
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    color:#17241b;
    background:#77d58b;
    border-radius:50%;
    font-size:34px;
    font-weight:700;
    box-shadow:0 0 0 0 rgba(119,213,139,.45);
    animation:tm-success-pop 420ms cubic-bezier(.2,.9,.25,1.25),
              tm-success-pulse 850ms ease-out 250ms;
}

.tm-modal__success-message {
    margin:16px 0 0;
    color:#c9c9ce;
}

@keyframes tm-success-pop {
    0% { opacity:0; transform:scale(.55) rotate(-12deg); }
    100% { opacity:1; transform:scale(1) rotate(0); }
}

@keyframes tm-success-pulse {
    0% { box-shadow:0 0 0 0 rgba(119,213,139,.45); }
    100% { box-shadow:0 0 0 18px rgba(119,213,139,0); }
}

@media (prefers-reduced-motion: reduce) {
    .tm-modal__dialog,
    .tm-modal.is-closing .tm-modal__overlay {
        transition-duration:0.01ms;
    }

    .tm-modal__success-icon {
        animation:none;
    }

    .tm-verification-statusIcon {
        animation:none;
    }
}
