/* ==========================================================================
   Selu Shop — cửa hàng, sản phẩm, giỏ hàng, thanh toán
   ========================================================================== */

.cs-theme-wat-breadcrumb { font-size: .85rem; margin-bottom: 1.5rem; color: color-mix(in srgb, var(--csw-text) 65%, transparent); }
.cs-theme-wat-breadcrumb a { color: inherit; text-decoration: none; }
.cs-theme-wat-breadcrumb a:hover { text-decoration: underline; }
.cs-theme-wat-breadcrumb__sep { margin: 0 .5rem; opacity: .5; }

/* ---------- Trang cửa hàng ---------- */
.cs-theme-wat-shop { padding-top: 2.5rem; padding-bottom: 4rem; }
.cs-theme-wat-shop__header { margin-bottom: 1.5rem; }
.cs-theme-wat-shop__desc { max-width: 720px; }
.cs-theme-wat-shop__toolbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	padding: 1rem 0; margin-bottom: 1rem;
	border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent);
}
.cs-theme-wat-shop__cats { display: flex; flex-wrap: wrap; gap: .5rem; }
.cs-theme-wat-shop__cats a {
	padding: .35rem 1rem; border-radius: 40px; text-decoration: none; font-size: .9rem;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--csw-text) 20%, transparent);
	color: color-mix(in srgb, var(--csw-text) 80%, transparent);
}
.cs-theme-wat-shop__cats a:hover { box-shadow: 0 0 0 1px var(--csw-text); color: var(--csw-text); }
.cs-theme-wat-shop__cats a.is-active { background: var(--csw-btn-bg); color: var(--csw-btn-text); box-shadow: none; }
.cs-theme-wat-shop__sort { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }
.cs-theme-wat-shop__sort select { width: auto; min-height: 40px; }
.cs-theme-wat-shop__count { font-size: .85rem; opacity: .7; margin: 0 0 1rem; }


/* ---------- Trang sản phẩm ---------- */
.cs-theme-wat-product { padding-top: 2rem; padding-bottom: 4rem; }
.cs-theme-wat-product__grid { display: grid; gap: 2rem; }
@media (min-width: 990px) { .cs-theme-wat-product__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 4rem; align-items: start; } }
.cs-theme-wat-product__main { position: relative; overflow: hidden; border-radius: var(--csw-card-radius, 0); background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); aspect-ratio: 4 / 5; touch-action: pan-y pinch-zoom; /* vuốt ngang = đổi ảnh (shop.js) */ }
.cs-theme-wat-product__main img, .cs-theme-wat-product__main svg { width: 100%; height: 100%; object-fit: cover; }
.cs-theme-wat-product__open { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.cs-theme-wat-product__main.has-zoom img { transition: transform .15s ease-out; will-change: transform; }
.cs-theme-wat-product__zoom-hint { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: #202223; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); pointer-events: none; opacity: .85; transition: opacity .2s; }
.cs-theme-wat-product__zoom-hint svg { width: 18px; height: 18px; }
.cs-theme-wat-product__main:hover .cs-theme-wat-product__zoom-hint { opacity: 0; }
.cs-theme-wat-product__main .cs-theme-wat-badge { bottom: auto; top: 1rem; left: 1rem; }
.cs-theme-wat-product__thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.cs-theme-wat-product__thumbs button { padding: 0; border: 0; background: none; cursor: pointer; aspect-ratio: 1; overflow: hidden; border-radius: max(var(--csw-card-radius, 0px), 6px); opacity: .6; transition: opacity .15s; box-shadow: 0 0 0 1px transparent; }
.cs-theme-wat-product__thumbs button.is-active, .cs-theme-wat-product__thumbs button:hover { opacity: 1; box-shadow: 0 0 0 1px var(--csw-text); }
.cs-theme-wat-product__thumbs img { width: 100%; height: 100%; object-fit: cover; }
/* Ảnh nhỏ trên 1 hàng trượt (Trang sản phẩm > "Ảnh nhỏ trên 1 hàng trượt") */
.cs-theme-wat-product__thumbs-wrap { position: relative; }
.cs-theme-wat-product__thumbs.is-slider { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 8px) / 5); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scroll-padding-inline: 2px; scrollbar-width: none; padding: 2px; margin-left: -2px; margin-right: -2px; }
.cs-theme-wat-product__thumbs.is-slider::-webkit-scrollbar { display: none; }
.cs-theme-wat-product__thumbs.is-slider > button { scroll-snap-align: start; }
.cs-theme-wat-product__thumbs-nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-top: 4px; padding: 0; transform: translateY(-50%); border: 1px solid color-mix(in srgb, var(--csw-text) 15%, transparent); border-radius: 50%; background: var(--csw-bg); color: var(--csw-text); cursor: pointer; }
.cs-theme-wat-product__thumbs-nav[hidden] { display: none; }
.cs-theme-wat-product__thumbs-nav.is-prev { left: -10px; }
.cs-theme-wat-product__thumbs-nav.is-next { right: -10px; }
.cs-theme-wat-product__thumbs-nav svg { width: 16px; height: 16px; }
@media (max-width: 749px) { .cs-theme-wat-product__thumbs-nav.is-prev { left: 2px; } .cs-theme-wat-product__thumbs-nav.is-next { right: 2px; } }
@media (min-width: 990px) { .cs-theme-wat-product__info { position: sticky; top: 100px; } }
.cs-theme-wat-product__info .cs-theme-wat-heading { margin-bottom: .75rem; }
.cs-theme-wat-product__price { font-size: 1.3rem; letter-spacing: .04em; color: var(--csw-text); margin-bottom: 1.25rem; }
.cs-theme-wat-product__price del { opacity: .55; font-size: .8em; margin-right: .4rem; }
.cs-theme-wat-product__price ins { text-decoration: none; }
.cs-theme-wat-product__excerpt { margin-bottom: 1rem; }
.cs-theme-wat-product__stock { font-size: .9rem; display: flex; align-items: center; gap: .5rem; }
.cs-theme-wat-product__stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2e9f5b; }
.cs-theme-wat-product__stock.is-out::before { background: #d72c0d; }
.cs-theme-wat-product__buy { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0 1.5rem; }
.cs-theme-wat-product__buy .cs-theme-wat-btn { flex: 1 1 160px; }
.cs-theme-wat-product__now { flex-basis: 100% !important; }
.cs-theme-wat-product__perks { list-style: none; margin: 0 0 1.5rem; padding: 1rem 0; border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); display: grid; gap: .5rem; font-size: .92rem; }
.cs-theme-wat-product__perks li { display: flex; align-items: center; gap: .6rem; }
.cs-theme-wat-product__sku { font-size: .82rem; opacity: .65; margin-top: 1rem; }
/* Mô tả trải toàn chiều rộng dưới sản phẩm */
.cs-theme-wat-product__desc { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-product__desc .cs-theme-wat-heading { margin-bottom: 1rem; }
.cs-theme-wat-product__desc-body { max-width: 72rem; margin-bottom: 2rem; }
.cs-theme-wat-product__spec { max-width: 72rem; }
.cs-theme-wat-product__spec .cs-theme-wat-attr-table { font-size: .95rem; }
.cs-theme-wat-product__spec .cs-theme-wat-attr-table tr:first-child th, .cs-theme-wat-product__spec .cs-theme-wat-attr-table tr:first-child td { border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
/* Có cả mô tả và thông số: 2 cột trên máy tính (mô tả rộng hơn) */
@media (min-width: 990px) {
	.cs-theme-wat-product__desc.has-spec { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 3.5rem; align-items: start; }
	.cs-theme-wat-product__desc.has-spec .cs-theme-wat-product__desc-body { margin-bottom: 0; }
}
.cs-theme-wat-product__related { margin-top: 4rem; }
.cs-theme-wat-product__builder { margin-top: 0; }
.cs-theme-wat-product:has(+ .cs-theme-wat-product__builder) { padding-bottom: 1.5rem; }
.cs-theme-wat-product--after { padding-top: 0; }

/* Bộ tăng giảm số lượng */
.cs-theme-wat-qty {
	display: inline-flex; align-items: stretch; min-height: 46px;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--csw-text) 55%, transparent);
	border-radius: var(--csw-input-radius, 0);
	overflow: hidden; /* Nền khi rê chuột lên nút − / + theo đúng góc bo của khung. */
}
.cs-theme-wat-qty button { width: 40px; border: 0; background: none; font-size: 1.15rem; color: var(--csw-text); cursor: pointer; }
.cs-theme-wat-qty button:hover { background: color-mix(in srgb, var(--csw-text) 5%, transparent); }
.cs-theme-wat-qty button:focus-visible { outline: 2px solid var(--csw-text); outline-offset: -2px; }
.cs-theme-wat-qty input[type="number"] { width: 48px; min-height: 0; padding: 0; text-align: center; box-shadow: none !important; background: transparent; -moz-appearance: textfield; }
.cs-theme-wat-qty input::-webkit-outer-spin-button, .cs-theme-wat-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---------- Giỏ hàng ---------- */
.cs-theme-wat-shop-page { transition: opacity .2s; }
[data-cs-wat-cart], [data-cs-wat-summary] { position: relative; min-height: 60px; }
.cs-theme-wat-shop-page .is-busy > *, [data-cs-wat-cart].is-busy > *, [data-cs-wat-summary].is-busy > * { opacity: .45; pointer-events: none; transition: opacity .15s; }
[data-cs-wat-cart].is-busy::after, [data-cs-wat-summary].is-busy::after { content: ""; position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cs-theme-wat-spin .7s linear infinite; }
.cs-theme-wat-shop-loading { display: flex; align-items: center; gap: .6rem; opacity: .7; }
.cs-theme-wat-shop-loading::before { content: ""; width: 16px; height: 16px; flex: none; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cs-theme-wat-spin .7s linear infinite; }
.cs-theme-wat-shop-notice { padding: .75rem 1rem; margin: 0 0 1rem; border: 1px solid color-mix(in srgb, #d98b0b 35%, var(--csw-bg)); border-radius: var(--csw-radius, 8px); background: color-mix(in srgb, #d98b0b 7%, var(--csw-bg)); color: var(--csw-text); font-size: .92rem; }
.cs-theme-wat-shop-empty { text-align: center; padding: 3rem 0; }
.cs-theme-wat-shop-empty p { font-size: 1.1rem; margin-bottom: 1.5rem; }

.cs-theme-wat-cart { display: grid; gap: 2.5rem; }
@media (min-width: 990px) { .cs-theme-wat-cart { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; } }
.cs-theme-wat-cart__head { display: none; }
@media (min-width: 750px) {
	.cs-theme-wat-cart__head { display: grid; grid-template-columns: 1fr 140px 120px; gap: 1rem; padding-bottom: .75rem; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
	.cs-theme-wat-cart__head span:not(:first-child) { text-align: right; }
}
.cs-theme-wat-cart__line {
	display: grid; grid-template-columns: 80px 1fr; grid-template-areas: "img info" "img qty" "img total";
	column-gap: 1rem; row-gap: .5rem; padding: 1.25rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent);
}
@media (min-width: 750px) {
	.cs-theme-wat-cart__line { grid-template-columns: 96px 1fr 140px 120px; grid-template-areas: "img info qty total"; align-items: center; }
}
.cs-theme-wat-cart__img { grid-area: img; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--csw-card-radius, 0); background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); }
.cs-theme-wat-cart__img img, .cs-theme-wat-cart__img svg { width: 100%; height: 100%; object-fit: cover; }
.cs-theme-wat-cart__info { grid-area: info; display: flex; flex-direction: column; gap: .2rem; }
.cs-theme-wat-cart__info a { text-decoration: none; color: var(--csw-text); }
.cs-theme-wat-cart__info a:hover { text-decoration: underline; }
.cs-theme-wat-cart__info span { font-size: .9rem; opacity: .75; }
.cs-theme-wat-cart__remove { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: var(--csw-input-radius, 6px); background: none; color: color-mix(in srgb, var(--csw-text) 60%, transparent); cursor: pointer; flex: none; }
.cs-theme-wat-cart__remove:hover { color: var(--csw-text); background: color-mix(in srgb, var(--csw-text) 6%, transparent); }
.cs-theme-wat-cart__remove .cs-theme-wat-icon { width: 18px; height: 18px; }
.cs-theme-wat-cart__ctl { grid-area: qty; display: inline-flex; align-items: center; gap: .35rem; justify-self: start; }
@media (min-width: 750px) { .cs-theme-wat-cart__ctl { justify-self: end; } }
.cs-theme-wat-cart__line .cs-theme-wat-qty { min-height: 40px; }
.cs-theme-wat-cart__total { grid-area: total; color: var(--csw-text); font-weight: 500; }
@media (min-width: 750px) { .cs-theme-wat-cart__total { text-align: right; } }
.cs-theme-wat-cart__summary { padding: 1.75rem; background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); border-radius: var(--csw-card-radius, 0); }
@media (min-width: 990px) { .cs-theme-wat-cart__summary { position: sticky; top: 100px; } }
.cs-theme-wat-cart__continue { display: flex; justify-content: center; margin-top: 1rem; font-size: .9rem; }

.cs-theme-wat-shop-totals { margin: 0 0 1.25rem; }
.cs-theme-wat-shop-totals > div { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; }
.cs-theme-wat-shop-totals dt, .cs-theme-wat-shop-totals dd { margin: 0; }
.cs-theme-wat-shop-totals dd { color: var(--csw-text); text-align: right; }
.cs-theme-wat-shop-totals .is-total { margin-top: .5rem; padding-top: .9rem; border-top: 1px solid color-mix(in srgb, var(--csw-text) 12%, transparent); font-size: 1.15rem; color: var(--csw-text); font-weight: 600; }
.cs-theme-wat-shop-freeship { font-size: .88rem; margin: -.5rem 0 1.25rem; }

/* ---------- Thanh toán ---------- */
.cs-theme-wat-checkout { display: grid; gap: 2.5rem; padding-bottom: 2rem; }
@media (min-width: 990px) { .cs-theme-wat-checkout { grid-template-columns: minmax(0, 1fr) 400px; gap: 4rem; align-items: start; } }
.cs-theme-wat-checkout__form .cs-theme-wat-heading { margin: 0 0 1.25rem; }
.cs-theme-wat-checkout__form .cs-theme-wat-heading:not(:first-child) { margin-top: 2rem; }
.cs-theme-wat-checkout__summary { padding: 1.75rem; background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); border-radius: var(--csw-card-radius, 0); }
@media (min-width: 990px) { .cs-theme-wat-checkout__summary { position: sticky; top: 100px; order: 2; } }
@media (max-width: 989px) { .cs-theme-wat-checkout__summary { order: -1; } }
.cs-theme-wat-checkout__submit { width: 100%; margin-top: 1.5rem; min-height: 52px; font-size: 1rem; }
.cs-theme-wat-checkout__form .cs-theme-wat-form-message { justify-content: flex-start; }

.cs-theme-wat-payment { display: grid; gap: .5rem; }
.cs-theme-wat-payment__option {
	display: flex; align-items: center; gap: .75rem; padding: 1rem 1.1rem; cursor: pointer;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--csw-text) 20%, transparent);
	border-radius: var(--csw-input-radius, 0); color: var(--csw-text);
}
.cs-theme-wat-payment__option:has(input:checked) { box-shadow: 0 0 0 2px var(--csw-text); }
.cs-theme-wat-payment__option input { accent-color: var(--csw-text); width: 18px; height: 18px; margin: 0; }
.cs-theme-wat-payment__info { display: none; padding: 1rem 1.1rem; font-size: .92rem; line-height: 1.7; background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); border-radius: var(--csw-input-radius, 0); }
.cs-theme-wat-payment__info.is-visible { display: block; }

.cs-theme-wat-summary__lines { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: 1rem; }
.cs-theme-wat-summary__lines li { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: .9rem; font-size: .92rem; }
.cs-theme-wat-summary__lines li > span:last-child { color: var(--csw-text); }
.cs-theme-wat-summary__img { position: relative; display: block; width: 64px; height: 64px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px color-mix(in srgb, var(--csw-text) 12%, transparent); }
.cs-theme-wat-summary__img img, .cs-theme-wat-summary__img svg { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: 8px; }
.cs-theme-wat-summary__img b { position: absolute; top: -8px; right: -8px; min-width: 20px; height: 20px; padding: 0 5px; display: flex; align-items: center; justify-content: center; border-radius: 20px; background: color-mix(in srgb, var(--csw-text) 65%, transparent); color: var(--csw-bg); font-size: 11px; font-weight: 600; }
.cs-theme-wat-summary__name { color: var(--csw-text); }

/* ---------- Cảm ơn ---------- */
/* Trang cảm ơn: bố cục "Đơn hàng đã nhận" */
.cs-theme-wat-thankyou { max-width: 760px; margin: 0 auto; padding-bottom: 2rem; --ty-line: color-mix(in srgb, var(--csw-text) 14%, transparent); }
.cs-theme-wat-thankyou__received { margin: 0 0 1.5rem; font-size: 1.15rem; font-weight: 500; }
.cs-theme-wat-thankyou__received.is-failed { color: #a12b2b; }
.cs-theme-wat-thankyou__note { margin: 1rem 0; color: color-mix(in srgb, var(--csw-text) 75%, transparent); }
.cs-theme-wat-order-overview { list-style: none; display: flex; flex-wrap: wrap; margin: 0 0 1.5rem; padding: 0; border: 1px solid var(--ty-line); border-radius: var(--csw-card-radius, 0); }
.cs-theme-wat-order-overview li { flex: 1 1 auto; min-width: 140px; padding: .9rem 1.25rem; border-right: 1px solid var(--ty-line); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: color-mix(in srgb, var(--csw-text) 60%, transparent); }
.cs-theme-wat-order-overview li:last-child { border-right: 0; }
.cs-theme-wat-order-overview strong { display: block; margin-top: .3rem; font-size: 1rem; text-transform: none; letter-spacing: 0; color: var(--csw-text); overflow-wrap: anywhere; }
.cs-theme-wat-order-status { display: inline-block; padding: .15rem .6rem; border-radius: 4px; font-size: .9rem !important; background: color-mix(in srgb, var(--csw-text) 8%, transparent); }
.cs-theme-wat-order-status.is-pending { background: #fdf0d5; color: #94660c; }
.cs-theme-wat-order-status.is-new, .cs-theme-wat-order-status.is-processing { background: #e1ecf7; color: #2b4f81; }
.cs-theme-wat-order-status.is-shipping { background: #e7e3f7; color: #4b3b8f; }
.cs-theme-wat-order-status.is-completed { background: #e7f6ec; color: #1e7a34; }
.cs-theme-wat-order-status.is-cancelled { background: #fbeaea; color: #a12b2b; }
.cs-theme-wat-thankyou .cs-theme-wat-payment__info { margin: 1.5rem 0; }
.cs-theme-wat-order-details, .cs-theme-wat-order-address { margin: 2rem 0; }
.cs-theme-wat-order-details .cs-theme-wat-heading, .cs-theme-wat-order-address .cs-theme-wat-heading { margin: 0 0 1rem; }
.cs-theme-wat-order-table { width: 100%; border-collapse: collapse; border: 1px solid var(--ty-line); font-size: .95rem; }
.cs-theme-wat-order-table th, .cs-theme-wat-order-table td { padding: .8rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ty-line); }
.cs-theme-wat-order-table th:last-child, .cs-theme-wat-order-table td:last-child { text-align: right; white-space: nowrap; }
.cs-theme-wat-order-table thead th { font-weight: 600; background: color-mix(in srgb, var(--csw-text) 4%, var(--csw-bg)); }
.cs-theme-wat-order-table tbody td small { display: block; font-size: .85em; color: color-mix(in srgb, var(--csw-text) 60%, transparent); }
.cs-theme-wat-order-table__qty { margin-left: .25rem; font-weight: 600; }
.cs-theme-wat-order-table tfoot th { font-weight: 500; color: color-mix(in srgb, var(--csw-text) 75%, transparent); }
.cs-theme-wat-order-table tfoot tr.is-total th, .cs-theme-wat-order-table tfoot tr.is-total td { font-size: 1.1rem; font-weight: 600; color: var(--csw-text); border-bottom: 0; }
.cs-theme-wat-order-address address { margin: 0; padding: 1rem 1.25rem; border: 1px solid var(--ty-line); border-radius: var(--csw-card-radius, 0); font-style: normal; line-height: 1.7; }
.cs-theme-wat-order-address address a { color: inherit; text-decoration: none; }
.cs-theme-wat-order-address__note { margin: 1rem 0 0; }
@media (max-width: 749px) {
	.cs-theme-wat-order-overview { flex-direction: column; }
	.cs-theme-wat-order-overview li { border-right: 0; border-bottom: 1px solid var(--ty-line); }
	.cs-theme-wat-order-overview li:last-child { border-bottom: 0; }
	.cs-theme-wat-order-table th, .cs-theme-wat-order-table td { padding: .7rem .75rem; }
	.cs-theme-wat-order-table th:first-child, .cs-theme-wat-order-table td:first-child { width: 48%; }
	.cs-theme-wat-order-table th:last-child, .cs-theme-wat-order-table td:last-child { white-space: normal; }
}

/* ---------- Thông báo "Đã thêm vào giỏ" ---------- */

/* ---------- Biến thể ---------- */
.cs-theme-wat-variants { margin: 1.25rem 0 0; }
.cs-theme-wat-variants__opt { border: 0; padding: 0; margin: 0 0 1rem; }
.cs-theme-wat-variants__opt legend { padding: 0; margin-bottom: .5rem; font-size: .9rem; color: var(--csw-text); }
.cs-theme-wat-variants__opt legend span { font-weight: 600; }
.cs-theme-wat-variants__values { display: flex; flex-wrap: wrap; gap: .5rem; }
.cs-theme-wat-variants__btn {
	min-width: 48px; min-height: 40px; padding: .4rem 1rem;
	border: 0; border-radius: var(--csw-btn-radius, 0); background: var(--csw-bg); color: var(--csw-text);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--csw-text) 30%, transparent);
	font-size: .9rem; cursor: pointer; transition: box-shadow .15s;
	position: relative; overflow: hidden;
}
.cs-theme-wat-variants__btn:hover { box-shadow: 0 0 0 1px var(--csw-text); }
/* Đang chọn: viền đậm 2px + chữ đậm + góc có dấu ✓ (dễ nhận biết, không đổi hẳn màu nền như nút bấm) */
.cs-theme-wat-variants__btn.is-active { background: var(--csw-bg); color: var(--csw-text); font-weight: 600; box-shadow: 0 0 0 2px var(--csw-text); }
.cs-theme-wat-variants__btn.is-active::after { content: ""; position: absolute; right: 0; bottom: 0; width: 16px; height: 16px; background: var(--csw-text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 7px 7px / 8px 8px no-repeat; clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.cs-theme-wat-variants__btn.is-unavailable { opacity: .45; text-decoration: line-through; }
.cs-theme-wat-variants__msg { color: #d72c0d; font-size: .9rem; margin: 0; }
.cs-theme-wat-product__buy [data-cs-wat-add]:disabled { opacity: .45; cursor: not-allowed; }
.cs-theme-wat-cart__variant, .cs-theme-wat-summary__name small { display: block; font-size: .82rem; opacity: .75; }

/* ---------- Mã giảm giá ---------- */
.cs-theme-wat-coupon { margin: 0 0 1.25rem; }
.cs-theme-wat-coupon .cs-theme-wat-field__input { padding-right: 6.5rem; }
.cs-theme-wat-coupon__apply { position: absolute; right: 4px; top: 4px; bottom: 4px; padding: 0 1rem; border: 0; border-radius: var(--csw-btn-radius, 0); background: var(--csw-btn-bg); color: var(--csw-btn-text); font-size: .85rem; cursor: pointer; }
.cs-theme-wat-coupon__ok { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: 0; padding: .65rem .9rem; font-size: .9rem; color: #1e7a34; background: color-mix(in srgb, #1e7a34 9%, var(--csw-bg)); border-radius: var(--csw-input-radius, 0); }
.cs-theme-wat-coupon__ok svg { width: 16px; height: 16px; }
.cs-theme-wat-coupon__remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: auto; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; cursor: pointer; }
.cs-theme-wat-coupon__remove:hover { background: color-mix(in srgb, var(--csw-text) 8%, transparent); }
.cs-theme-wat-coupon__remove .cs-theme-wat-icon { width: 16px; height: 16px; }
.cs-theme-wat-coupon__err { margin: .5rem 0 0; color: #d72c0d; font-size: .88rem; }
.cs-theme-wat-shop-totals .is-discount dd { color: #1e7a34; }
.cs-theme-wat-coupon-tag { display: inline-block; padding: 0 .4rem; border-radius: 4px; font-size: .75rem; letter-spacing: .04em; background: color-mix(in srgb, var(--csw-text) 8%, transparent); }

/* ---------- Thanh toán online ---------- */
.cs-theme-wat-vietqr { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.75rem; margin: 1.5rem 0; padding: 1.5rem; text-align: left; border: 1px solid color-mix(in srgb, var(--csw-text) 12%, transparent); border-radius: var(--csw-card-radius, 0); }
.cs-theme-wat-vietqr__qr { flex: 0 0 220px; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.cs-theme-wat-vietqr__qr img { width: 220px; height: auto; background: #fff; border-radius: 8px; }
.cs-theme-wat-vietqr__dl { text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .9rem; border: 1px solid color-mix(in srgb, var(--csw-text) 22%, transparent); border-radius: var(--csw-btn-radius, 0); background: none; color: inherit; font: inherit; font-size: .9rem; cursor: pointer; }
.cs-theme-wat-vietqr__dl:hover { border-color: var(--csw-text); }
.cs-theme-wat-vietqr__dl svg { width: 16px; height: 16px; }
.cs-theme-wat-vietqr__info { flex: 1 1 300px; min-width: 0; }
.cs-theme-wat-vietqr__title { margin: 0; font-weight: 600; font-size: 1.05rem; }
.cs-theme-wat-vietqr__sub { margin: .25rem 0 .75rem; font-size: .9rem; color: color-mix(in srgb, var(--csw-text) 65%, transparent); }
.cs-theme-wat-vietqr__rows { margin: 0; border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-vietqr__rows > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; padding: .6rem 0; border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-vietqr__rows dt { color: color-mix(in srgb, var(--csw-text) 65%, transparent); font-size: .9rem; }
.cs-theme-wat-vietqr__rows dd { display: flex; align-items: center; gap: .6rem; margin: 0; text-align: right; word-break: break-all; }
.cs-theme-wat-vietqr__rows .is-key strong { font-size: 1.1rem; letter-spacing: .02em; }
.cs-theme-wat-vietqr__note { margin: .75rem 0 0; font-size: .9rem; color: color-mix(in srgb, var(--csw-text) 65%, transparent); }
.cs-theme-wat-copy { flex: none; display: inline-flex; align-items: center; gap: .3rem; margin-left: .4rem; padding: .25rem .6rem; border: 1px solid color-mix(in srgb, var(--csw-text) 22%, transparent); border-radius: var(--csw-btn-radius, 0); background: none; color: inherit; font: inherit; font-size: .8rem; line-height: 1.4; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.cs-theme-wat-copy:hover { border-color: var(--csw-text); }
.cs-theme-wat-copy svg { width: 14px; height: 14px; }
.cs-theme-wat-copy.is-done { border-color: #008060; color: #008060; }
@media (max-width: 600px) {
	.cs-theme-wat-vietqr { padding: 1rem; gap: 1.25rem; }
	.cs-theme-wat-vietqr__qr { flex-basis: 100%; }
}
.cs-theme-wat-pay-status { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: 40px; background: color-mix(in srgb, var(--csw-text) 6%, transparent); }
.cs-theme-wat-pay-status.is-paid { color: #1e7a34; background: color-mix(in srgb, #1e7a34 10%, var(--csw-bg)); }
.cs-theme-wat-pay-status svg { width: 18px; height: 18px; }
.cs-theme-wat-thankyou__icon.is-failed { background: #fbeaea; color: #a12b2b; }

/* Biến thể: ô màu, xoá lựa chọn, mô tả, bảng thông số */
.cs-theme-wat-variants__swatch { width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), 0 0 0 3px var(--csw-bg), 0 0 0 4px transparent; }
.cs-theme-wat-variants__swatch:hover { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), 0 0 0 3px var(--csw-bg), 0 0 0 4px color-mix(in srgb, var(--csw-text) 40%, transparent); }
.cs-theme-wat-variants__swatch.is-active { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 18px no-repeat, var(--sw); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), 0 0 0 3px var(--csw-bg), 0 0 0 5px var(--csw-text); }
.cs-theme-wat-variants__swatch.is-unavailable { text-decoration: none; opacity: .35; }
.cs-theme-wat-variants__reset { padding: 0; margin: -.25rem 0 .75rem; border: 0; background: none; color: var(--csw-text); font-size: .85rem; text-decoration: underline; cursor: pointer; }
.cs-theme-wat-variants__desc { margin: 0 0 .75rem; font-size: .92rem; }
.cs-theme-wat-attr-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.cs-theme-wat-attr-table th, .cs-theme-wat-attr-table td { padding: .55rem 0; text-align: left; border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-attr-table th { width: 40%; font-weight: 500; color: var(--csw-text); }

/* ---------- Thanh bước thanh toán ---------- */
.cs-theme-wat-steps { list-style: none; display: flex; justify-content: center; gap: .5rem; margin: 0 auto 2rem; padding: 0; max-width: 720px; counter-reset: none; }
.cs-theme-wat-steps li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: .4rem; position: relative; font-size: .85rem; text-align: center; color: color-mix(in srgb, var(--csw-text) 55%, transparent); }
.cs-theme-wat-steps li:not(:first-child)::before { content: ""; position: absolute; top: 15px; right: calc(50% + 22px); width: calc(100% - 44px); height: 2px; background: color-mix(in srgb, var(--csw-text) 15%, transparent); }
.cs-theme-wat-steps li.is-done:not(:first-child)::before, .cs-theme-wat-steps li.is-current:not(:first-child)::before { background: var(--csw-text); }
.cs-theme-wat-steps a { color: inherit; text-decoration: none; display: contents; }
.cs-theme-wat-steps__num { width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; border: 2px solid currentColor; background: var(--csw-bg); }
.cs-theme-wat-steps__num svg { width: 16px; height: 16px; }
.cs-theme-wat-steps li.is-current, .cs-theme-wat-steps li.is-done { color: var(--csw-text); }
.cs-theme-wat-steps li.is-current .cs-theme-wat-steps__num, .cs-theme-wat-steps li.is-done .cs-theme-wat-steps__num { background: var(--csw-text); color: var(--csw-bg); border-color: var(--csw-text); }
.cs-theme-wat-steps li.is-current span:last-child { font-weight: 600; }

/* Ô nhập bị lỗi */
.cs-theme-wat-checkout [aria-invalid="true"] { border-color: #d63638 !important; box-shadow: 0 0 0 1px #d63638 !important; }

/* ---------- Giảm giá theo bậc ---------- */
.cs-theme-wat-shop-freeship.is-tier { color: #1e7a34; }
.cs-theme-wat-tiers { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .4rem; }
.cs-theme-wat-tiers li { padding: .6rem 1rem; border-radius: 6px; background: color-mix(in srgb, var(--csw-text) 5%, transparent); }

/* ---------- Hoá đơn VAT ---------- */
.cs-theme-wat-vat { margin: .5rem 0 1.5rem; }
.cs-theme-wat-check { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 500; }
.cs-theme-wat-check input { width: 18px; height: 18px; accent-color: var(--csw-text); }
.cs-theme-wat-vat__fields { display: none; grid-template-columns: 1fr 1fr; gap: 0 1rem; margin-top: 1rem; padding: 1rem 1rem 0; border-radius: 8px; background: color-mix(in srgb, var(--csw-text) 4%, transparent); }
.cs-theme-wat-vat:has(input[name="vat"]:checked) .cs-theme-wat-vat__fields { display: grid; }
.cs-theme-wat-vat__fields .is-wide { grid-column: 1 / -1; }
@media (max-width: 749px) { .cs-theme-wat-vat__fields { grid-template-columns: 1fr; } }
.cs-theme-wat-vat-info { margin-top: 1rem; padding: .8rem 1rem; border-radius: 6px; background: color-mix(in srgb, var(--csw-text) 5%, transparent); font-size: .9rem; line-height: 1.7; }
.cs-theme-wat-vat-info span { opacity: .7; }

/* ---------- Chờ chuyển khoản ---------- */
.cs-theme-wat-pay-status.is-waiting { margin-top: 1rem; }

/* ---------- Liên hệ báo giá ---------- */
.cs-theme-wat-product__contact { display: grid; gap: .6rem; margin: 1rem 0 1.5rem; }
.cs-theme-wat-product__contact .cs-theme-wat-btn { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; }
.cs-theme-wat-product__contact svg { width: 20px; height: 20px; }
.cs-theme-wat-payment__desc { margin: -.25rem 0 .75rem 1.9rem; font-size: .9rem; opacity: .75; }
.cs-theme-wat-coupon__apply.is-loading { pointer-events: none; cursor: progress; }
.cs-theme-wat-coupon__apply.is-loading::before { content: ""; display: inline-block; width: 1em; height: 1em; margin-right: .4em; vertical-align: -.15em; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cs-theme-wat-spin .7s linear infinite; }
/* Lần tải đầu: đã có dòng "Đang tải…" thì không thêm vòng xoay giữa khung. */
[data-cs-wat-cart].is-busy:has(> .cs-theme-wat-shop-loading)::after, [data-cs-wat-summary].is-busy:has(> .cs-theme-wat-shop-loading)::after { display: none; }
[data-cs-wat-cart].is-busy > .cs-theme-wat-shop-loading, [data-cs-wat-summary].is-busy > .cs-theme-wat-shop-loading { opacity: .7; }

.cs-theme-wat-variants__swatch.is-active::after { content: none; }
.cs-theme-wat-variants__swatch.is-light.is-active { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23111' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 18px no-repeat, var(--sw); }

/* ---------- Tab Mô tả / Thông số / Đánh giá dưới sản phẩm ---------- */
.cs-theme-wat-ptabs { display: block; }
.cs-theme-wat-ptabs__nav { display: flex; gap: 2rem; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid color-mix(in srgb, var(--csw-text) 12%, transparent); margin-bottom: 1.75rem; }
.cs-theme-wat-ptabs__nav::-webkit-scrollbar { display: none; }
.cs-theme-wat-ptabs.is-center .cs-theme-wat-ptabs__nav { justify-content: center; }
.cs-theme-wat-ptabs.is-right .cs-theme-wat-ptabs__nav { justify-content: flex-end; }
.cs-theme-wat-ptabs__tab { position: relative; flex: none; padding: .85rem 0; border: 0; background: none; color: color-mix(in srgb, var(--csw-text) 65%, transparent); font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: color .15s; }
.cs-theme-wat-ptabs.is-upper .cs-theme-wat-ptabs__tab { text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; }
.cs-theme-wat-ptabs__tab:hover, .cs-theme-wat-ptabs__tab.is-active { color: var(--csw-text); }
.cs-theme-wat-ptabs__panel { max-width: 72rem; }
.cs-theme-wat-ptabs.is-center .cs-theme-wat-ptabs__panel { margin-inline: auto; }
.cs-theme-wat-ptabs__panel > .cs-theme-wat-rv { margin-top: 0; }
/* Gạch chân (mặc định) */
.cs-theme-wat-ptabs--line .cs-theme-wat-ptabs__tab::after, .cs-theme-wat-ptabs--line-grow .cs-theme-wat-ptabs__tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--csw-text); transform: scaleX(0); transition: transform .2s; }
.cs-theme-wat-ptabs--line .cs-theme-wat-ptabs__tab.is-active::after, .cs-theme-wat-ptabs--line-grow .cs-theme-wat-ptabs__tab.is-active::after { transform: scaleX(1); }
.cs-theme-wat-ptabs--line-grow .cs-theme-wat-ptabs__nav { gap: 0; }
.cs-theme-wat-ptabs--line-grow .cs-theme-wat-ptabs__tab { flex: 1 1 0; text-align: center; padding-inline: 1rem; }
/* Tab có khung */
.cs-theme-wat-ptabs--normal .cs-theme-wat-ptabs__nav { gap: .25rem; }
.cs-theme-wat-ptabs--normal .cs-theme-wat-ptabs__tab { padding: .75rem 1.25rem; margin-bottom: -1px; border: 1px solid transparent; border-radius: 8px 8px 0 0; }
.cs-theme-wat-ptabs--normal .cs-theme-wat-ptabs__tab.is-active { border-color: color-mix(in srgb, var(--csw-text) 12%, transparent); border-bottom-color: var(--csw-bg); background: var(--csw-bg); }
/* Viên thuốc & viền */
.cs-theme-wat-ptabs--pills .cs-theme-wat-ptabs__nav, .cs-theme-wat-ptabs--outline .cs-theme-wat-ptabs__nav { gap: .5rem; border-bottom: 0; padding-bottom: 2px; }
.cs-theme-wat-ptabs--pills .cs-theme-wat-ptabs__tab { padding: .55rem 1.2rem; border-radius: 999px; }
.cs-theme-wat-ptabs--pills .cs-theme-wat-ptabs__tab.is-active { background: var(--csw-text); color: var(--csw-bg); }
.cs-theme-wat-ptabs--outline .cs-theme-wat-ptabs__tab { padding: .55rem 1.2rem; border: 1px solid color-mix(in srgb, var(--csw-text) 18%, transparent); border-radius: var(--csw-btn-radius, 6px); }
.cs-theme-wat-ptabs--outline .cs-theme-wat-ptabs__tab.is-active { border-color: var(--csw-text); box-shadow: 0 0 0 1px var(--csw-text); }
/* Dọc bên trái */
@media (min-width: 750px) {
	.cs-theme-wat-ptabs--vertical { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
	.cs-theme-wat-ptabs--vertical .cs-theme-wat-ptabs__nav { flex-direction: column; gap: 0; border-bottom: 0; border-left: 1px solid color-mix(in srgb, var(--csw-text) 12%, transparent); margin: 0; }
	.cs-theme-wat-ptabs--vertical .cs-theme-wat-ptabs__tab { padding: .7rem 1.1rem; text-align: left; margin-left: -1px; border-left: 2px solid transparent; }
	.cs-theme-wat-ptabs--vertical .cs-theme-wat-ptabs__tab.is-active { border-left-color: var(--csw-text); }
}
/* Lần lượt từng phần / thu gọn */
.cs-theme-wat-ptabs__section + .cs-theme-wat-ptabs__section { margin-top: 2.5rem; }
.cs-theme-wat-ptabs__section > .cs-theme-wat-heading { margin-bottom: 1rem; }
.cs-theme-wat-ptabs--accordion .cs-theme-wat-accordion__summary, .cs-theme-wat-ptabs--accordion-closed .cs-theme-wat-accordion__summary { font-size: 1.05rem; font-weight: 600; }
.cs-theme-wat-ptabs.is-upper .cs-theme-wat-accordion__title { text-transform: uppercase; letter-spacing: .05em; font-size: .9rem; }
.cs-theme-wat-ptabs .cs-theme-wat-attr-table { max-width: 640px; }

/* Mô tả dựng bằng builder: tab trải rộng, viền dưới của hàng tab nằm trong khung trang */
.cs-theme-wat-ptabs.is-full { margin-top: 0; padding-top: 0; border-top: 0; }
.cs-theme-wat-ptabs.is-full .cs-theme-wat-ptabs__panel { max-width: none; }
.cs-theme-wat-ptabs.is-full .cs-theme-wat-ptabs__panel > .cs-theme-wat-container > * { max-width: 72rem; }
/* Đường kẻ nằm trong khung trang (không tràn ra mép màn hình) */
.cs-theme-wat-product__builder { margin: 0 auto; }
.cs-theme-wat-ptabs.is-full > .cs-theme-wat-container:first-child::before { content: ""; display: block; margin-bottom: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-ptabs.no-line { border-top: 0; padding-top: 0; }
.cs-theme-wat-ptabs.is-full.no-line > .cs-theme-wat-container:first-child::before { border-top: 0; margin-bottom: 0; }
.cs-theme-wat-product:has(+ .cs-theme-wat-product__builder) { padding-bottom: 3rem; }

/* Trang Thanh toán yêu cầu đăng nhập */
.cs-theme-wat-cl { text-align: center; }
.cs-theme-wat-cl__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 1.5rem 0 0; }
/* Dòng "Đang chờ thanh toán" (trong khung QR / trang cảm ơn) */
.cs-theme-wat-pay-status.is-waiting { display: flex; align-items: flex-start; gap: .65rem; padding: .75rem 1rem; border-radius: var(--csw-card-radius, 0); background: color-mix(in srgb, var(--csw-text) 5%, transparent); font-size: .92rem; line-height: 1.5; }
.cs-theme-wat-vietqr .cs-theme-wat-pay-status.is-waiting { margin: 1rem 0 0; }
.cs-theme-wat-pay-status .cs-theme-wat-spinner { display: inline-block; flex: none; width: 1em; height: 1em; margin-top: .2em; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cs-wat-spin .8s linear infinite; }
@keyframes cs-wat-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cs-theme-wat-pay-status .cs-theme-wat-spinner { animation-duration: 2.4s; } }
/* Ảnh sản phẩm trong giỏ / thanh toán / giỏ mini: bỏ lề ảnh của nội dung trang (.cs-theme-wat-rte img) */
.cs-theme-wat-cart__img img, .cs-theme-wat-minicart__img img, .cs-theme-wat-summary__img img { display: block; margin: 0; max-width: 100%; }
/* Mã giảm giá thu gọn */
.cs-theme-wat-coupon-toggle { margin: 1.25rem 0 0; border-top: 1px solid color-mix(in srgb, var(--csw-text) 10%, transparent); }
.cs-theme-wat-cart__summary .cs-theme-wat-coupon-toggle { margin-top: 1rem; }
.cs-theme-wat-coupon-toggle > summary { display: flex; align-items: center; gap: .5rem; padding: .9rem 0; cursor: pointer; list-style: none; font-size: .95rem; color: var(--csw-text); }
.cs-theme-wat-coupon-toggle > summary::-webkit-details-marker { display: none; }
.cs-theme-wat-coupon-toggle > summary svg { width: 16px; height: 16px; flex: none; }
.cs-theme-wat-coupon-toggle > summary span { flex: 1; text-decoration: underline; text-underline-offset: 3px; }
.cs-theme-wat-coupon-toggle__caret { transition: transform .2s ease; }
.cs-theme-wat-coupon-toggle[open] .cs-theme-wat-coupon-toggle__caret { transform: rotate(180deg); }
.cs-theme-wat-coupon-toggle .cs-theme-wat-coupon { margin: 0 0 .5rem; }
/* Khung "Đơn hàng của bạn": bỏ thụt lề danh sách / lề tiêu đề của nội dung trang (.cs-theme-wat-rte) để các dòng thẳng hàng */
.cs-theme-wat-checkout__summary .cs-theme-wat-summary__lines { padding-left: 0; margin-left: 0; }
.cs-theme-wat-checkout__summary .cs-theme-wat-summary__lines li { margin: 0; padding-top: 8px; }
.cs-theme-wat-checkout__summary > .cs-theme-wat-heading, .cs-theme-wat-checkout__summary h2 { margin: 0 0 1.25rem; }

