/* Q150 延續原網站色彩、圓角與內容寬度。 */
.qq-cart-engineering-layout,#qq-cart-top-summary,.qq-cart-step-nav{display:none!important}
#q150-root{--q150-ink:#142c49;--q150-blue:#173d6c;--q150-line:#d7e0eb;color:var(--q150-ink);max-width:1060px;margin:24px auto 44px;min-width:0;scroll-margin-top:24px;padding-bottom:100px}
#q150-root *{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
#q150-root [hidden]{display:none!important}
#q150-root .q150-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 24px;font-size:14px}
#q150-root .q150-progress li{border-top:4px solid #d7e0eb;padding-top:8px}
#q150-root .q150-progress [aria-current=step]{border-color:var(--q150-blue);font-weight:700}
#q150-root .q150-panel{padding:28px;background:#fff;border:1px solid var(--q150-line);border-radius:14px}
#q150-root h2{font-size:clamp(24px,3vw,30px);line-height:1.4;margin:0 0 10px}
#q150-root h3{font-size:19px;line-height:1.5;margin:0 0 8px}
#q150-root p{line-height:1.75;margin:8px 0 14px}
#q150-root button,#q150-root input,#q150-root select,#q150-root textarea{font:inherit}
#q150-root button,#q150-root input:not([type=radio]):not([type=checkbox]),#q150-root select,#q150-root summary,#q150-root .q150-link{min-height:48px}
#q150-root button{border:1px solid #b9c9da;border-radius:9px;padding:10px 14px;background:#fff;color:var(--q150-ink);cursor:pointer}
#q150-root button:disabled{opacity:.55;cursor:default}
#q150-root .q150-primary{background:var(--q150-blue);border-color:var(--q150-blue);color:#fff;font-weight:700;flex:1}
#q150-root .q150-actions{display:flex;gap:12px;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1060px,calc(100% - 32px));background:#fff;padding:12px 14px;border:1px solid var(--q150-line);border-radius:12px 12px 0 0;z-index:100}
#q150-root .q150-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
#q150-root .q150-groups button{min-height:72px;text-align:left;font-weight:700}
#q150-root [aria-pressed=true]{background:#eaf2fb;border:2px solid var(--q150-blue)}
#q150-root .q150-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
#q150-root .q150-card{border:1px solid var(--q150-line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:8px}
#q150-root .q150-card button{margin-top:auto}
#q150-root .q150-price{font-size:17px;font-weight:700;color:var(--q150-blue)}
#q150-root .q150-note{background:#f0f5fb;border-left:3px solid #3c6594;padding:14px 16px;border-radius:0 9px 9px 0;font-size:14px;line-height:1.8}
#q150-root details{border:1px solid var(--q150-line);border-radius:10px;padding:8px 14px;margin:14px 0}
#q150-root summary{cursor:pointer;display:flex;align-items:center;font-weight:700}
#q150-root .q150-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
#q150-root label{display:block;font-weight:600;line-height:1.6}
#q150-root input:not([type=radio]):not([type=checkbox]),#q150-root select,#q150-root textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #aebfd2;border-radius:8px;background:#fff;color:var(--q150-ink)}
#q150-root textarea{min-height:100px;resize:vertical}
#q150-root .q150-wide{grid-column:1/-1}
#q150-root .q150-choice{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--q150-line);border-radius:10px;margin:12px 0;min-height:54px}
#q150-root .q150-choice input{width:22px;height:22px;flex-shrink:0;margin:3px 0}
#q150-root .q150-photos{padding-left:24px;line-height:1.9}
#q150-root .q150-photos li{padding:8px 0}
#q150-root .q150-fees{margin:16px 0;padding:16px;border:1px solid var(--q150-line);border-radius:10px}
#q150-root .q150-fees dl{margin:0}
#q150-root .q150-fees dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e2e9f2}
#q150-root dd{margin:0;text-align:right;font-weight:700}
#q150-root .q150-total{font-size:20px;color:var(--q150-blue)}
#q150-root .q150-link{display:inline-flex;align-items:center;padding:10px 4px;color:#174b82;font-weight:700}
#q150-root .q150-message{padding:12px 0;white-space:pre-line;line-height:1.7}
#q150-root .q150-selected-row{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--q150-line)}
#q150-root .q150-selected-row label{font-size:13px}
#q150-root .q150-selected-row input{margin:0}
#q150-root :focus-visible{outline:3px solid #d68119;outline-offset:3px}
@media(max-width:640px){#q150-root{margin:16px 0 32px}#q150-root .q150-panel{padding:18px 14px}#q150-root .q150-groups{grid-template-columns:repeat(2,minmax(0,1fr))}#q150-root .q150-catalog,#q150-root .q150-fields{grid-template-columns:minmax(0,1fr)}#q150-root .q150-progress{gap:5px;font-size:12px}#q150-root .q150-actions{padding-bottom:8px}#q150-root .q150-selected-row{grid-template-columns:minmax(0,1fr) 68px auto}#q150-root .q150-selected-row button{padding:10px}}

/* Q318：資料讀取時預留流程高度，避免頁尾在首屏載入後跳動。 */
#q150-root{min-height:720px}
#q150-root > [role="status"]{padding:28px;border:1px solid #d7e0eb;border-radius:14px;background:#fff;color:#173d6c}

/* 直購復原：依入口分流，不覆寫金融控制器的 hidden 保護。 */
html:not([data-q318-cart-view="new"]) #q150-root{display:none!important}
html:not([data-q318-cart-view="existing"]) #cartExistingOrders{display:none!important}
html:not([data-q318-cart-view="payment"]) :is(#qq-cart-payment-guide,#cart-payment){display:none!important}
html:not([data-q318-cart-view="learning"]) .qq-cart-learning-view{display:none!important}
/* 原精簡樣式會隱藏 launch；直購網址或關閉視窗後保留原開啟入口。 */
html[data-q318-cart-view="checkout"] body.qq-cart-customer-first #qq-auto-checkout-root .ac-launch{display:block!important}
@media(min-width:601px){.qq-entry-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
