/*! Bootstrap v5.3.0 排版修復完整版 */
*,::after,::before{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#f8f9fa}
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}

/* Grid 網格與佈局系統（解決左右並排問題） */
.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px;margin-top:0}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:15px;padding-left:15px}
@media (min-width:768px){
    .col-md-4{flex:0 0 auto;width:33.33333333%}
}

/* 頂部導航欄 Navbar 佈局 */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap;color:#fff}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
@media (min-width:992px){
    .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}
    .navbar-expand-lg .navbar-nav{flex-direction:row;margin-left:auto}
    .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}
}
.nav-link{display:block;padding:.5rem 1rem;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s}
.nav-link:hover,.nav-link.active{color:#fff}

/* 卡片與內容組件 */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:0 solid rgba(0,0,0,.125);border-radius:.375rem}
.card-body{flex:1 1 auto;padding:1.5rem}
.card-title{margin-bottom:.5rem}
.h-100{height:100%!important}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-1 * var(--bs-gutter-x))}
.g-4>.col-md-4{padding-top:var(--bs-gutter-y);padding-left:var(--bs-gutter-x)}

/* 按鈕與邊框裝飾 */
.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.375rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out;cursor:pointer}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}
.btn-outline-primary{color:#0d6efd;border-color:#0d6efd;background-color:transparent}
.btn-outline-success{color:#198754;border-color:#198754;background-color:transparent}
.btn-outline-warning{color:#ffc107;border-color:#ffc107;background-color:transparent}
.btn-outline-primary:hover{color:#fff;background-color:#0d6efd}
.btn-outline-success:hover{color:#fff;background-color:#198754}
.btn-outline-warning:hover{color:#000;background-color:#ffc107}

/* 彩色頂部小邊框 */
.border-top{border-top:1px solid #dee2e6!important}
.border-primary{border-color:#0d6efd!important}
.border-success{border-color:#198754!important}
.border-warning{border-color:#ffc107!important}
.border-4{border-width:4px!important}

/* 實用工具類別 */
.bg-dark{background-color:#212529!important}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}
.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}
.text-center{text-align:center!important}
.text-muted{color:#6c757d!important}
.text-primary{color:#0d6efd!important}
.text-success{color:#198754!important}
.text-warning{color:#ffc107!important}
.fw-bold{font-weight:700!important}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.my-5{margin-top:3rem!important;margin-bottom:3rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mt-3{margin-top:1rem!important}
.gap-2{gap:.5rem!important}
.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}
.lead{font-size:1.25rem;font-weight:300}
