/* =====================================================================
   Theme "phucanh" cho dmart.vn – bố cục theo phong cách phucanh.vn
   ===================================================================== */
:root {
	--pa-blue: #1c4ea0;
	--pa-blue-dark: #153d80;
	--pa-red: #e1000f;
	--pa-red-dark: #b8000c;
	--pa-orange: #ff8a00;
	--pa-bg: #f2f3f5;
	--pa-border: #e3e5e8;
	--pa-text: #222;
	--pa-muted: #6b7280;
	--pa-green: #1a9a3c;
	--pa-radius: 6px;
}

body.pa {
	background: var(--pa-bg);
	color: var(--pa-text);
	font-family: Roboto, Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.45;
	padding-top: 0 !important;
}
body.pa a { color: inherit; }
body.pa a:hover { color: var(--pa-red); text-decoration: none; }
body.pa img { max-width: 100%; }
.pa-wrap, body.pa .container { max-width: 1240px; width: 100%; margin: 0 auto; padding: 0 12px; }
body.pa .container::before, body.pa .container::after { display: table; content: ""; }
body.pa .container::after { clear: both; }

/* Ẩn các phần của header cũ nếu còn */
body.pa #header, body.pa .header-bottom-fixed, body.pa .left-fixed-menu { display: none !important; }

/* ---------------- TOPBAR ---------------- */
.pa-topbar { background: #fff; border-bottom: 1px solid var(--pa-border); font-size: 12.5px; color: #444; }
.pa-topbar .pa-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 32px; gap: 12px; }
.pa-topbar-left { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-topbar-right { display: flex; gap: 18px; white-space: nowrap; }
.pa-topbar i { color: var(--pa-blue); margin-right: 4px; }
.pa-topbar a:hover { color: var(--pa-red); }

/* ---------------- HEADER MAIN ---------------- */
.pa-header-main { background: #fff; }
.pa-header-main .pa-wrap { display: flex; align-items: center; gap: 22px; padding-top: 12px; padding-bottom: 12px; }
.pa-logo { flex: 0 0 auto; display: block; }
.pa-logo img { height: 48px; width: auto; display: block; }
.pa-burger { display: none; background: none; border: 0; font-size: 22px; color: var(--pa-blue); padding: 4px 6px; }

.pa-search { flex: 1 1 auto; position: relative; max-width: 560px; display: block !important; }
.pa-search form { display: flex; border: 2px solid var(--pa-red); border-radius: 22px; overflow: hidden; background: #fff; }
.pa-search .txt-search { flex: 1; border: 0; outline: 0; height: 38px; padding: 0 16px; font-size: 14px; background: transparent; width: auto; }
.pa-search .btn-search { border: 0; background: var(--pa-red); color: #fff; width: 58px; font-size: 16px; cursor: pointer; }
.pa-search .btn-search:hover { background: var(--pa-red-dark); }
.pa-search .suggest-box { position: absolute; left: 0; right: 0; top: 44px; z-index: 1000; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.15); border-radius: 6px; display: none; max-height: 460px; overflow: auto; }

.pa-header-actions { display: flex; gap: 10px; margin-left: auto; }
.pa-hbtn { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 22px; color: #fff !important; background: var(--pa-red); white-space: nowrap; position: relative; font-size: 13px; }
.pa-hbtn:hover { background: var(--pa-red-dark); }
.pa-hbtn i { font-size: 18px; }
.pa-hbtn span { display: flex; flex-direction: column; line-height: 1.15; }
.pa-hbtn small { font-size: 11px; opacity: .9; }
.pa-hbtn b { font-size: 14px; font-weight: 700; }
.pa-hbtn-build { background: var(--pa-blue); }
.pa-hbtn-build:hover { background: var(--pa-blue-dark); }
.pa-cart-count { position: absolute; top: -6px; right: -4px; background: #ffd400; color: #111; font-style: normal; font-size: 11px; font-weight: 700; min-width: 20px; height: 20px; line-height: 20px; border-radius: 10px; text-align: center; padding: 0 5px; }
.pa-cart-count span { all: unset; }

/* ---------------- NAVBAR ---------------- */
.pa-navbar { background: var(--pa-blue); color: #fff; }
.pa-navbar .pa-wrap { display: flex; align-items: stretch; height: 44px; }
.pa-cat-box { position: relative; flex: 0 0 250px; }
.pa-cat-btn { height: 44px; line-height: 44px; padding: 0 16px; background: var(--pa-blue-dark); font-weight: 700; font-size: 14px; cursor: pointer; letter-spacing: .2px; }
.pa-cat-btn i { margin-right: 8px; }
.pa-cat-box > .pa-cat-menu { display: none; position: absolute; left: 0; top: 44px; width: 250px; z-index: 900; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.pa-nav-service { display: flex; align-items: center; gap: 26px; padding-left: 22px; flex: 1; overflow: hidden; white-space: nowrap; font-size: 13.5px; }
.pa-nav-service i { color: #ffd400; margin-right: 6px; }
.pa-nav-deal { display: flex; align-items: center; padding: 0 18px; background: var(--pa-red); color: #fff !important; font-weight: 700; white-space: nowrap; }
.pa-nav-deal i { margin-right: 6px; color: #ffd400; }
.pa-nav-deal:hover { background: var(--pa-red-dark); }

/* Sticky */
body.pa-sticky #pa-header { padding-bottom: 0; }
body.pa-sticky .pa-header-main { position: fixed; top: 0; left: 0; right: 0; z-index: 990; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
body.pa-sticky .pa-header-main .pa-wrap { padding-top: 6px; padding-bottom: 6px; }
body.pa-sticky .pa-logo img { height: 38px; }
body.pa-sticky .pa-topbar { margin-bottom: 70px; }

/* ---------------- MENU DANH MỤC (mega) ---------------- */
.pa-cat-menu { background: #fff; color: var(--pa-text); border-radius: 0 0 var(--pa-radius) var(--pa-radius); }
.pa-cat-menu > ul { list-style: none; margin: 0; padding: 4px 0; position: relative; }
.pa-cat-menu > ul > li { position: static; }
.pa-cat-menu > ul > li > a { display: flex; align-items: center; gap: 10px; padding: 7px 14px; font-size: 13.5px; color: #222; position: relative; }
.pa-cat-menu > ul > li > a .img { flex: 0 0 22px; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; }
.pa-cat-menu > ul > li > a .img img { max-width: 22px; max-height: 22px; }
.pa-cat-menu > ul > li > a .text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-cat-menu > ul > li.li-parent > a::after { content: "\f105"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #aaa; font-size: 12px; }
.pa-cat-menu > ul > li:hover > a { background: #eef3fb; color: var(--pa-red); }
.pa-cat-menu > ul > li > .sub-menu { display: none; position: absolute; left: 100%; top: 0; min-height: 100%; width: 920px; max-width: calc(100vw - 300px); background: #fff; z-index: 950; padding: 16px 20px; box-shadow: 8px 8px 24px rgba(0,0,0,.12); list-style: none; margin: 0; column-count: 4; column-gap: 22px; border-left: 1px solid var(--pa-border); }
.pa-cat-menu > ul > li:hover > .sub-menu { display: block; }
.pa-cat-menu .sub-menu li { break-inside: avoid; list-style: none; }
.pa-cat-menu > ul > li > .sub-menu > li { margin-bottom: 12px; }
.pa-cat-menu > ul > li > .sub-menu > li > a { font-weight: 700; color: var(--pa-blue); display: block; padding: 2px 0 4px; font-size: 13.5px; }
.pa-cat-menu .sub-menu .sub-menu { padding: 0; margin: 0; }
.pa-cat-menu .sub-menu .sub-menu a { display: block; padding: 3px 0; color: #444; font-size: 13px; }
.pa-cat-menu .sub-menu a:hover { color: var(--pa-red); }
.pa-cat-menu .view-sub-menu { display: none; }

/* ---------------- HOME ---------------- */
.pa-main { padding: 12px 0 30px; }
.pa-home-top { display: flex; gap: 10px; margin-bottom: 10px; }
.pa-home-cat { flex: 0 0 250px; background: #fff; border-radius: var(--pa-radius); position: relative; z-index: 50; max-height: 432px; }
.pa-home-cat > ul { max-height: 432px; overflow: visible; }
.pa-home-slider { flex: 1; min-width: 0; border-radius: var(--pa-radius); overflow: hidden; background: #fff; }
.pa-home-slider .slider-home, .pa-home-slider .slider-home-item img { width: 100%; display: block; }
.pa-home-slider .owl-dots { position: absolute; bottom: 10px; left: 0; right: 0; text-align: center; }
.pa-home-slider .owl-dot span { width: 10px; height: 10px; margin: 0 4px; background: rgba(255,255,255,.6); border-radius: 50%; display: block; }
.pa-home-slider .owl-dot { display: inline-block; }
.pa-home-slider .owl-dot.active span { background: var(--pa-red); width: 24px; border-radius: 5px; }

.pa-policy { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 10px; }
.pa-policy-item { background: #fff; border-radius: var(--pa-radius); padding: 12px 14px; display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 13.5px; color: var(--pa-blue); }
.pa-policy-item i { font-size: 24px; color: var(--pa-red); }

.pa-brands { background: #fff; border-radius: var(--pa-radius); padding: 10px 14px; margin-bottom: 12px; }
.pa-brands .item { height: 44px; display: flex; align-items: center; justify-content: center; }
.pa-brands img { max-height: 40px; width: auto !important; margin: auto; filter: grayscale(.2); }

/* Deal hot */
.pa-deal { background: linear-gradient(180deg, #e1000f 0%, #c3000d 100%); border-radius: var(--pa-radius); padding: 12px 12px 14px; margin-bottom: 14px; }
.pa-deal-head { display: flex; align-items: center; gap: 16px; margin-bottom: 10px; color: #fff; }
.pa-deal-head h2 { margin: 0; font-size: 22px; font-weight: 800; color: #fff; letter-spacing: .3px; }
.pa-deal-head h2 i { color: #ffd400; }
.pa-countdown { display: flex; align-items: center; gap: 4px; }
.pa-countdown span { background: #fff; color: var(--pa-red); font-weight: 800; border-radius: 4px; padding: 2px 7px; font-size: 16px; min-width: 32px; text-align: center; }
.pa-countdown i { font-style: normal; font-weight: 800; }
.pa-deal-all { margin-left: auto; color: #fff !important; font-weight: 600; }
.pa-deal .pa-card { border: 0; }

/* Block */
.pa-block { background: #fff; border-radius: var(--pa-radius); margin-bottom: 14px; padding: 0 12px 12px; }
.pa-block-head { display: flex; align-items: center; gap: 16px; border-bottom: 2px solid var(--pa-blue); min-height: 46px; margin-bottom: 12px; flex-wrap: wrap; }
.pa-block-title { margin: 0; font-size: 18px; font-weight: 800; text-transform: uppercase; color: var(--pa-blue); }
.pa-block-title a { color: var(--pa-blue) !important; }
.pa-block-links { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.pa-block-links a { display: block; padding: 4px 10px; border: 1px solid var(--pa-border); border-radius: 14px; font-size: 12.5px; color: #333; }
.pa-block-links a:hover { border-color: var(--pa-red); }
.pa-block-all { margin-left: auto; color: var(--pa-blue) !important; font-size: 13.5px; white-space: nowrap; }
.pa-tabs { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; }
.pa-tabs li a { display: block; padding: 0 20px; line-height: 44px; font-weight: 800; text-transform: uppercase; font-size: 16px; color: #666; }
.pa-tabs li a.active { color: #fff; background: var(--pa-blue); border-radius: 6px 6px 0 0; }
.home-product-tab .tab-content .tab { display: none; }
.home-product-tab .tab-content .tab:first-child { display: block; }

.pa-cat-block-body.has-banner { display: grid; grid-template-columns: 230px 1fr; gap: 10px; }
.pa-cat-banner img { width: 100%; border-radius: var(--pa-radius); display: block; }
.pa-cat-block-body.has-banner .pa-grid-5 { grid-template-columns: repeat(4, 1fr); }

/* ---------------- GRID & CARD ---------------- */
.pa-grid { display: grid; gap: 10px; margin: 0 !important; }
.pa-grid::before, .pa-grid::after { display: none !important; }
.pa-grid-5 { grid-template-columns: repeat(5, 1fr); }
.pa-grid-4 { grid-template-columns: repeat(4, 1fr); }
.pa-col { min-width: 0; }

.pa-card { background: #fff; border: 1px solid var(--pa-border); border-radius: var(--pa-radius); padding: 10px; height: 100%; position: relative; display: flex; flex-direction: column; transition: box-shadow .2s, border-color .2s; }
.pa-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.12); border-color: #cfd6e0; }
.pa-card-img { display: block; position: relative; padding-top: 100%; margin-bottom: 8px; }
.pa-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: transform .3s; }
.pa-card:hover .pa-card-img img { transform: scale(1.04); }
.pa-badge-sale { position: absolute; top: 8px; right: 8px; background: var(--pa-red); color: #fff; font-weight: 700; font-size: 12px; padding: 2px 7px; border-radius: 12px; z-index: 2; }
.pa-badge-lg { font-size: 15px; padding: 4px 10px; top: 12px; right: 12px; }
.pa-badge-new, .pa-badge-hot { position: absolute; top: 8px; left: 8px; color: #fff; font-weight: 700; font-size: 11px; padding: 2px 7px; border-radius: 3px; z-index: 2; }
.pa-badge-new { background: var(--pa-green); }
.pa-badge-hot { background: var(--pa-orange); }
.pa-card-title { font-size: 13.5px; font-weight: 400; line-height: 1.4; margin: 0 0 6px; height: 3.8em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.pa-card-title a { color: #222; }
.pa-price { display: flex; flex-direction: column; gap: 1px; margin-bottom: 6px; }
.pa-price-old { color: #8a8f98; text-decoration: line-through; font-size: 12.5px; }
.pa-price-new { color: var(--pa-red); font-weight: 700; font-size: 16px; }
.pa-card-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-size: 12.5px; }
.pa-stock-in { color: var(--pa-green) !important; }
.pa-stock-out { color: #999 !important; }
.pa-stock-call { color: var(--pa-orange) !important; }
.pa-card-cart { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--pa-red); color: var(--pa-red) !important; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.pa-card-cart:hover, .pa-card-cart.added { background: var(--pa-red); color: #fff !important; }
.pa-card-cart.added { font-size: 0; }
.pa-card-cart.added::before { content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 14px; }
.pa-card-tip { display: none; position: absolute; left: calc(100% + 8px); top: 0; width: 320px; background: #fff; border: 1px solid var(--pa-border); box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 12px 14px; z-index: 60; font-size: 13px; color: #333; border-radius: var(--pa-radius); border-top: 3px solid var(--pa-blue); }
@media (min-width: 1200px) {
	.pa-grid .pa-col:hover .pa-card-tip { display: block; }
	.pa-grid .pa-col:nth-child(5n) .pa-card-tip, .pa-grid .pa-col:nth-child(5n-1) .pa-card-tip { left: auto; right: calc(100% + 8px); }
}

/* Owl slider sản phẩm */
.pa-product-slider { position: relative; }
.pa-product-slider .owl-stage { display: flex; }
.pa-product-slider .owl-item { display: flex; }
.pa-product-slider .owl-item .item { width: 100%; }
.pa-product-slider .owl-nav button { position: absolute; top: 40%; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.95) !important; box-shadow: 0 2px 8px rgba(0,0,0,.2); color: #333 !important; }
.pa-product-slider .owl-nav .owl-prev { left: -6px; }
.pa-product-slider .owl-nav .owl-next { right: -6px; }
.pa-product-slider .owl-nav .disabled { opacity: .3; }

/* ---------------- BREADCRUMB ---------------- */
body.pa .breadcrumb-box { background: transparent; padding: 10px 0 0; border: 0; margin: 0; }
body.pa .breadcrumb { background: transparent; padding: 0; margin: 0; font-size: 13px; }
body.pa .breadcrumb > li + li::before { content: "/"; color: #aaa; padding: 0 6px; }
body.pa .breadcrumb a { color: #555; }
body.pa .breadcrumb li:last-child a { color: var(--pa-red); }

/* ---------------- CATEGORY PAGE ---------------- */
body.pa .slider-page { margin-top: 10px; }
body.pa .slider-page img { border-radius: var(--pa-radius); }
.pa-tax-page .product-tax-header { background: #fff; border-radius: var(--pa-radius); padding: 12px 16px; margin-bottom: 10px; }
.pa-tax-page .product-tax-title { font-size: 20px; font-weight: 800; color: var(--pa-blue); margin: 0; text-transform: uppercase; }
.pa-tax-page .product-tax-content:empty { display: none; }
.pa-tax-page .product-tax-body { background: #fff; border-radius: var(--pa-radius); padding: 12px; }
.pa-tax-page .filter-sort-box { border: 0; background: #f7f8fa; border-radius: var(--pa-radius); padding: 8px 10px; margin-bottom: 12px; }
.pa-tax-page .filter-select > ul > li > a { border: 1px solid var(--pa-border); border-radius: 16px; background: #fff; }
.pa-tax-page .product-list .pa-grid { margin: 0; }
.pa-load-more { display: block; margin: 16px auto 0; background: #fff !important; color: var(--pa-blue) !important; border: 1px solid var(--pa-blue) !important; border-radius: 20px; padding: 8px 28px; font-weight: 600; }
.pa-load-more:hover { background: var(--pa-blue) !important; color: #fff !important; }

/* ---------------- PRODUCT DETAIL ---------------- */
.pa-pd-top { background: #fff; border-radius: var(--pa-radius); padding: 14px 16px 18px; margin-bottom: 12px; }
.pa-pd-title { font-size: 21px; font-weight: 700; margin: 0 0 6px; line-height: 1.35; }
.pa-pd-meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: var(--pa-muted); padding-bottom: 12px; border-bottom: 1px solid var(--pa-border); margin-bottom: 14px; }
.pa-pd-meta b { color: #222; }
.pa-pd-grid { display: grid; grid-template-columns: 38% 1fr 270px; gap: 22px; }

.pa-pd-gallery { min-width: 0; }
.pa-pd-gallery .product-slider { position: relative; border: 1px solid var(--pa-border); border-radius: var(--pa-radius); overflow: hidden; }
.pa-pd-gallery .product-slider-item img { width: 100%; aspect-ratio: 1/1; object-fit: contain; background: #fff; }
.pa-pd-gallery .owl-nav button { position: absolute; top: 45%; width: 36px; height: 36px; background: rgba(0,0,0,.25) !important; color: #fff !important; border-radius: 50%; }
.pa-pd-gallery .owl-nav .owl-prev { left: 8px; }
.pa-pd-gallery .owl-nav .owl-next { right: 8px; }
.pa-pd-gallery .product-thumb { margin-top: 8px; }
.pa-pd-gallery .product-thumb-item { border: 1px solid var(--pa-border); border-radius: 4px; cursor: pointer; padding: 3px; }
.pa-pd-gallery .product-thumb-item img { aspect-ratio: 1/1; object-fit: contain; }
.pa-pd-gallery .owl-item.current .product-thumb-item { border-color: var(--pa-red); }

.pa-pd-info { min-width: 0; }
.pa-pd-pricebox { background: #f7f8fa; border-radius: var(--pa-radius); padding: 10px 14px; margin-bottom: 12px; }
.pa-pd-price-label { font-size: 13px; color: var(--pa-muted); }
.pa-pd-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pa-pd-price .pa-price-new { font-size: 28px; font-weight: 800; }
.pa-pd-price .pa-price-old { font-size: 15px; }
.pa-price-percent { background: var(--pa-red); color: #fff; font-weight: 700; font-size: 13px; padding: 1px 7px; border-radius: 3px; }
.pa-pd-vat { font-size: 12px; color: var(--pa-muted); }

.pa-pd-promo { border: 1px solid #f3b4b8; border-radius: var(--pa-radius); margin-bottom: 12px; overflow: hidden; }
.pa-pd-promo-title { background: #fdecee; color: var(--pa-red); font-weight: 800; padding: 8px 12px; font-size: 14px; }
.pa-pd-promo-body { padding: 10px 12px; font-size: 13.5px; }
.pa-pd-promo-body ul { padding-left: 18px; margin: 0; }
.pa-pd-promo-body p { margin: 0 0 4px; }

.pa-pd-attrs, .pa-pd-quickspec { list-style: none; padding: 0; margin: 0 0 12px; font-size: 13.5px; }
.pa-pd-attrs li { padding: 3px 0; }
.pa-pd-attrs i { width: 18px; color: var(--pa-blue); }
.pa-pd-attrs span { color: var(--pa-muted); }
.pa-pd-quickspec { background: #fafbfc; border: 1px dashed var(--pa-border); border-radius: var(--pa-radius); padding: 8px 12px; }
.pa-pd-quickspec li { padding: 2px 0; }
.pa-pd-quickspec i { color: var(--pa-green); margin-right: 4px; }

.pa-pd-buttons { display: flex; flex-direction: column; gap: 8px; }
.pa-btn-buy { display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(180deg, #f5222d, #d0000c); color: #fff !important; border-radius: var(--pa-radius); padding: 9px 12px; text-align: center; }
.pa-btn-buy b { font-size: 18px; }
.pa-btn-buy small { font-size: 12px; opacity: .92; }
.pa-btn-buy:hover { filter: brightness(1.07); }
.pa-btn-call { background: linear-gradient(180deg, #ff9a1f, #f07b00); }
.pa-pd-buttons-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pa-btn-cart, .pa-btn-tel { display: flex; align-items: center; justify-content: center; gap: 6px; height: 44px; border-radius: var(--pa-radius); font-weight: 700; }
.pa-btn-cart { background: var(--pa-blue); color: #fff !important; }
.pa-btn-cart:hover { background: var(--pa-blue-dark); }
.pa-btn-tel { border: 1px solid var(--pa-blue); color: var(--pa-blue) !important; }

.pa-pd-side { min-width: 0; }
.pa-side-box { border: 1px solid var(--pa-border); border-radius: var(--pa-radius); margin-bottom: 12px; background: #fff; overflow: hidden; }
.pa-side-title { background: #f7f8fa; padding: 9px 12px; font-weight: 800; color: var(--pa-blue); text-transform: uppercase; font-size: 13.5px; border-bottom: 1px solid var(--pa-border); }
.pa-side-body { padding: 10px 12px; font-size: 13px; }
.pa-side-contact { border-color: #f1c27d; }
.pa-side-contact .pa-side-title { background: #fff7e6; color: #b35900; }
.pa-side-policy { list-style: none; margin: 0; padding: 8px 12px; font-size: 13px; }
.pa-side-policy li { padding: 5px 0; display: flex; gap: 8px; align-items: center; }
.pa-side-policy i { color: var(--pa-red); width: 18px; text-align: center; }

.pa-pd-bottom { display: grid; grid-template-columns: 1fr 340px; gap: 12px; margin-bottom: 12px; align-items: start; }
.pa-pd-main { background: #fff; border-radius: var(--pa-radius); padding: 0 16px 16px; min-width: 0; }
.pa-pd-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--pa-blue); position: sticky; top: 60px; background: #fff; z-index: 20; margin: 0 -16px 10px; padding: 0 16px; overflow-x: auto; }
.pa-pd-tabs a { padding: 12px 16px; font-weight: 700; color: #555; white-space: nowrap; }
.pa-pd-tabs a.active { color: #fff !important; background: var(--pa-blue); border-radius: 6px 6px 0 0; }
.pa-pd-section { padding-top: 6px; margin-bottom: 20px; }
.pa-pd-section-title { font-size: 17px; font-weight: 800; margin: 0 0 10px; color: #222; }
.pa-pd-main .product-content { max-height: 700px; overflow: hidden; position: relative; }
.pa-pd-main .product-content.open { max-height: none; }
.pa-pd-main .product-content.open .mark { display: none; }
.pa-pd-main .product-content .mark { position: absolute; bottom: 0; left: 0; right: 0; height: 120px; background: linear-gradient(rgba(255,255,255,0), #fff); }
.pa-pd-main .product-content img { height: auto !important; }
.pa-more-wrap { text-align: center; margin-top: 8px; }
.pa-btn-more { display: inline-block; border: 1px solid var(--pa-blue); color: var(--pa-blue) !important; border-radius: 20px; padding: 7px 28px; font-weight: 600; }
.pa-spec-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.pa-spec-table th, .pa-spec-table td { border: 1px solid var(--pa-border); padding: 7px 10px; vertical-align: top; }
.pa-spec-table th { width: 38%; background: #f7f8fa; font-weight: 600; color: #444; }
.pa-spec-table tr:nth-child(even) td { background: #fcfcfd; }
.pa-spec-mini { font-size: 13px; }
.pa-spec-mini th, .pa-spec-mini td { border-left: 0; border-right: 0; }
.pa-spec-html table { width: 100% !important; border-collapse: collapse; }
.pa-spec-html td, .pa-spec-html th { border: 1px solid var(--pa-border); padding: 6px 10px; }
.pa-link-spec { display: block; text-align: center; padding: 9px; font-weight: 600; color: var(--pa-blue) !important; border-top: 1px solid var(--pa-border); }
.pa-video { position: relative; padding-top: 56.25%; }
.pa-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.pa-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.support-form textarea { min-height: 80px; margin-bottom: 8px; }
.pa-btn-send { background: var(--pa-red); color: #fff; border: 0; border-radius: var(--pa-radius); padding: 9px 26px; font-weight: 700; }
.pa-pd-aside { min-width: 0; position: sticky; top: 70px; }
.pa-mini-list { list-style: none; margin: 0; padding: 4px 12px; }
.pa-mini-list li { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--pa-border); }
.pa-mini-list li:last-child { border: 0; }
.pa-mini-img { flex: 0 0 64px; }
.pa-mini-img img { width: 64px; height: 64px; object-fit: contain; }
.pa-mini-title { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 2px; }
.pa-mini-list .pa-price-new { font-size: 14px; }

.pa-buybar { position: fixed; left: 0; right: 0; top: -80px; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.15); z-index: 995; transition: top .25s; }
.pa-buybar.show { top: 0; }
.pa-buybar .pa-wrap { display: flex; align-items: center; gap: 14px; height: 60px; }
.pa-buybar img { height: 48px; width: 48px; object-fit: contain; }
.pa-buybar-name { flex: 1; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-buybar .pa-price { flex-direction: row; align-items: baseline; gap: 8px; margin: 0; }
.pa-buybar-btn { background: var(--pa-red); color: #fff !important; font-weight: 800; padding: 10px 28px; border-radius: var(--pa-radius); }

/* ---------------- PARTNER & FOOTER ---------------- */
.pa-partner { background: #fff; padding: 14px 0; border-top: 1px solid var(--pa-border); }
.pa-partner .pa-wrap { display: flex; align-items: center; gap: 16px; }
.pa-partner-title { margin: 0; font-weight: 700; color: var(--pa-blue); white-space: nowrap; }
.pa-partner .owl-carousel { flex: 1; min-width: 0; }
.pa-partner img { max-height: 44px; width: auto !important; margin: auto; }

#pa-footer { background: #fff; color: #333; font-size: 13.5px; border-top: 3px solid var(--pa-blue); }
.pa-footer-hotline { background: var(--pa-blue); color: #fff; }
.pa-footer-hotline .pa-wrap { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
.pa-fh-item { display: flex; align-items: center; gap: 10px; }
.pa-fh-item i { font-size: 26px; color: #ffd400; }
.pa-fh-item span { display: flex; flex-direction: column; line-height: 1.25; font-size: 12.5px; opacity: .95; }
.pa-fh-item b { font-size: 17px; opacity: 1; }
.pa-fh-social span { font-size: 14px; margin-right: 6px; }
.pa-fh-social a { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; color: #fff !important; }
.pa-fh-social a:hover { background: var(--pa-red); }
.pa-footer-main { padding: 24px 0 10px; }
.pa-footer-cols { display: grid; grid-template-columns: 1fr 1fr 1.6fr 1.2fr; gap: 24px; }
.pa-ftitle { font-weight: 800; text-transform: uppercase; color: var(--pa-blue); margin: 0 0 10px; font-size: 14px; }
.pa-fcol ul { list-style: none; padding: 0; margin: 0; }
.pa-fcol ul li a { display: block; padding: 4px 0; color: #444; }
.pa-fcol ul li a:hover { color: var(--pa-red); }
.pa-fcol .zing-content p { margin: 0 0 6px; }
.pa-fcert img { max-height: 60px; width: auto; margin-bottom: 8px; }
.pa-payments { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-payments img { height: 30px; width: auto; border: 1px solid var(--pa-border); border-radius: 4px; padding: 2px; background: #fff; }
.pa-footer-bottom { border-top: 1px solid var(--pa-border); padding: 12px 0; font-size: 12.5px; color: #666; text-align: center; }

.pa-float-contact { position: fixed; left: 16px; bottom: 20px; z-index: 900; }
.pa-float-phone { width: 52px; height: 52px; border-radius: 50%; background: var(--pa-red); color: #fff !important; display: flex; align-items: center; justify-content: center; font-size: 22px; position: relative; box-shadow: 0 4px 12px rgba(225,0,15,.35); }
.pa-float-phone::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: rgba(225,0,15,.45); z-index: -1; animation: pa-pulse 1.8s ease-out infinite; will-change: transform, opacity; }
@keyframes pa-pulse { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.7); opacity: 0; } }
body.pa .back-to-top { position: fixed; right: 16px; bottom: 90px; width: 40px; height: 40px; border-radius: 50%; background: var(--pa-blue); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 900; text-align: center; line-height: 40px; }
body.pa .back-to-top i { line-height: 40px; }

/* Các trang khác dùng lại style cũ, chỉnh cho đồng bộ */
body.pa .page-title, body.pa .post-title { color: var(--pa-blue); }
body.pa .button, body.pa .btn-cart, body.pa .btn-payment { border-radius: var(--pa-radius); }

/* ---------------- MOBILE MENU ---------------- */
.pa-mobile-menu { position: fixed; top: 0; bottom: 0; left: -300px; width: 290px; background: #fff; z-index: 1100; overflow-y: auto; transition: left .25s; }
.pa-mobile-menu-head { background: var(--pa-blue); color: #fff; display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; }
.pa-mobile-close { background: none; border: 0; color: #fff; font-size: 20px; }
.pa-mobile-menu .danh-muc-menu ul { list-style: none; margin: 0; padding: 0; }
.pa-mobile-menu .danh-muc-menu > ul > li { border-bottom: 1px solid var(--pa-border); position: relative; }
.pa-mobile-menu .danh-muc-menu > ul > li > a { display: flex; align-items: center; gap: 10px; padding: 10px 40px 10px 14px; }
.pa-mobile-menu .danh-muc-menu .img img { width: 22px; height: 22px; object-fit: contain; }
.pa-mobile-menu .sub-menu { display: none; padding-left: 20px !important; background: #f7f8fa; }
.pa-mobile-menu .sub-menu a { display: block; padding: 7px 14px; font-size: 13.5px; }
.pa-mobile-menu .view-sub-menu { position: absolute; right: 0; top: 0; width: 40px; height: 42px; display: flex; align-items: center; justify-content: center; color: #888; }
.pa-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1050; display: none; }
body.pa-menu-open .pa-mobile-menu { left: 0; }
body.pa-menu-open .pa-overlay { display: block; }
body.pa-menu-open { overflow: hidden; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1199px) {
	.pa-nav-service span:nth-child(n+3) { display: none; }
	.pa-grid-5 { grid-template-columns: repeat(4, 1fr); }
	.pa-pd-grid { grid-template-columns: 42% 1fr; }
	.pa-pd-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.pa-pd-bottom { grid-template-columns: 1fr 300px; }
	.pa-cat-menu > ul > li > .sub-menu { column-count: 3; }
}
@media (max-width: 991px) {
	.pa-topbar-right a { display: none; }
	.pa-navbar { display: none; }
	.pa-burger { display: block; }
	.pa-header-main .pa-wrap { flex-wrap: wrap; gap: 10px; }
	.pa-logo img { height: 38px; }
	.pa-search { order: 5; flex: 1 1 100%; max-width: none; }
	.pa-hbtn-build, .pa-hbtn-hotline span { display: none; }
	.pa-hbtn { padding: 0 12px; }
	.pa-hbtn-cart span { display: none; }
	.pa-home-cat { display: none; }
	.pa-policy { grid-template-columns: repeat(2, 1fr); }
	.pa-grid-5, .pa-grid-4, .pa-cat-block-body.has-banner .pa-grid-5 { grid-template-columns: repeat(3, 1fr); }
	.pa-cat-block-body.has-banner { grid-template-columns: 1fr; }
	.pa-cat-banner { display: none; }
	.pa-pd-grid { grid-template-columns: 1fr; }
	.pa-pd-side { grid-template-columns: 1fr; }
	.pa-pd-bottom { grid-template-columns: 1fr; }
	.pa-pd-aside { position: static; }
	.pa-footer-cols { grid-template-columns: 1fr 1fr; }
	body.pa-sticky .pa-topbar { margin-bottom: 0; }
	body.pa-sticky .pa-header-main { position: static; box-shadow: none; }
	.pa-pd-tabs { top: 0; }
	.pa-buybar { top: auto; bottom: -80px; transition: bottom .25s; }
	.pa-buybar.show { top: auto; bottom: 0; }
	.pa-buybar-name, .pa-buybar img { display: none; }
	.pa-buybar .pa-wrap { justify-content: space-between; }
}
@media (max-width: 575px) {
	.pa-topbar { display: none; }
	.pa-grid-5, .pa-grid-4, .pa-cat-block-body.has-banner .pa-grid-5 { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.pa-card { padding: 8px; }
	.pa-price-new { font-size: 15px; }
	.pa-deal-head h2 { font-size: 17px; }
	.pa-deal-all { display: none; }
	.pa-block-links { display: none; }
	.pa-block-title { font-size: 16px; }
	.pa-tabs li a { padding: 0 10px; font-size: 13.5px; }
	.pa-pd-title { font-size: 18px; }
	.pa-pd-price .pa-price-new { font-size: 24px; }
	.pa-footer-cols { grid-template-columns: 1fr; }
	.pa-footer-hotline .pa-wrap { flex-direction: column; align-items: flex-start; }
	.pa-form-row { grid-template-columns: 1fr; }
	.pa-partner .pa-wrap { flex-direction: column; align-items: stretch; }
}

/* Vô hiệu hoá float của CSS cũ trong khối tab */
.pa-block-head.tab-header { float: none; width: auto; border-bottom: 2px solid var(--pa-blue); }
.pa-tabs li { float: none; }
.home-product-tab .tab-content { padding-top: 0; }
.home-product-tab .pa-tabs li a.active::after { display: none; }
.pa-quick-more { list-style: none; padding-top: 4px !important; }
.pa-link-spec-inline { color: var(--pa-blue) !important; font-weight: 600; }
.pa-spec-table .spec-group { background: #eef3fb; color: var(--pa-blue); font-weight: 700; }
.pa-pd-gallery .owl-nav div { position: absolute; top: 45%; width: 36px; height: 36px; line-height: 36px; text-align: center; background: rgba(0,0,0,.25); color: #fff; border-radius: 50%; margin: 0; padding: 0; }
.pa-pd-gallery .owl-nav .owl-prev { left: 8px; }
.pa-pd-gallery .owl-nav .owl-next { right: 8px; }
.pa-product-slider .owl-nav div { position: absolute; top: 40%; width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 50%; background: rgba(255,255,255,.95); box-shadow: 0 2px 8px rgba(0,0,0,.2); color: #333; margin: 0; padding: 0; }
.pa-spec-html .pa-spec-table td:first-child { width: 38%; background: #f7f8fa; font-weight: 600; color: #444; }
/* Ghi đè vị trí ô tìm kiếm của CSS cũ */
body.pa .pa-search.search-box { position: relative !important; top: auto !important; left: auto !important; right: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
@media (max-width: 991px) {
	body.pa .pa-search.search-box { width: 100% !important; }
	.pa-header-main .pa-wrap { padding-top: 8px; padding-bottom: 8px; row-gap: 8px; }
	body.pa .breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
	body.pa .breadcrumb > li { display: inline; }
}
