/* Lexus SEO Studio 1.6.1 — woo-polish.css: chỉ body.single-product. Nạp sau woo-parity.css. */
:root{--lpp-red:#c8102e;--lpp-dot:32px;--lpp-gap:10px;}
/* (1) Hàng chip màu */
html body.single-product.single-product .vehicle-swatch-container .vehicle-swatches-list,
html body.single-product.single-product .vehicle-swatches-list{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:var(--lpp-gap)!important;padding:6px 4px!important;margin:0 auto!important;}
html body.single-product.single-product .vehicle-swatches-list label.vehicle-swatch-item{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:calc(var(--lpp-dot) + 10px)!important;height:calc(var(--lpp-dot) + 10px)!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:50%!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-radio-group{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
/* radio ẩn trực quan nhưng vẫn truy cập được, phủ cả chip để vẫn bấm được */
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-item input[type=radio]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0!important;-webkit-appearance:none!important;appearance:none!important;border:0!important;background:transparent!important;cursor:pointer!important;z-index:2!important;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-dot{display:block!important;box-sizing:border-box!important;flex:0 0 var(--lpp-dot)!important;width:var(--lpp-dot)!important;height:var(--lpp-dot)!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;zoom:1!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)!important;transform:none;transition:transform 180ms ease,box-shadow 180ms ease!important;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-dot.lpp-empty{background-color:#ffffff!important;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-item:hover .vehicle-swatch-dot{transform:translateY(-2px)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),0 3px 8px rgba(0,0,0,.18)!important;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-item input[type=radio]:checked + .vehicle-swatch-dot{transform:scale(1.08)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),0 0 0 3px #fff,0 0 0 5px var(--lpp-red)!important;}
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-item input[type=radio]:focus-visible + .vehicle-swatch-dot{outline:2px solid #111!important;outline-offset:6px!important;}
html body.single-product.single-product .lpp-swatch-name{display:block;text-align:center;margin:6px 0 0;font-size:14px;line-height:1.4;font-weight:600;color:#333;text-transform:capitalize;min-height:1.4em;}
html[data-lph-theme="night"] body.single-product.single-product .lpp-swatch-name{color:#e8e8e8;}
@media (max-width:767px){
html body.single-product.single-product{--lpp-gap:8px;}
}
@media (prefers-reduced-motion:reduce){
html body.single-product.single-product .vehicle-swatches-list .vehicle-swatch-dot{transition:none!important;}
}
/* (4) Dải ảnh thumbnail: viền active đỏ Lexus, giữ kích thước */
html body.single-product.single-product .lph-swatch-pick__slide{transition:opacity 180ms ease,border-color 180ms ease!important;}
html body.single-product.single-product .lph-swatch-pick__slide.is-on{border-color:var(--lpp-red)!important;box-shadow:inset 0 0 0 1px var(--lpp-red)!important;}
/* (5) Dải chữ chạy khuyến mãi: 13px -> 17px (~+30%), mobile 16px */
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker{min-height:44px!important;height:auto!important;overflow:hidden!important;display:flex!important;align-items:center!important;}
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker__track{line-height:44px!important;height:44px!important;}
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker__track span{font-size:17px!important;line-height:44px!important;}
html body.single-product.single-product .elementor-element-35dcbf2.e-con::after,
html body.single-product.single-product .elementor-element-35dcbf2::after{font-size:17px!important;height:44px!important;flex:0 0 44px!important;line-height:44px!important;}
html body.single-product.single-product .elementor-element-35dcbf2:has(.lph-promo-ticker)::after{content:none!important;display:none!important;height:0!important;}
@media (max-width:767px){
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker{min-height:42px!important;}
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker__track,
html body.single-product.single-product .elementor-element-35dcbf2 .lph-promo-ticker__track span{font-size:16px!important;line-height:42px!important;height:42px!important;}
html body.single-product.single-product .elementor-element-35dcbf2.e-con::after,
html body.single-product.single-product .elementor-element-35dcbf2::after{font-size:16px!important;height:42px!important;flex:0 0 42px!important;line-height:42px!important;}
}
/* 1.4.1: tên màu nằm trong hàng chấm, chiếm dòng riêng ở cuối (dưới chấm, trên giá) */
html body.single-product.single-product .vehicle-swatches-list .lpp-swatch-name{flex:0 0 100%!important;width:100%!important;order:9999!important;margin:4px 0 0!important;}
/* 1.6.1: bố cục tách biệt ảnh / hàng chấm màu. Bỏ order:-1 + margin âm (--lpp-hero-pull) gây chồng 33px chắn bấm.
   Container = flex cột: ảnh (order 1) rồi hàng chấm (order 2), không phụ thuộc thứ tự HTML.
   Ảnh xe PNG 697x358 có ~74px trong suốt dưới xe -> cắt bằng aspect-ratio + object-fit:cover, object-position top
   (đổi tỉ lệ qua biến --lpp-hero-ratio nếu bộ ảnh khác). Ảnh pointer-events:none; hàng chấm z-index trên ảnh. */
html body.single-product.single-product .vehicle-swatch-container{display:flex!important;flex-direction:column!important;align-items:stretch!important;position:relative!important;isolation:isolate;width:100%!important;max-width:none!important;min-height:0!important;padding:0!important;aspect-ratio:auto!important;overflow:visible!important;}
html body.single-product.single-product .vehicle-swatch-container #v-swatch-main-img,
html body.single-product.single-product .vehicle-swatch-container img.vehicle-swatch-main-image{order:1!important;display:block!important;box-sizing:border-box!important;flex:0 0 auto!important;align-self:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--lpp-hero-ratio,697/292)!important;object-fit:cover!important;object-position:center top!important;margin:0!important;padding:0!important;transform:none!important;position:relative!important;z-index:1!important;pointer-events:none!important;}
html body.single-product.single-product .vehicle-swatch-container .vehicle-swatches-list{order:2!important;position:relative!important;z-index:3!important;flex:0 0 auto!important;max-width:100%!important;margin:0!important;padding:0 4px 4px!important;row-gap:4px!important;}
@media (min-width:768px){
html body.single-product.single-product .vehicle-swatch-container #v-swatch-main-img,
html body.single-product.single-product .vehicle-swatch-container img.vehicle-swatch-main-image{width:calc(100% + 24px)!important;max-width:none!important;margin:0 -12px!important;align-self:center!important;}
}
/* 1.6.4 (port từ cpt-polish 1.6.3 cho Woo): Ảnh hero bị CSS site đặt overflow:visible -> với object-fit:cover, phần ảnh bị cắt vẫn VẼ tràn xuống dưới
   (ảnh chụp không nền của ES 500e đè lên hàng chấm, tên màu, "GIÁ BÁN TỪ"). Chặn bằng overflow:clip.
   Ảnh có tỉ lệ khác bộ PNG 697x358 (JS gắn .lpp-hero-natural + --lpp-hero-ratio = tỉ lệ thật): contain, không cắt. */
html body.single-product.single-product .vehicle-swatch-container #v-swatch-main-img,
html body.single-product.single-product .vehicle-swatch-container img.vehicle-swatch-main-image{overflow:clip!important;overflow-clip-margin:0!important;}
html body.single-product.single-product .vehicle-swatch-container img.lpp-hero-natural{object-fit:contain!important;object-position:center center!important;margin-bottom:8px!important;}
html body.single-product.single-product .vehicle-swatch-container .lpp-swatch-name{font-size:15px!important;color:#222!important;margin:6px 0 10px!important;}
html[data-lph-theme="night"] body.single-product.single-product .vehicle-swatch-container .lpp-swatch-name{color:#e8e8e8!important;}
@media (max-width:767px){
html body.single-product.single-product{--lpp-dot:30px;--lpp-gap:6px;}
html body.single-product.single-product .vehicle-swatch-container .vehicle-swatches-list{column-gap:6px!important;padding:2px 0 4px!important;}
}
