/* St John 共用按鈕 / modal / 結果頁基礎樣式（模塊 CSS 會覆蓋細節） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;font-family:'Noto Sans TC',sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .15s;text-decoration:none;border-radius:4px}
.btn-primary{background:var(--yellow);color:var(--black)}.btn-primary:hover{background:var(--yellow-dark)}
.btn-black{background:var(--black);color:var(--white)}.btn-black:hover{background:#333}
.btn-outline{background:var(--white);color:var(--black);border:2px solid var(--black)}.btn-outline:hover{background:var(--black);color:var(--white)}
.btn-danger{background:var(--danger);color:var(--white)}
.btn-sm{padding:6px 14px;font-size:12px}.btn-lg{padding:13px 32px;font-size:15px}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}
.modal-overlay.show{display:flex}
.modal-box{background:var(--white);border-radius:10px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 20px 48px rgba(0,0,0,.25)}
.modal-hd{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}
.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--grey-mid);line-height:1}
.modal-body{padding:20px}
.modal-ft{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:var(--grey-bg)}

.header-nav-item{text-decoration:none}
a.btn-student-center,a.btn-corp-dash{text-decoration:none}

/* 共用地址聯想：課程報名及學員個人資料頁使用同一套下拉樣式。 */
.address-autocomplete{position:relative;width:100%}
.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;display:none;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--white);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.autocomplete-dropdown.show{display:block;animation:addressAutocompleteSlideDown .15s ease}
.ac-item{display:block;width:100%;padding:12px 16px;border:0;border-bottom:1px solid var(--grey-bg);background:var(--white);color:var(--grey-dark);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .15s,color .15s}
.ac-item:hover,.ac-item:focus{background:var(--yellow-light);color:var(--black);outline:none}
.ac-item:last-child{border-bottom:0}
.ac-item-empty{color:var(--grey-mid);cursor:default}
.ac-item-empty:hover{background:var(--white);color:var(--grey-mid)}
.ac-match{color:var(--yellow-dark);font-weight:700}
@keyframes addressAutocompleteSlideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* 系統維護模式橫幅（SA 全域參數開關） */
.stjohn-maintenance-banner{background:#1a1a1a;color:#fff;border-bottom:3px solid var(--yellow)}
.stjohn-maintenance-banner__inner{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px;line-height:1.45}
.stjohn-maintenance-banner__inner strong{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--yellow)}
.stjohn-maintenance-banner__inner span{color:rgba(255,255,255,.88)}
.btn.is-maintenance-disabled,.btn[aria-disabled="true"].is-maintenance-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
