.nes-ui{
    --nes-ink:#17211f;--nes-muted:#63706c;--nes-paper:#fffdf7;--nes-accent:#0b6759;--nes-accent-dark:#07483f;
    --nes-signal:#e8663c;--nes-line:#d7ddd4;--nes-soft:#f3f5ee;--nes-danger:#a33a31;--nes-radius:20px;
    --nes-space:clamp(1rem,2.3vw,1.5rem);box-sizing:border-box;position:relative;isolation:isolate;
    width:min(940px,calc(100% - 2rem));margin:clamp(1rem,4vw,3.5rem) auto;padding:clamp(1.25rem,5vw,3.75rem);
    overflow:hidden;border:1px solid rgba(23,33,31,.14);border-radius:var(--nes-radius);background:var(--nes-paper);
    color:var(--nes-ink);box-shadow:0 28px 80px rgba(17,42,36,.15);font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;
    font-size:1rem;line-height:1.65;overflow-wrap:anywhere
}
.nes-ui::before{content:"";position:absolute;z-index:-1;inset:0 0 auto auto;width:44%;height:12px;background: linear-gradient(90deg, #ff0000, #000000);}
.nes-ui::after{content:"";position:absolute;z-index:-1;right:-7rem;top:-8rem;width:20rem;height:20rem;border:1px solid rgba(11,103,89,.12);border-radius:50%;box-shadow:0 0 0 2.5rem rgba(11,103,89,.025),0 0 0 5rem rgba(11,103,89,.018)}
.nes-ui *{box-sizing:border-box}.nes-page-header{max-width:46rem;margin-bottom:1.25rem}.nes-eyebrow{display:block;margin-bottom:.35rem;color:var(--nes-accent);font-size:.72rem;font-weight:800;letter-spacing:.22em}
.nes-ui h2{margin:0;color:var(--nes-ink);font-family: inherit;font-size:clamp(2.1rem,5vw,2.5rem);font-weight:600;line-height:1.05;letter-spacing:-.025em}
.nes-ui h3{margin:0 0 1rem;color:var(--nes-ink);font-family: inherit;font-size:1.1rem; font-weight: 600;}.nes-ui p{margin:.5rem 0 1rem}.nes-content{animation:nes-rise .45s ease both}.nes-ui a{color:var(--nes-accent-dark);text-decoration-thickness:1px;text-underline-offset:3px}
.nes-event-full{display:grid;place-items:center;min-height:12rem;margin:0!important;text-align:center;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:600}
.nes-ui :focus-visible{outline:3px solid var(--nes-signal);outline-offset:4px}.nes-ui fieldset{min-width:0;margin:0;padding:0;border:0}.nes-ui legend{margin-bottom:1.5rem;font-family: inherit;font-size:clamp(1.55rem,3vw,2rem);font-weight:700;line-height:1.2}
.nes-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1.5rem 0 2.5rem;padding:0;list-style:none}.nes-progress li{position:relative;min-width:0;padding-top:1rem;border-top:2px solid var(--nes-line);color:var(--nes-muted)}
.nes-progress li::before{content:"";position:absolute;top:-4px;left:0;width:6px;height:6px;border-radius:50%;background:var(--nes-line)}.nes-progress .is-complete,.nes-progress [aria-current=step]{border-color:var(--nes-accent);color:var(--nes-ink)}
.nes-progress .is-complete::before,.nes-progress [aria-current=step]::before{background:var(--nes-accent)}.nes-progress [aria-current=step]::before{width:10px;height:10px;top:-6px;box-shadow:0 0 0 4px rgba(11,103,89,.13)}
.nes-step-number{display:block;color:var(--nes-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em}.nes-step-label{display:block;margin-top:.2rem;font-size:.82rem;font-weight:650;line-height:1.35}
.nes-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem var(--nes-space)}.nes-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.15rem}.nes-field label{font-weight:700}
.nes-field input:not([type=checkbox]),.nes-field textarea,.nes-field select{width:100%;min-height:52px;border:1px solid var(--nes-line);border-radius:10px;padding:.75rem .9rem;background:#fff;color:var(--nes-ink);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.nes-field textarea{min-height:120px;resize:vertical}.nes-field input:not([type=checkbox]):focus,.nes-field textarea:focus,.nes-field select:focus{border-color:var(--nes-accent);outline:0;box-shadow:0 0 0 4px rgba(11,103,89,.1)}
.nes-field input[type=checkbox]{width:21px;height:21px;margin-right:.6rem!important;accent-color:var(--nes-accent);vertical-align:middle}.nes-field small,.nes-muted{color:var(--nes-muted);font-size:.86rem}.nes-field-error{color:var(--nes-danger);font-size:.86rem}.nes-field [aria-invalid=true]{border-color:var(--nes-danger)}.nes-fields .nes-field-full{grid-column:1/-1}
.nes-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.nes-ui .nes-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--nes-line);border-radius:999px;padding:.7rem 1.4rem;background:#fff;color:var(--nes-ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.nes-ui .nes-button:hover{border-color:var(--nes-accent);transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,103,89,.12)}.nes-ui .nes-button-primary{border-color:#ff0000;background:#ff0000;color:#fff;box-shadow:0 10px 24px rgba(11,103,89,.22)}.nes-ui .nes-button-primary:hover{border-color:var(--nes-accent-dark);background:var(--nes-accent-dark)}
.nes-button:disabled{opacity:.52;cursor:wait;transform:none!important}.nes-payment-actions .nes-button-primary{min-width:min(100%,18rem)}.nes-alert{margin:1rem 0 1.5rem;padding:1rem 1.1rem;border:1px solid rgba(11,103,89,.2);border-left:5px solid var(--nes-accent);border-radius:10px;background:#eef7f2}.nes-alert:empty{display:none}.nes-alert[role=alert]{border-color:rgba(163,58,49,.25);border-left-color:var(--nes-danger);background:#fff1ed}
.nes-summary,.nes-member-card,.nes-order-summary{margin:1rem 0;padding:var(--nes-space);border:1px solid var(--nes-line);border-radius:14px;background:rgba(255,255,255,.78)}.nes-summary dl,.nes-order-summary dl,.nes-member-card dl{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:.55rem 1rem;margin:0}
.nes-registration-value{background:linear-gradient(145deg,#f1f8f3,#fffdf7)}.nes-registration-value>h3{margin-bottom:.85rem}.nes-benefit-list{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.nes-benefit-item{display:flex;align-items:flex-start;gap:.7rem}.nes-benefit-mark{display:grid;flex:0 0 1.4rem;place-items:center;width:1.4rem;height:1.4rem;margin-top:.13rem;border-radius:50%;background:var(--nes-accent);color:#fff;font-size:.75rem;font-weight:800}.nes-benefit-copy{display:grid;gap:.05rem;line-height:1.45}.nes-benefit-copy strong{font-weight:700}.nes-benefit-copy small{color:var(--nes-muted);font-size:.88rem}.nes-registration-price{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--nes-line)}.nes-registration-price span{color:var(--nes-muted);font-weight:650}.nes-registration-price strong{color:var(--nes-accent-dark);font-size:1.35rem}.nes-installment-note{margin:.4rem 0 0;color:var(--nes-muted);font-size:.9rem;text-align:right}
.nes-ui dt{color:var(--nes-muted);font-size:.9rem}.nes-ui dd{margin:0;font-weight:620}.nes-status{display:inline-block;padding:.3rem .75rem;border-radius:999px;background:#e9f2ec;color:var(--nes-accent-dark);font-size:.86rem;font-weight:750}.nes-total{padding-top:1rem;border-top:1px solid var(--nes-line);font-size:1.3rem;font-weight:800}.nes-field .nes-otp{max-width:320px;font-size:1.8rem;letter-spacing:.4em}.nes-order-items{padding-left:1.25rem}.nes-ui [hidden]{display:none!important}
.nes-state-intro{position:relative;margin:1.5rem 0;padding:clamp(1.2rem,3vw,1.8rem);overflow:hidden;border-radius:14px;background:var(--nes-soft)}.nes-state-intro::after{content:"";position:absolute;right:-2.5rem;bottom:-4rem;width:9rem;height:9rem;border:1.4rem solid rgba(11,103,89,.07);border-radius:50%}.nes-state-intro p{position:relative;z-index:1;max-width:42rem;margin:.0rem 0 0;font-size:1.4rem}
.nes-state-badge{display:inline-flex;align-items:center;gap:.45rem;color:var(--nes-accent-dark);font-size:1rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nes-state-badge::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--nes-accent);box-shadow:0 0 0 5px rgba(11,103,89,.1)}.nes-state-attention,.nes-state-renew{background:#fff3e9}.nes-state-attention .nes-state-badge,.nes-state-renew .nes-state-badge{color:#873f25}.nes-state-attention .nes-state-badge::before,.nes-state-renew .nes-state-badge::before{background:var(--nes-signal);box-shadow:0 0 0 5px rgba(232,102,60,.12)}.nes-state-success{background:#eaf6ef}
.nes-payment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--nes-line);border-left:1px solid var(--nes-line);border-radius:12px;overflow:hidden}.nes-payment-facts>div{min-width:0;padding:1rem 1.1rem;border-right:1px solid var(--nes-line);border-bottom:1px solid var(--nes-line);background:rgba(255,255,255,.7)}.nes-payment-facts dt{margin-bottom:.15rem}.nes-payment-facts dd{font-size:1rem}
.nes-success-next{position:relative;margin-top:1.5rem;padding:1.35rem 1.45rem 1.15rem;border:1px solid rgba(11,103,89,.18);border-radius:14px;background:linear-gradient(135deg,rgba(234,246,239,.92),rgba(255,253,247,.96))}.nes-success-next::before{content:"✓";position:absolute;right:1.25rem;top:.8rem;color:rgba(11,103,89,.16);font:800 4.5rem/1 Georgia,serif}.nes-success-next h3,.nes-success-next p,.nes-success-next .nes-actions{position:relative;z-index:1}.nes-success-next .nes-actions{margin-top:1.15rem}.nes-success-next .nes-muted{margin:.85rem 0 0}
.nes-size-chart{display:block;max-width:100%;height:auto;margin:0 auto var(--nes-space);border-radius:14px}.nes-medical-consent-row{display:block;width:100%;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--nes-line)}.nes-medical-consent-row .nes-field{min-width:0;margin:0}
.nes-consent-group{margin-top:1.5rem;padding:clamp(1rem,2.5vw,1.4rem);border:1px solid var(--nes-line);border-radius:14px;background:rgba(255,255,255,.72)}.nes-consent-group>h3{margin-bottom:.25rem}.nes-consent-item{display:block;padding:1rem 0;border-top:1px solid var(--nes-line)}.nes-consent-item:first-of-type{border-top:0}.nes-consent-item .nes-field{min-width:0;margin:0}.nes-ui .nes-document-trigger{appearance:none!important;display:inline!important;width:auto!important;min-width:0!important;min-height:0!important;margin:.35rem 0 0 calc(21px + .6rem)!important;padding:0 0 .08rem!important;border:0!important;border-bottom:1px solid currentColor!important;border-radius:0!important;background:none!important;color:var(--nes-accent-dark)!important;box-shadow:none!important;font:600 .82rem/1.5 "Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif!important;text-align:left!important;text-decoration:none!important;transform:none!important;cursor:pointer}.nes-ui .nes-document-trigger:hover{border-bottom-color:transparent!important;background:none!important;color:var(--nes-accent)!important;box-shadow:none!important;transform:none!important}
.nes-modal-overlay{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:clamp(.5rem,2vw,1.5rem);background:rgba(10,18,16,.72);backdrop-filter:blur(4px)}.nes-document-modal{box-sizing:border-box;display:flex;flex-direction:column;width:min(960px,100%);height:min(780px,calc(100dvh - 2rem));overflow:hidden;border:1px solid rgba(23,33,31,.18);border-radius:18px;background:#fffdf7;color:#17211f;box-shadow:0 30px 100px rgba(0,0,0,.35);font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif}.nes-document-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #d7ddd4;background:#fffdf7}.nes-document-modal-header h2{margin:0;font:700 clamp(1.25rem,3vw,1.65rem)/1.25 inherit}.nes-modal-close{flex:0 0 auto;min-width:48px;min-height:44px;border:1px solid #d7ddd4;border-radius:999px;padding:.5rem 1rem;background:#fff;color:#17211f;font:650 1rem/1 inherit;cursor:pointer}.nes-modal-close:hover{border-color:#0b6759;color:#07483f}.nes-document-modal-content{flex:1;min-height:0;overflow:auto;background:#fff}.nes-document-modal-content iframe{display:block;width:100%;height:100%;min-height:30rem;border:0;background:#fff}.nes-document-copy{max-width:46rem;margin:auto;padding:clamp(1.25rem,4vw,3rem);font-size:1.05rem;line-height:1.8}.nes-document-copy p{margin:0 0 1rem}.nes-document-modal :focus-visible{outline:3px solid #e8663c;outline-offset:3px}
@keyframes nes-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:680px){.nes-ui{width:min(100% - 1rem,940px);margin:.5rem auto;padding:1.25rem;border-radius:15px}.nes-progress{grid-template-columns:repeat(5,minmax(3rem,1fr));overflow-x:auto;padding-bottom:.4rem}.nes-step-label{font-size:.72rem}.nes-fields{grid-template-columns:1fr;gap:0}.nes-summary dl,.nes-member-card dl,.nes-order-summary dl{grid-template-columns:1fr;gap:.1rem}.nes-ui dd{margin-bottom:.65rem}.nes-payment-facts{grid-template-columns:1fr}.nes-actions{display:grid;grid-template-columns:1fr}.nes-actions .nes-button{width:100%}.nes-modal-overlay{padding:0}.nes-document-modal{width:100%;height:100dvh;border:0;border-radius:0}.nes-document-modal-header{padding:.85rem 1rem}.nes-document-modal-content iframe{min-height:100%}}
@media(prefers-reduced-motion:reduce){.nes-content{animation:none}.nes-ui .nes-button,.nes-field input,.nes-field textarea,.nes-field select{transition:none}}
