.single-product div.product.tw-product-layout{display:block}.tw-product-page{background:var(--teal-100)}.tw-product-container{padding-top:clamp(28px,3vw,40px);padding-bottom:clamp(var(--space-10),5vw,var(--space-12))}.tw-product-page .tw-breadcrumbs{padding:0;margin-bottom:clamp(28px,3vw,40px);font:var(--fw-regular) var(--fs-small)/1.5 var(--font-sans)}#pd-title{font:var(--fw-bold) calc(clamp(22px,2.2vw,30px) - 1px)/1.25 var(--font-sans);color:var(--text-heading);margin:0 0 clamp(var(--space-6),2vw,var(--space-7));overflow-wrap:anywhere}#pd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(var(--space-8),4vw,56px);align-items:start}#pd-gallery{position:sticky;top:calc(var(--pd-header-h,89px) + 20px);align-self:start;min-width:0}#pd-gallery .woocommerce-product-gallery{position:relative!important;top:auto;width:100%!important;margin:0!important;opacity:1!important}#pd-gallery .woocommerce-product-gallery__image{aspect-ratio:1/1;background:var(--white);border-radius:8px;overflow:hidden}#pd-gallery .woocommerce-product-gallery__image>a{display:block;width:100%;height:100%}#pd-gallery .woocommerce-product-gallery__image img{width:100%;height:100%;max-height:none;object-fit:contain}#pd-gallery .woocommerce-product-gallery__wrapper{margin:0}#pd-gallery .flex-viewport{border-radius:8px;box-shadow:0 3px 12px rgb(0 0 0/.06)}#pd-gallery .flex-control-thumbs{display:flex;gap:12px;margin:12px 0 0;padding:0;overflow-x:auto;scrollbar-width:none}#pd-gallery .flex-control-thumbs li{flex:0 0 calc((100% - 24px)/3);float:none!important;min-width:0;border:1px solid transparent;border-radius:8px;overflow:hidden;background:var(--white)}#pd-gallery .flex-control-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}#pd-gallery .flex-control-thumbs li:has(.flex-active){border-color:var(--teal-700)}#pd-gallery .woocommerce-product-gallery__trigger{display:none}#pd-gallery .onsale{position:absolute;z-index:2;right:12px;top:12px;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:var(--teal-800);color:var(--white)}
.tw-product-price-card{background:var(--white);border-radius:10px;box-shadow:0 3px 12px rgb(0 0 0/.06);padding:clamp(var(--space-7),2vw,var(--space-8));display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}.tw-product-price-card .price{font:var(--fw-bold) calc(clamp(22px,2.1vw,26px) - 1px)/1.3 var(--font-sans);color:var(--teal-800);margin:0}.tw-product-price-card .price del{font-size:13px}.tw-product-price-card .stock{font:var(--fw-medium) 13px/1.5 var(--font-sans);color:var(--teal-700);margin:0}.tw-product-price-card .stock::before{content:'';display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%;margin-right:7px}.tw-product-price-card .out-of-stock{color:var(--text-alert)}.tw-product-sku{font:var(--fw-regular) 12px/1.5 var(--font-sans);color:var(--text-muted);margin:0}.tw-product-short{border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}.tw-product-short .woocommerce-product-details__short-description{font:var(--fw-regular) 14px/1.65 var(--font-sans)}.tw-product-short p{margin:0 0 8px}.tw-product-short p:last-child{margin-bottom:0}.tw-product-short em{font-size:13px;color:var(--text-muted)}
.tw-product-enquiry{display:flex;gap:10px;margin-bottom:var(--space-6)}.tw-product-enquiry input[type=tel]{flex:1;min-width:0;border:1px solid var(--border-default);border-radius:4px;padding:11px 12px;font:var(--fw-regular) 13px/1.4 var(--font-sans);background:var(--white)}.tw-product-enquiry button{border:0;border-radius:4px;padding:11px 20px;background:var(--teal-700);color:var(--white);font:var(--fw-semibold) 13px/1.4 var(--font-sans)}.tw-enquiry-result{font-size:13px;margin:0 0 16px;color:var(--teal-800)}.tw-enquiry-result.is-error{color:var(--text-alert)}#pd-cta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(var(--space-8),2.5vw,var(--space-9))}#pd-cta>a,#pd-cta>.tw-product-buy{flex:1;min-width:0}#pd-cta>a,#pd-cta .tw-product-quote,#pd-cta .single_add_to_cart_button{min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 8px;text-align:center;border:1px solid var(--teal-700);border-radius:4px;font:var(--fw-semibold) 12px/1.35 var(--font-sans)}#pd-cta .tw-product-call{background:var(--teal-700);color:var(--white)}#pd-cta .tw-product-zalo{background:transparent;color:var(--teal-800)}#pd-cta form.cart{display:block;margin:0}#pd-cta .quantity{display:none}#pd-cta .single_add_to_cart_button,#pd-cta .tw-product-quote{width:100%;background:var(--ink-1000);color:var(--white);border-color:var(--ink-1000)}#pd-cta .variations_form{display:flex;flex-wrap:wrap;gap:12px}#pd-cta .variations,#pd-cta .single_variation_wrap{width:100%}.tw-product-specs-box{border:1px solid #e7e7e7;border-radius:8px;overflow:hidden;background:var(--white)}.tw-product-specs-box table.shop_attributes{margin:0;border:0;font:var(--fw-regular) 13px/1.5 var(--font-sans)}.tw-product-specs-box table.shop_attributes tr{background:var(--white)}.tw-product-specs-box table.shop_attributes th,.tw-product-specs-box table.shop_attributes td{padding:10px 14px;border:0;border-bottom:1px solid #ededed;vertical-align:top;text-align:left}.tw-product-specs-box table.shop_attributes th{width:43%;background:var(--surface-sunken);font-weight:var(--fw-medium)}.tw-product-specs-box table.shop_attributes p{margin:0}.tw-product-tabs{margin-top:20px;border-radius:8px;overflow:hidden}.tw-product-tab{background:var(--white);border:1px solid #e7e7e7;border-bottom:0}.tw-product-tab:last-child{border-bottom:1px solid #e7e7e7}.tw-product-tab summary{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:16px;font:var(--fw-semibold) 14px/1.4 var(--font-sans);cursor:pointer}.tw-product-tab summary::-webkit-details-marker{display:none}.tw-product-tab summary::after{content:'+';color:var(--teal-700)}.tw-product-tab[open] summary::after{content:'−'}.tw-product-tab-content{padding:0 16px 16px;font:var(--fw-regular) 14px/1.7 var(--font-sans)}.tw-product-tab-content p{margin-bottom:12px}.tw-product-tab-content h2{font-size:19px;margin:0 0 16px}.tw-product-layout .product_meta{margin-top:20px;font:var(--fw-regular) 11px/1.6 var(--font-sans);color:var(--text-muted)}
.tw-product-related{background:var(--surface-canvas)}.tw-product-news{background:var(--white)}.tw-product-news .tw-editorial-rail{display:flex;gap:20px;overflow:auto;scrollbar-width:none}.tw-rail-controls{display:flex;gap:12px}.tw-rail-controls button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border-default);border-radius:50%;color:var(--teal-800);background:transparent;font-size:26px}.tw-rail-controls button:hover{background:var(--white)}
@media(max-width:900px){#pd-grid{grid-template-columns:minmax(0,1fr)}#pd-gallery{position:static}}
@media(max-width:600px){#pd-cta{gap:8px}#pd-cta>a,#pd-cta .single_add_to_cart_button,#pd-cta .tw-product-quote{font-size:11px}}

.tw-p-dbab6fb1b5{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--space-5);margin-bottom:var(--space-7)}
.tw-p-beb4fcd523{display:flex;gap:var(--space-4);align-items:flex-start}
.tw-p-ac6ea07e92{flex:0 0 auto}
.tw-p-63e5685e9d{font:var(--fw-medium) 12px/1.4 var(--font-sans);color:var(--text-strong)}
.tw-p-c27c1ca457{background:var(--white);padding:clamp(var(--space-9), 4vw, 64px) 0}
.tw-p-8cfae1b18d{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-gutter);display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(var(--space-6), 2vw, var(--space-8))}
.tw-p-c94566dcbf{margin:0;display:flex;flex-direction:column;gap:var(--space-6)}
.tw-p-00da5be812{font:var(--fw-bold) calc(calc(clamp(14px, 1.1vw, 16px) - 1px) + 1px)/1.35 var(--font-sans);color:var(--teal-800);text-transform:uppercase;text-align:center}
.tw-p-14fc93e60d{display:block;aspect-ratio:8/5;border-radius:10px;background-color:var(--surface-sunken);background-image:url(/wp-content/uploads/2026/09/the-chung-nhan-dat-nhan-WCA-1.jpg);background-size:cover;background-position:center;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.tw-p-fa006cc896{display:block;aspect-ratio:8/5;border-radius:10px;background-color:var(--surface-sunken);background-image:url(/wp-content/uploads/2026/06/van-phong-dai-dien-topwatch-rotated.jpg);background-size:cover;background-position:center;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.tw-p-0aa42f3e84{display:block;aspect-ratio:8/5;border-radius:10px;background-color:var(--surface-sunken);background-image:url(/wp-content/uploads/2026/06/doi-ngu-ky-thuat-tai-topwatch.jpg);background-size:cover;background-position:center;box-shadow:0 8px 24px rgba(0,0,0,.10)}
  @media (max-width: 1440px) { #ct-news-nav [aria-label="Bài trước"] { left: -26px !important; } #ct-news-nav [aria-label="Bài sau"] { right: -26px !important; } }
  @media (max-width: 1100px) { #ct-news-nav [aria-label="Bài trước"] { left: 6px !important; background: var(--white) !important; } #ct-news-nav [aria-label="Bài sau"] { right: 6px !important; background: var(--white) !important; } }
  @media (max-width: 760px) { #ct-news-nav [aria-label="Bài trước"] { left: 6px !important; background: var(--white) !important; } #ct-news-nav [aria-label="Bài sau"] { right: 6px !important; background: var(--white) !important; } }
  #ct-news-track::-webkit-scrollbar { display: none; }
  @media (max-width: 1000px) { #ct-news-track > * { flex: 0 0 calc((100% - 40px) / 3) !important; } #ct-news-nav { aspect-ratio: 48/9 !important; } }
  @media (max-width: 720px) { #ct-news-track > * { flex: 0 0 calc((100% - 20px) / 2) !important; } #ct-news-nav { aspect-ratio: 32/9 !important; } }
  @media (max-width: 460px) { #ct-news-track > * { flex: 0 0 82% !important; } #ct-news-nav { aspect-ratio: 16/7.4 !important; } }
  @media (max-width: 900px) { #pd-grid { grid-template-columns: minmax(0, 1fr) !important; } #pd-gallery { position: static !important; } }
  @media (max-width: 560px) { #pd-perks { grid-template-columns: minmax(0, 1fr) !important; } }
  #pd-crumbs > * { flex: 0 0 auto; white-space: nowrap; }
  @media (max-width: 560px) { #pd-crumbs > *:last-child { flex: 0 1 auto; white-space: normal; text-align: left; } }
  @media (max-width: 760px) { #ct-trust-grid { grid-template-columns: minmax(0, 1fr) !important; } }
  @media (max-width: 900px) { #pd-title { white-space: normal !important; } }
.tw-product-price-top{display:grid;gap:var(--space-6);padding-bottom:var(--space-6);margin-bottom:var(--space-2);border-bottom:1px solid #e7e7e7}.tw-product-price-top .price{font:var(--fw-bold) calc(clamp(22px,2vw,28px) - 1px)/1.2 var(--font-sans)}.tw-product-price-top .stock{font:var(--fw-semibold) var(--fs-small)/1 var(--font-sans)}.tw-product-short{padding:0;border:0;font:var(--fw-regular) calc(var(--fs-small) + 1px)/1.55 var(--font-sans)}.tw-product-short p{margin:0 0 var(--space-4)}.tw-product-short em{font-size:inherit}.tw-enquiry-input{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0;height:48px;padding:0 var(--space-6);border:1.5px solid var(--teal-700);border-radius:var(--radius-md);background:var(--white);color:var(--teal-700)}.tw-enquiry-input svg{flex-shrink:0}.tw-product-enquiry .tw-enquiry-input input{border:0;padding:0;outline:0;height:100%}.tw-product-enquiry button{height:48px;padding:0 var(--space-8);font:var(--type-label)}#pd-cta>a,#pd-cta .single_add_to_cart_button,#pd-cta .tw-product-quote{height:46px;min-height:46px;font:var(--fw-bold) 14px/1 var(--font-sans);padding:0 var(--space-5)}#pd-cta .tw-product-call{background:var(--teal-800)}.tw-product-specs-box table.shop_attributes th{width:45.5%;font-weight:var(--fw-bold)}.tw-product-specs-box table.shop_attributes td,.tw-product-specs-box table.shop_attributes th{padding:10px 16px}

.summary{min-width:0}.woocommerce-product-gallery .flex-control-thumbs{list-style:none}.flex-control-thumbs li{cursor:pointer}.tw-product-layout .product_meta{display:grid;gap:8px}.tw-video-link{padding:16px;background:var(--surface-sunken)}

/* In-stock status uses the commerce green (design token --green-600, "in-stock"); the dot follows the text colour. */
.tw-product-price-card .stock.in-stock{color:var(--green-600)}

.tw-product-page .tw-breadcrumbs p { margin: 0; overflow-wrap: anywhere; }
.tw-product-page .tw-breadcrumbs a, .tw-product-page .tw-breadcrumbs .separator { color: var(--text-muted); }
.tw-product-page .tw-breadcrumbs .last { color: var(--text-heading); }
.tw-product-page .tw-breadcrumbs .separator { padding-inline: 3px; }

/* Slide arrows are SVG chevrons, centred exactly in the round button (text glyphs sat off-centre). */
.tw-rail-controls button{padding:0;line-height:0;font-size:0;place-items:center}
.tw-rail-controls button svg{display:block;width:20px;height:20px}

/* Product names follow the shared page/section title scale. */
.tw-product-page #pd-title { font-size: var(--tw-type-section-title); line-height: var(--tw-type-section-title-line); }

/* Zalo CTA: on hover/keyboard focus it takes the dark teal fill of the call button. */
#pd-cta .tw-product-zalo{transition:background-color 200ms var(--ease-out),border-color 200ms var(--ease-out),color 200ms var(--ease-out)}
#pd-cta .tw-product-zalo:hover,#pd-cta .tw-product-zalo:focus-visible{background:var(--teal-800);border-color:var(--teal-800);color:var(--white)}

/* Buy block (in-stock products, 29/10/2026): quantity stepper + "Thêm vào giỏ hàng" on one row, full-width
   "Mua ngay" below. Colours: "Thêm vào giỏ hàng" teal, "Mua ngay" black. */
#pd-cta.tw-product-cta{display:block}
#pd-cta.tw-product-cta :is(form.cart:not(.variations_form),.woocommerce-variation-add-to-cart,.tw-product-purchase-controls){display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:0}
#pd-cta.tw-product-cta .quantity{display:inline-flex;align-items:center;height:48px;border:1px solid var(--border-default);border-radius:8px;background:var(--white);overflow:hidden}
#pd-cta.tw-product-cta .quantity input.qty{width:40px;height:100%;padding:0;border:0;background:transparent;text-align:center;font:var(--fw-medium) 15px/1 var(--font-sans);color:var(--text-strong);-moz-appearance:textfield}
#pd-cta.tw-product-cta .quantity input.qty::-webkit-inner-spin-button,#pd-cta.tw-product-cta .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#pd-cta.tw-product-cta .tw-qty-step{all:unset;box-sizing:border-box;display:grid;place-items:center;width:40px;height:100%;cursor:pointer;color:var(--teal-700);font:var(--fw-regular) 22px/1 var(--font-sans)}
#pd-cta.tw-product-cta .tw-qty-step:hover{background:var(--teal-100)}
#pd-cta.tw-product-cta .tw-qty-step:focus-visible{outline:2px solid var(--teal-700);outline-offset:-2px}
#pd-cta.tw-product-cta .single_add_to_cart_button,#pd-cta.tw-product-cta .tw-product-consult,#pd-cta.tw-product-cta .tw-buy-now{min-height:48px;display:flex;align-items:center;justify-content:center;margin:0;padding:10px 16px;border:0;border-radius:8px;font:var(--fw-semibold) 15px/1.3 var(--font-sans);cursor:pointer;transition:background-color 200ms var(--ease-out),color 200ms var(--ease-out)}
#pd-cta.tw-product-cta .single_add_to_cart_button,#pd-cta.tw-product-cta .tw-product-consult{width:100%;background:var(--teal-700);color:var(--white)}
#pd-cta.tw-product-cta .single_add_to_cart_button:hover,#pd-cta.tw-product-cta .tw-product-consult:hover{background:var(--teal-800);color:var(--white)}
#pd-cta.tw-product-cta .tw-buy-now{grid-column:1/-1;background:var(--ink-1000);color:var(--white);font-weight:var(--fw-bold)}
#pd-cta.tw-product-cta .tw-buy-now:hover{background:#2a2a2a;color:var(--white)}
#pd-cta.tw-product-cta .tw-buy-now:disabled{background:var(--ink-1000);color:var(--white);opacity:.5;cursor:not-allowed}
#pd-cta.tw-product-cta .tw-qty-step:disabled{background:transparent;opacity:.5;cursor:not-allowed}
#pd-cta.tw-product-cta .quantity input.qty:disabled{opacity:1;-webkit-text-fill-color:var(--text-strong)}
#pd-cta.tw-product-cta .single_add_to_cart_button.disabled{opacity:1} /* same teal before a variation is chosen; WooCommerce still asks for the option on click */

/* Main image slider arrows (FlexSlider directionNav, 29/10/2026): transparent teal chevrons outside the left/right
   edge of the (square) main photo, centred on its height (50cqw down, not 50% of the gallery with its thumbnails).
   Mobile: they sit in the 16px page gutter; desktop: 40px boxes beside the photo. Labels stay for screen readers. */
#pd-gallery .woocommerce-product-gallery{position:relative;container-type:inline-size}
#pd-gallery .flex-direction-nav{list-style:none;margin:0;padding:0}
#pd-gallery .flex-direction-nav a{position:absolute;z-index:3;top:50cqw;transform:translateY(-50%);width:40px;height:56px;background:transparent;color:transparent;font-size:0;text-decoration:none}
#pd-gallery .flex-direction-nav a::before{content:"";position:absolute;top:50%;left:50%;width:11px;height:11px;border:solid var(--teal-700);border-width:0 2.5px 2.5px 0}
#pd-gallery .flex-direction-nav .flex-prev{left:-40px}
#pd-gallery .flex-direction-nav .flex-prev::before{transform:translate(-30%,-50%) rotate(135deg)}
#pd-gallery .flex-direction-nav .flex-next{right:-40px}
#pd-gallery .flex-direction-nav .flex-next::before{transform:translate(-70%,-50%) rotate(-45deg)}
#pd-gallery .flex-direction-nav a:hover::before{border-color:var(--teal-800)}
#pd-gallery .flex-direction-nav a:focus-visible{outline:2px solid var(--teal-700);outline-offset:-2px;border-radius:6px}
#pd-gallery .flex-direction-nav .flex-disabled{display:none}
@media (max-width:900px){
  #pd-gallery .flex-direction-nav a{width:var(--container-gutter,16px)}
  #pd-gallery .flex-direction-nav .flex-prev{left:calc(-1 * var(--container-gutter,16px))}
  #pd-gallery .flex-direction-nav .flex-next{right:calc(-1 * var(--container-gutter,16px))}
  #pd-gallery .flex-direction-nav a::before{width:9px;height:9px;border-width:0 2px 2px 0}
}
/* Mobile product page rails ("Sản phẩm tương tự", "Tin tức liên quan"): swipe only, no arrow buttons. */
@media (max-width:767px){
  .single-product :is(#ct-similar,#ct-rolex-news) .tw-rail-controls{display:none}
}

/* Product information (tabs.php, 29/10/2026): open sections on the page background – no white card, no accordion.
   Bold uppercase title, full content below. */
.tw-product-tabs{margin-top:var(--space-9);border-radius:0;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-9)}
.tw-product-info-title{margin:0 0 var(--space-6);font:var(--fw-bold) 18px/1.3 var(--font-sans);text-transform:uppercase;letter-spacing:.01em;color:var(--text-heading)}
.tw-product-info .tw-product-tab-content{padding:0;background:transparent;font:var(--fw-regular) 16px/1.75 var(--font-sans);color:var(--text-body)}
.tw-product-info .tw-product-tab-content :is(h2,h3,h4){margin:var(--space-7) 0 var(--space-4);font-weight:var(--fw-bold);line-height:1.35;color:var(--text-heading)}
.tw-product-info .tw-product-tab-content > :first-child{margin-top:0}
.tw-product-info .tw-product-tab-content :is(ul,ol){margin:0 0 var(--space-6);padding-left:1.25em}
/* Keep fixed-width image captions inside the product column, without figure side margins. */
.tw-product-info .tw-product-tab-content :is(figure,.wp-caption){max-width:100%;margin-inline:0}
.tw-product-info .tw-product-tab-content img{max-width:100%;height:auto;border-radius:8px}
@media (max-width:767px){
  .tw-product-info-title{font-size:var(--tw-type-section-title)}
  .tw-product-info .tw-product-tab-content{font-size:calc(calc(var(--tw-c-body) + 1px) + 1px)}
  .tw-product-info .tw-product-tab-content :is(h2,h3,h4){font-size:16px}
}

/* Colour swatches (variable products with a "Màu sắc" attribute, inc/product-layout.php + site.js): the label reads
   "Màu sắc: Đỏ" above a row of 32px round swatches with a dark ring; the chosen one carries a check (white, dark on
   light colours); colours the current choice cannot combine with are dimmed and struck through. The real select is
   hidden but still drives WooCommerce. */
#pd-cta .variations_form .variations, #pd-cta .variations_form .variations :is(tbody, tr, th, td) { display: block; }
#pd-cta .variations_form .variations { margin: 0 0 var(--space-6); border: 0; }
#pd-cta .variations_form .variations tr:has(.tw-swatches) th { padding: 0 0 var(--space-4); text-align: left; }
#pd-cta .variations_form .variations tr:has(.tw-swatches) th label { font: var(--fw-bold) 15px/1.3 var(--font-sans); color: var(--text-heading); }
#pd-cta .variations_form .variations tr:has(.tw-swatches) td { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); padding: 0; }
#pd-cta .variations_form .variations tr:has(.tw-swatches) .reset_variations { font-size: 13px; color: var(--text-muted); }
.tw-swatch-select { display: none; }
.tw-swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.tw-swatch { all: unset; box-sizing: border-box; position: relative; width: 32px; height: 32px; border: 2px solid #333; border-radius: 50%; background: var(--tw-swatch); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.tw-swatch:hover { transform: scale(1.08); }
.tw-swatch:focus-visible { outline: 2px solid var(--teal-700); outline-offset: 2px; }
.tw-swatch.is-selected { box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--teal-700); }
.tw-swatch.is-selected::after { content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; background: var(--white); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' 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 / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' 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 / contain no-repeat; }
.tw-swatch.is-light.is-selected::after { background: #111; }
.tw-swatch:disabled { opacity: .35; cursor: not-allowed; transform: none; }
.tw-swatch:disabled::before { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 2px; background: #333; transform: rotate(45deg); }
@media (max-width: 767px) {
  #pd-cta .variations_form .variations tr:has(.tw-swatches) th label { font-size: var(--tw-c-body, 13px); }
}
/* Product description lists: round black bullets (also for "- item" lines turned into .tw-dash-list). */
.tw-product-info .tw-product-tab-content ul{list-style:disc}
.tw-product-info .tw-product-tab-content li::marker{color:var(--ink-1000)}
.tw-product-info .tw-product-tab-content .tw-dash-list{margin:0 0 var(--space-6)}
/* Gallery thumbnails: every image is shown – a wrapping grid of 3 per row instead of the
   3-wide sideways strip that hid the rest. */
#pd-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:visible}
#pd-gallery .flex-control-thumbs li{width:auto!important;margin:0!important}
@media (max-width:767px){#pd-gallery .flex-control-thumbs{gap:8px}}
/* Colour swatches moved into the price card (site.js), under "Còn hàng": label above, swatches below; the table row
   they came from (hidden select + "Xóa") stays in the cart form, hidden. */
.tw-product-price-top .tw-swatch-field{display:grid;gap:var(--space-4)}
.tw-swatch-label{font:var(--fw-bold) 15px/1.3 var(--font-sans);color:var(--text-heading)}
#pd-cta .variations_form .variations tr.tw-swatch-row-moved{display:none}
#pd-cta .variations_form .variations:not(:has(tr:not(.tw-swatch-row-moved))){display:none}
.tw-product-price-top .tw-product-sold-out{margin:0;font:var(--fw-bold) var(--tw-type-section-title)/var(--tw-type-section-title-line) var(--font-sans);color:var(--text-alert)}
@media (max-width:767px){.tw-swatch-label{font-size:var(--tw-c-body,13px)}}

/* The product video plays inline at the full width of the summary column. */
.tw-product-video{width:100%;margin-top:var(--space-6);border-radius:var(--radius-md);overflow:hidden;background:var(--ink-1000)}
.tw-product-video iframe,.tw-product-video video{display:block;width:100%;height:auto;max-height:calc(100vh - var(--pd-header-h,96px) - 32px);max-height:calc(100svh - var(--pd-header-h,96px) - 32px);aspect-ratio:16/9;object-fit:contain;border:0}
.tw-product-video.is-portrait iframe{aspect-ratio:9/16}
.tw-product-video>a{display:block;padding:var(--space-6);color:var(--white)}
/* As the gallery's first slide: a square black frame like the photos, the video centred in it (9:16 shorts or 16:9). */
#pd-gallery .tw-gallery-video{position:relative;aspect-ratio:1;background:var(--ink-1000)}
#pd-gallery .tw-gallery-video .tw-product-video{position:absolute;inset:0;margin:auto;width:100%;height:calc(100% * 9 / 16);border-radius:0;background:transparent}
#pd-gallery .tw-gallery-video .tw-product-video.is-portrait{width:calc(100% * 9 / 16);height:100%}
#pd-gallery .tw-gallery-video iframe{width:100%;height:100%;max-height:none;aspect-ratio:auto}
#pd-gallery .woocommerce-product-gallery:has(.tw-gallery-video) .flex-control-thumbs li:first-child{position:relative}
#pd-gallery .woocommerce-product-gallery:has(.tw-gallery-video) .flex-control-thumbs li:first-child img{aspect-ratio:1;object-fit:cover}
#pd-gallery .woocommerce-product-gallery:has(.tw-gallery-video) .flex-control-thumbs li:first-child::after{content:"";position:absolute;inset:0;margin:auto;width:44px;height:44px;border-radius:50%;background:rgb(0 0 0/.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/22px no-repeat;pointer-events:none}

/* Product gallery popup: white stage, side arrows and a thumbnail strip. */
html.tw-product-lightbox-open{overflow:hidden}
#tw-product-lightbox{box-sizing:border-box;width:min(1440px,92vw);height:calc(100dvh - 32px);max-width:none;max-height:none;margin:auto;border:0;border-radius:20px;padding:48px 24px 14px;background:var(--white);color:var(--text-strong);overflow:hidden}
#tw-product-lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:14px}
#tw-product-lightbox::backdrop{background:rgb(0 0 0 / .48)}
.tw-product-lightbox-stage{position:relative;min-height:0;min-width:0;display:grid;place-items:center}
#tw-product-lightbox .tw-product-lightbox-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;user-select:none}
#tw-product-lightbox button{display:grid;place-items:center;padding:0;flex:none;border:1px solid #e5e7eb;background:var(--white);color:#475569;cursor:pointer}
#tw-product-lightbox button:hover{background:#f3f4f6}
#tw-product-lightbox .tw-product-lightbox-close{position:absolute;right:12px;top:8px;z-index:2;width:36px;height:36px;border:0;border-radius:50%}
.tw-product-lightbox-prev,.tw-product-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;box-shadow:0 1px 4px rgb(0 0 0 / .12)}
.tw-product-lightbox-prev{left:10px}.tw-product-lightbox-next{right:10px}
.tw-product-lightbox-count{position:absolute;right:18px;bottom:6px;padding:3px 12px;border-radius:20px;background:#e5e7eb;color:#374151;font:var(--fw-medium) 14px/1.4 var(--font-sans)}
.tw-product-lightbox-thumbs{position:relative;display:flex;gap:10px;max-width:100%;width:max-content;margin-inline:auto;padding:3px 2px 5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
#tw-product-lightbox .tw-product-lightbox-thumbs button{width:64px;height:64px;border-radius:10px;overflow:hidden}
#tw-product-lightbox .tw-product-lightbox-thumbs button[aria-pressed="true"]{border:2px solid var(--teal-700)}
.tw-product-lightbox-thumbs img{display:block;width:100%;height:100%;object-fit:contain}
.tw-product-lightbox-error{position:absolute;left:64px;right:64px;top:50%;padding:12px;background:var(--white);text-align:center;font-size:14px}
@media(max-width:767px){#tw-product-lightbox{width:calc(100vw - 16px);height:fit-content;max-height:calc(100dvh - 16px);border-radius:12px;padding:46px 8px 8px;gap:10px}#tw-product-lightbox[open]{grid-template-rows:auto auto}.tw-product-lightbox-stage{aspect-ratio:1;max-height:calc(100dvh - 140px)}.tw-product-lightbox-prev,.tw-product-lightbox-next{width:36px;height:36px}.tw-product-lightbox-prev{left:2px}.tw-product-lightbox-next{right:2px}.tw-product-lightbox-count{right:8px}#tw-product-lightbox .tw-product-lightbox-thumbs button{width:54px;height:54px}.tw-product-lightbox-thumbs{gap:8px}}
