.course-registration-page{background:#f8f9f1;color:#344631;font-family:"Noto Sans TC",sans-serif}.registration-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;border-bottom:1px solid #dde5d2}.registration-nav>a:first-child{font:600 24px "Noto Serif TC",serif;color:#167a82;text-decoration:none}.registration-nav span{font:500 13px "Noto Sans TC",sans-serif;margin-left:12px}.registration-nav>a:last-child{font-size:13px;color:#167a82}.registration-kicker{font-size:11px;letter-spacing:.15em;color:#809568}.registration-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 0 30px;gap:16px}.registration-steps li{padding:16px;background:#eef3e4;border:1px solid #dce5ce;border-radius:10px;color:#617753;font-size:14px}.registration-steps b{color:#167a82;font:600 22px "Noto Serif TC",serif;margin-right:12px}.registration-summary{background:#eef3e3;border-color:#d2debd;top:24px}.registration-summary>small{color:#718858;font-size:10px;letter-spacing:.14em}.registration-summary h2{font-size:24px}.registration-summary dl>div{border-bottom:1px solid #d2debd;padding:15px 0}.registration-summary dt{color:#7a896b;font-size:12px}.registration-summary dd{margin:5px 0 0;font-size:14px;line-height:1.9}.registration-summary h3{font-size:16px;color:#167a82}.registration-summary ul{padding-left:20px;font-size:13px;line-height:1.9}.registration-summary li+li{margin-top:10px}.registration-summary>a{color:#167a82;font-size:12px}.registration-price{margin:24px 0;border-bottom:1px solid #d2debd;padding-bottom:15px}.registration-price>small{font-size:12px;color:#82916e}.registration-price p{margin:10px 0;font-size:13px}.registration-price b{font-size:27px;color:#167a82;display:block}.booking-panel select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bccdbd;border-radius:7px;background:#fffdf7;color:#344631;font:inherit;min-height:46px}.booking-panel select:focus{outline:2px solid #167a82;outline-offset:2px}.registration-plans{padding:0;border:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.registration-plans legend{font-size:14px;color:#52694f;margin-bottom:12px}.registration-plans label{display:flex;align-items:start;gap:10px;padding:18px;border:1px solid #d5dfc9;border-radius:12px;cursor:pointer}.registration-plans label:has(input:checked){background:#edf5e5;border-color:#81b657;box-shadow:0 0 0 1px #81b657}.registration-plans input{margin-top:6px;accent-color:#167a82}.registration-plans b{font-size:14px;font-weight:500}.registration-plans small{font-size:12px!important;line-height:1.8}.registration-bank{background:#f3f6eb;border:1px solid #dbe4ce;padding:22px;border-radius:12px;margin:22px 0}.registration-bank h3{font-size:16px;color:#167a82;margin:0 0 14px}.registration-bank p{font-size:14px;line-height:1.9;margin:4px 0;overflow-wrap:anywhere}.registration-bank>p{border-top:1px solid #d5dfc9;margin-top:15px;padding-top:15px}.registration-bank strong{font-size:24px;color:#167a82;margin-left:10px}.registration-notice{padding:18px;background:#f7f5e9;color:#6c765f;font-size:13px;line-height:2;border-radius:10px}.registration-notice b{display:block;font-weight:500}.booking-panel .registration-consent{display:flex;align-items:start;gap:10px;font-size:13px;line-height:2;margin:22px 0}.registration-consent input{margin-top:7px;accent-color:#167a82;flex-shrink:0}.registration-consent a{color:#167a82}.registration-submit{width:100%;border:0;cursor:pointer}.registration-submit:disabled{opacity:.55;cursor:wait}.registration-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.registration-error{background:#fff0e9;border:1px solid #e1aa8f;padding:18px;border-radius:10px;margin-bottom:24px;color:#8c4f38}.registration-receipt{max-width:780px;margin:auto;scroll-margin-top:24px}.registration-receipt h2{margin-top:24px}.registration-receipt p{font-size:14px;line-height:2}.registration-receipt .consult-button{display:inline-block;margin-top:20px}.booking-layout[hidden],.registration-receipt[hidden]{display:none!important}#receiptDetails{background:#f3f6eb;padding:18px;margin:24px 0;border-radius:10px}#receiptDetails p{overflow-wrap:anywhere}.registration-nav a:focus-visible,.registration-summary a:focus-visible{outline:2px solid #81b657;outline-offset:5px}@media(max-width:650px){.registration-nav{padding-block:18px;gap:10px}.registration-nav>a:first-child{font-size:20px}.registration-nav span{display:none}.registration-nav>a:last-child{font-size:12px}.registration-steps{gap:7px}.registration-steps li{font-size:11px;padding:12px 8px;line-height:1.8}.registration-steps b{display:block;font-size:20px}.registration-plans{grid-template-columns:1fr}.booking-title h1{font-size:29px}.booking-panel{padding:24px 19px}.registration-summary{position:static}.booking-layout{display:flex;flex-direction:column}.booking-layout>*{width:100%}.booking-fields{grid-template-columns:1fr}.booking-fields .full{grid-column:auto}.registration-bank{padding:18px}.registration-bank strong{font-size:21px}}

.registration-schedule{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#edf3e2;border:1px solid #d0dfba;border-left:4px solid #81b657;border-radius:14px;padding:24px 28px;margin:0 0 28px}.registration-schedule small{font-size:10px;letter-spacing:.12em;color:#718855}.registration-schedule h2{font:600 22px/1.7 "Noto Serif TC",serif;color:#167a82;margin:8px 0 0}.registration-schedule p{margin:0;line-height:1.9;color:#617753;font-size:13px}.registration-schedule b{display:block;font-size:16px;font-weight:500;margin-bottom:4px}.registration-schedule span{display:block;font-size:12px}@media(max-width:650px){.registration-schedule{display:block;padding:20px}.registration-schedule h2{font-size:21px}.registration-schedule p{margin-top:16px}}

.registration-shipping{min-width:0;border:1px solid #dbe4ce;border-radius:12px;padding:20px;margin:4px 0}.registration-shipping legend{font-size:15px;color:#167a82;padding:0 8px}.registration-shipping-note{font-size:12px;line-height:2;color:#6c765f;background:#f3f6eb;padding:14px;border-radius:8px;margin:18px 0 0}.registration-shipping-note a{color:#167a82;text-decoration:underline}.registration-gift-value{font-size:12px;color:#748764}.registration-schedule .registration-period{font-size:13px;margin:8px 0 0;line-height:1.9;color:#617753}@media(max-width:650px){.registration-shipping{padding:18px 12px}.registration-schedule .registration-period{font-size:12px}}

.registration-contact-note{font-size:13px;line-height:2;margin:12px 0 0;overflow-wrap:anywhere}.registration-contact-note a{color:#167a82;text-decoration:underline}

.registration-remarks{margin:0 0 26px;padding:20px;background:#f6f8ef;border:1px solid #d5dfc5;border-radius:12px}.registration-remarks textarea{resize:vertical;min-height:120px}.registration-remarks small{font-weight:400;line-height:1.9}.registration-receipt-remarks{white-space:pre-wrap;overflow-wrap:anywhere}

.registration-summary .registration-gift-cards{list-style:none;padding:0;margin:20px 0;display:grid;gap:20px}.registration-summary .registration-gift-cards li{margin:0;padding:14px;border:1px solid #d7e1c8;border-radius:14px;background:#fffdf7;font-size:13px;line-height:1.9;color:#355344}.registration-gift-image{width:100%;aspect-ratio:1/1;background:#fff;border-radius:9px;overflow:hidden;margin-bottom:14px}.registration-gift-image img{display:block;width:100%;height:100%;object-fit:contain}.registration-gift-cards .registration-gift-value{display:block;margin-top:7px}@media(min-width:600px) and (max-width:900px){.registration-summary .registration-gift-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.registration-card-inquiry{margin:24px 0 0;padding:16px 20px;background:#f2f6e9;border:1px solid #d9e3c9;border-radius:12px;font-size:14px;line-height:1.9;color:#53634a}.registration-card-inquiry a{color:#426b2f;text-decoration:underline;text-underline-offset:3px}

/* A visible payment alternative, with contact details rather than an unconfigured checkout. */
.registration-card-inquiry.card-payment-highlight{margin-top:28px;padding:24px;background:linear-gradient(125deg,#fff4cb,#fffbed 62%,#f1f6e7);border:1px solid #c9b15b;border-left:5px solid #167a82;border-radius:16px;box-shadow:0 6px 20px #9c813710;color:#384a39}
.card-payment-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.card-payment-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#167a82;color:#fff;flex:none}
.card-payment-icon svg{width:31px;height:31px}
.card-payment-heading small{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:#7b692e;line-height:1.5}
.card-payment-heading h3{margin:3px 0 0;font:700 21px/1.5 "Noto Sans TC",sans-serif;color:#174d50}
.card-payment-badge{margin-left:auto;border:1px solid #ceb74f;border-radius:20px;padding:5px 10px;background:#f8e59d;color:#65511e;font-size:11px;font-weight:600}
.card-payment-highlight>p{margin:0 0 18px;font-size:14px;line-height:1.9}
.card-payment-contact{display:grid;gap:14px;border-top:1px solid #d9ce9a;padding-top:17px}
.card-payment-contact>div>span{display:block;font-size:12px;color:#687254;margin-bottom:4px}
.card-payment-contact strong{display:block;font-size:clamp(15px,2vw,19px);line-height:1.6;color:#164f52;overflow-wrap:anywhere;user-select:text}
.card-payment-contact a{display:flex;align-items:center;justify-content:space-between;gap:12px;justify-self:start;padding:9px 14px;border:1px solid #8aa46a;border-radius:9px;background:#fffdf4;color:#3f632e;font-size:13px;text-decoration:none;font-weight:600}
.card-payment-contact a:focus-visible{outline:3px solid #167a82;outline-offset:3px}
@media(max-width:600px){.registration-card-inquiry.card-payment-highlight{padding:20px 16px}.card-payment-heading{gap:10px}.card-payment-heading h3{font-size:19px}.card-payment-badge{margin-left:0}.card-payment-contact a{justify-self:stretch}}

/* Bank transfer and card inquiry share the same visual language. */
.registration-bank.bank-payment-highlight{padding:24px;border:1px solid #c9b15b;border-left:5px solid #167a82;border-radius:16px;background:linear-gradient(125deg,#fff4cb,#fffbed 62%,#f1f6e7);box-shadow:0 6px 20px #9c813710}
.bank-payment-highlight .card-payment-heading h3{margin:3px 0 0;font:700 21px/1.5 "Noto Sans TC",sans-serif;color:#174d50}
.bank-payment-highlight #registrationBank{padding:16px 18px;border:1px solid #e5d6a0;border-radius:10px;background:#fffdf5}
.bank-payment-highlight #registrationBank p{font-size:16px;line-height:1.9;color:#344b3c;margin:5px 0;user-select:text}
.registration-bank.bank-payment-highlight>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;border-top:1px solid #d9ce9a;margin:18px 0 0;padding-top:16px;font-size:14px;font-weight:600;color:#52614b}
.registration-bank.bank-payment-highlight strong{margin:0;color:#167a82;font-size:clamp(27px,3vw,34px);line-height:1.5;font-weight:700}
.registration-plans label{background:#fffdf7;border-color:#daceaa}
.registration-plans label:has(input:checked){background:linear-gradient(125deg,#fff0b9,#fff9e5);border-color:#167a82;box-shadow:0 0 0 1px #167a82}
.registration-plans b{font-weight:700;color:#234e48}
@media(max-width:600px){.registration-bank.bank-payment-highlight{padding:20px 16px}.bank-payment-highlight .card-payment-heading h3{font-size:19px}.bank-payment-highlight #registrationBank{padding:12px}.bank-payment-highlight #registrationBank p{font-size:14px}}

/* Card payment is a secondary contact option beneath the primary bank transfer. */
.registration-card-inquiry.card-payment-highlight{padding:18px 20px;background:#f6f7f1;border:1px solid #dce2d2;border-left:3px solid #b1c2a0;border-radius:12px;box-shadow:none;color:#65705e}
.card-payment-highlight .card-payment-heading{gap:10px;margin-bottom:10px}
.card-payment-highlight .card-payment-icon{width:34px;height:34px;border-radius:9px;background:#e7eddf;color:#6c8360}
.card-payment-highlight .card-payment-icon svg{width:23px;height:23px}
.card-payment-highlight .card-payment-heading small{font-size:9px;letter-spacing:.1em;color:#8b967f;font-weight:500}
.card-payment-highlight .card-payment-heading h3{font-size:17px;font-weight:600;color:#53674c;margin:2px 0 0}
.card-payment-highlight .card-payment-badge{padding:3px 8px;font-size:10px;font-weight:500;background:#eef1e7;border:1px solid #d7dfcb;color:#78836b}
.card-payment-highlight>p{font-size:13px;line-height:1.85;margin-bottom:12px}
.card-payment-highlight .card-payment-contact{gap:8px;padding-top:11px;border-color:#e0e5d8}
.card-payment-highlight .card-payment-contact>div>span{display:inline;font-size:12px;margin:0 8px 0 0;color:#7b8570}
.card-payment-highlight .card-payment-contact strong{display:inline;font-size:14px;font-weight:500;line-height:1.8;color:#53674c}
.card-payment-highlight .card-payment-contact a{display:inline-flex;justify-self:start;padding:2px 0;border:0;border-bottom:1px solid #b8c5a9;border-radius:0;background:none;color:#647a52;font-size:12px;font-weight:500;gap:12px}
@media(max-width:600px){.registration-card-inquiry.card-payment-highlight{padding:16px}.card-payment-highlight .card-payment-heading h3{font-size:16px}.card-payment-highlight .card-payment-badge{margin-left:0}}
