.bb{--oat:#F6F2EA;--oat2:#EFE9DD;--white:#fff;--sage:#9DB0A0;--sage2:#DCE5DD;--deep:#3E5648;--deep2:#2B3D33;--terra:#C77B58;--terra2:#A9603F;--ink:#25302A;--tx:#55645B;--sub:#8A968E;--line:rgba(62,86,72,.16);
--sans:"Noto Sans TC",sans-serif;--serif:"Noto Serif TC",serif;--ease:cubic-bezier(.22,1,.36,1);font-family:var(--sans);font-size:16px;color:var(--tx);background:var(--oat);letter-spacing:.05em;line-height:1.95;overflow-x:clip}
.bb *{box-sizing:border-box}.bb a{text-decoration:none;color:inherit}.bb img{display:block;max-width:100%}
.bb p,.bb h1,.bb h2,.bb h3,.bb h4,.bb ul,.bb ol,.bb figure,.bb details,.bb blockquote,.bb table{margin:0}.bb p:empty{display:none !important}
.bb :where(.is-layout-flow,.is-layout-flex)>*{margin-block:0}
body:has(.bb){overflow-x:hidden;background:#F6F2EA}body:has(.bb) [data-vertical-spacing]{padding-top:0 !important;padding-bottom:0 !important}
body:has(.bb) .hero-section,body:has(.bb) .entry-header{display:none !important}
body:has(.bb) #footer,body:has(.bb) .ct-footer,body:has(.bb) #header,body:has(.bb) header.ct-header{display:none !important}
.bb{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:0 !important}.bb>*{margin-block:0 !important}
.bb-w{max-width:1160px;margin-inline:auto !important;padding-inline:clamp(20px,5vw,60px)}
.bb-sec{padding-block:clamp(64px,8vw,116px);position:relative}
html:has(.bb){scroll-behavior:smooth}.bb [id]{scroll-margin-top:84px}
/* 聲明＋導覽 */
.bb-top{background:var(--deep2);color:#D5E0D8;text-align:center;font-size:13px;letter-spacing:.08em;padding:8px 16px;line-height:1.5}.bb-top b{color:#F0C8B2;font-weight:500}
.bb-nav{position:sticky;top:0;z-index:50;background:rgba(246,242,234,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bb-nav .in{max-width:1160px;margin-inline:auto;padding:12px clamp(20px,5vw,60px);display:flex;align-items:center;gap:26px}
.bb-logo{display:flex;align-items:center;gap:12px;color:var(--deep2)}
.bb-logo i{width:34px;height:34px;border-radius:50%;border:2px solid var(--deep);position:relative;flex:none}.bb-logo i:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--terra)}
.bb-logo b{display:block;font:600 18px/1.2 var(--serif);letter-spacing:.12em}.bb-logo small{display:block;font-size:11px;color:var(--sub);letter-spacing:.16em;line-height:1.4}
.bb .bb-menu{display:flex;gap:26px;list-style:none;padding:0;margin:0 0 0 auto}
.bb-nav .bb-menu a{font-size:14.5px;color:var(--deep);padding:6px 0;position:relative}.bb-nav .bb-menu a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--terra);transform:scaleX(0);transition:transform .4s var(--ease)}.bb-nav .bb-menu a:hover:after{transform:none}
.bb .bb-my>.wp-block-button__link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;background:var(--deep);color:#fff;font:500 14px/1 var(--sans);letter-spacing:.06em;border:0}
.bb .bb-my .n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--terra);font-size:12px;line-height:1}
/* 按鈕 */
.bb .bb-btn>.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:999px;border:1px solid var(--deep);background:var(--deep);color:#fff;font:500 15px/1 var(--sans);letter-spacing:.08em;transition:background .35s,box-shadow .35s,transform .35s}
.bb .bb-btn>.wp-block-button__link:hover{background:var(--deep2);box-shadow:0 14px 28px -14px rgba(43,61,51,.7);transform:translateY(-2px)}
.bb .bb-btn.terra>.wp-block-button__link{background:var(--terra);border-color:var(--terra)}.bb .bb-btn.terra>.wp-block-button__link:hover{background:var(--terra2);border-color:var(--terra2)}
.bb .bb-btn.ghost>.wp-block-button__link{background:transparent;color:var(--deep);border-color:var(--deep)}.bb .bb-btn.ghost>.wp-block-button__link:hover{background:var(--sage2);box-shadow:none}
.bb .bb-btn.sm>.wp-block-button__link{min-height:40px;padding:0 22px;font-size:13.5px}
.bb .bb-btn>.wp-block-button__link:focus-visible,.bb a:focus-visible,.bb summary:focus-visible,.bb button:focus-visible,.bb input:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
/* 標題 */
.bb .bb-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font:500 13px/1.4 var(--sans);letter-spacing:.22em;color:var(--terra2)}.bb .bb-eyebrow:before{content:"";width:22px;height:1px;background:currentColor}
.bb .bb-h2{font:600 clamp(26px,3.2vw,40px)/1.5 var(--serif);letter-spacing:.06em;color:var(--ink);text-wrap:balance}
.bb .bb-lead{margin-top:14px;max-width:36em;font-size:clamp(15px,1.15vw,17px)}
.bb .bb-head{margin-bottom:clamp(30px,4.5vw,54px)}.bb .bb-head.c{text-align:center}.bb .bb-head.c .bb-lead{margin-inline:auto}
/* 主視覺：淺色疊在亮圖上，文字靠右 */
.bb-hero{position:relative;min-height:clamp(520px,58vw,660px);display:flex;align-items:center;overflow:hidden;background:var(--oat2)}
.bb-hero .bg{position:absolute;inset:0;margin:0 !important}.bb-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:30% 55%}
.bb-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(270deg,rgba(246,242,234,.96) 0,rgba(246,242,234,.86) 36%,rgba(246,242,234,0) 72%)}
.bb-hero .bb-w{position:relative;z-index:2;width:100%;display:flex;justify-content:flex-end}.bb-hero .box{width:min(100%,500px)}
.bb-hero .tag{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--sage2);color:var(--deep);font-size:13px;letter-spacing:.14em;line-height:1.8}
.bb-hero h1{margin-top:16px;font:600 clamp(32px,4.2vw,54px)/1.45 var(--serif);letter-spacing:.06em;color:var(--ink);text-wrap:balance}
.bb-hero .sub{margin-top:16px;font-size:clamp(15px,1.2vw,17.5px)}
.bb-hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
/* 數字 */
.bb-nums{background:var(--deep);color:#DCE7DF;padding-block:clamp(34px,4.5vw,56px)}
.bb-nums .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.bb-nums .num{font:600 clamp(30px,3.6vw,46px)/1.2 var(--serif);color:#F0C8B2}.bb-nums .num small{font-size:.45em;margin-left:4px;color:#DCE7DF}.bb-nums .lb{margin-top:4px;font-size:14px;letter-spacing:.1em;color:#B9C9BF}
/* 三種課 */
.bb-types .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px)}
.bb-ty{border-radius:22px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
@media (hover:hover){.bb-ty:hover{transform:translateY(-6px);box-shadow:0 28px 48px -30px rgba(43,61,51,.5)}}
.bb-ty .ph{margin:0 !important;aspect-ratio:4/3;overflow:hidden}.bb-ty .ph img{width:100%;height:100%;object-fit:cover}
.bb-ty .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}.bb-ty h3{font:600 20px/1.5 var(--serif);color:var(--ink)}.bb-ty p{font-size:14.5px}.bb-ty .for{margin-top:auto !important;padding-top:8px;font-size:13.5px;color:var(--sub)}
/* 課堂卡（首頁預覽與課表共用） */
.bb-list{display:grid;gap:12px}
.bb-s{display:grid;grid-template-columns:96px 1fr 190px auto;gap:18px;align-items:center;padding:18px 22px;border-radius:18px;background:#fff;border:1px solid transparent;transition:border-color .4s,box-shadow .4s}
@media (hover:hover){.bb-s:hover{border-color:var(--sage);box-shadow:0 18px 34px -26px rgba(43,61,51,.5)}}
.bb-s .tm{font:600 22px/1.3 var(--serif);color:var(--deep)}.bb-s .dy{font:400 13px/1.4 var(--sans);color:var(--sub)}
.bb-s h3{font:600 18px/1.5 var(--serif);color:var(--ink)}.bb-s .meta{font-size:13.5px;color:var(--sub);word-break:keep-all}
.bb-s .lv{display:inline-block;margin-right:8px;padding:0 10px;border-radius:6px;background:var(--sage2);color:var(--deep);font-size:12px;line-height:1.9}
.bb-s .cap{font-size:13.5px;color:var(--tx);margin-bottom:6px}
.bb-s .cap:after{content:"";display:block;height:6px;margin-top:6px;border-radius:99px;background:linear-gradient(90deg,var(--sage) var(--f,50%),var(--sage2) var(--f,50%))}
.bb-s.is-low .cap{color:var(--terra2)}.bb-s.is-low .cap:after{background:linear-gradient(90deg,var(--terra) var(--f,50%),var(--sage2) var(--f,50%))}
.bb-s.is-full .cap{color:var(--sub)}.bb-s.is-full .cap:after{background:var(--sub);opacity:.55}
.bb .bb-book>.wp-block-button__link{min-width:104px;min-height:42px;padding:0 20px;border-radius:999px;border:1px solid var(--deep);background:var(--deep);color:#fff;font:500 14px/1 var(--sans);letter-spacing:.08em;transition:background .3s}
.bb .bb-book>.wp-block-button__link:hover{background:var(--deep2)}
.bb-s.is-full .bb-book>.wp-block-button__link{background:transparent;color:var(--deep)}
.bb-s.is-booked .bb-book>.wp-block-button__link{background:var(--sage2);border-color:var(--sage);color:var(--deep)}
.bb-s.is-wait .bb-book>.wp-block-button__link{background:#FBEFE8;border-color:var(--terra);color:var(--terra2)}
.bb-s.is-booked{border-color:var(--sage)}
.bb-more{display:flex;justify-content:center;margin-top:clamp(26px,3.5vw,42px)}
/* 老師 */
.bb-teachers{background:#fff}
.bb-teachers .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
.bb-tc{display:flex;flex-direction:column;border-radius:22px;background:var(--oat);overflow:hidden}
.bb-tc .ph{margin:0 !important;aspect-ratio:4/5;overflow:hidden}.bb-tc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
@media (hover:hover){.bb-tc:hover .ph img{transform:scale(1.04)}}
.bb-tc .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}
.bb-tc h3{font:600 21px/1.4 var(--serif);color:var(--ink)}.bb-tc .rl{font-size:13.5px;color:var(--terra2)}.bb-tc .ex{font-size:14px}.bb-tc .qt{margin-top:6px !important;padding-top:10px;border-top:1px solid var(--line);font:400 14.5px/1.8 var(--serif);color:var(--deep)}
/* 方案 */
.bb-plans .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);align-items:stretch}
.bb-plan{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 28px 30px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.bb-plan.hi{border-color:var(--terra);box-shadow:0 30px 50px -36px rgba(169,96,63,.7)}
.bb-plan .rec{position:absolute;top:-13px;left:28px;padding:2px 14px;border-radius:999px;background:var(--terra);color:#fff;font-size:12.5px;letter-spacing:.14em;line-height:1.8}
.bb-plan h3{font:600 20px/1.5 var(--serif);color:var(--ink)}.bb-plan .pr{font:600 34px/1.2 var(--serif);color:var(--deep)}.bb-plan .pr small{font:400 14px/1 var(--sans);color:var(--sub);margin-left:6px}
.bb-plan ul{list-style:none;padding:0;display:grid;gap:8px;font-size:14.5px;margin-top:4px}.bb-plan li{padding-left:24px;position:relative}
.bb-plan li:before{content:"";position:absolute;left:0;top:.62em;width:14px;height:14px;border-radius:50%;background:var(--sage2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E5648' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.bb-plan .wp-block-buttons{margin-top:auto !important;padding-top:8px}.bb-plan .wp-block-button,.bb-plan .wp-block-button__link{width:100%}
/* 回饋／步驟 */
.bb-rev .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.bb-rc{padding:28px 28px 26px;border-radius:22px;background:#fff;display:flex;flex-direction:column;gap:12px}.bb-rc .st{color:var(--terra);letter-spacing:.2em;font-size:15px;line-height:1}.bb-rc .qt{font-size:15px;line-height:1.9;color:var(--ink)}.bb-rc .who{margin-top:auto !important;font-size:13.5px;color:var(--sub)}.bb-rc .who b{color:var(--ink);font-weight:500}
.bb-first{background:#fff}.bb-first .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.bb-first .ph{margin:0 !important;border-radius:24px;overflow:hidden;aspect-ratio:4/3}.bb-first .ph img{width:100%;height:100%;object-fit:cover}
.bb-steps{display:grid;gap:20px;margin-top:28px !important}.bb-step{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start}
.bb-step .no{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--sage2);color:var(--deep);font:600 18px/1 var(--serif)}
.bb-step h3{font:600 17px/1.5 var(--serif);color:var(--ink)}.bb-step p{font-size:14.5px;color:var(--sub)}
/* FAQ */
.bb-faq .bb-w{max-width:880px}
.bb .wp-block-details{border-bottom:1px solid var(--line);padding:6px 0}
.bb .wp-block-details summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font:600 16.5px/1.6 var(--serif);color:var(--ink)}
.bb .wp-block-details summary::-webkit-details-marker{display:none}
.bb .wp-block-details summary:after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--terra);border-bottom:2px solid var(--terra);transform:translateY(-70%) rotate(45deg);transition:transform .4s var(--ease)}
.bb .wp-block-details[open] summary:after{transform:translateY(-30%) rotate(-135deg)}
.bb .wp-block-details p{padding:0 0 20px;font-size:15px}
/* CTA 與頁尾 */
.bb-cta{position:relative;color:#fff;text-align:center;overflow:hidden;background:var(--deep2)}
.bb-cta .bg{position:absolute;inset:0;margin:0 !important}.bb-cta .bg img{width:100%;height:100%;object-fit:cover}.bb-cta:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(43,61,51,.66)}
.bb-cta .bb-w{position:relative;z-index:2}.bb-cta h2{font:600 clamp(26px,3.4vw,42px)/1.5 var(--serif);color:#fff;text-wrap:balance}.bb-cta p{margin-top:12px;color:#DCE7DF}
.bb-cta .bb-btns{justify-content:center;margin-top:26px}.bb-cta .bb-btn.ghost>.wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.7)}.bb-cta .bb-btn.ghost>.wp-block-button__link:hover{background:rgba(255,255,255,.16)}
.bb-info{background:var(--deep2);color:#B9C9BF;padding-block:36px 8px}.bb-info .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 40px;font-size:14px;line-height:1.9}.bb-info h3{font:600 15px/1.6 var(--serif);color:#F0C8B2;margin-bottom:4px}
.bb-foot{background:var(--deep2);color:#8FA397;font-size:13.5px;text-align:center;padding:18px 20px 30px;line-height:1.9}.bb-foot a{text-decoration:underline}
/* 內頁頁首 */
.bb-pagehead{padding-block:clamp(38px,6vw,76px) clamp(18px,2.5vw,30px);background:linear-gradient(180deg,var(--sage2),var(--oat))}
.bb-pagehead .crumb{font-size:13.5px;color:var(--sub);margin-bottom:14px}.bb-pagehead .crumb a{text-decoration:underline}
.bb-pagehead h1{font:600 clamp(30px,4vw,48px)/1.4 var(--serif);letter-spacing:.06em;color:var(--ink)}
/* 課表 */
.bb-schedsec{padding-block:0 clamp(60px,8vw,100px)}
.bb-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin-top:clamp(18px,2.5vw,28px);-webkit-overflow-scrolling:touch;scrollbar-width:none}.bb-tabs::-webkit-scrollbar{display:none}
.bb-tabs>*{flex:none}
.bb .bb-tab>.wp-block-button__link{min-width:76px;min-height:64px;padding:8px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 15px/1.3 var(--sans);letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.bb .bb-tab>.wp-block-button__link:hover{border-color:var(--deep)}.bb .bb-tab.is-on>.wp-block-button__link{background:var(--deep);border-color:var(--deep);color:#fff}
.bb .bb-tab.is-today>.wp-block-button__link:after{content:"今天";font-size:11px;color:var(--terra2);letter-spacing:.1em}.bb .bb-tab.is-today.is-on>.wp-block-button__link:after{color:#F0C8B2}
.bb-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 clamp(16px,2vw,24px)}
.bb-pills{display:flex;flex-wrap:wrap;gap:10px}
.bb .bb-pill>.wp-block-button__link{min-height:38px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 14px/1 var(--sans);letter-spacing:.06em}
.bb .bb-pill>.wp-block-button__link:hover{border-color:var(--deep)}.bb .bb-pill.is-on>.wp-block-button__link{background:var(--sage2);border-color:var(--deep);color:var(--deep)}
.bb .bb-bar .total{font-size:14px;color:var(--sub)}.bb .bb-bar .total b{color:var(--ink);font-weight:600}
.bb-empty{display:none;padding:50px 20px;text-align:center;border-radius:18px;background:#fff;color:var(--sub)}.bb-empty.on{display:block}
.bb-sched .dy{display:none}
.bb-legend{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--sub)}
/* 價格頁 */
.bb .bb-table{margin-top:clamp(30px,4vw,48px)}.bb-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;font-size:14.5px}
.bb-table th,.bb-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.bb-table th{background:var(--sage2);color:var(--deep);font-weight:600}
.bb-table tbody th{background:#fff;color:var(--ink)}
.bb-table.wp-block-table{overflow-x:auto}.bb-table table{min-width:640px}
.bb .bb-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(30px,4vw,48px)}
.bb-rule{padding:24px 26px;border-radius:20px;background:#fff}.bb-rule h3{font:600 17px/1.5 var(--serif);color:var(--ink);margin-bottom:6px}.bb-rule p{font-size:14.5px}
/* 老師與課程頁 */
.bb-tbig{display:grid;gap:clamp(24px,3vw,40px)}
.bb-tb{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(20px,3vw,34px);border-radius:26px;background:#fff}
.bb-tb:nth-child(even){grid-template-columns:1.2fr .8fr}.bb-tb:nth-child(even) .ph{order:2}
.bb-tb .ph{margin:0 !important;border-radius:20px;overflow:hidden;aspect-ratio:4/5}.bb-tb .ph img{width:100%;height:100%;object-fit:cover}
.bb-tb h3{font:600 26px/1.4 var(--serif);color:var(--ink)}.bb-tb .rl{color:var(--terra2);font-size:14px}.bb-tb p{margin-top:10px}
.bb-tb ul{list-style:none;padding:0;margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.bb-tb li{padding:2px 14px;border-radius:999px;background:var(--sage2);color:var(--deep);font-size:13px;line-height:1.9}
.bb-cl .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.bb-cc{padding:26px 26px 28px;border-radius:20px;background:#fff;display:flex;flex-direction:column;gap:8px}.bb-cc h3{font:600 19px/1.5 var(--serif);color:var(--ink)}.bb-cc .tags{font-size:12.5px;color:var(--sub)}.bb-cc .tags b{font-weight:500;color:var(--deep)}.bb-cc p{font-size:14.5px}
/* 預約面板與抽屜（JS 產生） */
.bb-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(37,48,42,.5);opacity:0;pointer-events:none;transition:opacity .35s}.bb-ov.on{opacity:1;pointer-events:auto}
.bb-modal,.bb-drawer{position:fixed;z-index:2147483001;background:var(--oat);color:var(--tx);font-family:var(--sans);line-height:1.8}.bb-modal *,.bb-drawer *{box-sizing:border-box}
.bb-modal{left:50%;top:50%;width:min(92vw,460px);max-height:90vh;overflow:auto;border-radius:22px;padding:26px 26px 22px;transform:translate(-50%,-46%);opacity:0;pointer-events:none;transition:all .4s var(--ease)}.bb-modal.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
.bb-modal h3{font:600 21px/1.5 var(--serif);color:var(--ink)}.bb-modal .mt{font-size:14px;color:var(--sub);margin-top:2px}
.bb-modal .opts{display:grid;gap:10px;margin:18px 0 12px}.bb-modal label{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);cursor:pointer;font-size:14.5px}
.bb-modal label.on{border-color:var(--deep);background:var(--sage2)}.bb-modal label small{display:block;font-size:12.5px;color:var(--sub)}.bb-modal label b{margin-left:auto;font:600 15px/1 var(--serif);color:var(--deep);white-space:nowrap}.bb-modal input{accent-color:var(--deep)}
.bb-modal label.off{opacity:.45;cursor:not-allowed}
.bb-modal .rule{font-size:12.5px;color:var(--sub);line-height:1.7}
.bb-modal .row{display:flex;gap:10px;margin-top:18px}.bb-modal .row button{flex:1;min-height:46px;border-radius:999px;border:1px solid var(--deep);font:500 14.5px/1 var(--sans);letter-spacing:.08em;cursor:pointer}
.bb-modal .ok{background:var(--deep);color:#fff}.bb-modal .no{background:transparent;color:var(--deep)}
.bb-drawer{top:0;right:0;bottom:0;width:min(100%,400px);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .5s var(--ease);box-shadow:-30px 0 60px -30px rgba(37,48,42,.5)}.bb-drawer.on{transform:none}
.bb-drawer .hd{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);font:600 18px/1.4 var(--serif);color:var(--ink)}.bb-drawer .hd button{border:0;background:none;font-size:26px;line-height:1;color:var(--deep);cursor:pointer;padding:4px 8px}
.bb-drawer .wal{margin:14px 22px 0;padding:12px 14px;border-radius:14px;background:var(--sage2);font-size:13.5px;color:var(--deep)}
.bb-drawer .ls{flex:1;overflow:auto;padding:8px 22px 20px}.bb-drawer .it{padding:14px 0;border-bottom:1px solid var(--line)}.bb-drawer .it b{display:block;font:600 16px/1.5 var(--serif);color:var(--ink)}.bb-drawer .it span{font-size:13.5px;color:var(--sub)}
.bb-drawer .it em{display:inline-block;margin-left:6px;padding:0 10px;border-radius:6px;background:var(--sage2);color:var(--deep);font-style:normal;font-size:12px;line-height:1.9}.bb-drawer .it em.w{background:#FBEFE8;color:var(--terra2)}
.bb-drawer .it button{display:block;margin-top:8px;border:0;background:none;color:var(--terra2);font:500 13.5px/1.4 var(--sans);text-decoration:underline;cursor:pointer;padding:0}
.bb-drawer .empty{padding:60px 10px;text-align:center;color:var(--sub);font-size:15px}.bb-drawer .ft{padding:14px 22px 22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--sub);text-align:center}
.bb-toast{position:fixed;left:50%;bottom:28px;z-index:2147483002;max-width:calc(100% - 32px);padding:13px 22px;border-radius:14px;background:var(--deep2);color:#fff;font:400 14px/1.5 var(--sans);transform:translate(-50%,30px);opacity:0;pointer-events:none;transition:all .45s var(--ease)}.bb-toast.on{transform:translate(-50%,0);opacity:1}
/* 進場 */
.bb.bb-js .bb-rv:not(.is-in){opacity:0;transform:translateY(22px)}.bb-rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
@keyframes bbUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.bb-up{animation:bbUp 1s var(--ease) both}
/* 手機 */
@media (max-width:980px){
.bb-types .grid,.bb-teachers .grid,.bb-plans .grid,.bb-rev .grid,.bb-cl .grid,.bb-rules{grid-template-columns:1fr}
.bb-nums .grid{grid-template-columns:repeat(3,1fr);gap:12px}.bb-first .wrap,.bb-tb,.bb-tb:nth-child(even){grid-template-columns:1fr}.bb-tb:nth-child(even) .ph{order:0}.bb-tb .ph{max-width:360px}
.bb-info .grid{grid-template-columns:1fr}
.bb .bb-menu{display:none}.bb-nav .in{gap:12px;justify-content:space-between}
.bb-hero{min-height:0;flex-direction:column;align-items:stretch;background:var(--oat)}.bb-hero:before{display:none}.bb-hero .bg{position:static;aspect-ratio:4/3}.bb-hero .bb-w{justify-content:flex-start;padding-block:28px 44px}
.bb-s{grid-template-columns:76px 1fr auto;gap:8px 14px;padding:16px}.bb-s .cap-wrap{grid-column:1/-1;grid-row:2}.bb-s .bb-book{grid-column:3;grid-row:1}
}
@media (max-width:560px){.bb-nums .num{font-size:28px}.bb-nums .lb{font-size:12.5px}.bb-modal{padding:22px 18px 18px}}
@media (prefers-reduced-motion:reduce){.bb *{animation:none !important;transition:none !important}}