.member-registration-hero{padding:58px 0 42px;background:linear-gradient(135deg,#083f32 0%,#17694d 72%,#2b8053 100%);color:#fff}
.member-registration-hero .eyebrow{display:flex;align-items:center;gap:11px;color:#d8ef9f;font-size:12px;letter-spacing:1.7px;font-weight:700;margin:0 0 15px}
.member-registration-hero .short-line{display:inline-block;width:30px;height:1px;background:#d4ef8b}
.member-registration-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.35;font-weight:700;margin:0 0 10px}
.member-registration-hero>div>p:not(.eyebrow){margin:0;color:#e5f0e8;font-size:17px}
.registration-steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.registration-steps span{display:flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #ffffff35;border-radius:999px;background:#ffffff12;font-size:13px;color:#f2f7f0}
.registration-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#d4ef8b;color:#153a2d;font-size:11px}
.member-registration-content{padding-top:38px;padding-bottom:76px}
.member-registration-card{padding:clamp(20px,4vw,42px);border:1px solid #dce8dc;border-radius:16px;background:#fff;box-shadow:0 12px 34px #143c2710}
.registration-card-heading{display:flex;align-items:center;gap:16px;padding-bottom:23px;margin-bottom:22px;border-bottom:1px solid #e4ebe4}
.registration-mark{flex:0 0 54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#eaf3e5;color:#17694d;font-weight:800;letter-spacing:-.5px}
.registration-card-heading h2{margin:0 0 5px;color:#0b3f32;font-size:24px;font-weight:700}
.registration-card-heading p{margin:0;color:#66756d;font-size:14px}
.member-registration-form{font-size:15px}
.member-registration-form .row.justify-content-between{margin:16px 0 0!important;padding:22px 20px!important;border:1px solid #e1e9df;border-radius:12px;background:#f5f8f5!important}
.member-registration-form .form-control-label,.member-registration-form label{color:#233b30;font-weight:600}
.member-registration-form p{line-height:1.75}
.member-registration-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.member-registration-form select,.member-registration-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d4dfd5;border-radius:8px;background:#fff;color:#18372c;font:inherit}
.member-registration-form input:focus,.member-registration-form select:focus,.member-registration-form textarea:focus{border-color:#38845e;box-shadow:0 0 0 3px #17694d1c;outline:0}
.member-registration-form input[type=radio],.member-registration-form input[type=checkbox]{accent-color:#17694d}
.member-registration-form input[type=email].email-field-invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b18}
.member-registration-form .required-field-invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b18!important}
.member-registration-form .radio-required-invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px #c0392b18!important;border-radius:8px}
.member-registration-form .thai-address-attribution{margin:0 0 12px;color:#66756d}
.member-registration-form .thai-address-attribution a{color:#17694d;text-decoration:underline}
.member-registration-form .thai-address-suggestion-box{position:absolute;z-index:20;top:100%;left:0;right:0;max-height:280px;overflow:auto;margin-top:4px;padding:5px;border:1px solid #cbd9cc;border-radius:9px;background:#fff;box-shadow:0 12px 28px #143c271c}
.member-registration-form .thai-address-suggestion{display:block;width:100%;padding:9px 11px;border:0;border-radius:6px;background:#fff;color:#18372c;text-align:left;font:inherit;cursor:pointer}
.member-registration-form .thai-address-suggestion:hover,.member-registration-form .thai-address-suggestion:focus{outline:0;background:#eef5ec;color:#0b4a39}
.member-registration-form .thai-address-suggestion small{display:block;margin-top:2px;color:#64766b;font-size:12px}
.member-registration-form .thai-address-empty{padding:10px 11px;color:#66756d;font-size:13px}
.member-registration-form input[type=email].email-field-valid{border-color:#38845e!important}
.email-live-feedback{display:block;min-height:1.25em;margin:3px 0 5px;color:#66756d;font-size:13px;line-height:1.5}
.email-live-feedback.is-error{color:#b42318}
.email-live-feedback.is-valid{color:#17694d}
.member-registration-form input[type=file]{border:1px dashed #b9cdbb;border-radius:8px;padding:12px;background:#fff}
.member-registration-form .form-check{padding:10px 12px;margin:4px 0;border:1px solid #e1e9df;border-radius:9px;background:#fff}
.member-registration-form .form-check input{margin-right:8px}
.member-registration-form .consent-choice{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:10px auto;padding:8px 12px!important}
.member-registration-form .consent-choice .form-check-input{position:static!important;float:none!important;margin:0!important;flex:0 0 auto}
.member-registration-form .consent-choice .form-check-label{display:inline-flex;align-items:center;margin:0;cursor:pointer}
.member-registration-form .panel-heading{padding:12px 15px;border:1px solid #dce8dc;border-radius:8px;background:#eef5ec}
.member-registration-form .panel-title{margin:0;font-size:16px}
.member-registration-form .panel-title a{color:#0b4a39;font-weight:700;text-decoration:none}
.member-registration-form .panel-body{padding:16px 10px}
.member-registration-form #accordion table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;white-space:normal}
.member-registration-form #accordion td{vertical-align:top;padding:9px;border-color:#dce6dc}
.member-registration-form #accordion tr:first-child{background:#0b4a39;color:#fff;font-weight:700}
.member-registration-form .membership-check{color:#17694d;font-weight:800;font-size:18px}
.member-registration-form #closeall>div,.member-registration-form #p1,.member-registration-form #p2,.member-registration-form #p3{scroll-margin-top:110px}
.member-registration-form h5{color:#0b3f32;font-weight:700}
.member-registration-form button[type=submit]{min-height:48px;padding:11px 28px;border:1px solid #17694d;border-radius:8px!important;background:#17694d;color:#fff;font-size:16px!important;font-weight:700}
.member-registration-form button[type=submit]:hover{background:#0b4a39}
.member-registration-form button[type=reset]{min-height:48px;padding:11px 22px;border:1px solid #d5e1d5;border-radius:8px!important;background:#fff;color:#345544;font-size:15px!important}
.member-registration-form .text-center{margin-top:10px}
@media(max-width:767px){.member-registration-hero{padding:42px 0 31px}.registration-steps{display:grid;grid-template-columns:1fr}.member-registration-content{padding-top:22px;padding-bottom:48px}.member-registration-card{padding:18px 14px}.registration-card-heading{align-items:flex-start}.registration-card-heading h2{font-size:21px}.member-registration-form .row.justify-content-between{padding:16px 12px!important}.member-registration-form .col-sm-3,.member-registration-form .col-sm-9{width:100%}.member-registration-form #accordion table{font-size:13px}}

.registration-result-page{padding:72px 0 88px;background:#f4f8f4;min-height:50vh}.registration-result-card{max-width:760px;margin:auto;padding:clamp(24px,5vw,52px);border:1px solid #dce8dc;border-radius:18px;background:#fff;box-shadow:0 18px 48px #143c2714;text-align:center}.registration-result-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:18px;background:#eaf3e5;color:#17694d;font-weight:800;font-size:18px}.registration-result-card h1{margin:0 0 12px;color:#0b3f32;font-size:clamp(26px,3vw,36px);font-weight:700}.registration-result-card>p:not(.eyebrow){max-width:580px;margin:0 auto;color:#5d6f65;line-height:1.8}.registration-result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
