/**
 * Aiwibi — giao diện thương mại điện tử dựng trên Flatsome.
 * Biến màu được nạp inline từ aiwibi_css_tokens() trong inc/aiwibi-setup.php
 *
 * Mục lục:
 *   1. Nền tảng dùng chung
 *   2. Header & thương hiệu
 *   3. Trang chi tiết sản phẩm
 *   4. Giỏ hàng
 *   5. Thanh toán
 *   6. Responsive
 */

/* ============================ 1. NỀN TẢNG ============================ */

.aiwibi-hot { color: var(--aiwibi-red); }
.aiwibi-free { color: #16A34A; }

.aiwibi-card {
	background: #fff;
	border: 1px solid var(--aiwibi-line);
	border-radius: var(--aiwibi-radius);
	padding: 18px 20px;
	margin-bottom: 16px;
}

.aiwibi-card__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--aiwibi-navy);
	margin: 0 0 12px;
	text-transform: none;
	letter-spacing: 0;
}

.aiwibi-chip {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 4px;
	white-space: nowrap;
}

.aiwibi-chip--fast {
	background: var(--aiwibi-red);
	color: #fff;
}

/* Nút dùng chung */
.aiwibi-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 1px;
	min-height: 48px;
	padding: 8px 18px;
	border: 0;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: filter .15s ease, background .15s ease;
	text-decoration: none;
}

.aiwibi-btn:hover { filter: brightness(1.08); text-decoration: none; }
.aiwibi-btn em { font-style: normal; font-size: 11px; font-weight: 500; opacity: .9; }

/* Dùng !important vì Flatsome tô màu .button/.button.alt ở độ ưu tiên cao hơn. */
.aiwibi-btn.aiwibi-btn--cart {
	flex-direction: row;
	gap: 6px;
	background-color: var(--aiwibi-navy) !important;
	border-color: var(--aiwibi-navy) !important;
	color: #fff !important;
}

.aiwibi-btn.aiwibi-btn--buy,
.aiwibi-btn.aiwibi-btn--place {
	background-color: var(--aiwibi-red) !important;
	border-color: var(--aiwibi-red) !important;
	color: #fff !important;
}

.aiwibi-btn--place { font-size: 17px; min-height: 54px; }
.aiwibi-btn--update { background-color: var(--aiwibi-navy-050) !important; color: var(--aiwibi-navy) !important; min-height: 42px; font-size: 14px; }

.aiwibi-btn.aiwibi-btn--outline {
	background-color: #fff !important;
	color: var(--aiwibi-navy) !important;
	border: 1px solid var(--aiwibi-navy) !important;
}

.aiwibi-btn--block { display: flex; width: 100%; }
.aiwibi-btn--wide { min-width: 200px; }

/* ====================== 2. HEADER & THƯƠNG HIỆU ====================== */

.header-main,
.header-bottom { background-color: var(--aiwibi-navy) !important; }

.header-main .nav > li > a,
.header-bottom .nav > li > a { color: rgba(255, 255, 255, .92) !important; }

.header-main .nav > li > a:hover,
.header-bottom .nav > li > a:hover { color: #fff !important; }

.header-bottom { border-top: 1px solid rgba(255, 255, 255, .12); }

/* Ưu tiên màu thương hiệu cho các thành phần Flatsome dùng màu primary */
.button.primary:not(.is-outline),
.badge-inner { background-color: var(--aiwibi-navy); }

.woocommerce-message,
.woocommerce-info { border-top-color: var(--aiwibi-navy); }

/* ==================== 3. CHI TIẾT SẢN PHẨM ==================== */

.aiwibi-page-product .product-title { font-size: 24px; line-height: 1.35; margin-bottom: 4px; }

.aiwibi-brandline {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.aiwibi-brandline__name {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .4px;
	color: var(--aiwibi-navy);
}

.aiwibi-subtitle { font-size: 15px; color: var(--aiwibi-muted); margin: 0 0 10px; }

.aiwibi-license {
	display: inline-block;
	background: var(--aiwibi-navy-050);
	color: var(--aiwibi-navy);
	font-size: 12.5px;
	padding: 6px 10px;
	border-radius: 6px;
	margin-bottom: 12px;
}

/* Dòng meta: điểm, đánh giá, hỏi đáp, SKU */
.aiwibi-metarow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13.5px;
	color: var(--aiwibi-muted);
	padding-bottom: 14px;
	border-bottom: 1px solid var(--aiwibi-line);
	margin-bottom: 14px;
}

.aiwibi-score {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: var(--aiwibi-navy);
	color: #fff;
	font-weight: 700;
	font-size: 12.5px;
	padding: 3px 7px;
	border-radius: 4px;
}

.aiwibi-star { font-style: normal; color: var(--aiwibi-amber); }
.aiwibi-metarow__link { color: var(--aiwibi-navy); border-bottom: 1px dotted currentColor; }
.aiwibi-metarow__sku,
.aiwibi-metarow__muted { color: var(--aiwibi-muted); }

/* Flash deal */
.aiwibi-flash {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: linear-gradient(90deg, var(--aiwibi-red), #F0553A);
	color: #fff;
	border-radius: 8px;
	padding: 10px 14px;
	margin-bottom: 14px;
}

.aiwibi-flash__label { font-size: 17px; font-weight: 800; letter-spacing: .3px; }
.aiwibi-flash__bolt { margin-right: 2px; }
.aiwibi-flash__timer { display: flex; align-items: center; gap: 5px; }
.aiwibi-flash__caption { font-size: 12px; font-weight: 600; opacity: .95; margin-right: 4px; }

.aiwibi-flash__timer b {
	display: inline-block;
	min-width: 30px;
	background: #1A1A1A;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	padding: 4px 5px;
	border-radius: 4px;
}

/* Giá */
.aiwibi-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.aiwibi-price__now .amount { font-size: 28px; font-weight: 800; color: var(--aiwibi-red); }
.aiwibi-price__vat { font-size: 13.5px; color: var(--aiwibi-muted); }

.aiwibi-price__compare { font-size: 14px; color: var(--aiwibi-ink); margin: 6px 0 14px; }
.aiwibi-price__compare del { color: var(--aiwibi-muted); }
.aiwibi-price__percent { color: var(--aiwibi-red); font-weight: 700; }

/* Chọn phiên bản */
.aiwibi-variants { margin-bottom: 14px; }
.aiwibi-variants__label { display: block; font-size: 14px; margin-bottom: 8px; }
.aiwibi-variants__row { display: flex; flex-wrap: wrap; gap: 8px; }

.aiwibi-pill {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 18px;
	border: 1px solid var(--aiwibi-line);
	border-radius: 20px;
	background: #F7F8FA;
	color: var(--aiwibi-ink);
	font-size: 14px;
	text-decoration: none;
}

.aiwibi-pill.is-active {
	border-color: var(--aiwibi-red);
	background: #fff;
	color: var(--aiwibi-red);
	font-weight: 600;
}

/* Số lượng */
.aiwibi-qty { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.aiwibi-qty__label { font-size: 14px; }

.aiwibi-qty__box {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--aiwibi-line);
	border-radius: 6px;
	overflow: hidden;
}

.aiwibi-qty__btn {
	width: 38px;
	height: 40px;
	border: 0;
	background: #fff;
	color: var(--aiwibi-navy);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.aiwibi-qty__btn:hover { background: var(--aiwibi-navy-050); }

.aiwibi-qty__box .quantity { margin: 0; }
.aiwibi-qty__box input.qty {
	width: 52px;
	height: 40px;
	margin: 0;
	border: 0;
	border-left: 1px solid var(--aiwibi-line);
	border-right: 1px solid var(--aiwibi-line);
	border-radius: 0;
	box-shadow: none;
	text-align: center;
	font-size: 15px;
	background: #fff;
}

.aiwibi-qty__box .quantity .minus,
.aiwibi-qty__box .quantity .plus { display: none; }

/* Hàng nút mua */
.aiwibi-actions {
	display: grid;
	grid-template-columns: auto 1fr 1fr;
	gap: 10px;
	align-items: stretch;
}

.aiwibi-actions__stock {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 48px;
	padding: 8px 14px;
	border: 1px solid var(--aiwibi-navy);
	border-radius: 8px;
	color: var(--aiwibi-navy);
	font-size: 13px;
	line-height: 1.25;
}

.aiwibi-actions__stock b { display: block; font-size: 14px; }
.aiwibi-actions__stock em { font-style: normal; opacity: .8; }
.aiwibi-actions__pin { font-size: 14px; }

/* Popup mua nhanh nhúng lại form sản phẩm; ẩn các khối chỉ dành cho trang chi
   tiết để trong popup chỉ còn ô số lượng và nút gửi của chính popup. */
.devvn-popup-quickbuy .aiwibi-actions,
.devvn-popup-quickbuy .aiwibi-variants,
.devvn-popup-quickbuy .devvn_buy_now { display: none !important; }

/* Nút "Đặt hàng ngay" của plugin devvn-quick-buy — kéo về đúng bảng màu */
.aiwibi-page-product .devvn_buy_now.devvn_buy_now_style {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	margin: 10px 0 0;
	padding: 8px 18px;
	background: #fff !important;
	border: 1px solid var(--aiwibi-navy) !important;
	border-radius: 8px !important;
	color: var(--aiwibi-navy) !important;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
}

.aiwibi-page-product .devvn_buy_now.devvn_buy_now_style:hover {
	background: var(--aiwibi-navy) !important;
	color: #fff !important;
}

/* Cam kết giao hàng */
.aiwibi-promise {
	background: var(--aiwibi-navy-050);
	border-radius: 8px;
	padding: 12px 14px;
	margin: 16px 0;
}

.aiwibi-promise__head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.aiwibi-promise__head b { font-size: 14px; color: var(--aiwibi-navy); }
.aiwibi-promise__body { font-size: 13.5px; line-height: 1.6; margin: 0; color: var(--aiwibi-ink); }

/* Ảnh khách hàng */
.aiwibi-userphotos { margin-top: 16px; }
.aiwibi-userphotos__title { font-size: 14px; color: var(--aiwibi-muted); margin: 0 0 8px; font-weight: 500; }
.aiwibi-userphotos__row { display: flex; gap: 8px; flex-wrap: wrap; }

.aiwibi-userphotos__item {
	width: 78px;
	height: 78px;
	border: 1px solid var(--aiwibi-line);
	border-radius: 6px;
	overflow: hidden;
	flex: 0 0 auto;
}

.aiwibi-userphotos__item img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Thẻ cột phải */
.aiwibi-policy { list-style: none; margin: 0; padding: 0; }

.aiwibi-policy__item {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--aiwibi-line);
	font-size: 13px;
	line-height: 1.5;
}

.aiwibi-policy__item:last-child { border-bottom: 0; }

.aiwibi-policy__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--aiwibi-navy-050);
	border: 2px solid var(--aiwibi-navy);
	margin-top: 2px;
}

.aiwibi-policy__item b { display: block; color: var(--aiwibi-navy); }
.aiwibi-policy__item em { font-style: normal; color: var(--aiwibi-muted); }

.aiwibi-card--brand { text-align: center; }
.aiwibi-card__brandname { font-size: 18px; font-weight: 800; color: var(--aiwibi-navy); margin-bottom: 12px; }

.aiwibi-followbtn {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--aiwibi-navy);
	border-radius: 8px;
	background: #fff;
	color: var(--aiwibi-navy);
	font-weight: 700;
	cursor: pointer;
}

.aiwibi-followbtn.is-following { background: var(--aiwibi-navy); color: #fff; }

/* Tab nội dung */
.aiwibi-tabcontent { font-size: 15px; line-height: 1.75; }
.aiwibi-qa__count { color: var(--aiwibi-muted); }

/* ========================= 4. GIỎ HÀNG ========================= */

.aiwibi-cart__heading { font-size: 22px; color: var(--aiwibi-navy); margin-bottom: 16px; }
.aiwibi-cart__heading span { font-weight: 400; color: var(--aiwibi-muted); font-size: 17px; margin-left: 4px; }

.aiwibi-cart__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }

.aiwibi-cart__table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--aiwibi-line); border-radius: var(--aiwibi-radius); }
.aiwibi-cart__table thead th { background: #F7F8FA; font-size: 13px; color: var(--aiwibi-muted); font-weight: 600; padding: 12px 14px; text-align: left; }
.aiwibi-cart__table thead .col-price,
.aiwibi-cart__table thead .col-qty,
.aiwibi-cart__table thead .col-total { text-align: center; }
.aiwibi-cart__table td { padding: 16px 14px; border-top: 1px solid var(--aiwibi-line); vertical-align: middle; }
.aiwibi-cart__table .col-price,
.aiwibi-cart__table .col-qty,
.aiwibi-cart__table .col-total { text-align: center; }

.aiwibi-cartrow { display: flex; gap: 14px; }
.aiwibi-cartrow__thumb { flex: 0 0 72px; }
.aiwibi-cartrow__thumb img { width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--aiwibi-line); border-radius: 6px; }
.aiwibi-cartrow__brand { display: block; font-size: 12px; font-weight: 700; color: var(--aiwibi-navy); letter-spacing: .3px; }
.aiwibi-cartrow__name { display: block; font-size: 14.5px; color: var(--aiwibi-ink); line-height: 1.45; margin: 2px 0 6px; }
.aiwibi-cartrow__tools { display: flex; gap: 16px; font-size: 13px; }

/* Flatsome biến a.remove thành nút tròn có nền; trả về dạng link chữ. */
.aiwibi-cartrow__wish,
.aiwibi-cart .aiwibi-cartrow__remove.remove {
	display: inline;
	width: auto;
	height: auto;
	line-height: inherit;
	border: 0;
	border-radius: 0;
	background: none !important;
	padding: 0;
	color: var(--aiwibi-muted) !important;
	cursor: pointer;
	font-size: 13px;
	font-weight: 400;
	text-align: left;
}

.aiwibi-cart .aiwibi-cartrow__remove.remove:before,
.aiwibi-cart .aiwibi-cartrow__remove.remove:after { display: none; }

/* Flatsome tự thêm nút "Tiếp tục xem sản phẩm"; giỏ hàng đã có link riêng. */
.aiwibi-page-cart .button-continue-shopping { display: none !important; }

.aiwibi-cartrow__wish:hover,
.aiwibi-cartrow__remove:hover { color: var(--aiwibi-red); }
.aiwibi-cartrow__wish.is-active { color: var(--aiwibi-red); }

.aiwibi-cartrow__price .amount { font-weight: 700; color: var(--aiwibi-ink); }
.aiwibi-cartrow__was { display: block; font-size: 13px; color: var(--aiwibi-muted); }

.aiwibi-cart__actions td { background: #FBFCFD; }
.aiwibi-cart__actionbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 14px; }
.aiwibi-cart__continue { margin-right: auto; color: var(--aiwibi-navy); font-size: 14px; }
.aiwibi-cart__subtotal { font-size: 14px; }
.aiwibi-cart__subtotal b .amount { font-size: 19px; color: var(--aiwibi-red); font-weight: 800; }
.aiwibi-cart__subtotal em { display: block; font-style: normal; font-size: 12px; color: var(--aiwibi-muted); }

/* Thẻ hoá đơn */
.aiwibi-invoice__line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 7px 0; font-size: 14px; }
.aiwibi-invoice__line--total { border-top: 1px solid var(--aiwibi-line); margin-top: 8px; padding-top: 12px; }
.aiwibi-invoice__line--total .amount { font-size: 21px; font-weight: 800; color: var(--aiwibi-red); }
.aiwibi-invoice__vat { font-size: 12px; color: var(--aiwibi-muted); margin: 0 0 14px; text-align: right; }
.aiwibi-invoice__gifts { font-size: 13px; color: var(--aiwibi-muted); padding: 8px 0; }
.aiwibi-invoice__giftlabel { display: block; margin-bottom: 4px; }
.aiwibi-invoice__gifts ul { margin: 0 0 6px; padding-left: 16px; }
.aiwibi-invoice__gifts em { font-style: normal; font-size: 12px; line-height: 1.5; display: block; }

.aiwibi-promo__item { display: flex; align-items: center; gap: 10px; font-size: 13.5px; }
.aiwibi-promo__icon { font-size: 22px; }
.aiwibi-promo__text { flex: 1; }
.aiwibi-promo__check { color: #16A34A; font-weight: 800; }

/* Gợi ý sản phẩm */
.aiwibi-suggest { margin-top: 32px; }
.aiwibi-suggest__title { font-size: 18px; color: var(--aiwibi-navy); margin-bottom: 14px; }
.aiwibi-suggest__row { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }

.aiwibi-suggest__card {
	position: relative;
	display: block;
	background: #fff;
	border: 1px solid var(--aiwibi-line);
	border-radius: 8px;
	padding: 12px;
	text-decoration: none;
	color: var(--aiwibi-ink);
}

.aiwibi-suggest__card:hover { border-color: var(--aiwibi-navy); }
.aiwibi-suggest__badge { position: absolute; top: 8px; right: 8px; background: var(--aiwibi-red); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 6px; border-radius: 4px; }
.aiwibi-suggest__img img { width: 100%; height: 130px; object-fit: contain; }
.aiwibi-suggest__name { display: block; font-size: 13px; line-height: 1.45; margin: 8px 0 6px; height: 38px; overflow: hidden; }
.aiwibi-suggest__price b .amount { color: var(--aiwibi-red); font-weight: 800; font-size: 15px; }
.aiwibi-suggest__price del { font-size: 12.5px; color: var(--aiwibi-muted); margin-left: 4px; }

/* ========================= 5. THANH TOÁN ========================= */

/* Ẩn header/footer mặc định, dùng thanh tiêu đề rút gọn */
.aiwibi-page-checkout #masthead,
.aiwibi-page-checkout .header-wrapper,
.aiwibi-page-checkout .footer-wrapper,
.aiwibi-page-checkout #wide-nav { display: none !important; }

.aiwibi-page-checkout { background: var(--aiwibi-bg); }

/* Ẩn các thành phần mặc định bị trùng với bố cục mới */
.aiwibi-page-checkout .checkout-breadcrumbs,
.aiwibi-page-checkout .woocommerce-form-coupon-toggle,
.aiwibi-page-checkout .checkout_coupon,
.aiwibi-page-checkout .page-title { display: none !important; }

/* Flatsome viết hoa tiêu đề bảng và nút; giao diện này dùng chữ thường */
.aiwibi-page-checkout .aiwibi-card__title,
.aiwibi-page-checkout .aiwibi-block__toggle,
.aiwibi-page-checkout .aiwibi-review th,
.aiwibi-page-checkout .aiwibi-btn,
.aiwibi-page-cart .aiwibi-btn,
.aiwibi-page-cart .aiwibi-cart__continue { text-transform: none !important; letter-spacing: 0; }

.aiwibi-block__toggle { white-space: nowrap; flex: 0 0 auto; }

.aiwibi-cohead {
	display: flex;
	align-items: center;
	gap: 18px;
	background: var(--aiwibi-navy);
	padding: 16px 28px;
	margin: 0 0 24px;
}

.aiwibi-cohead__logo img { height: 34px; width: auto; display: block; }
.aiwibi-cohead__sep { width: 1px; height: 26px; background: rgba(255, 255, 255, .35); }
.aiwibi-cohead__title { color: #fff; font-size: 18px; font-weight: 600; }

.aiwibi-checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 22px; align-items: start; }
.aiwibi-checkout__sticky { position: sticky; top: 20px; }

.aiwibi-block__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.aiwibi-block__head .aiwibi-card__title { margin: 0; }

.aiwibi-block__toggle {
	border: 0;
	background: none;
	padding: 0;
	color: #2563EB;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
}

.aiwibi-block__toggle:hover { text-decoration: underline; }

.aiwibi-address__tag { display: inline-block; background: var(--aiwibi-navy); color: #fff; font-size: 11.5px; padding: 3px 9px; border-radius: 4px; margin-right: 8px; }
.aiwibi-address__name { font-size: 14.5px; }
.aiwibi-address__line { font-size: 13.5px; color: var(--aiwibi-muted); margin: 8px 0 0; }
.aiwibi-address__empty { font-size: 13.5px; color: var(--aiwibi-muted); margin: 0; }

.aiwibi-fields { padding-top: 12px; border-top: 1px solid var(--aiwibi-line); margin-top: 12px; }
.aiwibi-fields h3 { font-size: 15px; color: var(--aiwibi-navy); }

.aiwibi-field label { display: block; font-size: 13px; color: var(--aiwibi-muted); margin-bottom: 4px; }
.aiwibi-field input { width: 100%; }

/* Phương thức thanh toán */
.aiwibi-pay__list { list-style: none; margin: 0; padding: 0; }

.aiwibi-pay__list > li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--aiwibi-line);
	border-radius: 8px;
	margin-bottom: 8px;
	background: #fff;
}

.aiwibi-pay__list > li label { margin: 0; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.aiwibi-pay__list > li .payment_box { flex: 1 0 100%; font-size: 13px; color: var(--aiwibi-muted); background: none; padding: 0; margin: 0; }
.aiwibi-pay__list > li .payment_box:before { display: none; }
.aiwibi-pay__terms { padding: 0; margin-top: 8px; }

/* Lựa chọn giao hàng */
.aiwibi-ship { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }

.aiwibi-ship__opt {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1 1 220px;
	padding: 12px 14px;
	border: 1px solid var(--aiwibi-line);
	border-radius: 8px;
	cursor: pointer;
	margin: 0;
	background: #fff;
}

.aiwibi-ship__opt.is-active { border-color: #16A34A; background: #F0FDF4; }
.aiwibi-ship__title { display: block; font-size: 14px; color: var(--aiwibi-navy); }
.aiwibi-ship__cost { font-style: normal; font-size: 13px; color: var(--aiwibi-muted); }

/* Danh sách sản phẩm trong kiện */
.aiwibi-items { list-style: none; margin: 0; padding: 0; }

.aiwibi-items__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--aiwibi-line);
}

.aiwibi-items__thumb { position: relative; flex: 0 0 58px; }
.aiwibi-items__thumb img { width: 58px; height: 58px; object-fit: contain; border: 1px solid var(--aiwibi-line); border-radius: 6px; }
.aiwibi-items__badge { position: absolute; top: -4px; left: -4px; background: var(--aiwibi-red); color: #fff; font-style: normal; font-size: 10.5px; font-weight: 700; padding: 2px 5px; border-radius: 4px; }
.aiwibi-items__badge--gift { position: static; display: inline-block; background: #fff; color: var(--aiwibi-red); border: 1px solid var(--aiwibi-red); }
.aiwibi-items__info { flex: 1; min-width: 0; }
.aiwibi-items__brand { display: block; font-size: 12.5px; color: var(--aiwibi-navy); }
.aiwibi-items__name { font-size: 13.5px; line-height: 1.45; }
.aiwibi-items__qty { font-size: 13px; color: var(--aiwibi-muted); }
.aiwibi-items__price { text-align: right; min-width: 110px; }
.aiwibi-items__price del { display: block; font-size: 12.5px; color: var(--aiwibi-muted); }
.aiwibi-items__price b .amount { color: var(--aiwibi-red); font-weight: 700; }

/* Tóm tắt đơn */
.aiwibi-review { width: 100%; border: 0; }
.aiwibi-review th,
.aiwibi-review td { border: 0; padding: 7px 0; font-size: 14px; font-weight: 400; }
.aiwibi-review th { text-align: left; color: var(--aiwibi-ink); }
.aiwibi-review td { text-align: right; }
.aiwibi-review__line--total th,
.aiwibi-review__line--total td { border-top: 1px solid var(--aiwibi-line); padding-top: 12px; }
.aiwibi-review__line--total th em { font-style: normal; font-size: 12px; color: var(--aiwibi-muted); }
.aiwibi-review__line--total .amount { font-size: 20px; font-weight: 800; color: var(--aiwibi-red); }

/* Phiếu mua hàng */
.aiwibi-voucher { list-style: none; margin: 0; padding: 0; }
.aiwibi-voucher__empty { font-size: 13.5px; color: var(--aiwibi-muted); margin: 0; }

.aiwibi-voucher__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--aiwibi-line);
}

.aiwibi-voucher__item:first-child { border-top: 0; }

.aiwibi-voucher__value {
	flex: 0 0 76px;
	background: var(--aiwibi-red-050);
	color: var(--aiwibi-red);
	font-weight: 800;
	font-size: 14px;
	text-align: center;
	padding: 10px 6px;
	border-radius: 6px;
}

.aiwibi-voucher__info { flex: 1; min-width: 0; }
.aiwibi-voucher__info b { display: block; font-size: 13.5px; color: var(--aiwibi-navy); }
.aiwibi-voucher__info em { font-style: normal; font-size: 12.5px; color: var(--aiwibi-muted); }
.aiwibi-voucher__use { min-height: 36px; padding: 6px 16px; font-size: 13.5px; }

.aiwibi-coupon { display: flex; gap: 8px; }
.aiwibi-coupon__input { flex: 1; margin: 0; }
.aiwibi-coupon__msg { font-size: 13px; margin: 8px 0 0; }
.aiwibi-coupon__msg.is-error { color: var(--aiwibi-red); }
.aiwibi-coupon__msg.is-ok { color: #16A34A; }

.aiwibi-checkout__note { font-size: 12px; color: var(--aiwibi-muted); line-height: 1.6; margin: 12px 0 0; text-align: center; }

/* ============ 7. THẺ SẢN PHẨM (lưới cửa hàng, tương tự, widget) ============
   Stylesheet của site cũ ép tiêu đề thẻ lên 24px và không giới hạn số dòng,
   khiến lưới sản phẩm vỡ. Phần dưới đây chuẩn hoá lại toàn bộ. */

.product-small .box-text {
	padding: 10px 4px 0;
	text-align: left;
}

.product-small .box-text .category,
.product-small .box-text .product-cat {
	font-size: 11.5px;
	line-height: 1.3;
	color: var(--aiwibi-muted);
	text-transform: uppercase;
	letter-spacing: .3px;
	margin-bottom: 4px;
}

.product-small .box-text .name,
.product-small .box-text .product-title,
.product-small .box-text p.name a,
.product-small .box-text .product-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px !important;
	line-height: 1.45 !important;
	font-weight: 500;
	color: var(--aiwibi-ink);
	margin: 0 0 8px;
	min-height: 40px;
	text-transform: none;
	letter-spacing: 0;
}

.product-small .box-text .product-title a:hover { color: var(--aiwibi-navy); }

.product-small .price,
.product-small .box-text .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 15px;
	margin: 0;
}

.product-small .price ins,
.product-small .price > .amount {
	text-decoration: none;
	font-weight: 800;
	color: var(--aiwibi-red);
}

.product-small .price del {
	font-size: 13px;
	font-weight: 400;
	color: var(--aiwibi-muted);
	opacity: 1;
}

/* Ảnh trong thẻ: chiều cao đồng đều để lưới thẳng hàng */
.product-small .box-image img {
	width: 100%;
	height: 210px;
	object-fit: contain;
	background: #fff;
}

.product-small .badge-container .badge-inner {
	background-color: var(--aiwibi-red);
	color: #fff;
	font-weight: 700;
	border-radius: 4px;
}

/* Tiêu đề khu vực "Sản phẩm tương tự" / "Có thể bạn cũng thích" */
.related h3.product-section-title,
.up-sells h3.product-section-title,
.product-section-title {
	font-size: 18px;
	color: var(--aiwibi-navy);
	text-transform: none;
	letter-spacing: 0;
	border-bottom: 2px solid var(--aiwibi-navy-050);
	padding-bottom: 10px;
	margin-bottom: 18px;
}

/* --- Widget danh sách sản phẩm ở cột phải ---
   Cột chỉ rộng ~200px: ảnh nhỏ lại, tên cho phép 3 dòng, giá xuống dòng riêng
   và thụt vào cho thẳng hàng với tên. */
.product_list_widget li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 10px;
	row-gap: 4px;
	padding: 12px 0;
	border-bottom: 1px solid var(--aiwibi-line);
	min-height: 0;
}

.product_list_widget li > .amount,
.product_list_widget li > ins,
.product_list_widget li > del { margin-left: 54px; }

.product_list_widget li:last-child { border-bottom: 0; }

/* Stylesheet cũ đặt `.product_list_widget li a { height:43px; overflow:hidden }`
   khiến tên sản phẩm bị cắt ngang dòng. Ghi đè bằng !important cho chắc. */
.widget .product_list_widget li > a,
.product_list_widget li > a {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	flex: 1 1 100%;
	min-width: 0;
	font-size: 13.5px !important;
	line-height: 1.45 !important;
	font-weight: 500;
	color: var(--aiwibi-ink);
	text-transform: none;
	letter-spacing: 0;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: clip !important;
}

.widget .product_list_widget li img,
.product_list_widget li img {
	flex: 0 0 44px;
	width: 44px !important;
	height: 44px !important;
	object-fit: contain;
	border: 1px solid var(--aiwibi-line);
	border-radius: 6px;
	margin: 0 !important;
	float: none !important;
}

.widget .product_list_widget .product-title,
.product_list_widget .product-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 12.5px !important;
	line-height: 1.4 !important;
	color: var(--aiwibi-ink) !important;
}

.product_list_widget .amount { color: var(--aiwibi-red); font-weight: 700; font-size: 14px; }
.product_list_widget del .amount { color: var(--aiwibi-muted); font-weight: 400; font-size: 12.5px; }
.product_list_widget ins { text-decoration: none; }

/* ========================= 6. RESPONSIVE ========================= */

@media (max-width: 1024px) {
	.aiwibi-cart__grid,
	.aiwibi-checkout__grid { grid-template-columns: minmax(0, 1fr); }
	.aiwibi-checkout__sticky { position: static; }
}

@media (max-width: 767px) {
	.aiwibi-actions { grid-template-columns: 1fr 1fr; }
	.aiwibi-actions__stock { grid-column: 1 / -1; }

	.aiwibi-flash { flex-direction: column; align-items: flex-start; gap: 8px; }

	.aiwibi-cart__table thead { display: none; }
	.aiwibi-cart__table tr { display: block; border-top: 1px solid var(--aiwibi-line); }
	.aiwibi-cart__table td { display: flex; justify-content: space-between; align-items: center; border: 0; padding: 8px 14px; text-align: right; }
	.aiwibi-cart__table td:before { content: attr(data-title); font-size: 13px; color: var(--aiwibi-muted); }
	.aiwibi-cart__table .col-product { display: block; }
	.aiwibi-cart__table .col-product:before { display: none; }
	.aiwibi-cart__actionbar { justify-content: stretch; }
	.aiwibi-cart__continue { margin-right: 0; width: 100%; }
	.aiwibi-btn--wide { width: 100%; }

	.aiwibi-cohead { padding: 12px 16px; gap: 12px; }
	.aiwibi-cohead__logo img { height: 26px; }
	.aiwibi-cohead__title { font-size: 16px; }

	/* Thẻ sản phẩm: 2 cột trên điện thoại, chữ và ảnh nhỏ lại */
	.product-small .box-image img { height: 150px; }
	.product-small .box-text .name,
	.product-small .box-text .product-title,
	.product-small .box-text .product-title a { font-size: 13px !important; min-height: 36px; }
	.product-small .price { font-size: 14px; }
	.product-small .box-text .category { font-size: 10.5px; }

	.product-section-title { font-size: 16px; }

	.aiwibi-userphotos__item { width: 64px; height: 64px; }
	.aiwibi-metarow { gap: 8px; font-size: 12.5px; }
	.aiwibi-price__now .amount { font-size: 24px; }
	.aiwibi-variants__row { gap: 6px; }
	.aiwibi-pill { padding: 0 14px; font-size: 13.5px; }

	.aiwibi-suggest__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aiwibi-items__price { min-width: 92px; }
	.aiwibi-ship__opt { flex: 1 1 100%; }
	.aiwibi-voucher__item { flex-wrap: wrap; }
	.aiwibi-voucher__use { width: 100%; }
}

/* Điện thoại nhỏ: giữ 2 cột lưới sản phẩm thay vì tụt xuống 1 cột */
@media (max-width: 549px) {
	.related .product-small.col,
	.up-sells .product-small.col,
	.shop-container .product-small.col { width: 50%; max-width: 50%; flex-basis: 50%; padding-bottom: 16px; }
}
