/* QMS Medicosmetics */
:root {
  --qms-navy: #0B1E36;
  --qms-teal: #1A3B5C;
  --qms-gold: #C5A059;
  --qms-silver: #F4F6F8;
  --qms-text: #1a1a1a;
}

body.qms { font-family: 'Inter', system-ui, sans-serif; color: var(--qms-text); }
.serif-title { font-family: 'Playfair Display', Georgia, serif; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--qms-navy); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--qms-teal); }

.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@keyframes qms-spin { to { transform: rotate(360deg); } }
.animate-spin-slow { animation: qms-spin 30s linear infinite; }

body.qms-lock { overflow: hidden; }

/* Trạng thái nút thêm vào giỏ (WooCommerce thêm class loading / added) */
.add_to_cart_button.loading { opacity: .6; pointer-events: none; }
.add_to_cart_button.loading::after { content: '\f110'; font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-left: .4rem; display: inline-block; animation: qms-spin 1s linear infinite; }
a.added_to_cart { display: none !important; }

/* Toast */
#qmsToast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 120%); z-index: 60; transition: transform .3s ease; }
#qmsToast.show { transform: translate(-50%, 0); }

/* Giá WooCommerce trong thẻ sản phẩm */
.qms-price del { color: #9ca3af; font-weight: 400; font-size: .8em; margin-right: .35rem; }
.qms-price ins { text-decoration: none; }

/* ---------- Trang WooCommerce (giỏ hàng, thanh toán, tài khoản, đơn hàng) ---------- */
.qms-woo { max-width: 80rem; margin: 0 auto; padding: 3rem 1rem 4rem; }
.qms-shop-page .qms-woo { padding: 0 1rem 2rem; }
@media (min-width: 640px) { .qms-woo, .qms-shop-page .qms-woo { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .qms-woo, .qms-shop-page .qms-woo { padding-left: 2rem; padding-right: 2rem; } }
.qms-woo h1, .qms-woo h2, .qms-woo h3 { font-family: 'Playfair Display', Georgia, serif; color: var(--qms-navy); }
.qms-woo h1 { font-size: 2rem; margin-bottom: 1.5rem; }
.qms-woo h2 { font-size: 1.4rem; margin: 1.25rem 0 .75rem; }
.qms-woo h3 { font-size: 1.15rem; margin: 1rem 0 .5rem; }
.qms-woo a { color: var(--qms-teal); }
.qms-woo a:hover { color: var(--qms-gold); }

.qms-woo .button, .qms-woo button.button, .qms-woo input.button, .qms-woo #place_order,
.qms-woo .checkout-button, .qms-woo .wc-block-components-button {
  background: var(--qms-navy) !important; color: #fff !important; border: 0; border-radius: .75rem;
  padding: .85rem 1.5rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  cursor: pointer; transition: background .2s; display: inline-block; text-decoration: none; line-height: 1.2;
}
.qms-woo .button:hover { background: var(--qms-teal) !important; }
.qms-woo .checkout-button, .qms-woo #place_order { background: var(--qms-gold) !important; color: var(--qms-navy) !important; text-align: center; }
.qms-woo .checkout-button { display: block; width: 100%; padding: 1rem 1.5rem; font-size: .85rem; }
.qms-woo .checkout-button:hover, .qms-woo #place_order:hover { background: #b08b45 !important; }

.qms-woo input[type=text], .qms-woo input[type=email], .qms-woo input[type=tel], .qms-woo input[type=password],
.qms-woo input[type=number], .qms-woo select, .qms-woo textarea, .qms-woo .select2-container .select2-selection {
  width: 100%; border: 1px solid #d1d5db; border-radius: .6rem; padding: .7rem .85rem; font-size: .9rem; background: #fff;
}
.qms-woo .select2-container .select2-selection { height: auto; min-height: 2.75rem; }
.qms-woo input:focus, .qms-woo select:focus, .qms-woo textarea:focus { outline: 2px solid var(--qms-navy); outline-offset: 0; border-color: transparent; }
.qms-woo label { display: block; font-size: .8rem; font-weight: 600; color: #374151; margin-bottom: .35rem; }
.qms-woo label.checkbox, .qms-woo label.woocommerce-form__label-for-checkbox {
  display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 500; text-transform: none; cursor: pointer; margin: 0;
}
.qms-woo input[type=checkbox], .qms-woo input[type=radio] { accent-color: var(--qms-navy); width: 1rem; height: 1rem; }
.woocommerce-page .qms-woo form .form-row, .qms-woo .form-row { margin: 0 0 1rem; padding: 0; }
.qms-woo .required { color: #dc2626; text-decoration: none; border: 0; }
.qms-woo .woocommerce-invalid input.input-text, .qms-woo .woocommerce-invalid select { border-color: #dc2626; }

/* Bảng (đơn hàng, chi tiết đơn) */
.qms-woo table.shop_table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #f3f4f6; border-radius: 1rem; overflow: hidden; }
.qms-woo table.shop_table th, .qms-woo table.shop_table td { padding: .9rem 1rem; border-bottom: 1px solid #f3f4f6; text-align: left; font-size: .9rem; }
.qms-woo table.shop_table th { background: var(--qms-silver); color: var(--qms-navy); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.qms-woo table.shop_table img { width: 64px; height: 64px; object-fit: cover; border-radius: .5rem; }

/* Breadcrumb */
.qms-breadcrumb a { color: inherit; }

/* Thanh miễn phí giao hàng */
.qms-freeship__track { height: .5rem; background: #e5e7eb; border-radius: 9999px; overflow: hidden; }
.qms-freeship__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--qms-gold), #e3c789); transition: width .4s ease; }
.qms-freeship.is-reached .qms-freeship__track span { background: var(--qms-teal); }

/* Giỏ hàng */
.qms-update-cart { display: none !important; }
/* woocommerce.css: .cart_totals float + width 48%, a.remove đỏ → trả về bố cục QMS. */
.woocommerce-page .qms-woo .cart-collaterals, .woocommerce-page .qms-woo .cart-collaterals .cart_totals { float: none; width: auto; }
.woocommerce-page .qms-woo .cart-collaterals::before, .woocommerce-page .qms-woo .cart-collaterals::after { display: none; }
.woocommerce-page .qms-woo a.remove.qms-cart-remove { font-size: .95rem; line-height: 1; font-weight: 400; color: #9ca3af !important; }
.woocommerce-page .qms-woo a.remove.qms-cart-remove:hover { background: #fef2f2; color: #dc2626 !important; }
.qms-cart-remove { display: inline-flex !important; width: 2rem !important; height: 2rem !important; align-items: center; justify-content: center; border-radius: 9999px; color: #9ca3af !important; transition: background .2s, color .2s; text-decoration: none; }
.qms-cart-remove:hover { background: #fef2f2; color: #dc2626 !important; }
.qms-cart-meta dl.variation { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin: 0; }
.qms-cart-meta dl.variation dt, .qms-cart-meta dl.variation dd { display: inline; margin: 0; }
.qms-cart-meta dl.variation dd p { display: inline; margin: 0; }
.qms-cart .blockUI.blockOverlay, .qms-checkout .blockUI.blockOverlay { border-radius: 1rem; }
.qms-coupon summary::-webkit-details-marker { display: none; }
.woocommerce-page .qms-woo .wc-proceed-to-checkout { padding: 0 1.25rem 1.25rem; }
.woocommerce-page .qms-woo .wc-proceed-to-checkout a.checkout-button { font-size: .85rem; padding: 1rem; margin: 0; }
.cart_totals .woocommerce-remove-coupon { margin-left: .35rem; font-size: .75rem; }
.qms-woo .cross-sells { margin-top: 3rem; }

/* Thanh toán */
.qms-checkout-card { background: #fff; border: 1px solid #f3f4f6; border-radius: 1rem; box-shadow: 0 1px 2px rgba(11,30,54,.05); padding: 1.25rem; }
@media (min-width: 640px) { .qms-checkout-card { padding: 1.75rem; } }
.qms-woo .qms-checkout-card__title { font-family: 'Inter', system-ui, sans-serif; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 1.25rem; }
.qms-woo .qms-field-group, .qms-woo h3.qms-field-group { display: block; font-family: 'Inter', system-ui, sans-serif; font-size: .95rem; font-weight: 600; color: var(--qms-navy); margin: 0 0 1rem; }
.qms-woo .form-row .qms-field-group { margin: .75rem 0 1rem; padding-top: 1.25rem; border-top: 1px solid #f3f4f6; }
.qms-woo .col2-set .col-1, .qms-woo .col2-set .col-2 { float: none; width: 100%; max-width: none; }
.qms-woo .woocommerce-billing-fields__field-wrapper,
.qms-woo .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr; gap: 0 1rem; }
@media (min-width: 640px) {
  .qms-woo .woocommerce-billing-fields__field-wrapper,
  .qms-woo .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr 1fr; }
  .qms-woo .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .qms-woo .woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
}
.woocommerce-page .qms-woo form .form-row-first, .woocommerce-page .qms-woo form .form-row-last, .qms-woo .form-row-first, .qms-woo .form-row-last { float: none; width: 100%; }
.qms-woo .woocommerce-input-wrapper { display: block; }
.qms-woo #billing_country_field strong { display: block; font-size: .9rem; color: var(--qms-navy); }
.qms-woo #billing_country_field:has(> .woocommerce-input-wrapper > strong) > label,
.qms-woo #billing_country_field > .woocommerce-input-wrapper > strong { display: none; } /* Chỉ bán trong nước: bỏ dòng "Quốc gia". */
/* Ô chọn Tỉnh/Thành phố, Phường/Xã (selectWoo của WooCommerce/VietAddr) giống ô nhập. */
.qms-woo .select2-container { width: 100% !important; }
.qms-woo .select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0 2.25rem 0 .85rem; }
.qms-woo .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: #111827; }
.qms-woo .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #9ca3af; }
.qms-woo .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: .6rem; height: 100%; }
.qms-woo .select2-container--focus .select2-selection, .qms-woo .select2-container--open .select2-selection { outline: 2px solid var(--qms-navy); border-color: transparent; }
.qms-woo .select2-container--disabled .select2-selection { background: #f9fafb; cursor: not-allowed; }
.select2-dropdown { border-color: #d1d5db; border-radius: .6rem; overflow: hidden; font-size: .9rem; }
.select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid #d1d5db; border-radius: .4rem; padding: .45rem .6rem; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--qms-navy); color: #fff; }
.qms-woo #ship-to-different-address { font-family: inherit; font-size: .9rem; margin: .5rem 0 1rem; }
.qms-woo .woocommerce-shipping-fields, .qms-woo .woocommerce-additional-fields { border-top: 1px solid #f3f4f6; padding-top: 1rem; }
.qms-woo .woocommerce-additional-fields h3 { font-family: inherit; font-size: .95rem; font-weight: 600; }

.qms-option {
  display: flex !important; align-items: center; gap: .75rem; border: 1px solid #e5e7eb; border-radius: .75rem;
  padding: .9rem 1rem; margin: 0 !important; cursor: pointer; font-size: .9rem !important; color: #374151 !important; transition: border-color .2s, background .2s;
}
.qms-option:has(input:checked), .qms-option:has(input[type=hidden]) { border-color: var(--qms-navy); background: var(--qms-silver); }

.woocommerce-checkout .qms-woo #payment, .qms-woo #payment { background: transparent; border-radius: 0; padding: 0; margin: 0; }
.qms-woo #payment ul.payment_methods { list-style: none; padding: 0; margin: 0; border: 0; display: grid; gap: .75rem; }
.qms-woo #payment ul.payment_methods li { border: 1px solid #e5e7eb; border-radius: .75rem; padding: .9rem 1rem; margin: 0; transition: border-color .2s, background .2s; line-height: 1.4; }
.qms-woo #payment ul.payment_methods li:has(> input:checked) { border-color: var(--qms-navy); background: rgba(244,246,248,.6); }
.qms-woo #payment ul.payment_methods li > input { margin: 0 .6rem 0 0; vertical-align: middle; }
.qms-woo #payment ul.payment_methods li > label { display: inline; font-size: .9rem; font-weight: 600; color: var(--qms-navy); cursor: pointer; margin: 0; }
.qms-woo #payment ul.payment_methods li img { display: inline-block; max-height: 1.5rem; margin-left: .5rem; vertical-align: middle; }
.qms-woo #payment div.payment_box { background: #fff; color: #4b5563; border: 1px solid #f3f4f6; border-radius: .6rem; padding: .75rem 1rem; margin: .75rem 0 0; font-size: .85rem; }
.qms-woo #payment div.payment_box::before { display: none; }
.qms-woo #payment div.payment_box p:last-child { margin-bottom: 0; }

.qms-checkout-coupon.is-busy { opacity: .6; pointer-events: none; }
.qms-review-items .variation { font-size: .75rem; color: #6b7280; margin: .25rem 0 0; }
.qms-checkout-terms .woocommerce-privacy-policy-text p, .qms-checkout-terms .woocommerce-terms-and-conditions-wrapper p { margin: 0; }
.qms-woo .woocommerce-privacy-policy-text { font-size: .8rem; color: #6b7280; }

.qms-checkout-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid #e5e7eb; box-shadow: 0 -6px 24px rgba(11,30,54,.08); margin: 0 !important; padding: 0 !important; }
.qms-woo .qms-checkout-bar #place_order { width: auto; min-width: 9rem; padding: 1rem 1.75rem; font-size: .85rem; }
@media (min-width: 640px) { .qms-woo .qms-checkout-bar #place_order { min-width: 14rem; } }
body.qms-focus-checkout footer { padding-bottom: 6.5rem; }

/* Thông báo WooCommerce */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  list-style: none; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-radius: .75rem; font-size: .9rem;
  background: #fff; border: 1px solid #f3f4f6; border-left: 4px solid var(--qms-gold); color: var(--qms-navy);
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between;
}
.woocommerce-error { border-left-color: #dc2626; background: #fef2f2; color: #991b1b; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button, .woocommerce-info .button { padding: .5rem 1rem; }

/* Tài khoản */
.woocommerce-account .qms-woo .woocommerce-MyAccount-navigation, .woocommerce-account .qms-woo .woocommerce-MyAccount-content { float: none; width: auto; }
.qms-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; }
.qms-woo .woocommerce-MyAccount-navigation li a {
  display: flex; align-items: center; gap: .75rem; padding: .7rem .9rem; border-radius: .6rem;
  color: #374151; font-size: .875rem; font-weight: 500; text-decoration: none; transition: background .2s, color .2s;
}
.qms-woo .woocommerce-MyAccount-navigation li a:hover { background: var(--qms-silver); color: var(--qms-navy); }
.qms-woo .woocommerce-MyAccount-navigation li.is-active a { background: var(--qms-navy); color: #fff; }
.qms-woo .woocommerce-MyAccount-navigation li.is-active a i { color: var(--qms-gold); }
.qms-woo .woocommerce-MyAccount-navigation-link--customer-logout a { color: #dc2626; }
.qms-woo .woocommerce-EditAccountForm .form-row em { display: block; margin-top: .35rem; font-size: .75rem; font-style: normal; color: #6b7280; }
.qms-account-toggle { display: none; }
@media (max-width: 1023px) {
	.qms-account-toggle:not([hidden]) {
		display: flex; align-items: center; justify-content: space-between; gap: 1rem;
		width: 100%; min-height: 44px; padding: .75rem 1.25rem;
		font-weight: 600; color: var(--qms-navy);
	}
	.qms-account-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
	.qms-account-toggle:not([hidden])[aria-expanded="false"] + ul { display: none; }
	.qms-woo .woocommerce-MyAccount-navigation li a { min-height: 44px; }
	.qms-woo .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid #e5e7eb; margin-top: .25rem; }
}
.qms-woo .woocommerce-MyAccount-content > h2:first-child, .qms-woo .woocommerce-MyAccount-content > h3:first-child { margin-top: 0; }
.qms-woo .woocommerce-Addresses { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .qms-woo .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.qms-woo .woocommerce-Address { background: var(--qms-silver); border-radius: 1rem; padding: 1.25rem; float: none !important; width: auto !important; }
.qms-woo .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.qms-woo .woocommerce-Address-title h3 { margin: 0 0 .5rem; }
.qms-woo address { font-style: normal; font-size: .9rem; line-height: 1.6; color: #4b5563; }
.qms-woo .woocommerce-EditAccountForm input.input-text:focus {
  border-color: var(--qms-navy);
  outline: 1px solid var(--qms-navy);
  outline-offset: 0;
}
.qms-woo .woocommerce-EditAccountForm fieldset { border: 1px solid #f3f4f6; border-radius: 1rem; padding: 1rem 1.25rem; margin: 1.5rem 0; }
.qms-woo .woocommerce-EditAccountForm legend { font-weight: 600; color: var(--qms-navy); padding: 0 .5rem; }
.qms-woo .woocommerce-orders-table .button { padding: .45rem .9rem; font-size: .7rem; margin: .15rem; }
.qms-woo mark.order-number, .qms-woo mark.order-date, .qms-woo mark.order-status { background: none; color: var(--qms-navy); font-weight: 600; }

.qms-order-status { display: inline-block; padding: .2rem .6rem; border-radius: 9999px; font-size: .7rem; font-weight: 600; background: var(--qms-silver); color: #4b5563; }
.qms-order-status--processing, .qms-order-status--completed { background: #ecfdf5; color: #047857; }
.qms-order-status--on-hold { background: #fef9c3; color: #854d0e; }
.qms-order-status--cancelled, .qms-order-status--failed, .qms-order-status--refunded { background: #fef2f2; color: #b91c1c; }

.qms-auth .woocommerce-form-login, .qms-auth .woocommerce-form-register,
.woocommerce-page .qms-auth form.login, .woocommerce-page .qms-auth form.register { background: transparent; border: 0; padding: 0; margin: 0; border-radius: 0; }
.qms-auth-tab { padding: .6rem; border-radius: .6rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; transition: background .2s, color .2s; }
.qms-auth-tab[aria-selected=true] { background: #fff; color: var(--qms-navy); box-shadow: 0 1px 3px rgba(11,30,54,.1); }
.qms-woo .woocommerce-ResetPassword { max-width: 28rem; margin: 0 auto; background: #fff; border: 1px solid #f3f4f6; border-radius: 1rem; padding: 1.75rem; box-shadow: 0 1px 2px rgba(11,30,54,.05); }

/* Trang đã đặt hàng / chi tiết đơn */
.qms-shop-page .woocommerce-order, .qms-woo .woocommerce-order { margin-top: 0; }
.qms-woo ul.woocommerce-order-overview { list-style: none; padding: 1.25rem; margin: 0 0 1.5rem; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); background: #fff; border: 1px solid #f3f4f6; border-radius: 1rem; }
.qms-woo ul.woocommerce-order-overview li { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; border: 0; margin: 0; padding: 0; float: none; }
.qms-woo ul.woocommerce-order-overview::before, .qms-woo ul.woocommerce-order-overview::after { display: none; }
.qms-woo ul.woocommerce-order-overview li strong { overflow-wrap: anywhere; display: block; margin-top: .25rem; font-size: .95rem; text-transform: none; letter-spacing: 0; color: var(--qms-navy); }
.qms-woo .woocommerce-thankyou-order-received { font-size: 1.1rem; color: var(--qms-navy); font-weight: 600; margin-bottom: 1rem; }
.qms-woo .woocommerce-order-details, .qms-woo .woocommerce-customer-details { margin-top: 2rem; }

/* Cửa hàng / chi tiết sản phẩm */
.qms-woo ul.products { list-style: none; padding: 0; display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.qms-woo ul.products li.product { background: #fff; border: 1px solid #f3f4f6; border-radius: 1rem; padding: 1rem; text-align: center; }
.qms-woo ul.products li.product img { border-radius: .75rem; margin-bottom: .75rem; aspect-ratio: 1; object-fit: cover; width: 100%; }
.qms-woo ul.products li.product .woocommerce-loop-product__title { font-family: 'Playfair Display', serif; color: var(--qms-navy); font-weight: 700; }
.qms-woo ul.products li.product .price { display: block; color: var(--qms-navy); font-weight: 700; margin: .5rem 0 1rem; }
.qms-woo .woocommerce-pagination ul { display: flex; gap: .5rem; list-style: none; padding: 0; justify-content: center; }
.qms-woo div.product { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .qms-woo div.product { grid-template-columns: 1fr 1fr; } .qms-woo div.product .woocommerce-tabs, .qms-woo div.product .related { grid-column: 1 / -1; } }
.qms-woo div.product .product_title { font-size: 2rem; }
.qms-woo div.product p.price { font-size: 1.5rem; color: var(--qms-navy); font-weight: 700; margin: 1rem 0; }
.qms-woo div.product form.cart { display: flex; gap: .75rem; align-items: center; margin: 1.5rem 0; }
.qms-woo .woocommerce-tabs ul.tabs { list-style: none; padding: 0; display: flex; gap: 1rem; border-bottom: 1px solid #e5e7eb; }
.qms-woo .woocommerce-tabs ul.tabs li a { display: block; padding: .75rem 0; font-weight: 600; text-decoration: none; }
.qms-woo .woocommerce-tabs ul.tabs li.active a { color: var(--qms-gold); border-bottom: 2px solid var(--qms-gold); }
.qms-woo .woocommerce-breadcrumb { font-size: .8rem; color: #6b7280; margin-bottom: 1.5rem; }
.qms-woo .onsale { background: var(--qms-gold); color: var(--qms-navy); font-size: .7rem; font-weight: 700; padding: .25rem .6rem; border-radius: 9999px; }

/* Nội dung trang thường */
.qms-content > * + * { margin-top: 1rem; }
.qms-content a { color: var(--qms-teal); text-decoration: underline; }
.qms-content ul { list-style: disc; padding-left: 1.5rem; }
.qms-content ol { list-style: decimal; padding-left: 1.5rem; }

/* ---------- Hiệu ứng khi cuộn (AOS) ---------- */
/* aos.css ẩn sẵn mọi [data-aos]; chỉ cho ẩn khi trang có JS (class gắn trong <head>). */
html:not(.qms-aos-js) [data-aos] { opacity: 1 !important; transform: none !important; }
/* Thẻ giữa khối Khoa học dùng md:-translate-y-2; AOS ghi đè transform khi chạy xong nên bù lại. */
@media (min-width: 768px) {
  [data-aos].md\:-translate-y-2.aos-animate { transform: translate3d(0, -0.5rem, 0); }
}

/* ---------- Số lượng & thành tiền (Ajax) ---------- */
.qms-qty { display: inline-flex; align-items: stretch; border: 1px solid #d1d5db; border-radius: .6rem; overflow: hidden; background: #fff; }
.qms-qty input.qty { width: 3.25rem !important; border: 0 !important; border-radius: 0 !important; text-align: center; padding: .5rem 0 !important; -moz-appearance: textfield; }
.qms-qty input.qty::-webkit-outer-spin-button, .qms-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qms-qty-btn { width: 2.25rem; background: var(--qms-silver); color: var(--qms-navy); font-weight: 700; font-size: 1rem; line-height: 1; cursor: pointer; transition: background .2s; }
.qms-qty-btn:hover { background: var(--qms-navy); color: #fff; }
.qms-line-total { color: #4b5563; margin: .5rem 0 0; }
.qms-line-total__amount { color: var(--qms-navy); font-weight: 700; }
form.cart .qms-line-total { flex-basis: 100%; }
.qms-mini-cart.is-busy { opacity: .6; pointer-events: none; transition: opacity .15s; }

/* ---------- Trang chi tiết sản phẩm ---------- */
.qms-buybox form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .75rem; margin: 0; }
.qms-buybox form.cart .qms-qty input.qty { padding: .85rem 0 !important; }
.qms-buybox .single_add_to_cart_button {
  flex: 1; min-width: 12rem; background: var(--qms-navy) !important; color: #fff !important; border: 0; border-radius: .75rem;
  padding: .9rem 1.5rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; transition: background .2s;
}
.qms-buybox .single_add_to_cart_button:hover { background: var(--qms-teal) !important; }
.qms-buybox .single_add_to_cart_button.loading { opacity: .7; }
.qms-buybox .qms-line-total { width: 100%; font-size: .9rem; }
.qms-buybox .stock { display: none; } /* đã hiện tình trạng kho ở phần thông tin */
.qms-buybox table.variations { width: 100%; margin-bottom: 1rem; }
.qms-buybox table.variations select { width: 100%; border: 1px solid #d1d5db; border-radius: .5rem; padding: .6rem; }

/* Đánh giá (template gốc WooCommerce) */
.qms-woo-reviews .woocommerce-Reviews-title, .qms-woo-reviews #reply-title { font-family: 'Playfair Display', Georgia, serif; color: var(--qms-navy); font-size: 1.25rem; margin-bottom: 1rem; }
.qms-woo-reviews ol.commentlist { list-style: none; padding: 0; margin: 0 0 2rem; }
.qms-woo-reviews ol.commentlist li { background: var(--qms-silver); border-radius: 1rem; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.qms-woo-reviews .comment_container img.avatar { display: none; }
.qms-woo-reviews .star-rating { color: #fbbf24; }
.qms-woo-reviews textarea, .qms-woo-reviews input[type=text], .qms-woo-reviews input[type=email] { width: 100%; border: 1px solid #d1d5db; border-radius: .5rem; padding: .7rem .8rem; }
.qms-woo-reviews label { display: block; font-size: .8rem; font-weight: 600; color: #374151; margin: .75rem 0 .3rem; }
.qms-woo-reviews p.stars a { color: #fbbf24; margin-right: .25rem; }
.qms-woo-reviews .form-submit input[type=submit] { background: var(--qms-navy); color: #fff; border: 0; border-radius: .75rem; padding: .8rem 1.5rem; font-weight: 700; font-size: .8rem; text-transform: uppercase; cursor: pointer; margin-top: 1rem; }
.qms-woo-reviews .woocommerce-noreviews { color: #6b7280; }

/* Chừa chỗ cho thanh mua nhanh trên điện thoại */
@media (max-width: 1023px) { body.single-product footer { padding-bottom: 6rem; } }
/* woocommerce-layout.css đặt `.woocommerce-page img { height: auto }` → ảnh h-full (khung vuông) không phủ kín. */
.woocommerce-page img.h-full, .woocommerce img.h-full { height: 100%; }

/* ---------- Form CF7 nhận ưu đãi ở chân trang (giống template) ---------- */
.qms-newsletter-cf7 p { margin: 0; }
.qms-newsletter-cf7 .qms-cf7-newsletter { display: flex; flex-direction: column; gap: .5rem; }
.qms-newsletter-cf7 .wpcf7-form-control-wrap { display: block; }
.qms-newsletter-cf7 input[type=email] {
  width: 100%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: .5rem;
  padding: .5rem .75rem; font-size: .75rem; color: #fff; outline: none;
}
.qms-newsletter-cf7 input[type=email]::placeholder { color: #9ca3af; }
.qms-newsletter-cf7 input[type=email]:focus { border-color: var(--qms-gold); }
.qms-newsletter-cf7 input[type=submit] {
  width: 100%; background: var(--qms-gold); color: var(--qms-navy); font-weight: 700; padding: .5rem; border: 0; border-radius: .5rem;
  font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; cursor: pointer; transition: background .2s;
}
.qms-newsletter-cf7 input[type=submit]:hover { background: #ca8a04; }
.qms-newsletter-cf7 .wpcf7-spinner { position: absolute; margin: .5rem 0 0 -2rem; background-color: var(--qms-navy); }
.qms-newsletter-cf7 .wpcf7-not-valid-tip { color: #fca5a5; font-size: .7rem; margin-top: .25rem; }
.qms-newsletter-cf7 .wpcf7-response-output { margin: .5rem 0 0 !important; padding: .4rem .6rem !important; border-radius: .5rem; font-size: .7rem; color: #e5e7eb; border-width: 1px !important; }
.qms-newsletter-cf7 form.sent .wpcf7-response-output { border-color: var(--qms-gold) !important; }
.qms-newsletter-cf7 form.invalid .wpcf7-response-output, .qms-newsletter-cf7 form.failed .wpcf7-response-output { border-color: #f87171 !important; }

/* ---------- Thanh toán chuyển khoản VietQR ---------- */
.qms-transfer #qmsVietQR svg { width: 100%; height: 100%; }
.woocommerce-order .qms-transfer h2 { margin: 0; }

/* Hai bảng trượt dùng cùng trạng thái hidden của các nút mở, đóng và Escape. */
#mobileDrawer, #cartDrawer {
  --drawer-offset: -100%;
  --drawer-duration: 260ms;
  overflow: hidden;
  visibility: visible;
  opacity: 1;
  transition: opacity var(--drawer-duration) ease, visibility 0s;
}
#cartDrawer { --drawer-offset: 100%; }
#mobileDrawer.hidden, #cartDrawer.hidden {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition-delay: 0s, var(--drawer-duration);
}
#mobileDrawer > div, #cartDrawer > div {
  transform: translateX(0);
  transition: transform var(--drawer-duration) ease-in-out;
}
#mobileDrawer.hidden > div, #cartDrawer.hidden > div {
  transform: translateX(var(--drawer-offset));
}
@media (prefers-reduced-motion: reduce) {
  #mobileDrawer, #cartDrawer { --drawer-duration: 0s; }
}
