/* 僅補動態資料與表單控制，不取代設計師配色。 */
/* clip 避免橫向溢出，同時不建立阻斷 sticky 的捲動容器。 */
html, body { overflow-x:clip; }
/* 共用頁首保留自身空間，登入資訊及手機選單不覆蓋頁面內容。 */
header.header { position:sticky; top:0; z-index:999; background:#fff; }
header.header .navbar,
header.header .navbar.fixed-top { position:relative; top:auto; right:auto; left:auto; animation:none; }
header.header .nav-logout { background:none; border:0; border-radius:0; line-height:inherit; text-align:left; }
header.header .nav-logout:focus-visible { outline:2px solid var(--theme-color); outline-offset:3px; }
.account-bar { background:#f7f8f7; border-bottom:1px solid #e5e9e6; }
.account-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px 18px; padding-top:6px; padding-bottom:6px; color:#68716c; font-size:13px; }
.account-meta > span { min-width:0; overflow-wrap:anywhere; }
.account-name { display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.account-quota { display:inline-flex; align-items:center; gap:8px; padding-left:18px; border-left:1px solid #d8e1db; }
.account-quota strong { color:var(--theme-color); font-weight:700; font-variant-numeric:tabular-nums; }
@media (max-width:575px) {
  .account-meta { justify-content:flex-end; gap:4px 12px; }
  .account-quota { padding-left:12px; }
}
.captcha-row { display:grid; grid-template-columns:minmax(0,1fr) 140px; gap:0; align-items:center; overflow:hidden; border:1px solid #e3e3e3; border-radius:10px; }
.ajax-form .captcha-row .validation-control > input.form-control { min-width:0; height:48px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.captcha-row button { height:48px; padding:0; background:none; border:0; border-left:1px solid #e3e3e3; }
.captcha-row button:focus-visible { outline:2px solid var(--theme-color); outline-offset:-2px; }
.captcha-row img { display:block; width:100%; height:48px; object-fit:contain; background:#191919; }
.captcha-row:focus-within { border-color:var(--theme-color); }
.captcha-row.has-error { border-color:#d29a9a; background:#fff8f8; }
.ajax-form .validation-control { position:relative; min-width:0; }
.ajax-form .validation-control > .form-control { padding-right:38px; }
.ajax-form .validation-control.has-error > .form-control { border-color:#d29a9a; background-color:#fff8f8; box-shadow:none; }
.ajax-form .validation-control.has-error::after { content:''; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:14px; height:14px; border-radius:50%; background-color:#b95151; background-image:linear-gradient(#fff,#fff),radial-gradient(circle,#fff 65%,transparent 70%); background-size:2px 5px,2px 2px; background-position:center 3px,center 9px; background-repeat:no-repeat; pointer-events:none; }
.ajax-form .validation-control.has-error[data-error-symbol="×"]::after { background-image:linear-gradient(45deg,transparent 42%,#fff 43%,#fff 57%,transparent 58%),linear-gradient(-45deg,transparent 42%,#fff 43%,#fff 57%,transparent 58%); background-size:8px 8px; background-position:center; }
.ajax-form .validation-control:has(textarea).has-error::after { top:22px; }
.ajax-form .validation-control > .validation-message { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
span.error { color:#b34437; font-size:14px; }
.item-single-btn-area { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.product-price-note { color:#919295; font-size:13px; font-weight:400; }
.empty-state { text-align:center; color:#737d78; padding:48px 16px; }
.car-img img { object-fit:contain; }
.brand-img img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.hero-title, .breadcrumb-menu, .brand-item h5 { overflow-wrap:anywhere; }
.brand-grid.is-collapsed > :nth-child(n+7) { display:none; }
.brand-more { margin-top:8px; }
.brand-more[hidden] { display:none; }
.find-car-form .form-control,
.find-car-form .form-select { height:45px; padding:8px 16px; border:1px solid #ced4da; border-radius:12px; background-color:#fff; color:var(--body-text-color); font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; box-shadow:none; }
.find-car-form .form-control::placeholder { color:var(--body-text-color); font-size:16px; font-weight:400; opacity:1; }
.find-car-form .form-control:focus,
.find-car-form .form-select:focus { border-color:var(--theme-color); box-shadow:none; }
.find-car-form .search-select-input { padding-right:38px; }
/* 選項浮層掛在 body，僅由前端樣式統一，不更動前後端共用元件。 */
body > .search-select-menu { border-color:#ced4da; border-radius:12px; color:var(--body-text-color); font-size:16px; font-weight:400; line-height:1.5; }
body > .search-select-menu .search-select-option { color:var(--body-text-color); font-weight:400; }
body > .search-select-menu .search-select-option:hover,
body > .search-select-menu .search-select-option.is-active,
body > .search-select-menu .search-select-option.is-selected { background:#eaf5ef; color:var(--theme-color); }
.find-car .search-select::after { content:''; position:absolute; right:20px; top:18px; width:8px; height:8px; border-right:2px solid var(--body-text-color); border-bottom:2px solid var(--body-text-color); transform:rotate(45deg); pointer-events:none; }
@media (min-width:768px) and (max-width:991px) {
  .brand-grid.is-collapsed > :nth-child(-n+8) { display:block; }
  .brand-grid.is-collapsed > :nth-child(n+9) { display:none; }
}
@media (min-width:992px) {
  .brand-grid.is-collapsed > :nth-child(-n+12) { display:block; }
  .brand-grid.is-collapsed > :nth-child(n+13) { display:none; }
}
.shop-item-single.product .flexslider-thumbnails .slides .slides-image .slides-image-small,
.shop-item-single.product .flex-control-thumbs li img { object-fit:contain; }
.car-list-text, .single-item-title, .single-item-suttitle span, .cart-productname, .cart-productname-sub { overflow-wrap:anywhere; min-width:0; }
.product-tag { display:inline; }
.navbar .nav-item.inquiry { padding-right:0; }
.navbar .inquiry-nav-label { position:relative; display:inline-block; }
.navbar .inquiry-cart-count { position:absolute; top:4px; right:-4px; transform:translate(50%, -50%); display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; line-height:1; }
.inquiry-cart-count[hidden], #brand-series a[hidden], #series-more-area[hidden] { display:none!important; }
.product-results-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-bottom:22px; }
.filter-tags { display:flex; flex:1 1 240px; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; }
.product-results-count { display:flex; align-items:baseline; gap:6px; margin:0 0 0 auto; color:#68716c; font-size:14px; white-space:nowrap; }
.product-results-count strong { color:var(--theme-color); font-size:24px; font-weight:700; line-height:1.5; font-variant-numeric:tabular-nums; }
.filter-tags .filter-tag { display:inline-flex; align-items:baseline; gap:4px; min-width:0; max-width:100%; padding:4px 10px; border:1px solid #dfe7e2; border-radius:6px; background:#fff; color:var(--color-dark); font-size:14px; }
.filter-tag .filter-label { flex-shrink:0; color:#68716c; }
.filter-tag > span:last-child { min-width:0; overflow-wrap:anywhere; }
.filter-tags .filter-clear { padding:4px 0; color:var(--theme-color); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.filter-tags .filter-clear:focus-visible { outline:2px solid var(--theme-color); outline-offset:3px; }
.product-price { font-size:20px; font-weight:600; color:var(--theme-color); }
.car-footer .product-price { margin-right:auto; }
.product-grid > [class*="col-"] { display:flex; }
.product-grid .car-item { display:flex; flex-direction:column; width:100%; min-width:0; }
.product-grid .car-img { flex-shrink:0; }
.product-grid .car-content { display:flex; flex-direction:column; flex:1; min-width:0; }
.product-grid .car-list { display:grid; }
.product-grid .car-list .car-list-text { display:grid; grid-template-columns:5.5em minmax(0,1fr); column-gap:8px; margin-right:0; }
.product-grid .car-list .car-field-label { padding-right:0; }
.product-grid .car-field-value { min-width:0; overflow-wrap:anywhere; }
.product-grid .car-footer { margin-top:auto; }
.form-select { height:50px; }
.inquiry-table { width:100%; }
.inquiry-table th, .inquiry-table td { padding:16px 12px; border-bottom:1px solid #edf0ed; vertical-align:middle; }
.cart-img img { width:100px; height:90px; object-fit:contain; }
.cart-quantity { max-width:100px; }
.cart-qty .cart-quantity { width:68px; padding:4px; -moz-appearance:textfield; }
.cart-quantity::-webkit-inner-spin-button, .cart-quantity::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.cart-remove { background:none; border:0; }
.inquiry-table tr[hidden] { display:none; }
.cart-info { display:flex; gap:16px; align-items:center; min-width:220px; }
.inquiry-actions { display:flex; justify-content:space-between; gap:16px; padding:24px 0; }
.inquiry-actions .button-left i { margin-left:0; }
.inquiry-summary { margin-bottom:24px; }
.inquiry-summary .cart-summary { float:none; }
.shop-cart.inquiry .inquiry-summary .cart-summary ul { flex-wrap:wrap; row-gap:8px; }
.shop-cart.inquiry .inquiry-summary .cart-summary li { white-space:nowrap; }
.shop-cart.inquiry .inquiry-summary .cart-summary .inquiry-price-note { color:#919295; font-size:13px; font-weight:400; white-space:normal; }
.inquiry-table .cart-img { flex-shrink:0; }
.inquiry-table .cart-img img { width:100%; }
.inquiry-table .cart-item { min-width:0; flex:1; }
.txtGray { color:#969c99; }
@media (max-width:575px) {
  .shop-cart.inquiry .inquiry-step ul li { padding:0 10px; }
  .shop-cart.inquiry .inquiry-step .theme-btn { font-size:13px; padding:12px 10px; white-space:nowrap; }
  .account-meta { justify-content:space-between; font-size:12px; }
  .captcha-row { grid-template-columns:minmax(0,1fr) 120px; }
  .inquiry-actions { flex-wrap:wrap; }
}

/* 分頁由 main 邊界原生停靠，捲到頁尾時回到正常文流位置。 */
.has-list-pagination { --list-pagination-height:0px; --list-pagination-offset:0px; }
.list-pagination { position:sticky; bottom:0; z-index:996; padding:12px 0 calc(12px + env(safe-area-inset-bottom, 0px)); background:#fff; border-top:1px solid #dfe7e2; box-shadow:0 -3px 12px rgba(0,0,0,.045); }
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))) {
  .list-pagination { background:rgba(255,255,255,.75); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
}
.list-pagination .pagination { gap:8px; margin:0; }
.has-list-pagination #scroll-top { transform:translateY(calc(0px - var(--list-pagination-height) - var(--list-pagination-offset))); transition-property:background-color,opacity,visibility; }
.list-pagination .page-link { display:flex; align-items:center; justify-content:center; margin:0; padding:0; font-variant-numeric:tabular-nums; }
.list-pagination .page-item.disabled .page-link { opacity:.4; }
.list-pagination .page-link:focus-visible { outline:2px solid var(--theme-color); outline-offset:3px; }
@media (max-width:767px) {
  .list-pagination .pagination { gap:6px; }
  .list-pagination .page-link { width:36px; height:36px; font-size:14px; }
  .list-pagination .page-number-tablet-hidden { display:none; }
}
@media (max-width:575px) {
  .list-pagination .page-number-mobile-hidden { display:none; }
}

@media print {
  .list-pagination, .has-list-pagination #scroll-top { display:none !important; }
}
