/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.7.1
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* —— Single product layout (at-pd) —— */
.at-pd-custom-layout .woocommerce-variation-add-to-cart .quantity,
.at-pd-custom-layout form.cart .quantity,
.shop_table.cart .product-quantity,
.cart-column .product-quantity {
	display: none !important;
}

.at-pd-custom-layout .woocommerce-variation .woocommerce-variation-price,
.woocommerce-account .woocommerce-notices-wrapper {
	display: none !important;
}

/* Ẩn icon giỏ hàng trên Header (Flatsome) */
.cart-item.has-icon,
.header-nav .cart-link,
.mobile-nav .cart-item {
	display: none !important;
}

.product-summary table tr+tr {
	border-top: none !important;
}

/* Breadcrumb phía trên khối sản phẩm */
.at-pd-product-breadcrumb-wrap {
	padding-top: 0.35rem;
	padding-bottom: 1rem;
}

.at-pd-product-breadcrumb {
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0;
	color: #e67e22;
	font-weight: 500;
}

.at-pd-product-breadcrumb a {
	color: #717680;
	font-weight: 600;
	text-decoration: none;
	font-size: 14px;
}

.at-pd-product-breadcrumb a:last-child {
	color: #E04F16;
}

.at-pd-product-breadcrumb a:hover {
	text-decoration: underline;
}

.at-pd-bc-sep {
	color: #bdbdbd;
	margin: 0 0.2em;
	font-weight: 400;
}

.at-pd-cat-badge {
	display: inline-block;
	margin-bottom: 12px;
	padding: 4px 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: #B93815;
	background: #FEF6EE;
	border: 1px solid #F9DBAF;
	border-radius: 999px;
}

h1.product_title {
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	color: #000;
	margin-bottom: 12px;
}

.product-info .is-divider {
	display: none;
}

.product-short-description p {
	font-size: 20px;
	color: #475467;
	margin-bottom: 20px;
}

.at-pd-layout .product-info .woocommerce-product-details__short-description {
	font-style: italic;
	color: #666;
	font-size: 0.95rem;
	margin-bottom: 1.25rem;
}

.at-product-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	padding: 1rem 0;
	margin-bottom: 0.5rem;
}

.at-product-specs__col {
	flex: 1 1 140px;
	min-width: 120px;
	padding: 0 0.75rem;
	border-left: 1px solid rgba(0, 0, 0, 0.06);
}

.at-product-specs__col:first-child {
	border-left: 0;
	padding-left: 0;
}

.at-product-specs__label {
	font-size: 14px;
	font-weight: 400;
	color: #000;
	margin-bottom: 0.35rem;
}

.at-product-specs__value {
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.at-product-total-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	width: 100%;
}

.at-product-total-line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.5rem;
	flex-direction: column;
}

.at-product-total-label {
	font-size: 20px;
	font-weight: 600;
	color: #000;
}

/* Dòng xám dưới Thành tiền: tên các option đã chọn */
.at-product-variation-summary {
	margin: 8px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #667085;
	max-width: 100%;
}

.at-product-variation-summary.is-empty {
	display: none !important;
}

.at-product-variation-summary:not(.is-empty) {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.at-product-variation-summary:not(.is-empty)::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 2px;
	border-right: 1.5px solid #344054;
	border-bottom: 1.5px solid #344054;
	transform: rotate(45deg);
	vertical-align: middle;
	flex-shrink: 0;
}

.at-product-total-price {
	font-size: 1.35rem;
	font-weight: 700;
}

/* Gradient chữ: #FCB424 → #EE6723 */
.at-product-total-price,
.at-product-total-price .amount,
.at-product-total-price ins,
.at-product-total-price ins .amount,
.at-product-total-price .woocommerce-Price-amount,
.at-product-total-price bdi {
	background-image: linear-gradient(270deg, #fcb424 0%, #ee6723 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.single_variation_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.variations_button {
	width: fit-content;
	height: fit-content;
	min-height: 44px;
}

.product-thumbnails {
	position: absolute;
	width: 60% !important;
	bottom: 92px;
	left: 32px;
	z-index: 30;
}

.image-tools {
	bottom: unset;
	top: 10px;
	left: 10px;
}

.product-thumbnails img,
.product-gallery-slider img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 12px;
}

.product-thumbnails a {
	background: none !important;
}

.at-pd-custom-layout form.cart .single_add_to_cart_button {
	min-width: 271px;
	padding: 10px 20px;
	min-height: 44px;
	font-size: 16px;
	font-weight: 600 !important;
	border-radius: 999px !important;
	background: #E04F16 !important;
	border-color: #E04F16 !important;
	color: #fff !important;
	line-height: 100%;
}

.at-pd-custom-layout form.cart .single_add_to_cart_button:hover {
	filter: brightness(1.05);
}

.at-pd-custom-layout table.variations select {
	width: 100%;
	max-width: 100%;
	padding: 10px 20px !important;
	border-radius: 999px !important;
	border: 1px solid #D5D7DA !important;
	font-size: 16px;
	font-weight: 600;
	color: #000;
	line-height: 100%;
}

.at-pd-custom-layout table.variations tr {
	display: block;
	margin-bottom: 16px;
}

.at-pd-custom-layout table.variations th.label {
	/* display: block; */
	display: none;
	width: 100%;
	padding: 0 0 0.35rem;
	text-align: left;
}

.at-pd-custom-layout table.variations td.value {
	display: block;
	width: 100%;
	padding: 0;
}

/* —— Thanh mua cố định khi scroll —— */
.at-sticky-purchase-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99990;
	padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
	background: #fff;
	border-top: 1px solid #eaecf0;
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
	transform: translateY(100%);
	visibility: hidden;
	transition: transform 0.28s ease, visibility 0.28s ease;
	pointer-events: none;
}

.at-sticky-purchase-bar.is-visible {
	transform: translateY(0);
	visibility: visible;
	pointer-events: auto;
}

.at-sticky-purchase-bar__inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px 16px 14px;
	box-sizing: border-box;
}

.at-sticky-purchase-bar__main {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px 24px;
	flex: 1 1 auto;
	min-width: 0;
}

.at-sticky-variants {
	position: absolute;
	top: -160px;
	max-width: 100%;
	min-width: 400px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #eaecf0;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	left: 10px
}

.at-sticky-variants__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	color: #000;
}

.at-sticky-variation-selects .at-sticky-select-wrap+.at-sticky-select-wrap {
	margin-top: 8px;
}

.at-sticky-variation-selects select {
	width: 100%;
	min-width: 200px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid #d5d7da;
	font-size: 14px;
	font-weight: 600;
	color: #000;
	background: #fff;
	line-height: 1.2;
}

.at-sticky-info {
	flex: 1 1 200px;
	min-width: 0;
}

.at-sticky-total-line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
}

.at-sticky-total-label {
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.at-sticky-total-price {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.at-sticky-total-price,
.at-sticky-total-price .amount,
.at-sticky-total-price ins,
.at-sticky-total-price .woocommerce-Price-amount,
.at-sticky-total-price bdi {
	background-image: linear-gradient(270deg, #fcb424 0%, #ee6723 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

/* Dòng xám dưới Thành tiền (at-sticky) — hiện khi bỏ class .is-empty (JS) */
.at-sticky-summary {
	margin: 6px 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.45;
	color: #475467;
	max-width: 420px;
}

.at-sticky-summary.is-empty {
	display: none !important;
}

.at-sticky-summary:not(.is-empty) {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.at-sticky-summary:not(.is-empty)::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 2px;
	border-right: 1.5px solid #344054;
	border-bottom: 1.5px solid #344054;
	transform: rotate(45deg);
	flex-shrink: 0;
}

.at-sticky-buy {
	min-width: 271px;
	padding: 10px 20px;
	min-height: 44px;
	font-size: 16px;
	font-weight: 600 !important;
	border-radius: 999px !important;
	background: #E04F16 !important;
	border-color: #E04F16 !important;
	color: #fff !important;
	line-height: 100%;
	margin: 0;
}

.at-sticky-buy:hover {
	filter: brightness(1.06);
}

.at-sticky-purchase-bar--simple .at-sticky-variants {
	display: none;
}

@media only screen and (max-width: 48em) {
	/*************** ADD MOBILE ONLY CSS HERE  ***************/

	.at-sticky-variants {
		margin-top: 0;
		max-width: 100%;
	}

	.at-sticky-purchase-bar__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.at-sticky-buy {
		width: 100%;
		text-align: center;
	}

	.single_variation_wrap {
		flex-direction: column;
		align-items: flex-start;
	}

}

/* ——— Checkout (at-custom-checkout) ——— */

.at-checkout-coupon-aux {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
}

body.at-checkout-custom .at-checkout-breadcrumb-section {
	width: 100%;
	margin: 0;
	padding: 16px 0 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #eaecf0;
}

body.at-checkout-custom .at-checkout-hero {
	margin-bottom: 28px;
	margin-left: auto;
	margin-right: auto;
	width: 70%
}

body.at-checkout-custom .at-checkout-breadcrumb-section .at-checkout-breadcrumb-wrap .woocommerce-breadcrumb,
body.at-checkout-custom .at-checkout-breadcrumb-wrap .woocommerce-breadcrumb {
	font-size: 14px;
	line-height: 1.5;
	color: #e35d38;
	font-weight: 700;
}

body.at-checkout-custom .at-checkout-breadcrumb-wrap .woocommerce-breadcrumb a {
	color: #667085;
	font-weight: 400;
	text-decoration: none;
}

body.at-checkout-custom .at-checkout-breadcrumb-wrap .woocommerce-breadcrumb a:hover {
	color: #e35d38;
}

body.at-checkout-custom .at-checkout-bc-sep {
	margin: 0 6px;
	color: #98a2b3;
	font-weight: 400;
}

/* Stepper: icon radio + đường nối + màu active xanh / pending xám */
body.at-checkout-custom .at-checkout-steps {
	display: flex;
	flex-direction: row;
	align-items: center;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	gap: 0;
	flex-wrap: nowrap;
}

body.at-checkout-custom .at-checkout-step {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	flex: 0 1 auto;
	min-width: 0;
	max-width: none;
}

body.at-checkout-custom .at-checkout-steps__connector {
	flex: 1 1 32px;
	list-style: none;
	min-width: 24px;
	height: 1px;
	margin: 0 18px;
	padding: 0;
	align-self: center;
	background: #e4e7ec;
	border: 0;
}

body.at-checkout-custom .at-checkout-step__icon {
	position: relative;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	box-sizing: border-box;
}

/* Bước active: vòng xanh, chấm trắng giữa */
body.at-checkout-custom .at-checkout-step--current .at-checkout-step__icon {
	background: #1e73be;
	border: none;
}

body.at-checkout-custom .at-checkout-step--current .at-checkout-step__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border-radius: 50%;
	background: #fff;
}

/* Bước sau: vòng xám nhạt, chấm trắng */
body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__icon {
	background: #ebebeb;
	border: 1px solid #d0d5dd;
}

body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border-radius: 50%;
	background: #fff;
}

body.at-checkout-custom .at-checkout-step__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

body.at-checkout-custom .at-checkout-step--current .at-checkout-step__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1e73be;
	line-height: 1.3;
}

body.at-checkout-custom .at-checkout-step--current .at-checkout-step__sub {
	font-size: 13px;
	font-weight: 400;
	color: #5b9bd5;
	line-height: 1.35;
}

body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1d2939;
	line-height: 1.3;
}

body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__sub {
	font-size: 13px;
	font-weight: 400;
	color: #667085;
	line-height: 1.35;
}

body.at-checkout-custom .at-checkout-review-order-table {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 20px;
}

body.at-checkout-custom .at-checkout-line-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body.at-checkout-custom .at-checkout-line-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px;
	background: #F9FAFB;
	border-radius: 8px;
}

body.at-checkout-custom .at-checkout-line-card__media {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: #1d2939;
}

body.at-checkout-custom .at-checkout-line-card__media img.at-checkout-line-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.at-checkout-custom .at-checkout-line-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: #1d2939;
}

body.at-checkout-custom .at-checkout-line-card__body {
	flex: 1;
	min-width: 0;
}

body.at-checkout-custom .at-checkout-line-card__title {
	font-size: 14px;
	font-weight: 600;
	color: #101828;
	line-height: 1.35;
}

body.at-checkout-custom .at-checkout-line-card__qty {
	font-weight: 500;
	color: #667085;
}

body.at-checkout-custom .at-checkout-line-card__meta {
	font-size: 13px;
	color: #667085;
	margin-top: 6px;
}

body.at-checkout-custom .at-checkout-line-card__meta dl,
body.at-checkout-custom .at-checkout-line-card__meta dd,
body.at-checkout-custom .at-checkout-line-card__meta dt {
	margin: 0;
	font-size: 14px;
	color: #475467
}

body.at-checkout-custom .at-checkout-line-card__price {
	text-align: right;
	flex-shrink: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 4px 8px;
}

body.at-checkout-custom .at-checkout-line-card__subtotal {
	flex: 0 0 100%;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
}

body.at-checkout-custom .at-checkout-line-card__subtotal .woocommerce-Price-amount,
body.at-checkout-custom .at-checkout-line-card__subtotal .amount {
	background-image: linear-gradient(270deg, #fcb424 0%, #ee6723 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

body.at-checkout-custom .at-checkout-line-card__regular {
	font-size: 12px;
	color: #D92D20 !important;
	text-decoration: line-through;
	line-height: 1.2;
}

body.at-checkout-custom span.amount {
	color: #D92D20 !important;
}

body.at-checkout-custom .at-checkout-line-card__badge {
	display: inline-block;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	color: #d92d20;
	border: 1px solid #FECDCA;
	border-radius: 99px;
	background: #FEF3F2;
}

body.at-checkout-custom .at-checkout-review-totals {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eaecf0;
	font-size: 14px;
	color: #344054;
}

body.at-checkout-custom .at-checkout-review-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 8px 0;
}

body.at-checkout-custom .at-checkout-review-totals__row.order-total {
	font-size: 17px;
	font-weight: 700;
	padding-top: 12px;
	margin-top: 8px;
	border-top: 1px solid #eaecf0;
}

body.at-checkout-custom .at-checkout-shipping-embed {
	width: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}

body.at-checkout-custom .at-checkout-shipping-embed tr.woocommerce-shipping-totals th,
body.at-checkout-custom .at-checkout-shipping-embed tr.woocommerce-shipping-totals td {
	display: block;
	width: 100%;
	text-align: left;
	padding: 8px 0;
	border: 0;
}

body.at-checkout-custom .at-checkout-shipping-embed tr.woocommerce-shipping-totals th {
	font-weight: 600;
	color: #344054;
	padding-bottom: 0;
}

body.at-checkout-custom .at-checkout-coupon-wrap {
	margin-bottom: 24px;
}

body.at-checkout-custom .at-checkout-coupon-inner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px;
	background: #F9FAFB;
	border-radius: 8px;
	box-shadow: none;
}

body.at-checkout-custom .at-checkout-coupon-label {
	margin: 0;
	flex: 0 0 220px;
	font-size: 16px;
	max-width: 220px;
	font-weight: 600;
	color: #101828;
	line-height: 1.3;
}

body.at-checkout-custom .at-checkout-coupon-field-wrap {
	flex: 1;
	min-width: 0;
}

body.at-checkout-custom input,
body.at-checkout-custom select,
body.at-checkout-custom textarea {
	font-size: 14px;
	border-radius: 8px;
}

body.at-checkout-custom .at-checkout-coupon-field {
	display: flex;
	align-items: center;
	gap: 0;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	min-height: 46px;
}

body.at-checkout-custom .at-checkout-coupon-field .input-text {
	flex: 1;
	border: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	font-size: 14px;
	border-radius: 0 !important;
}

body.at-checkout-custom .at-checkout-coupon-apply {
	flex-shrink: 0;
	margin: 0 !important;
	padding: 11px 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #2e90fa !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	box-shadow: none !important;
}

body.at-checkout-custom .at-checkout-coupon-apply:hover {
	background: #f5faff !important;
	color: #1570ef !important;
}

/* ── Form đăng nhập tiện lợi trên Checkout ── */
body.at-checkout-custom .at-checkout-login-wrap {
	margin-bottom: 24px;
}

body.at-checkout-custom .at-checkout-login-inner {
	background: #f8fafc;
	border: 1.5px solid #e2e8f0;
	border-radius: 8px;
	padding: 16px 20px;
	transition: all 0.25s ease;
}

body.at-checkout-custom .at-checkout-login-inner.is-open {
	background: #ffffff;
	border-color: #ffd4c4;
	box-shadow: 0 6px 20px rgba(240, 90, 40, 0.08);
}

body.at-checkout-custom .at-checkout-login-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	user-select: none;
}

body.at-checkout-custom .at-checkout-login-banner__left {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1;
	min-width: 0;
}

body.at-checkout-custom .at-checkout-login-icon-box {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff1eb;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

body.at-checkout-custom .at-checkout-login-banner__content {
	flex: 1;
	min-width: 0;
}

body.at-checkout-custom .at-checkout-login-banner__title {
	font-size: 15px;
	font-weight: 700;
	color: #101828;
	line-height: 1.3;
	display: block;
}

body.at-checkout-custom .at-checkout-login-banner__desc {
	font-size: 13px;
	color: #64748b;
	margin-top: 3px;
	line-height: 1.4;
	display: block;
}

body.at-checkout-custom .at-checkout-login-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border-radius: 6px;
	background: #f05a28;
	color: #ffffff !important;
	font-size: 13.5px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(240, 90, 40, 0.2);
}

body.at-checkout-custom .at-checkout-login-toggle-btn:hover {
	background: #e04b19;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(240, 90, 40, 0.3);
}

body.at-checkout-custom .at-checkout-login-toggle-btn .at-toggle-btn-icon svg {
	transition: transform 0.25s ease;
	vertical-align: middle;
}

body.at-checkout-custom .at-checkout-login-form-body {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #f1f5f9;
}

body.at-checkout-custom .at-checkout-login-fields-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 12px;
}

body.at-checkout-custom .at-checkout-login-col label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 6px;
}

body.at-checkout-custom .at-checkout-login-col .input-text {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	font-size: 14px;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
	background: #ffffff;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
}

body.at-checkout-custom .at-checkout-login-col .input-text:focus {
	border-color: #f05a28;
	outline: none;
	box-shadow: 0 0 0 1px rgba(240, 90, 40, 0.2);
}

body.at-checkout-custom .at-checkout-login-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	font-size: 13.5px;
}

body.at-checkout-custom .at-checkout-login-remember {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	color: #475569;
	margin: 0;
	user-select: none;
}

body.at-checkout-custom .at-checkout-login-lost-pwd {
	color: #f05a28;
	font-weight: 600;
	text-decoration: none;
}

body.at-checkout-custom .at-checkout-login-lost-pwd:hover {
	text-decoration: underline;
}

body.at-checkout-custom .at-checkout-login-submit-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

body.at-checkout-custom .at-btn-checkout-login-submit {
	height: 44px;
	padding: 0 24px;
	background: #f05a28;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(240, 90, 40, 0.2);
}

body.at-checkout-custom .at-btn-checkout-login-submit:hover {
	background: #e04b19;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(240, 90, 40, 0.3);
}

body.at-checkout-custom .at-btn-checkout-login-submit.loading {
	opacity: 0.8;
	pointer-events: none;
	cursor: wait;
}

body.at-checkout-custom .at-btn-checkout-login-submit.at-btn-success {
	background: #16a34a !important;
	box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3) !important;
}

body.at-checkout-custom .at-checkout-login-note {
	font-size: 12.5px;
	color: #64748b;
}

body.at-checkout-custom .at-checkout-login-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #dc2626;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 13.5px;
	font-weight: 600;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

body.at-checkout-custom .at-password-input-wrap {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	/* Lề dưới của ô nhập (Flatsome: 1em × 14px) đặt ở khối bọc để nút mắt căn đúng tâm ô nhập */
	margin-bottom: 14px !important;
}

body.at-checkout-custom .at-password-input-wrap .input-text {
	padding-right: 42px !important;
	margin-bottom: 0 !important;
}

body.at-checkout-custom .at-btn-pwd-eye {
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	color: #d14600 !important; /* cùng màu icon mắt ở id.accesstrade.vn (pub2) */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
	width: 28px !important;
	height: 28px !important;
	min-height: 0 !important;
	z-index: 2 !important;
	opacity: 0.7;
	transition: opacity 0.2s, color 0.2s;
}

body.at-checkout-custom .at-btn-pwd-eye:hover {
	opacity: 1;
	color: #a83700 !important;
}

/* Ô "Tạo mật khẩu của tài khoản" (WooCommerce, account_password): lề dưới của ô nhập (1em × 14px) đặt ở khối bọc
   để nút mắt căn đúng tâm ô nhập, giống ô đăng nhập phía trên */
body.at-checkout-custom .woocommerce-input-wrapper.password-input {
	margin-bottom: 14px !important;
}

body.at-checkout-custom .woocommerce-input-wrapper.password-input .input-text {
	margin-bottom: 0 !important;
}

body.at-checkout-custom .at-btn-login-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	border-top-color: #ffffff;
	animation: atSpin 0.7s linear infinite;
}

@keyframes atSpin {
	to { transform: rotate(360deg); }
}

/* Dòng thông tin hướng dẫn phía trên mục thông tin hợp đồng */
body.at-checkout-custom .at-checkout-contract-intro {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 18px;
	background: #f0f7ff;
	border: 1px solid #cce3fd;
	border-radius: 8px;
	margin-bottom: 16px;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04);
}

body.at-checkout-custom .at-checkout-contract-intro__icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: #0284c7;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.at-checkout-custom .at-checkout-contract-intro__text {
	flex: 1;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	color: #1e293b;
}

@media (max-width: 549px) {
	body.at-checkout-custom .at-checkout-contract-intro {
		padding: 12px 14px;
		gap: 10px;
		margin-bottom: 14px;
	}
	body.at-checkout-custom .at-checkout-contract-intro__text {
		font-size: 13px;
	}
}

body.at-checkout-custom .at-checkout-contract-title {
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 600;
	color: #101828;
	padding-top: 0;
}

body.at-checkout-custom .at-checkout-customer-details {
	padding: 20px;
	background: #F9FAFB;
	border-radius: 8px;
	box-shadow: none;
}

body.at-checkout-custom .woocommerce-billing-fields {
	border: none;
	padding-top: 0;
}

body.at-checkout-custom .woocommerce-billing-fields h3:first-child {
	display: none;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px 16px;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper .form-row,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper .form-row-first,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper .form-row-last {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	clear: none !important;
	grid-column: span 2;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_at_tax_id_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_company_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_at_representative_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_at_product_links_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #account_password_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_address_2_field {
	grid-column: 1 / -1 !important;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_company_field {
	display: block !important;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_address_2_field {
	display: none !important;
}

body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_state_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_city_field {
	grid-column: span 3;
}

/* Styling cho ô Sản phẩm (textarea) trên Checkout */
body.at-checkout-custom #billing_at_product_links_field textarea#billing_at_product_links {
	min-height: 85px;
	line-height: 1.5;
	padding: 10px 14px;
	border-radius: 6px;
	border: 1px solid #dcdcdc;
	font-size: 14px;
	width: 100%;
	resize: vertical;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
	font-family: inherit;
	color: #333;
}

body.at-checkout-custom #billing_at_product_links_field textarea#billing_at_product_links:focus {
	border-color: #f15a24;
	outline: none;
	box-shadow: 0 0 0 1px rgba(241, 90, 36, 0.2);
}

/* Styling cho ô Tra cứu Mã số thuế trên Checkout */
body.at-checkout-custom #billing_at_tax_id_field label.at-tax-field-label {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin-bottom: 6px !important;
}

body.at-checkout-custom #billing_at_tax_id_field .at-tax-badge-auto-fetch {
	display: none !important;
}

body.at-checkout-custom #billing_at_tax_id_field .at-tax-field-flex {
	display: flex !important;
	gap: 10px !important;
	align-items: stretch !important;
}

body.at-checkout-custom #billing_at_tax_id_field .at-tax-input {
	flex: 1 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 0 !important;
}

body.at-checkout-custom #billing_at_tax_id_field .at-tax-notification-box {
	margin-top: 8px;
	display: block;
}

body.at-checkout-custom .at-checkout-field-hidden {
	display: none !important;
}

body.at-checkout-custom #billing_country_field {
	display: none !important;
}

body.at-checkout-custom .woocommerce-billing-fields #billing_country_field,
body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_country_field,
body.at-checkout-custom .woocommerce form .form-row#billing_country_field {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.at-checkout-custom .woocommerce-billing-fields .form-row .required,
body.at-checkout-custom .woocommerce-billing-fields .form-row .optional,
body.at-checkout-custom .woocommerce-account-fields .form-row .required,
body.at-checkout-custom .woocommerce-account-fields .form-row .optional {
	display: none !important;
}

body.at-checkout-custom .woocommerce-account-fields .create-account {
	margin-top: 14px;
}

body.at-checkout-custom .woocommerce-account-fields .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.at-checkout-custom .at-checkout-payment-heading {
	margin: 0 0 16px;
	font-size: 17px;
	font-weight: 700;
	color: #101828;
}

body.at-checkout-custom .at-checkout-payment-sidebar #order_review_heading {
	border: 0;
	padding: 0;
}

body.at-checkout-custom .at-checkout-payment-sidebar .woocommerce-checkout-payment {
	border: none;
	background: transparent;
}

body.at-checkout-custom .at-checkout-payment-sidebar ul.wc_payment_methods {
	padding: 0;
	margin: 0 0 20px;
	list-style: none;
	border: none !important;
}

body.at-checkout-custom .at-checkout-payment-sidebar ul.wc_payment_methods li {
	margin: 0 0 10px;
	padding: 14px 16px !important;
	background: #fff;
	border: 1px solid #eaecf0 !important;
	border-radius: 10px;
}

body.at-checkout-custom .at-checkout-payment-sidebar ul.wc_payment_methods li:last-child {
	margin-bottom: 0;
}

body.at-checkout-custom .at-checkout-payment-sidebar .at-checkout-terms-row {
	margin: 0 0 16px;
	padding: 0;
	float: none;
	width: 100%;
}

body.at-checkout-custom .at-checkout-payment-sidebar .at-checkout-terms-row label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #344054;
	cursor: pointer;
}

body.at-checkout-custom .at-checkout-payment-sidebar .at-checkout-terms-text a {
	color: #2e90fa;
	text-decoration: underline;
}

body.at-checkout-custom .at-checkout-payment-sidebar .at-checkout-terms-text a:hover {
	color: #1570ef;
}

body.at-checkout-custom .at-checkout-payment-sidebar #place_order {
	width: 100%;
	padding: 14px 20px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	background: #2e90fa !important;
	border: none !important;
	color: #fff !important;
	margin-top: 0 !important;
}

body.at-checkout-custom .at-checkout-payment-sidebar #place_order:hover {
	filter: brightness(1.05);
}

body.at-checkout-custom .at-checkout-payment-sidebar .form-row.place-order {
	padding: 0;
	margin: 0;
	float: none;
	width: 100%;
}

@media only screen and (max-width: 48em) {
	body.at-checkout-custom .at-checkout-login-banner {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body.at-checkout-custom .at-checkout-login-toggle-btn {
		width: 100%;
		justify-content: center;
	}

	body.at-checkout-custom .at-checkout-login-fields-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	body.at-checkout-custom .at-checkout-login-submit-row {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	body.at-checkout-custom .at-btn-checkout-login-submit {
		width: 100%;
		justify-content: center;
	}

	body.at-checkout-custom .at-checkout-coupon-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	body.at-checkout-custom .at-checkout-coupon-label {
		flex: 0 0 auto;
		max-width: none;
		font-size: 16px;
	}

	body.at-checkout-custom .at-checkout-steps__connector {
		margin: 0 10px;
		min-width: 10px;
	}

	body.at-checkout-custom .at-checkout-step--current .at-checkout-step__title,
	body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__title {
		font-size: 14px;
	}

	body.at-checkout-custom .at-checkout-step--current .at-checkout-step__sub,
	body.at-checkout-custom .at-checkout-step--pending .at-checkout-step__sub {
		font-size: 12px;
	}

	body.at-checkout-custom .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	body.at-checkout-custom .woocommerce-billing-fields__field-wrapper .form-row,
	body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_state_field,
	body.at-checkout-custom .woocommerce-billing-fields__field-wrapper #billing_city_field {
		grid-column: 1 / -1 !important;
	}

	body.at-checkout-custom .at-checkout-line-card {
		flex-wrap: wrap;
	}

	body.at-checkout-custom .at-checkout-line-card__price {
		width: 100%;
		align-items: flex-start;
		text-align: left;
	}
}

.at-checkout-sidebar-col .has-border {
	padding: 0;
	border: none;
}

/* VietQR waiting page: reuse checkout look-and-feel */
body.woocommerce-order-received .at-vietqr-checkout-like {
	max-width: 100%;
}

body.woocommerce-order-received .at-vietqr-flow {
	margin: 0 auto 18px;
	width: 80%;
}

/* Reuse checkout stepper style on VietQR waiting page */
body.woocommerce-order-received .at-vietqr-flow .at-checkout-steps {
	display: flex;
	flex-direction: row;
	align-items: center;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	gap: 0;
	flex-wrap: nowrap;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	flex: 0 1 auto;
	min-width: 0;
	max-width: none;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-steps__connector {
	flex: 1 1 32px;
	list-style: none;
	min-width: 24px;
	height: 1px;
	margin: 0 18px;
	padding: 0;
	align-self: center;
	background: #e4e7ec;
	border: 0;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step__icon {
	position: relative;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	box-sizing: border-box;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__icon {
	background: #1e73be;
	border: none;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__icon {
	background: #1e73be;
	border: none;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 9px;
	height: 5px;
	margin: -3px 0 0 -4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border-radius: 50%;
	background: #fff;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__icon {
	background: #ebebeb;
	border: 1px solid #d0d5dd;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border-radius: 50%;
	background: #fff;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1e73be;
	line-height: 1.3;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1d2939;
	line-height: 1.3;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__sub {
	font-size: 13px;
	font-weight: 400;
	color: #667085;
	line-height: 1.35;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__sub {
	font-size: 13px;
	font-weight: 400;
	color: #5b9bd5;
	line-height: 1.35;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__title {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1d2939;
	line-height: 1.3;
}

body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__sub {
	font-size: 13px;
	font-weight: 400;
	color: #667085;
	line-height: 1.35;
}

body.woocommerce-order-received .at-vietqr-thankyou.at-vietqr-checkout-row {
	margin: 0 auto;
}

body.woocommerce-order-received .at-vietqr-thankyou__left {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body.woocommerce-order-received .at-vietqr-product {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 18px;
	background: #f2f4f7;
	border-radius: 12px;
	border: 1px solid #eaecf0;
}

body.woocommerce-order-received .at-vietqr-product__media {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: #1d2939;
}

body.woocommerce-order-received .at-vietqr-product__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.woocommerce-order-received .at-vietqr-product__content {
	flex: 1;
	min-width: 0;
}

body.woocommerce-order-received .at-vietqr-product__name {
	display: flex;
	align-items: baseline;
	font-size: 16px;
	font-weight: 600;
	color: #101828;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex-direction: column;
}

body.woocommerce-order-received .at-vietqr-product__name-text {
	flex-shrink: 0;
}

body.woocommerce-order-received .at-vietqr-product__meta-inline {
	font-size: 14px;
	font-weight: 400;
	color: #667085;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.woocommerce-order-received .at-vietqr-product__price {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	background-image: linear-gradient(270deg, #fcb424 0%, #ee6723 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

body.woocommerce-order-received .at-vietqr-product__price-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}

body.woocommerce-order-received .at-vietqr-product__oldline {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Keep old-price + badge identical to checkout card */
body.woocommerce-order-received .at-checkout-line-card__regular {
	font-size: 12px;
	color: #D92D20 !important;
	text-decoration: line-through;
	line-height: 1.2;
}

body.woocommerce-order-received .at-checkout-line-card__badge {
	display: inline-block;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	color: #d92d20;
	border: 1px solid #FECDCA;
	border-radius: 99px;
	background: #FEF3F2;
}

body.woocommerce-order-received .at-vietqr-product__meta .variation,
body.woocommerce-order-received .at-vietqr-product__meta ul,
body.woocommerce-order-received .at-vietqr-product__meta p {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Variation/meta style aligned with checkout */
body.woocommerce-order-received .at-vietqr-info-card {
	padding: 20px;
	background: #f9fafb;
	border-radius: 8px;
	border: none;
}

body.woocommerce-order-received .at-vietqr-info-card__title {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 700;
	color: #101828;
}

body.woocommerce-order-received .at-vietqr-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 16px;
}

body.woocommerce-order-received .at-vietqr-info-row {
	padding: 0;
	position: relative;
	padding-left: 28px;
}

body.woocommerce-order-received .at-vietqr-info-row--full {
	grid-column: 1 / -1;
}

body.woocommerce-order-received .at-vietqr-info-row span {
	display: block;
	font-size: 14px;
	color: #344054;
}

body.woocommerce-order-received .at-vietqr-info-row strong {
	display: block;
	font-size: 16px;
	color: #101828;
	font-weight: 600;
	word-break: break-word;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	/* number of lines to show */
	line-clamp: 1;
	-webkit-box-orient: vertical
}

body.woocommerce-order-received .at-vietqr-info-row::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	opacity: 0.8;
}

body.woocommerce-order-received .at-vietqr-info-row--name::before,
body.woocommerce-order-received .at-vietqr-info-row--rep::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-info-row--phone::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.77.62 2.61a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6.27 6.27l1.29-1.29a2 2 0 0 1 2.11-.45c.84.29 1.71.5 2.61.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-info-row--email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-info-row--company::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='18'/%3E%3Crect x='14' y='8' width='7' height='13'/%3E%3Cpath d='M7 7h0M7 11h0M7 15h0M18 12h0M18 16h0'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-info-row--tax::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='8' y1='13' x2='16' y2='13'/%3E%3Cline x1='8' y1='17' x2='16' y2='17'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-info-row--address::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 1 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

body.woocommerce-order-received .at-vietqr-thankyou__right .col-inner {
	padding: 0;
	border: none;
}

body.woocommerce-order-received .at-vietqr-qr-title {
	margin: 0 0 16px;
	font-size: 17px;
	font-weight: 700;
	color: #101828;
}

body.woocommerce-order-received .at-vietqr-qr-card,
body.woocommerce-order-received .at-vietqr-bank-card {
	background: #fff;
	border: 1px solid #eaecf0;
	border-radius: 10px;
}

body.woocommerce-order-received .at-vietqr-qr-card {
	padding: 14px;
	text-align: center;
}

body.woocommerce-order-received .at-vietqr-qr-account {
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 6px;
}

body.woocommerce-order-received .at-vietqr-qr-caption {
	font-size: 14px;
	color: #667085;
	margin-bottom: 10px;
}

body.woocommerce-order-received .at-vietqr-qr-image img {
	max-width: 100%;
	height: auto;
	border: 1px solid #eaecf0;
	border-radius: 8px;
	padding: 8px;
}

body.woocommerce-order-received .at-vietqr-bank-card {
	margin-top: 10px;
	padding: 12px 14px;
}

body.woocommerce-order-received .at-vietqr-bank-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f2f4f7;
	font-size: 14px;
}

body.woocommerce-order-received .at-vietqr-bank-row:last-child {
	border-bottom: 0;
}

body.woocommerce-order-received .at-vietqr-bank-row span {
	color: #475467;
}

body.woocommerce-order-received .at-vietqr-bank-row strong {
	color: #101828;
	font-weight: 600;
}

body.woocommerce-order-received .at-vietqr-copy-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

body.woocommerce-order-received .at-vietqr-copy-btn {
	position: relative;
	width: 24px;
	height: 24px;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	margin: 0 !important;
	min-height: unset;
}

body.woocommerce-order-received .at-vietqr-copy-btn::before,
body.woocommerce-order-received .at-vietqr-copy-btn::after {
	content: '';
	position: absolute;
	border: 2px solid #1570ef;
	border-radius: 4px;
	background: #fff;
}

body.woocommerce-order-received .at-vietqr-copy-btn::before {
	width: 14px;
	height: 14px;
	left: 6px;
	top: 2px;
}

body.woocommerce-order-received .at-vietqr-copy-btn::after {
	width: 14px;
	height: 14px;
	left: 1px;
	top: 7px;
}

body.woocommerce-order-received .at-vietqr-copy-btn:hover::before,
body.woocommerce-order-received .at-vietqr-copy-btn:hover::after {
	border-color: #2e90fa;
}

body.woocommerce-order-received .at-vietqr-copy-note {
	min-height: 18px;
	margin-top: 6px;
	font-size: 12px;
	color: #1570ef;
	text-align: right;
}

body.woocommerce-order-received .at-vietqr-status {
	color: #f79009;
}

/* SePay: trạng thái chờ TT trong cột phải, dưới .at-vietqr-bank-card */
body.woocommerce-order-received .checkout-sidebar .at-sepay-status-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0 0;
	padding: 12px 14px;
	border: 1px solid #eaecf0;
	border-radius: 10px;
	background: #fafafa;
	font-size: 14px;
	color: #344054;
	width: 100%;
	box-sizing: border-box;
}

body.woocommerce-order-received .at-sepay-status-footer__text strong {
	font-weight: 600;
	color: #101828;
}

body.woocommerce-order-received .at-sepay-status-footer__spinner {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border: 2px solid #d0d5dd;
	border-top-color: #667085;
	border-radius: 50%;
	animation: at-sepay-status-spin 0.75s linear infinite;
}

@keyframes at-sepay-status-spin {
	to {
		transform: rotate(360deg);
	}
}

body.woocommerce-order-received .at-vietqr-success-title {
	margin: 0 0 12px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	color: #067647;
}

body.woocommerce-order-received .at-vietqr-success-card {
	background: #ecfdf3;
	border: 1px solid #abefc6;
	border-radius: 12px;
	padding: 14px 16px;
}

body.woocommerce-order-received .at-vietqr-success-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px dashed #d1fadf;
	font-size: 14px;
}

body.woocommerce-order-received .at-vietqr-success-row:last-child {
	border-bottom: 0;
}

body.woocommerce-order-received .at-vietqr-success-row span {
	color: #027a48;
}

body.woocommerce-order-received .at-vietqr-success-row strong {
	color: #065f46;
	font-weight: 700;
}

@media (max-width: 849px) {
	body.woocommerce-order-received .at-vietqr-flow .at-checkout-steps__connector {
		margin: 0 10px;
		min-width: 10px;
	}

	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__title,
	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__title,
	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__title {
		font-size: 14px;
	}

	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--current .at-checkout-step__sub,
	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--pending .at-checkout-step__sub,
	body.woocommerce-order-received .at-vietqr-flow .at-checkout-step--done .at-checkout-step__sub {
		font-size: 12px;
	}

	body.woocommerce-order-received .at-vietqr-info-grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================
   POPUP "TẠO MỚI YÊU CẦU" — Form Styles (Accesstrade Brands)
   ======================================== */

#popup {
	max-width: 760px !important;
	width: calc(100% - 32px) !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
	overflow: hidden !important;
	position: relative;
}

/* Ẩn nút close mặc định của Flatsome */
#popup > button.mfp-close {
	display: none !important;
}

/* — Header popup — */
.popup-demo-head.at-modal-header {
	padding: 22px 24px 14px 24px !important;
	background: #ffffff !important;
	border-bottom: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	z-index: 10;
}

.at-modal-title {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #141414 !important;
	margin: 0 !important;
	text-align: center !important;
	letter-spacing: -0.01em;
}

.at-modal-close-btn {
	position: absolute !important;
	right: 20px !important;
	top: 18px !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	color: #595959 !important;
	padding: 6px !important;
	border-radius: 6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: color 0.15s ease !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.at-modal-close-btn:hover {
	color: #141414 !important;
	background: transparent !important;
}

/* — Body popup — */
.popup-demo-body.at-modal-body {
	padding: 0 24px 8px 24px !important;
	max-height: calc(85vh - 130px) !important;
	overflow-y: auto !important;
	background: #ffffff !important;
}

/* Scrollbar đẹp chuẩn Accesstrade */
.custom-scrollbar::-webkit-scrollbar {
	width: 5px;
}
.custom-scrollbar::-webkit-scrollbar-track {
	background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
	background: #8c8c8c;
	border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
	background: #595959;
}

/* — Section Styles (Clean text, no bars) — */
.at-form-section {
	margin-bottom: 8px;
	padding-bottom: 0;
	border-bottom: none;
}

.at-section-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #141414 !important;
	margin-top: 18px !important;
	margin-bottom: 14px !important;
	padding: 0 !important;
	display: block !important;
	border: none !important;
	letter-spacing: -0.01em;
}

.at-section-title::before {
	display: none !important;
}

/* — Grid Layout — */
.at-form-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -8px;
	margin-right: -8px;
}

.at-form-group {
	padding-left: 8px;
	padding-right: 8px;
	margin-bottom: 14px;
	box-sizing: border-box;
}

.at-form-group.col-12 {
	width: 100%;
}

.at-form-group.col-6 {
	width: 50%;
}

.at-form-label {
	display: block !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #262626 !important;
	margin-bottom: 6px !important;
	line-height: 1.4 !important;
}

.at-required {
	color: #ff4d4f !important;
	font-weight: 500 !important;
	margin-left: 3px !important;
}

/* — Inputs, Selects & Textareas (Light gray #f4f5f7) — */
.at-brands-form input[type="text"],
.at-brands-form input[type="email"],
.at-brands-form input[type="tel"],
.at-brands-form input[type="date"],
.at-brands-form select,
.at-brands-form textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	background-color: #f4f5f7 !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	padding: 9px 14px !important;
	font-size: 14px !important;
	color: #262626 !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	transition: all 0.2s ease !important;
	margin-bottom: 0 !important;
}

.at-brands-form input[type="text"]:hover,
.at-brands-form input[type="email"]:hover,
.at-brands-form input[type="tel"]:hover,
.at-brands-form input[type="date"]:hover,
.at-brands-form select:hover,
.at-brands-form textarea:hover {
	background-color: #ebedf0 !important;
}

.at-brands-form input[type="text"]:focus,
.at-brands-form input[type="email"]:focus,
.at-brands-form input[type="tel"]:focus,
.at-brands-form input[type="date"]:focus,
.at-brands-form select:focus,
.at-brands-form textarea:focus {
	background-color: #ffffff !important;
	border-color: #ef6c00 !important;
	box-shadow: 0 0 0 2px rgba(239, 108, 0, 0.15) !important;
	outline: none !important;
}

.at-brands-form textarea {
	min-height: 95px !important;
	resize: vertical !important;
}

.at-brands-form select {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c8c8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 36px !important;
	cursor: pointer !important;
}

.at-brands-form input::placeholder,
.at-brands-form textarea::placeholder {
	color: #8c8c8c !important;
	font-size: 14px !important;
}

/* — Channels Input Row — */
.at-channel-row {
	display: flex !important;
	gap: 10px !important;
	margin-bottom: 8px !important;
}

.at-channel-select-wrap {
	flex: 0 0 32% !important;
	width: 32% !important;
}

.at-channel-input-wrap {
	flex: 1 !important;
}

.at-btn-add-channel {
	width: 100% !important;
	height: 38px !important;
	background: #f4f5f7 !important;
	border: 1px dashed #d9d9d9 !important;
	border-radius: 8px !important;
	color: #595959 !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	margin-top: 4px !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
}

.at-btn-add-channel:hover {
	background: #ebedf0 !important;
	color: #141414 !important;
	border-color: #bfbfbf !important;
}

/* — Date Grid — */
.at-date-grid {
	display: flex !important;
	margin-left: -8px !important;
	margin-right: -8px !important;
}

/* — Footer Action Buttons (50% / 50% split) — */
.at-modal-footer {
	display: flex !important;
	gap: 16px !important;
	padding: 16px 24px 24px 24px !important;
	background: #ffffff !important;
	position: sticky;
	bottom: 0;
	z-index: 30;
	border-top: 1px solid #f0f0f0 !important;
	margin-left: -24px !important;
	margin-right: -24px !important;
	margin-bottom: -8px !important;
	border-radius: 0 0 16px 16px !important;
}

.at-btn-cancel {
	flex: 1 1 50% !important;
	width: 50% !important;
	height: 42px !important;
	background: #ffffff !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 8px !important;
	color: #262626 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.at-btn-cancel:hover {
	background: #f5f5f5 !important;
	border-color: #bfbfbf !important;
	color: #141414 !important;
}

.at-btn-submit,
.popup-demo-body input[type="submit"] {
	flex: 1 1 50% !important;
	width: 50% !important;
	height: 42px !important;
	background: #f28564 !important;
	border: none !important;
	border-radius: 8px !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.at-btn-submit:hover,
.popup-demo-body input[type="submit"]:hover {
	background: #ef6c00 !important;
}

/* — Inline error message dưới mỗi field — */
.popup-demo-body .at-field-error {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	font-weight: 500;
	color: #ff4d4f;
	line-height: 1.35;
	animation: at-shake 0.3s ease;
}

/* — Input trạng thái lỗi — */
.popup-demo-body .at-input-error,
.popup-demo-body .wpcf7-not-valid {
	background-color: #fff2f0 !important;
	border-color: #ff4d4f !important;
	box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.15) !important;
}

/* — Thông báo lỗi chung cuối form — */
.popup-demo-body .at-response-error {
	display: block !important;
	margin-top: 12px;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 500;
	color: #ff4d4f;
	background: #fff2f0;
	border: 1px solid #ffccc7;
	border-radius: 8px;
	text-align: center;
}

/* — Ẩn wpcf7-response-output mặc định — */
.popup-demo-body .wpcf7-response-output {
	display: none;
	margin: 0;
	padding: 0;
	border: none;
}

/* — Ẩn spinner mặc định của CF7 & Flatsome — */
.popup-demo-body .wpcf7-spinner,
.popup-demo-body .processing::before,
.popup-demo-body .processing::after,
.popup-demo-body .submitting::before,
.popup-demo-body .submitting::after,
.popup-demo-body .loading-spin,
.popup-demo-body .loading-spinner,
.popup-demo-body .blockOverlay {
	display: none !important;
}

/* — Shake animation cho error — */
@keyframes at-shake {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-4px); }
	40% { transform: translateX(4px); }
	60% { transform: translateX(-3px); }
	80% { transform: translateX(2px); }
}

/* Responsive Mobile (<768px) */
@media (max-width: 767px) {
	#popup {
		width: 95vw !important;
		max-width: 95vw !important;
		margin: 10px auto !important;
		border-radius: 12px !important;
	}
	.popup-demo-head.at-modal-header {
		padding: 18px 16px 10px 16px !important;
	}
	.at-modal-title {
		font-size: 16px !important;
	}
	.popup-demo-body.at-modal-body {
		padding: 0 16px 8px 16px !important;
		max-height: calc(85vh - 120px) !important;
	}
	.at-form-group.col-6 {
		width: 100% !important;
	}
	.at-channel-row {
		flex-direction: column;
		gap: 8px;
	}
	.at-channel-select-wrap {
		width: 100% !important;
		flex: 0 0 100% !important;
	}
	.at-modal-footer {
		padding: 14px 16px 18px 16px !important;
		margin-left: -16px !important;
		margin-right: -16px !important;
	}
	.at-btn-cancel,
	.at-btn-submit,
	.popup-demo-body input[type="submit"] {
		height: 40px !important;
		font-size: 13.5px !important;
	}
}

/* ========================================
   TOAST THÔNG BÁO THÀNH CÔNG
   ======================================== */
.at-toast-success {
	position: fixed;
	top: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(-30px);
	z-index: 999999;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: #ECFDF3;
	border: 1px solid #ABEFC6;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
	font-size: 15px;
	font-weight: 600;
	color: #067647;
	line-height: 1.4;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s ease;
	width: max-content;
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
}

/* Customizer "CSS bổ sung" (wp-custom-css, lưu DB, in sau style.css) còn bản cũ white-space: nowrap
   → selector mạnh hơn để chữ được xuống dòng. */
body .at-toast-success {
	white-space: normal;
	max-width: calc(100vw - 32px);
}

/* Mobile: thông báo dài tự xuống dòng, không tràn khỏi màn hình */
@media (max-width: 549px) {
	.at-toast-success {
		align-items: flex-start;
		padding: 12px 16px;
		font-size: 14px;
	}
	.at-toast-icon { flex-shrink: 0; }
}

.at-toast-success.at-toast-show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}

.at-toast-success.at-toast-hide {
	opacity: 0;
	transform: translateX(-50%) translateY(-20px);
}

.at-toast-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #067647;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	flex-shrink: 0;
}

/* ========================================
   LOGIN / REGISTER POPUP OPTIMIZED
======================================== */

.mfp-wrap.mfp-login-wrap,
.mfp-wrap:has(#login-form-popup),
.mfp-wrap.off-canvas:has(#login-form-popup),
.mfp-ready.mfp-wrap:has(#login-form-popup) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.mfp-wrap.mfp-login-wrap .mfp-container,
.mfp-wrap:has(#login-form-popup) .mfp-container {
	text-align: center !important;
	position: absolute !important;
	width: 100% !important;
	height: 100% !important;
	left: 0 !important;
	top: 0 !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

.mfp-wrap.mfp-login-wrap .mfp-container:before,
.mfp-wrap:has(#login-form-popup) .mfp-container:before {
	content: '' !important;
	display: inline-block !important;
	height: 100% !important;
	vertical-align: middle !important;
}

.mfp-wrap.mfp-login-wrap .mfp-content,
.mfp-wrap:has(#login-form-popup) .mfp-content {
	display: inline-block !important;
	vertical-align: middle !important;
	margin: 0 auto !important;
	text-align: left !important;
	position: relative !important;
	max-width: 500px !important;
	width: 100% !important;
}

.mfp-content #login-form-popup,
.mfp-wrap #login-form-popup {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	margin: 0 auto !important;
}

#login-form-popup {
	max-width: 500px;
	width: calc(100% - 32px);
	padding: 32px 30px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 25px 80px rgba(0, 0, 0, .15);
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	transition: max-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#login-form-popup .lightbox-inner {
	padding: 0 !important;
	max-width: 100% !important;
}

/* Custom Scrollbar */
#login-form-popup::-webkit-scrollbar,
#login-form-popup .lightbox-inner::-webkit-scrollbar {
	width: 6px;
}

#login-form-popup::-webkit-scrollbar-thumb,
#login-form-popup .lightbox-inner::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, .15);
	border-radius: 999px;
}

/* Close Button - Hide inner close button, rely on outer lightbox close button */
.at-auth-close-btn {
	display: none !important;
}

/* Segmented Tabs Navigation */
.at-auth-nav {
	margin-bottom: 20px;
	padding-top: 2px;
}

.at-auth-tabs {
	display: flex;
	background: #f1f3f7;
	border-radius: 12px;
	padding: 4px;
	gap: 4px;
}

.at-auth-tab {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 12px;
	border-radius: 9px;
	border: none;
	background: transparent;
	color: #64748b;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.at-auth-tab:hover {
	color: #1e293b;
}

.at-auth-tab.active {
	background: #ffffff;
	color: #f05a28;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
	font-weight: 700;
}

.at-tab-icon {
	flex-shrink: 0;
}

.at-tab-badge {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 99px;
	font-size: 10.5px;
	font-weight: 700;
	background: #ffedd5;
	color: #ea580c;
	white-space: nowrap;
	line-height: 1.4;
}

/* Pane Header */
.at-pane-header {
	text-align: center;
	margin-bottom: 24px;
}

.at-auth-title {
	font-size: 25px !important;
	font-weight: 800 !important;
	color: #111827;
	margin: 0 0 6px 0 !important;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.at-auth-subtitle {
	font-size: 14px;
	color: #6b7280;
	margin: 0 !important;
	line-height: 1.5;
}

/* Pane Animation & Visibility */
.at-auth-pane {
	display: block;
	animation: atAuthFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.at-auth-pane.at-pane-hidden {
	display: none !important;
}

@keyframes atAuthFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Auth Mode Sizing & Layout */
#login-form-popup #customer_login {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 auto !important;
}

#login-form-popup.at-popup-login-mode,
#login-form-popup:has(.at-auth-mode-login) {
	max-width: 480px !important;
}

#login-form-popup.at-popup-register-mode,
#login-form-popup:has(.at-auth-mode-register) {
	max-width: 520px !important;
}

/* Form Spacing & Input Styles */
#login-form-popup form {
	margin: 0;
}

#login-form-popup .form-row {
	margin-bottom: 14px;
}

#login-form-popup label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	line-height: 1.4;
}

#login-form-popup input.input-text,
#login-form-popup input[type="email"],
#login-form-popup input[type="password"],
#login-form-popup input[type="text"],
#login-form-popup input[type="tel"],
#login-form-popup select.woocommerce-Input--select {
	height: 48px;
	padding: 0 16px;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
	font-size: 14px;
	color: #1e293b;
	transition: all .2s ease;
	box-shadow: none;
	width: 100%;
}

#login-form-popup input:focus,
#login-form-popup select:focus {
	border-color: #f05a28;
	box-shadow: 0 0 0 3px rgba(240, 90, 40, 0.12);
	outline: none;
}

/* Grid 2 Columns for Forms */
.at-form-row-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

/* Login Options Row */
.at-login-options-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 10px 0 18px;
}

.at-login-options-row .woocommerce-form-login__rememberme {
	margin: 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #4b5563;
	line-height: 20px;
	cursor: pointer;
}

/* Flatsome gắn margin 3px 10px 16px 4px cho checkbox → ô tích lệch lên trên chữ */
.at-login-options-row .woocommerce-form-login__rememberme input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0 !important;
	accent-color: #f05a28;
}

.at-login-options-row .woocommerce-form-login__rememberme span {
	line-height: 20px;
}

.at-login-options-row .lost_password {
	margin: 0 !important;
	line-height: 20px;
}

.at-login-options-row .lost_password a {
	font-size: 13px;
	font-weight: 600;
	color: #f05a28;
	text-decoration: none;
	transition: color 0.2s;
}

.at-login-options-row .lost_password a:hover {
	color: #c2410c;
	text-decoration: underline;
}

/* Submit Button in Login */
.at-login-submit-row {
	margin-top: 12px;
	margin-bottom: 0 !important;
}

.at-login-submit-row .woocommerce-form-login__submit {
	width: 100%;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(135deg, #f05a28 0%, #e04815 100%) !important;
	color: #fff !important;
	border: none;
	border-radius: 12px !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.2px;
	box-shadow: 0 4px 14px rgba(240, 90, 40, 0.35);
	cursor: pointer;
	transition: all 0.25s ease;
}

.at-login-submit-row .woocommerce-form-login__submit:hover {
	background: linear-gradient(135deg, #ff6b38 0%, #eb5220 100%) !important;
	box-shadow: 0 6px 20px rgba(240, 90, 40, 0.45);
	transform: translateY(-2px);
}

/* Quick Switch Helper */
.at-auth-switch-helper {
	text-align: center;
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid #f1f3f7;
	font-size: 14px;
	color: #64748b;
}

.at-auth-switch-helper a {
	margin-left: 6px;
	font-weight: 700;
	color: #f05a28;
	text-decoration: none;
	transition: all 0.2s;
}

.at-auth-switch-helper a:hover {
	color: #c2410c;
	text-decoration: underline;
}

/* Password Toggle Icon & Wrapper */
.password-input,
.password-input.at-input-error,
.password-input.at-row-error,
.password-input:focus-within,
#login-form-popup .password-input {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

.password-input input {
	width: 100% !important;
	padding-right: 44px !important;
	box-sizing: border-box !important;
}

span.show-password-input {
	display: none !important;
}

input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
	display: none !important;
}

#login-form-popup .show-password-input,
.show-password-input,
button.show-password-input {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	right: 12px !important;
	left: auto !important;
	bottom: auto !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	z-index: 10 !important;
	color: #d14600 !important; /* cùng màu icon mắt ở id.accesstrade.vn (pub2) */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0.65 !important;
	visibility: visible !important; /* Flatsome mặc định ẩn nút, chỉ hiện khi rê chuột vào ô */
	min-height: 0 !important;
	transition: opacity 0.2s, color 0.2s !important;
	font-size: 16px !important;
	line-height: 1 !important;
}

/* Phòng khi ô mật khẩu bị bọc 2 lớp .password-input: chỉ giữ nút của lớp trong (nút ngoài không toggle được ô nhập) */
.password-input > .password-input ~ .show-password-input {
	display: none !important;
}

#login-form-popup .show-password-input:hover,
.show-password-input:hover,
button.show-password-input:hover {
	opacity: 1 !important;
	color: #a83700 !important;
}

.show-password-input::before {
	display: none !important;
}

/* Icon mắt giống id.accesstrade.vn (pub2): mật khẩu đang ẩn → mắt gạch chéo; đang hiện (.display-password) → mắt thường.
   Flatsome mặc định ngược lại (ẩn: f108 mắt thường, hiện: f109 mắt gạch chéo). */
.show-password-input::after {
	content: "\f109";
}

.show-password-input.display-password::after {
	content: "\f108";
}

/* Trang đặt lại mật khẩu (WooCommerce): lề dưới của ô nhập đặt ở lớp bọc để icon mắt căn đúng tâm ô */
.woocommerce-ResetPassword .password-input {
	margin: 0 0 1em !important;
}

.woocommerce-ResetPassword .password-input input {
	margin-bottom: 0 !important;
}

/* Standalone /my-account/ Page */
body.woocommerce-account:not(.has-lightbox) .at-auth-card {
	max-width: 640px;
	margin: 40px auto;
	padding: 36px 40px;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	border: 1px solid #eef0f4;
	position: relative;
}

body.woocommerce-account:not(.has-lightbox) .at-auth-close-btn {
	display: none !important;
}

/* Mobile Responsive */
@media (max-width: 640px) {
	#login-form-popup {
		width: calc(100% - 20px);
		padding: 24px 18px;
		border-radius: 20px;
		max-height: 94vh;
	}

	.at-auth-tabs {
		padding: 4px;
	}

	.at-auth-tab {
		padding: 9px 10px;
		font-size: 13.5px;
	}

	.at-auth-title {
		font-size: 20px !important;
	}

	.at-form-row-grid-2 {
		grid-template-columns: 1fr;
		gap: 0;
	}

	#login-form-popup input.input-text,
	#login-form-popup input[type="email"],
	#login-form-popup input[type="password"],
	#login-form-popup input[type="text"],
	#login-form-popup input[type="tel"],
	#login-form-popup select.woocommerce-Input--select {
		height: 46px;
		border-radius: 10px;
	}

	.at-login-submit-row .woocommerce-form-login__submit {
		height: 46px;
		border-radius: 10px !important;
	}
}

/* ——— My Account Validation Styles ——— */
.at-input-error {
	border-color: #d92d20 !important;
	background-color: #fffbfa !important;
}

.at-field-error {
	display: block;
	color: #d92d20;
	font-size: 13px;
	font-weight: 500;
	margin-top: 4px;
	animation: atFadeIn 0.3s ease;
}

.at-row-error label {
	color: #d92d20 !important;
}

@keyframes atFadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ��� Toast Notifications ��� */
.at-toast-container {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.at-toast {
	background: #fff;
	border-left: 4px solid #d92d20;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	padding: 12px 20px;
	border-radius: 8px;
	color: #344054;
	font-size: 14px;
	font-weight: 500;
	min-width: 300px;
	max-width: 450px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	animation: atSlideInRight 0.3s ease forwards;
}

.at-toast--success {
	border-left-color: #039855;
}

@keyframes atSlideInRight {
	from {
		opacity: 0;
		transform: translateX(100%);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.at-toast.fade-out {
	animation: atFadeOut 0.3s ease forwards;
}

@keyframes atFadeOut {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 0;
		transform: translateX(100%);
	}
}


/* Privacy Policy Checkbox */
.privacy-policy-row label {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	line-height: 1.4;
	font-weight: normal;
	font-size: 0.95em;
}

.privacy-policy-row input[type='checkbox'] {
	margin-top: 4px !important;
	flex-shrink: 0;
	width: 18px !important;
	height: 18px !important;
}

.privacy-policy-row .required {
	color: red;
	margin-left: 3px;
}

.at-row-error .privacy-policy-row label {
	color: #d63031;
}

/* Improved Privacy Policy Checkbox Styling */
.privacy-policy-row {
	margin-top: 20px;
	margin-bottom: 20px;
	clear: both;
}

.privacy-policy-row label.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	width: 100% !important;
	cursor: pointer !important;
	line-height: 1.5 !important;
}

.privacy-policy-row input[type='checkbox'] {
	margin: 4px 0 0 0 !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	flex-shrink: 0 !important;
}

.privacy-policy-row .woocommerce-privacy-policy-text {
	font-size: 0.95rem !important;
	color: #333 !important;
}

.privacy-policy-row .required {
	color: #d63031 !important;
	margin-left: 4px;
}

/* Final Fix for Privacy Policy Checkbox */
.woocommerce-form-register .privacy-policy-row,
.register .privacy-policy-row {
	margin: 20px 0 !important;
	padding: 15px 0 !important;
	border-top: 1px solid #f1f1f1 !important;
}

.privacy-policy-row label.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	width: 100% !important;
	cursor: pointer !important;
}

.privacy-policy-row label.woocommerce-form__label-for-checkbox::before {
	display: none !important;
	/* Hide Flatsome custom checkbox if any */
}

.privacy-policy-row input[type='checkbox'].woocommerce-form__input-checkbox {
	margin: 4px 0 0 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
	position: static !important;
	opacity: 1 !important;
}

.privacy-policy-row .woocommerce-privacy-policy-text {
	font-size: 0.95em !important;
	line-height: 1.5 !important;
	color: #444 !important;
	flex: 1 !important;
}

/* Link "điều khoản" / "chính sách bảo mật" trong ô đồng ý (form đăng ký) */
.privacy-policy-row .woocommerce-privacy-policy-text a {
	color: #e04f16;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.privacy-policy-row .woocommerce-privacy-policy-text a:hover {
	color: #c23805;
}

.privacy-policy-row .required {
	color: #d63031 !important;
	font-weight: bold !important;
}

@media (max-width: 767px) {
  body.single-product .single_variation_wrap .woocommerce-variation-description {
    margin-top: 15px !important;
    position: static !important;
  }

  body.single-product .product-main {
    padding-bottom: 20px !important;
  }
}

/* ==========================================================================
   AT FIGMA FOOTER (Remake Website AT)
   ========================================================================== */
/* Be Vietnam Pro tự lưu trong theme (thay @import Google Fonts: bỏ 2 tên miền ngoài và 1 CSS chặn hiển thị). Bộ ký tự: vietnamese + latin. */
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-400-vietnamese.woff2') format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-400-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-500-vietnamese.woff2') format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-500-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-600-vietnamese.woff2') format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-600-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-700-vietnamese.woff2') format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/be-vietnam-pro/be-vietnam-pro-700-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

#footer .absolute-footer {
  display: none !important;
}

#footer.footer-wrapper {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.at-figma-footer-wrapper {
  position: relative;
  width: 100%;
  background: #0c111d url('../../uploads/2026/09/footer_bg.webp') no-repeat center center;
  background-size: cover;
  color: #ffffff;
  font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  box-sizing: border-box;
  overflow: hidden;
}

.at-figma-footer-wrapper * {
  box-sizing: border-box;
}

.at-figma-footer-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 60px 32px 32px 32px;
  position: relative;
  z-index: 2;
}

/* TOP GRID */
.at-footer-grid-top {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1.35fr;
  gap: 48px;
  align-items: start;
}

.at-footer-logo img {
  max-width: 280px;
  width: 100%;
  height: auto;
  display: block;
}

.at-footer-slogan {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  max-width: 440px;
}

.at-footer-heading {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
  margin: 0 0 20px 0;
}

.at-footer-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.at-footer-nav li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.at-footer-nav li a {
  font-size: 19px;
  font-weight: 500;
  color: #ffffff !important;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

.at-footer-nav li a:hover {
  color: #FDD13C !important;
  transform: translateX(4px);
}

.at-footer-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 24px 0;
}

.at-footer-desc p {
  margin: 0 0 10px 0;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.55;
}

.at-footer-desc p:last-child {
  margin-bottom: 0;
}

.at-footer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.at-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  white-space: nowrap;
}

.at-btn-outline {
  border: 1.5px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
}

.at-btn-outline:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.at-btn-solid {
  background: #ffffff !important;
  color: #222222 !important;
  border: 1.5px solid #ffffff !important;
}

.at-btn-solid:hover {
  background: #f1f5f9 !important;
  color: #000000 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* OFFICES GRID */
.at-footer-grid-offices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-top: 52px;
}

.at-office-heading {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
  margin: 0 0 20px 0;
  letter-spacing: 0.5px;
}

.at-office-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.at-office-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.at-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}

.at-office-info {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
}

a.at-office-info.at-link {
  color: #ffffff !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

a.at-office-info.at-link:hover {
  color: #FDD13C !important;
}

/* BOTTOM BAR */
.at-footer-bottom {
  margin-top: 48px;
}

.at-footer-line {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
  margin-bottom: 24px;
}

.at-footer-copyright {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #ffffff;
  margin: 0;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .at-footer-grid-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .at-footer-grid-offices {
    grid-template-columns: 1fr;
    gap: 36px;
    margin-top: 40px;
  }
}

@media (max-width: 640px) {
  .at-figma-footer-container {
    padding: 36px 20px 24px 20px;
  }
  .at-footer-slogan {
    font-size: 17px;
  }
  .at-footer-heading {
    font-size: 24px;
  }
  .at-footer-nav li a {
    font-size: 16px;
  }
  .at-footer-desc {
    font-size: 15px;
  }
  .at-btn {
    font-size: 15px;
    padding: 10px 20px;
  }
  .at-office-heading {
    font-size: 18px;
  }
  .at-office-info {
    font-size: 16px;
  }
  .at-footer-copyright {
    font-size: 14px;
  }
}

/* ========================================================
   2-STEP REGISTRATION & TAX LOOKUP - MERCHANT HUB
   ======================================================== */

.at-2step-register-wrapper {
	position: relative;
}

/* Stepper Indicator */
.at-reg-stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	padding: 14px 18px;
	background: #fdfdfd;
	border: 1px solid #edf0f5;
	border-radius: 14px;
}

.at-step-item {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	user-select: none;
	transition: all 0.25s ease;
}

.at-step-circle {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #e5e8ec;
	color: #6b7280;
	font-weight: 700;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.25s ease;
}

.at-step-meta {
	display: flex;
	flex-direction: column;
}

.at-step-num {
	font-size: 10px;
	font-weight: 700;
	color: #9ca3af;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.at-step-title {
	font-size: 13px;
	font-weight: 600;
	color: #4b5563;
	line-height: 1.2;
}

.at-step-item.active .at-step-circle {
	background: #f05a28;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(240, 90, 40, 0.35);
}

.at-step-item.active .at-step-num {
	color: #f05a28;
}

.at-step-item.active .at-step-title {
	color: #111827;
	font-weight: 700;
}

.at-step-item.completed .at-step-circle {
	background: #10b981;
	color: #ffffff;
}

.at-step-connector {
	flex: 1;
	height: 2px;
	background: #e5e8ec;
	margin: 0 14px;
	position: relative;
}

/* OTP Channel Selection */
.at-otp-channel-wrapper {
	margin-bottom: 16px;
}

.at-otp-channel-label {
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	margin-bottom: 8px;
	display: block;
}

.at-otp-channel-options {
	display: grid;
	/* auto-fit: 2 lựa chọn chia đôi như cũ; chỉ còn 1 lựa chọn (đang ẩn SĐT) thì chiếm trọn chiều ngang */
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 12px;
}

.at-channel-radio-label {
	margin: 0;
	cursor: pointer;
}

.at-channel-radio-label input[type="radio"] {
	display: none;
}

.at-channel-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 14px;
	background: #f9fafb;
	border: 1.5px solid #e5e7eb;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: #4b5563;
	transition: all 0.2s ease;
}

.at-channel-radio-label input[type="radio"]:checked + .at-channel-box {
	border-color: #f05a28;
	background: #fff8f5;
	color: #d94816;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(240, 90, 40, 0.12);
}

/* OTP Input & Send Button */
.at-otp-input-row {
	margin-bottom: 18px;
}

.at-otp-action-box {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.at-otp-code-input,
#login-form-popup .at-otp-code-input {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 140px !important;
	height: 48px !important;
	border-radius: 12px !important;
	border: 1.5px solid #e2e8f0 !important;
	padding: 0 14px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	text-align: left !important;
	color: #111827 !important;
	background: #ffffff !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.at-otp-code-input::placeholder,
#login-form-popup .at-otp-code-input::placeholder {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: #9ca3af !important;
	text-align: left !important;
	opacity: 1 !important;
}

.at-otp-code-input:not(:placeholder-shown) {
	letter-spacing: 3px !important;
	font-weight: 700 !important;
}

.at-otp-code-input.at-input-verified {
	border-color: #10b981 !important;
	background: #f0fdf4 !important;
	color: #065f46 !important;
}

.at-btn-send-otp,
#login-form-popup .at-btn-send-otp {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 110px !important;
	height: 48px !important;
	white-space: nowrap !important;
	padding: 0 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	background: #ffffff !important;
	color: #f05a28 !important;
	border: 1.5px solid #f05a28 !important;
	border-radius: 12px !important;
	transition: all 0.2s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
}

@media (max-width: 480px) {
	.at-otp-action-box {
		gap: 8px !important;
	}
	.at-otp-code-input,
	#login-form-popup .at-otp-code-input {
		flex: 1 1 60% !important;
		min-width: 120px !important;
		height: 46px !important;
		font-size: 14px !important;
		padding: 0 12px !important;
	}
	.at-otp-code-input::placeholder,
	#login-form-popup .at-otp-code-input::placeholder {
		font-size: 13px !important;
		letter-spacing: normal !important;
	}
	.at-btn-send-otp,
	#login-form-popup .at-btn-send-otp {
		flex: 0 0 auto !important;
		min-width: 95px !important;
		height: 46px !important;
		padding: 0 8px !important;
		font-size: 12px !important;
	}
}

.at-btn-send-otp:hover:not(:disabled) {
	background: #f05a28 !important;
	color: #ffffff !important;
}

.at-btn-send-otp:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	background: #f3f4f6 !important;
	color: #9ca3af !important;
	border-color: #d1d5db !important;
}

.at-otp-status-feedback {
	font-size: 12px;
	margin-top: 6px;
	line-height: 1.4;
}

.at-otp-status-feedback.at-status-success {
	color: #059669;
	background: #ecfdf5;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid #a7f3d0;
}

.at-otp-status-feedback.at-status-error {
	color: #dc2626;
	background: #fef2f2;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid #fecaca;
}

/* Password Hint */
.at-pwd-hint {
	display: block;
	font-size: 12px;
	color: #6b7280;
	margin-top: 4px;
}

/* Thông báo độ mạnh mật khẩu (WooCommerce): Flatsome không nạp woocommerce.css nên trước đây chỉ là chữ đen.
   Kiểu hộp giống .at-otp-status-feedback; các lớp short/bad/good/strong do JS của WooCommerce gắn theo độ mạnh. */
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad,
.woocommerce-password-strength.good,
.woocommerce-password-strength.strong {
	display: block;
	margin: 8px 0 0;
	padding: 8px 12px;
	border: 1px solid;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
}

/* Rất yếu / mật khẩu nhập lại không khớp */
.woocommerce-password-strength.short {
	color: #dc2626;
	background: #fef2f2;
	border-color: #fecaca;
}

/* Yếu */
.woocommerce-password-strength.bad {
	color: #c2410c;
	background: #fff7ed;
	border-color: #fed7aa;
}

/* Trung bình */
.woocommerce-password-strength.good {
	color: #b45309;
	background: #fffbeb;
	border-color: #fde68a;
}

/* Mạnh */
.woocommerce-password-strength.strong {
	color: #059669;
	background: #ecfdf5;
	border-color: #a7f3d0;
}

.at-highlight-revealed {
	animation: atPulseBorder 1.5s ease;
}

@keyframes atPulseBorder {
	0% { box-shadow: 0 0 0 0 rgba(240, 90, 40, 0.4); }
	70% { box-shadow: 0 0 0 8px rgba(240, 90, 40, 0); }
	100% { box-shadow: 0 0 0 0 rgba(240, 90, 40, 0); }
}

/* Step Action Buttons */
.at-btn-next-step,
.at-btn-complete-reg {
	width: 100%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 20px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #f05a28 0%, #ff7744 100%) !important;
	border: none !important;
	color: #ffffff !important;
	box-shadow: 0 4px 16px rgba(240, 90, 40, 0.3) !important;
	transition: all 0.25s ease !important;
}

.at-btn-next-step:hover,
.at-btn-complete-reg:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(240, 90, 40, 0.4) !important;
}

.at-step2-btn-wrap {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	margin-top: 10px;
}

.at-btn-prev-step {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #f3f4f6 !important;
	color: #4b5563 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 12px 16px !important;
}

.at-btn-prev-step:hover {
	background: #e5e7eb !important;
	color: #111827 !important;
}

/* ========================================================
   TAX LOOKUP STYLING (BƯỚC 2)
   ======================================================== */
.at-tax-lookup-container {
	margin-bottom: 20px;
	padding: 16px 18px;
	background: #f8fafc;
	border: 1.5px solid #e2e8f0;
	border-radius: 14px;
}

.at-tax-lookup-container label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
	font-weight: 700 !important;
}

.at-tax-badge-auto-fetch {
	font-size: 11px;
	font-weight: 700;
	color: #f05a28;
	background: #fff1eb;
	padding: 3px 8px;
	border-radius: 6px;
	border: 1px solid #ffd4c4;
}

.at-tax-field-flex {
	display: flex;
	gap: 8px;
}

.at-tax-input {
	flex: 1;
	font-size: 15px !important;
	font-weight: 600;
	letter-spacing: 1px;
}

/* Tax Status Alerts */
.at-tax-notification-box {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.5;
}

.at-tax-alert {
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 13px;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.at-tax-alert--loading {
	background: #f1f5f9;
	color: #475569;
	border: 1px solid #cbd5e1;
}

.at-tax-alert--success {
	background: #f0fdf4;
	color: #15803d;
	border: 1.5px solid #86efac;
}

.at-tax-alert--warning {
	background: #fffbeb;
	color: #b45309;
	border: 1.5px solid #fde68a;
}

.at-status-badge {
	font-size: 11px;
	background: #dcfce7;
	color: #166534;
	padding: 2px 6px;
	border-radius: 4px;
	font-weight: 600;
}

/* Autofilled Highlight Effect */
.at-autofill-highlight {
	animation: atHighlightGreen 2.5s ease-out;
	border-color: #10b981 !important;
}

@keyframes atHighlightGreen {
	0% {
		background-color: #ecfdf5;
		border-color: #10b981;
		box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
	}
	100% {
		background-color: transparent;
		border-color: inherit;
		box-shadow: none;
	}
}

/* Spinners */
.at-spinner-sm,
.at-otp-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: #ffffff;
	animation: atSpin 0.7s linear infinite;
}

.at-spinner-sm {
	border-color: rgba(240, 90, 40, 0.2);
	border-top-color: #f05a28;
}

@keyframes atSpin {
	to { transform: rotate(360deg); }
}

/* Mobile Responsiveness */
@media (max-width: 640px) {
	.at-step-title {
		display: none;
	}
	.at-otp-channel-options {
		grid-template-columns: 1fr;
	}
	.at-otp-action-box {
		flex-direction: column;
	}
	.at-btn-send-otp {
		width: 100%;
		padding: 10px !important;
	}
	.at-step2-btn-wrap {
		grid-template-columns: 1fr;
	}
	.at-btn-prev-step {
		order: 2;
	}
	.at-btn-complete-reg {
		order: 1;
	}
}

/* ==========================================================================
   ACCESSTRADE MEGA MENU — khung dropdown (nội dung: css/at-mega-menu.css)
   ========================================================================== */
@media (min-width: 850px) {
	/* Cho phép dropdown mở rộng vượt qua li cha */
	.header-nav > li.menu-item-has-block {
		position: static !important;
	}

	/* Mega menu container rộng và căn giữa theo header */
	.header-nav li#menu-item-1434 > .nav-dropdown,
	.header-nav li#menu-item-1426 > .nav-dropdown,
	.header-nav li.menu-item-design-full-width > .nav-dropdown,
	.header-nav li.menu-item-design-container-width > .nav-dropdown {
		position: absolute !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		top: 100% !important;
		width: 95vw !important;
		max-width: 1080px !important;
		background: #ffffff !important;
		border-radius: 12px !important;
		border: 1px solid #EAECF0 !important;
		box-shadow: 0 16px 32px -12px rgba(16, 24, 40, 0.14), 0 2px 6px rgba(16, 24, 40, 0.04) !important;
		padding: 0 !important;
		overflow: visible !important;
		margin-top: 8px !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: opacity 0.2s ease, visibility 0.2s ease !important;
	}

	/* Hiển thị Mega Menu khi rê chuột (:hover) hoặc Flatsome hover (.current-dropdown) - TUYỆT ĐỐI KHÔNG mở theo .active */
	.header-nav li#menu-item-1434:hover > .nav-dropdown,
	.header-nav li#menu-item-1426:hover > .nav-dropdown,
	.header-nav li#menu-item-1434.current-dropdown > .nav-dropdown,
	.header-nav li#menu-item-1426.current-dropdown > .nav-dropdown,
	.header-nav li.menu-item-has-block:hover > .nav-dropdown,
	.header-nav li.menu-item-has-block.current-dropdown > .nav-dropdown {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	/* Cầu nối hover giữ menu luôn hiển thị khi di chuyển chuột từ header */
	.header-nav li#menu-item-1434 > .nav-dropdown::before,
	.header-nav li#menu-item-1426 > .nav-dropdown::before,
	.header-nav li.menu-item-design-full-width > .nav-dropdown::before,
	.header-nav li.menu-item-design-container-width > .nav-dropdown::before {
		content: "" !important;
		position: absolute !important;
		top: -16px !important;
		left: 0 !important;
		right: 0 !important;
		height: 16px !important;
		background: transparent !important;
	}
}

/* Màn hình 850–999px: thu gọn logo & menu để 5 mục header không rớt xuống dòng thứ hai */
@media (min-width: 850px) and (max-width: 999px) {
	#masthead #logo {
		width: 150px !important;
		margin-right: 16px !important;
	}

	.header .header-nav-main > li > a {
		font-size: 14px !important;
	}

	.header .header-nav-main.nav-left > li {
		margin-left: 4px !important;
		margin-right: 4px !important;
	}
}

/* =========================================================================
   ACCESSTRADE CUSTOM MOBILE DRAWER MENU
   ========================================================================= */

/* Ẩn menu mobile ở chân trang khi chưa mở popup drawer */
#main-menu.mfp-hide,
#main-menu.at-mobile-sidebar.mfp-hide,
.mobile-sidebar.mfp-hide,
html:not(.has-off-canvas) #main-menu,
#wrapper > #main-menu {
	display: none !important;
}

/* Trên giao diện Desktop (>= 850px), mobile menu luôn bị ẩn hoàn toàn */
@media (min-width: 850px) {
	#main-menu,
	#main-menu.at-mobile-sidebar,
	.mobile-sidebar,
	.at-mobile-sidebar,
	.mfp-wrap .mobile-sidebar,
	.mfp-wrap #main-menu {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

/* Luôn đảm bảo popup đăng nhập và các modal lightbox hiển thị bình thường trên mọi thiết bị */
.mfp-wrap.mfp-login-wrap,
.mfp-wrap:has(#login-form-popup),
.mfp-wrap.off-canvas:has(#login-form-popup),
.mfp-ready.mfp-wrap:has(#login-form-popup) {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* Cookie backdrop không bao giờ được chặn tương tác / click trên trang */
#gdpr-cookie-modal-bg {
	display: none !important;
	pointer-events: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
}

/* Drawer đã có nút đóng riêng (.at-mob-close-btn) → ẩn nút X mặc định của Magnific Popup */
.mfp-wrap #main-menu.at-mobile-sidebar > .mfp-close {
	display: none !important;
}

/* Chỉ hiển thị và định dạng khi mở trong Magnific Popup drawer (Mobile) */
.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content,
.mfp-wrap .mobile-sidebar,
.mfp-wrap #main-menu.at-mobile-sidebar {
	--drawer-width: min(88vw, 360px) !important;
	max-width: 360px !important;
	width: min(88vw, 360px) !important;
	background: #ffffff !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100vh !important;
	max-height: 100vh !important;
	overflow: hidden !important;
	box-shadow: 10px 0 30px rgba(15, 23, 42, 0.15) !important;
}

.at-mob-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px 12px 16px !important;
	background: #ffffff !important;
	border-bottom: 1px solid #F1F5F9 !important;
}

.at-mob-logo img {
	height: 30px !important;
	max-height: 30px !important;
	width: auto !important;
	max-width: 170px !important;
	object-fit: contain !important;
	display: block !important;
}

.at-mob-close-btn {
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	color: #64748B !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
	transition: all 0.2s ease !important;
}

.at-mob-close-btn:hover {
	background: #F1F5F9 !important;
	color: #0F172A !important;
	border-color: #CBD5E1 !important;
}

.at-mob-tagline {
	padding: 6px 18px 12px 18px !important;
	background: #ffffff !important;
	font-size: 12px !important;
	color: #64748B !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	border-bottom: 1px solid #F1F5F9 !important;
}

.at-mob-body {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding: 14px 14px 20px 14px !important;
}

.at-mob-nav-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

/* Accordion Item */
.at-mob-acc-item {
	background: #ffffff !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	transition: all 0.2s ease !important;
}

.at-mob-acc-item.is-open {
	border-color: #CBD5E1 !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

.at-mob-acc-item.is-open.at-acc-solutions {
	border-color: #BFDBFE !important;
	border-left: 3px solid #2563EB !important;
}

.at-mob-acc-item.is-open.at-acc-industries {
	border-color: #DDD6FE !important;
	border-left: 3px solid #7C3AED !important;
}

.at-mob-acc-item.is-open.at-acc-products {
	border-color: #FED7AA !important;
	border-left: 3px solid #EA580C !important;
}

.at-mob-acc-toggle {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 14px !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	text-align: left !important;
	margin: 0 !important;
	transition: background 0.15s ease !important;
}

.at-mob-acc-toggle:hover,
.at-mob-acc-item.is-open .at-mob-acc-toggle {
	background: #F8FAFC !important;
}

.at-mob-toggle-left {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.at-mob-toggle-icon {
	width: 32px !important;
	height: 32px !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.at-mob-toggle-icon.icon-sol {
	background: #EFF6FF !important;
	color: #2563EB !important;
}

.at-mob-toggle-icon.icon-ind {
	background: #F5F3FF !important;
	color: #7C3AED !important;
}

.at-mob-toggle-icon.icon-prod {
	background: #FFF7ED !important;
	color: #EA580C !important;
}

.at-mob-toggle-icon.icon-info {
	background: #F0FDF4 !important;
	color: #16A34A !important;
}

.at-mob-toggle-icon.icon-blog {
	background: #FEF2F2 !important;
	color: #DC2626 !important;
}

.at-mob-toggle-icon.icon-case-study {
	background: #ECFEFF !important;
	color: #0891B2 !important;
}

.at-mob-toggle-title {
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #0F172A !important;
	line-height: 1.2 !important;
}

.at-mob-badge {
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 2px 7px !important;
	border-radius: 100px !important;
	line-height: 1.2 !important;
}

.at-badge-blue {
	background: #DBEAFE !important;
	color: #1D4ED8 !important;
}

.at-badge-purple {
	background: #EDE9FE !important;
	color: #6D28D9 !important;
}

.at-badge-orange {
	background: #FFEDD5 !important;
	color: #C2410C !important;
}

.at-mob-chevron {
	display: flex !important;
	align-items: center !important;
	color: #94A3B8 !important;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.at-mob-acc-item.is-open .at-mob-chevron {
	transform: rotate(180deg) !important;
	color: #0F172A !important;
}

/* Accordion Body */
.at-mob-acc-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: #ffffff;
}

.at-mob-cards-grid {
	padding: 4px 10px 12px 10px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;
}

/* Card item inside accordion */
.at-mob-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 9px 10px !important;
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 10px !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
}

.at-mob-card:active {
	background: #F1F5F9 !important;
	border-color: #CBD5E1 !important;
	transform: scale(0.99) !important;
}

.at-mob-card-icon {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	background: #ffffff !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 5px !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.at-mob-card-icon img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.at-mob-card-content {
	flex: 1 !important;
	min-width: 0 !important;
}

.at-mob-card-title {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #0F172A !important;
	margin: 0 0 2px 0 !important;
	line-height: 1.3 !important;
}

.at-mob-card-desc {
	font-size: 11.5px !important;
	color: #64748B !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

/* Accordion CTA */
.at-mob-acc-cta {
	padding: 2px 10px 14px 10px !important;
}

.at-mob-inner-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 100% !important;
	height: 36px !important;
	border-radius: 8px !important;
	background: rgba(224, 79, 22, 0.08) !important;
	border: 1px dashed rgba(224, 79, 22, 0.35) !important;
	color: #E04F16 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
}

.at-mob-inner-btn:active {
	background: rgba(224, 79, 22, 0.15) !important;
}

.at-btn-shop-all {
	background: #F1F5F9 !important;
	border: 1px solid #E2E8F0 !important;
	color: #334155 !important;
}

/* Sublist for Products */
.at-mob-sublist {
	padding: 4px 10px 10px 10px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.at-mob-sublink {
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px !important;
	padding: 8px 10px !important;
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
}

.at-mob-sublink:active {
	background: #F1F5F9 !important;
}

.at-sublink-bullet {
	width: 6px !important;
	height: 6px !important;
	min-width: 6px !important;
	border-radius: 50% !important;
	background: #EA580C !important;
	margin-top: 6px !important;
}

.at-sublink-text strong {
	display: block !important;
	font-size: 12.5px !important;
	color: #0F172A !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.at-sublink-text span {
	display: block !important;
	font-size: 11px !important;
	color: #64748B !important;
	line-height: 1.3 !important;
}

/* Direct link items */
.at-mob-direct-items {
	margin-top: 4px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.at-mob-direct-link {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
}

.at-mob-direct-link:active {
	background: #F8FAFC !important;
}

.at-mob-direct-link > div,
.at-mob-direct-link > span:first-child {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.at-mob-direct-title {
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #0F172A !important;
	margin-left: 10px !important;
	flex: 1 !important;
}

.at-mob-direct-arrow {
	font-size: 12px !important;
	color: #94A3B8 !important;
}

/* Fixed Mobile Drawer Footer */
.at-mob-footer {
	flex-shrink: 0 !important;
	padding: 14px 16px 20px 16px !important;
	background: #ffffff !important;
	border-top: 1px solid #F1F5F9 !important;
	box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04) !important;
}

.at-mob-primary-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	height: 44px !important;
	background: linear-gradient(135deg, #FF6A39 0%, #E04F16 100%) !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(224, 79, 22, 0.25) !important;
	transition: opacity 0.15s ease !important;
}

.at-mob-primary-cta:active {
	opacity: 0.9 !important;
	transform: scale(0.99) !important;
}

.at-mob-secondary-actions {
	display: flex !important;
	gap: 8px !important;
	margin-top: 8px !important;
}

.at-mob-secondary-btn {
	flex: 1 !important;
	height: 36px !important;
	border-radius: 8px !important;
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #334155 !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
}

.at-mob-secondary-btn:active {
	background: #F1F5F9 !important;
}

.at-btn-call {
	flex: 0 0 90px !important;
}

.at-mob-support-text {
	margin-top: 10px !important;
	text-align: center !important;
	font-size: 11px !important;
	color: #94A3B8 !important;
}

.at-mob-support-text a {
	color: #64748B !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

/* ==========================================================================
   MY ACCOUNT: QUẢN LÝ YÊU CẦU TƯ VẤN & PROPOSAL
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-content {
	min-height: 480px;
}

.at-account-consult-wrap {
	animation: atFadeInUp 0.25s ease-out;
}

@keyframes atFadeInUp {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 640px) {
	.at-account-consult-header {
		flex-direction: column;
		align-items: stretch;
	}
	.at-account-header-actions {
		width: 100%;
		display: flex;
	}
	.at-account-header-actions button {
		flex: 1;
		text-align: center;
	}
	.at-consult-table th:nth-child(4),
	.at-consult-table td:nth-child(4) {
		display: none;
	}
}

/* Ẩn mục Tệp tải xuống (downloads) và Địa chỉ (edit-address) trong My Account */
.woocommerce-MyAccount-navigation-link--downloads,
.woocommerce-MyAccount-navigation-link--edit-address {
	display: none !important;
}

/* =========================================================================
   TRANG CHỦ — SỬA RESPONSIVE (tablet / laptop nhỏ)
   CSS gốc của các khối này nằm ở Customizer > Additional CSS và style inline
   của UX Builder, nên ở đây ghi đè bằng selector cụ thể hơn / !important.
   ========================================================================= */

/* Tiêu đề thẻ "Chiến dịch tiêu biểu" (trước là <h1>, CSS cũ trong Customizer nhắm .card-header h1) */
.card-header .card-title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: #1a1a1a;
	letter-spacing: -0.3px;
	text-transform: none;
	width: fit-content;
	margin: 0;
	padding: 0;
}

/* 1+2. Thẻ "Chiến dịch tiêu biểu": số liệu luôn thẳng hàng theo đáy, không bị cắt */
.home .tabbed-content .card .card-body {
	align-items: stretch;
}

.home .tabbed-content .card .stat {
	display: flex;
	flex-direction: column;
}

.home .tabbed-content .card .stat-value {
	margin-top: auto;
	white-space: nowrap;
}

@media (max-width: 1199px) {
	.home .tabbed-content .card .card-header {
		padding: 22px 20px 18px;
	}

	.home .tabbed-content .card .card-body {
		padding: 20px 12px;
	}

	.home .tabbed-content .card .stat {
		padding: 0 10px;
	}

	.home .tabbed-content .card .stat-label {
		font-size: 15px;
		margin-bottom: 8px;
	}

	.home .tabbed-content .card .stat-value {
		font-size: 26px;
	}
}

/* Tablet: 3 cột quá hẹp -> 2 cột, bỏ các cột trống dùng để giữ chỗ */
@media (min-width: 550px) and (max-width: 849px) {
	.home .tabbed-content .row > .col.medium-4:has(> .col-inner > .card) {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}

	.home .tabbed-content .row > .col.medium-4:not(:has(> .col-inner > .card)) {
		display: none !important;
	}
}

/* 3. Ô số liệu ở hero: bỏ padding-left 105px (inline từ UX Builder) khi ô hẹp */
@media (min-width: 550px) and (max-width: 849px) {
	.home .row.mobile-icon > .col {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}
}

@media (min-width: 550px) and (max-width: 1199px) {
	.home .row.mobile-icon > .col > .col-inner {
		padding: 16px 20px 16px 28px !important;
	}

	.home .row.mobile-icon h4 {
		white-space: nowrap;
	}
}

/* 4. Tiêu đề nhóm sản phẩm ("Tăng nhận diện thương hiệu"): line-height 2.75 làm
   khoảng cách dòng quá lớn khi chữ xuống dòng ở tablet */
@media (min-width: 768px) and (max-width: 1099px) {
	.home .section .col.small-7 > .col-inner > .text p {
		font-size: 24px !important;
		line-height: 1.3 !important;
		margin: 14px 0 !important;
	}
}

/* Trang chủ — hero: nút "Giải pháp cho bạn" (→ /goi-y-giai-phap/) + "Đặt lịch tư vấn" (chỉ mobile).
   Nội dung nút nằm trong UX Builder; mobile: 2 nút xếp dọc cùng độ rộng, căn giữa. */
@media (max-width: 549px) {
	body.home .section-header a.button.at-hero-cta-advisor,
	body.home .section-header a.button.at-hero-cta-advisor + a.button {
		display: block;
		width: 100%;
		max-width: 260px;
		margin: 0 auto 10px !important;
		text-align: center;
	}
}

/* ==========================================================================
   Hero trang chủ — nhãn đầu tiên ("Dành cho Advertiser")
   Kiểu dáng này vốn nằm trong thẻ <style> inline ngay sau phần tử (UX Builder). Trang HTML nặng nên trình
   duyệt có thể vẽ phần tử trước khi đọc tới thẻ <style> đó, rồi dịch cả khối bên dưới (CLS ~0,23 trên desktop).
   Khai báo lại ở đây (CSS nạp trước lần vẽ đầu) bằng bộ chọn theo cấu trúc, không dùng ID ngẫu nhiên.
   Chỉ áp cho section đầu tiên (hero): các section sau (tiêu đề "Sự kiện", nhãn "Tăng nhận diện thương hiệu"…)
   cũng có .text là phần tử đầu nhưng không phải nhãn dạng viên thuốc.
   ========================================================================== */
body.home #content > .section-header:first-child > .section-content > .row > .col > .col-inner > .text:first-child {
	padding: 4px 8px;
	border: 1px solid rgb(249, 219, 175);
	width: fit-content;
	margin: 0 auto 16px;
	border-radius: 50px;
	background-color: rgb(254, 246, 238);
	color: rgb(224, 79, 22);
}
body.home #content > .section-header:first-child > .section-content > .row > .col > .col-inner > .text:first-child > * {
	color: rgb(224, 79, 22);
}

/* Sản phẩm không có giá: ẩn dòng "Thành tiền: Liên hệ tư vấn" trên thanh mua cố định (dòng ở cột chính đã bỏ ở PHP) */
body.product-no-price .at-sticky-total-line {
	display: none !important;
}
