/* Auth pages use the public theme while keeping forms isolated from the demo contact form. */
.header--auth.is-scroll,
.header--auth {
    background: rgba(15,14,27,.92);
    box-shadow: 0 6px 24px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.page-main > .alert-success,
.page-main > .alert-danger {
    position: fixed;
    left: 50%;
    top: 5.75rem;
    z-index: 1200;
    width: min(calc(100% - 2rem), 42rem);
    transform: translateX(-50%);
    padding: .875rem 1rem;
    border-radius: 14px;
    font-size: .9375rem;
    box-shadow: 0 14px 34px rgba(15,14,27,.22);
}

.page-main > .alert-success {
    background: #E9F9EF;
    color: #176C35;
    border: 1px solid #BFECCB;
}

.page-main > .alert-danger {
    background: #FFF0EC;
    color: #9D321A;
    border: 1px solid #FFC9BA;
}

.auth-page {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0F0E1B;
    color: #fff;
    padding: 8.25rem 0 5rem;
    isolation: isolate;
}

.auth-page::before,
.auth-page::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
}

.auth-page::before {
    background: url("../img/hero-travel.png") center/cover no-repeat;
    opacity: .24;
    filter: saturate(1.05);
}

.auth-page::after {
    z-index: -1;
    background:
        linear-gradient(120deg, rgba(15,14,27,.96) 0%, rgba(15,14,27,.84) 47%, rgba(79,63,217,.64) 100%),
        linear-gradient(180deg, rgba(15,14,27,.26) 0%, rgba(15,14,27,.9) 100%);
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 30rem);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}

.auth-page--simple {
    padding: 7.5rem 0 4rem;
}

.auth-page--simple::before {
    opacity: .16;
}

.auth-shell--simple {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 11.5rem);
}

.auth-card--simple {
    max-width: 28rem;
}

.auth-copy {
    max-width: 44rem;
}

.auth-copy__perex {
    color: #FFC857;
}

.auth-copy__title {
    color: #fff;
    font-size: clamp(2.25rem, 5vw, 4.375rem);
    margin-bottom: 1.25rem;
}

.auth-copy__lead {
    max-width: 36rem;
    color: rgba(255,255,255,.78);
    font-size: 1.125rem;
    margin-bottom: 2.25rem;
}

.auth-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.auth-highlights > div {
    min-width: 8.5rem;
    padding: 1rem 1.125rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.auth-highlights strong {
    display: block;
    font-family: "Kanit", sans-serif;
    font-size: 2rem;
    line-height: 1;
    color: #FFC857;
}

.auth-highlights span {
    display: block;
    margin-top: .375rem;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: rgba(255,255,255,.68);
}

.auth-card {
    width: 100%;
    background: rgba(255,255,255,.97);
    color: #0F0E1B;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(0,0,0,.28);
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.auth-card__head {
    margin-bottom: 1.5rem;
}

.auth-card__label {
    display: inline-flex;
    align-items: center;
    gap: .625rem;
    margin-bottom: .75rem;
    font-family: "Kanit", sans-serif;
    font-size: .8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: #4F3FD9;
}

.auth-card__label::before {
    content: '';
    width: 1.75rem;
    height: .125rem;
    background: #FF7A59;
}

.auth-card h2 {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.375rem);
}

.auth-form {
    display: grid;
    gap: 1.125rem;
}

.auth-field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.auth-label {
    font-family: "Kanit", sans-serif;
    font-size: .8125rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #232238;
}

.auth-label .is-required {
    color: #FF7A59;
}

.auth-input {
    width: 100%;
    min-height: 3.25rem;
    padding: .875rem 1.125rem;
    background: #fff;
    color: #0F0E1B;
    border: 1px solid #C8C6D6;
    border-radius: 8px;
    font-size: .9375rem;
    line-height: 1.4;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.auth-input::placeholder {
    color: #8B89A1;
}

.auth-input[readonly] {
    background: #F2F1F7;
    color: rgba(15, 14, 27, .68);
    border-color: #DDD9EA;
    cursor: default;
}

.auth-input:focus {
    outline: none;
    border-color: #6B5EE5;
    box-shadow: 0 0 0 4px rgba(79,63,217,.15);
}

.auth-check {
    margin: .125rem 0;
}

.auth-check__input {
    width: 1.25rem;
    height: 1.25rem;
}

.auth-alert,
.auth-errors,
.auth-form ul {
    font-size: .875rem;
}

.auth-alert {
    padding: .875rem 1rem;
    border-radius: 12px;
    margin-bottom: 1rem;
}

.auth-alert--danger {
    background: #FFF0EC;
    color: #9D321A;
    border: 1px solid #FFC9BA;
}

.auth-alert--warning {
    background: #FFF7DF;
    color: #785100;
    border: 1px solid #FFE39B;
}

.auth-errors {
    color: #9D321A;
}

.auth-errors ul,
.auth-form ul {
    display: grid;
    gap: .375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.auth-actions {
    display: grid;
    gap: .875rem;
    margin-top: .25rem;
}

.auth-links {
    margin: .875rem 0 0;
    text-align: center;
    color: #3A3852;
    font-size: .9375rem;
}

.auth-links a {
    font-weight: 600;
}

.auth-muted {
    color: #6D6A80;
    font-size: .875rem;
    margin: -.25rem 0 .25rem;
}

.auth-footer {
    margin-top: 0;
}

@media (max-width: 991px) {
    .auth-page {
        padding: 7rem 0 3.5rem;
    }

    .auth-shell {
        grid-template-columns: 1fr;
    }

    .auth-copy {
        max-width: 46rem;
    }
}

@media (max-width: 767px) {
    .page-main > .alert-success,
    .page-main > .alert-danger {
        top: 4.75rem;
    }

    .auth-page {
        padding: 6.25rem 0 3rem;
    }

    .auth-copy__lead {
        font-size: .9875rem;
        margin-bottom: 1.5rem;
    }

    .auth-highlights > div {
        flex: 1 1 8rem;
    }
}

@media (max-width: 575px) {
    .auth-card {
        border-radius: 16px;
        padding: 1.25rem;
    }

    .auth-highlights {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Figma presentation alignment for account pages */
.page-account,.page-account .page-main{color:#11222c;background:#eafefd}
.page-account .header{position:absolute;padding:1.25rem 0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.page-account .header.is-scroll{position:fixed;padding:.75rem 0;background:rgba(234,254,253,.94);box-shadow:0 .25rem 1.75rem rgba(17,34,44,.08)}
.page-account .header__logo img,.page-account .header.is-scroll .header__logo img{width:11.375rem;height:4.8125rem;object-fit:contain}
.page-account .header__nav a{color:#11222c}
.page-account .btn{border-radius:999px;font-weight:600}
.page-account .btn--ghost{color:#11222c;border-color:#11222c}
.page-account .btn--ghost:hover{color:#fff;background:#11222c}
.page-account .btn--primary,.page-account .btn--secondary{color:#fff;border-color:#ff7a00;background:#ff7a00;box-shadow:0 .625rem 1.5rem rgba(255,122,0,.24)}
.page-account .btn--primary:hover,.page-account .btn--secondary:hover{border-color:#e96f00;background:#e96f00;transform:translateY(-2px)}

.page-main>.alert-success,.page-main>.alert-danger,.page-main>.alert-warning{top:7rem;border-radius:.875rem;box-shadow:0 .875rem 2rem rgba(17,34,44,.16)}
.page-main>.alert-warning{position:fixed;left:50%;z-index:1200;width:min(calc(100% - 2rem),42rem);padding:.875rem 1rem;transform:translateX(-50%);color:#785100;border:1px solid #ffe39b;background:#fff7df;font-size:.9375rem}

.auth-page{position:relative;display:flex;align-items:center;min-height:61rem;padding:10.5rem 0 6rem;overflow:hidden;isolation:isolate;color:#11222c;background:#eafefd}
.auth-page::before,.auth-page::after{display:none}
.auth-page__media{display:none}
.auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,30rem);gap:clamp(4rem,8vw,8rem);align-items:center}
.auth-copy{width:100%;max-width:40.625rem}
.profile-hero .section__perex{margin-bottom:1.15rem;color:#ff7a00}
.profile-hero .section__perex::before{background:#ff7a00}
.auth-copy__title{max-width:none;margin:0 0 1.5rem;color:#ff7a00;font-size:clamp(3.5rem,5vw,5.2rem);line-height:.98;letter-spacing:1.5px;white-space:nowrap;-webkit-text-stroke:1.5px #11222c}
.auth-copy__title span{color:inherit;background:none;-webkit-text-stroke:inherit}
.auth-copy__lead{display:flex;flex-direction:column;gap:1rem;max-width:39rem;margin:0;color:#11222c}
.auth-copy__lead p{margin:0}
.auth-copy__lead p:first-child{font-size:1.5rem;line-height:1.2}
.auth-copy__lead p:last-child{font-size:1.25rem;line-height:1.44;white-space:nowrap}
.auth-highlights{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;width:37.5625rem;max-width:100%;height:6.25rem;gap:0;margin:1.5rem 0 1.125rem;padding:1.25rem 0 0;border-top:1px solid rgba(17,34,44,.1);border-bottom:1px solid rgba(17,34,44,.1)}
.auth-highlights>div{min-width:4.5rem;padding:0;text-align:center;border:0;border-radius:0;background:none;box-shadow:none}
.auth-highlights>div:first-child{text-align:left}
.auth-highlights strong{display:block;color:#ff7a00;font-family:"Kanit",sans-serif;font-size:2.5rem;line-height:2.125rem;-webkit-text-stroke:1px #11222c}
.auth-highlights span{display:block;margin-top:.3125rem;color:#11222c;font-family:"Kanit",sans-serif;font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:1.4px;text-transform:uppercase}
.auth-languages{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0}
.auth-languages>span{width:6.625rem;color:#11222c;font-size:.875rem;line-height:1.125rem;text-transform:uppercase}
.auth-languages a{display:inline-flex;align-items:center;justify-content:center;min-height:3.1875rem;padding:0 .875rem;gap:.25rem;color:#fff;border-radius:999px;background:#11222c;font-size:.875rem;font-weight:700;line-height:1.4;transition:transform .2s ease,background-color .2s ease}
.auth-languages a:hover{color:#fff;background:#ff7a00;transform:translateY(-2px)}
.auth-languages .flag{width:2.25rem;height:1.125rem;box-shadow:none}

.auth-card{width:100%;padding:clamp(1.75rem,3vw,2.5rem);color:#11222c;border:1px solid rgba(17,34,44,.055);border-radius:1.375rem;background:#fff;box-shadow:0 1.25rem 3.5rem rgba(17,34,44,.09)}
.auth-card__head{margin-bottom:1.75rem}
.auth-card__label,.profile-card__label{display:inline-flex;align-items:center;gap:.625rem;margin-bottom:.7rem;color:#ff7a00;font-family:"Kanit",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.auth-card__label::before,.profile-card__label::before{content:"";width:1.75rem;height:.125rem;background:#ff7a00}
.auth-card h2{margin:0;color:#11222c;font-size:clamp(1.875rem,3vw,2.375rem)}
.auth-label{color:#11222c;font-size:.75rem;font-weight:500;letter-spacing:.07em}
.auth-input{min-height:3.375rem;padding:.875rem 1.125rem;color:#11222c;border:1px solid #d6dfe2;border-radius:.75rem;background:#fff}
.auth-input::placeholder{color:#8d9aa0}
.auth-input[readonly]{color:#66767d;border-color:#dce7e9;background:#f2fbfb}
.auth-input:focus{border-color:#ff7a00;box-shadow:0 0 0 .25rem rgba(255,122,0,.12)}
.auth-check{color:#33434b;line-height:1.55}
.auth-check a,.auth-links a{color:#e96f00;font-weight:600}
.auth-check__input{accent-color:#ff7a00}
.auth-actions .btn{min-height:3rem}
.auth-links{margin-top:1rem;color:#526168}
.auth-muted{color:#66767d}

.profile-page{min-height:56rem;padding:10.5rem 0 6.5rem;color:#11222c;background:#eafefd}
.profile-hero{max-width:52rem;margin-bottom:2.5rem}
.profile-hero h1{margin:0;color:#11222c;font-size:clamp(2.75rem,4vw,4.25rem);line-height:1.05}
.profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.8fr);gap:1.5rem;align-items:start}
.profile-card{width:100%;padding:clamp(1.5rem,2.6vw,2.25rem);border:1px solid rgba(17,34,44,.055);border-radius:1.375rem;background:#fff;box-shadow:0 1rem 2.75rem rgba(17,34,44,.07)}
.profile-card--wide{grid-column:1/-1}
.profile-card h2{margin:0 0 1.5rem;color:#11222c;font-size:1.875rem}
.profile-form{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
.profile-form>.auth-alert,.profile-form>.auth-field:first-of-type,.profile-form>.auth-actions{grid-column:1/-1}
.profile-form .auth-actions{justify-items:flex-start}
.profile-form .auth-actions .btn{width:auto;min-width:10rem}
.profile-list{gap:0}
.profile-list div{grid-template-columns:8.5rem minmax(0,1fr);padding:1rem 0;border-color:#e7eeee}
.profile-list div:first-child{padding-top:0}
.profile-list dt,.profile-order__list dt,.profile-order__payment dt{color:#66767d;font-weight:600}
.profile-list dd,.profile-order__list dd,.profile-order__payment dd{color:#11222c;font-weight:600}
.profile-pill{font-weight:700}
.profile-pill--warning{color:#8b5500;background:#fff3d6}
.profile-orders{border-color:#e7eeee}
.profile-orders h3,.profile-order__head strong,.profile-license-manager__head h3{color:#11222c}
.profile-order{border-color:#e2ebec;background:#f5fcfc}
.profile-order__payment img{border-color:#e2ebec}
.profile-order__notice{color:#7a5700}
.profile-license-manager{border-color:#dcebec;background:linear-gradient(135deg,rgba(159,243,241,.22),rgba(255,122,0,.045)),#fff;box-shadow:0 1rem 2.5rem rgba(17,34,44,.05)}
.profile-license-manager__title>span,.profile-invite-form__head em{color:#e96f00}
.profile-license-manager__meta span,.profile-invite-form{border-color:#dcebec}
.profile-license-manager__meta span{color:#66767d;background:rgba(255,255,255,.82)}
.profile-invite-form__head span,.profile-invite-form__head em,.profile-invitation__main span{color:#66767d}
.profile-invite-form__head em{background:#fff3e8}
.profile-invitation{border-color:#e2ebec}
.profile-invitation strong,.profile-invite-form__head strong{color:#11222c}
.profile-invitation__action{color:#e96f00;border-color:rgba(255,122,0,.22);background:rgba(255,122,0,.08)}
.profile-invitation__action:hover{color:#fff;border-color:#ff7a00;background:#ff7a00}

.evaluation-card__head{margin-bottom:1.5rem}
.evaluation-table-wrap{overflow:hidden;border:1px solid #e2ebec;border-radius:1rem}
.evaluation-table th{padding:1rem;color:#526168;border-color:#dce7e8;background:#f2fbfb;font-family:"Kanit",sans-serif;font-weight:600}
.evaluation-table td{color:#11222c;border-color:#e7eeee}
.evaluation-table tbody tr:hover td{background:#fbfefe}
.evaluation-table td span{color:#66767d}
.evaluation-score--mid{color:#8b5500!important;background:#fff3d6}
.evaluation-score--low{color:#9d321a!important;background:#fff0ec}

@media (min-width:1200px){
    .page-account .header{height:106px;padding:18px 0}
    .page-account .header .container{height:70px}
    .page-account .header__logo img{width:182px;height:77px}
    .page-account .header__right,.page-account .header__nav,.page-account .header__actions{width:auto;flex:0 0 auto;justify-content:flex-start}
    .page-account .header__right{gap:24px}
    .page-account .header__nav{gap:24px}
    .page-account .header__nav a{font-size:16px;line-height:16px;letter-spacing:.5px}
    .page-account .header__actions{gap:8px}
    .page-account .header .btn--sm{min-height:37px;padding:11px 21px;font-size:16px;line-height:13px;letter-spacing:.6px}
    .page-account .header .btn--icon.btn--sm{width:38px;min-width:38px;height:38px;min-height:38px;padding:0}
}
@media (max-width:991px){
    .auth-page{min-height:0;padding:9rem 0 5rem}
    .auth-shell{grid-template-columns:minmax(0,1fr);gap:3rem}
    .auth-copy{order:2;min-width:0;max-width:40.625rem;justify-self:center}
    .auth-card{order:1;min-width:0;max-width:38rem;justify-self:center}
    .auth-highlights{width:100%}
    .profile-grid{grid-template-columns:1fr}
    .profile-card--wide{grid-column:auto}
}
@media (min-width:992px) and (max-width:1199px){
    .auth-shell{grid-template-columns:minmax(0,1fr) minmax(25rem,1fr);gap:3rem}
    .auth-copy__title{font-size:3rem;white-space:normal}
    .auth-copy__lead p:last-child{white-space:normal}
}
@media (max-width:767px){
    .page-main>.alert-success,.page-main>.alert-danger,.page-main>.alert-warning{top:4.75rem}
    .page-account .header__logo img,.page-account .header.is-scroll .header__logo img{width:8.8rem;height:3.25rem}
    .page-account .header__hamburger{background:#ff7a00}
    .auth-page,.profile-page{padding:7.5rem 0 4rem}
    .auth-shell{display:block;width:100%}
    .auth-copy{display:none}
    .auth-card{width:100%;max-width:100%}
    .auth-form,.auth-field,.auth-check,.auth-check>span:last-child,.auth-links{min-width:0;max-width:100%}
    .auth-check>span:last-child,.auth-links{overflow-wrap:anywhere}
    .auth-copy__title{font-size:clamp(2.75rem,15vw,4rem);white-space:normal}
    .auth-copy__lead p:first-child{font-size:1.25rem}
    .auth-copy__lead p:last-child{font-size:1.05rem;white-space:normal}
    .auth-highlights{grid-template-columns:repeat(2,1fr);height:auto;row-gap:1.25rem;padding-bottom:1.25rem}
    .auth-highlights>div,.auth-highlights>div:first-child{text-align:left}
    .auth-languages>span{width:100%}
    .profile-form{grid-template-columns:1fr}
    .profile-form>.auth-field,.profile-form>.auth-actions{grid-column:auto}
    .evaluation-table-wrap{overflow-x:auto}
}
@media (max-width:575px){
    .auth-highlights{grid-template-columns:repeat(2,1fr)}
    .auth-highlights>div{min-height:auto}
    .auth-languages a{width:100%;justify-content:flex-start}
    .auth-card,.profile-card{padding:1.25rem;border-radius:1rem}
    .auth-card__head{margin-bottom:1.35rem}
    .auth-form{gap:1rem}
    .auth-input{min-height:3.125rem;padding:.75rem .875rem}
    .auth-links{font-size:.875rem}
}

/* Order flow aligned with the current presentation theme. */
.order-page{padding:10rem 0 6rem;color:#11222c;background:#eafefd}
.order-page .section__perex,.order-panel__head>span{color:#ff7a00}
.order-page .section__perex::before,.order-panel__head>span::before{background:#ff7a00}
.order-head h1,.order-success h1,.order-panel__head h2,.order-subsection h3,.order-confirm h3,.order-payment h2{color:#11222c}
.order-head p,.order-success p,.order-login-box p,.order-confirm p,.order-payment p,.license-step__hint,.license-summary__note{color:#526168}
.order-shell,.order-success{color:#11222c;border-color:rgba(17,34,44,.055);background:#fff;box-shadow:0 1.25rem 3.5rem rgba(17,34,44,.08)}
.order-steps li{color:#66767d;border-color:#dcebec;background:#f2fbfb}
.order-steps span{color:#11222c;background:#dcebec}
.order-steps li.is-clickable:hover,.order-steps li.is-clickable:focus-visible{color:#11222c;border-color:#ff7a00}
.order-steps li.is-active,.order-steps li.is-complete{color:#11222c;border-color:#ff7a00;background:#fff8f1}
.order-steps li.is-active span,.order-steps li.is-complete span{color:#fff;background:#ff7a00}
.order-login-box,.order-confirm,.order-payment,.license-summary__unit{border-color:#dcebec;background:#f2fbfb}
.order-login-box strong,.license-step h3,.license-subject__name,.license-duration,.license-summary__unit,.license-summary__rows dt,.license-summary__rows dd,.license-summary__discount small,.license-summary__discount dd span,.license-summary__discount dd strong{color:#11222c}
.order-subsection+.order-subsection,.order-success__list div,.license-summary__rows>div{border-color:#dcebec}
.order-page .btn--outline{color:#11222c;border-color:#11222c;background:transparent}
.order-page .btn--outline:hover{color:#fff;border-color:#11222c;background:#11222c}
.order-page a:not(.btn){color:#e96f00}
.order-page .license-range input[type="range"]{background:linear-gradient(90deg,#ff7a00 var(--license-progress),#e8e7ee var(--license-progress))}
.order-page .license-range input[type="range"]::-webkit-slider-thumb,.order-page .license-range input[type="range"]::-moz-range-thumb{background:#ff7a00;box-shadow:none}
.order-page .license-range__bubble,.order-page .license-range__bubble::after,.order-page .license-subject__check,.order-page .license-duration__check{background:#ff7a00;box-shadow:none;filter:none;text-shadow:none}
.order-page .license-subject:hover,.order-page .license-duration:hover{border-color:#ff7a00;box-shadow:none}
.order-page .license-subject.is-selected,.order-page .license-duration.is-selected{border-color:#ff7a00;background:#fff;box-shadow:none}
.order-page .license-subject,.order-page .license-duration,.order-summary{color:#11222c;border-color:#dcebec}
.order-page .license-subject__meta{color:#66767d}
.order-page .order-check{color:#33434b}
.order-page .order-check input{accent-color:#ff7a00}
.order-success__list dt,.order-payment__list dt{color:#66767d}
.order-success__list dd,.order-payment__list dd{color:#11222c}
.order-payment__qr img{border-color:#dcebec}

@media (max-width:767px){
    .order-page{padding:7.5rem 0 4rem}
    .order-head{margin-bottom:1.5rem}
    .order-shell,.order-success{padding:1.25rem;border-radius:1rem}
}
