/*
Theme Name: Battrang24h
Description: Giao diện riêng cho Battrang24h.vn: gốm Bát Tràng, xanh lá nhẹ, vàng đồng và nền sáng.
Version: 2.2.0
Requires PHP: 7.4
Text Domain: battrang24h
*/

:root {
	--brand: #3f7d52;
	--brand-deep: #2e5f3e;
	--brand-ink: #173324;
	--gold: #b58a3e;
	--gold-soft: #e8cf9c;
	--gold-pale: #f6ead2;
	--cream: #f4f9f1;
	--line: #dde8d6;
	--ink: #2d2522;
	--muted: #7b6f66;
	--price: #2f7a3d;
	--font-body: 'Mulish', system-ui, sans-serif;
	--font-display: 'Montserrat', system-ui, sans-serif;
	--radius: 12px;
	--radius-sm: 8px;
	--shadow: 0 6px 24px rgba(23, 51, 36, .07);
	--shadow-lift: 0 14px 34px rgba(23, 51, 36, .14);
	--container: 1180px;
	--gutter: 16px;
	--gap: 16px;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.has-drawer { overflow: hidden; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--font-body); font-size: 15px; line-height: 1.6; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--brand); text-decoration: none; transition: color .15s; }
a:hover { color: var(--gold); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; color: var(--brand-ink); font-family: var(--font-display); font-weight: 700; line-height: 1.25; }
h1 { font-size: 2em; } h2 { font-size: 1.6em; } h3 { font-size: 1.35em; } h4 { font-size: 1.15em; } h5 { font-size: 1em; }
p { margin: 0 0 1.1em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.3em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
[hidden] { display: none !important; }
.bt-icon { display: inline-block; flex: none; vertical-align: -.125em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; padding: 8px 14px; clip-path: none; background: #fff; }
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.mobile-only { display: none !important; }

/* Header */
.site-header { display: contents; }
.header-gradient { background: #fff; }
.top-bar { background: var(--brand-ink); color: var(--gold-soft); font-size: 12.5px; }
.top-bar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 34px; }
.top-menu { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; }
.top-menu > li { position: relative; }
.top-menu a { color: var(--gold-pale); }
.top-menu a:hover { color: #fff; }
.top-menu .menu-item-has-children > a::after { content: ''; display: inline-block; width: 5px; height: 5px; margin-left: 6px; border: solid currentColor; border-width: 0 1px 1px 0; transform: translateY(-2px) rotate(45deg); }
.top-menu .sub-menu { position: absolute; top: 100%; left: -12px; z-index: 60; display: none; min-width: 230px; margin: 0; padding: 8px 0; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-lift); list-style: none; }
.top-menu li:hover > .sub-menu, .top-menu li:focus-within > .sub-menu { display: block; }
.top-menu .sub-menu a { display: block; padding: 7px 16px; color: var(--ink); font-size: 13.5px; }
.top-menu .sub-menu a:hover { background: var(--cream); color: var(--brand); }
.social-icons { display: flex; gap: 14px; font-size: 14px; }
.social-icons a { display: inline-flex; color: var(--gold-soft); }
.social-icons a:hover { color: #fff; }
.header-main { display: flex; align-items: center; gap: 28px; min-height: 112px; }
.site-logo { flex: none; width: 92px; }
.site-logo img { display: block; width: 100%; height: auto; }
.header-block { flex: 1; min-width: 0; font-size: 13.5px; color: var(--muted); }
.header-block .bt-row { align-items: center; margin: 0; width: 100%; max-width: none; }
.header-block .bt-col { padding: 0 12px; }
.header-block .bt-col + .bt-col { border-left: 1px solid var(--line); }
.header-block .bt-gap { display: none; }
.header-block p { margin: 0; line-height: 1.45; }
.header-block p > span:first-child strong, .header-block > .bt-row > .bt-col:first-child p strong { font-family: var(--font-display); font-size: 15px; font-weight: 700; }
.header-block span { color: inherit !important; font-size: inherit !important; }
.header-block strong { color: var(--brand-ink) !important; }
.header-block a strong { color: var(--brand) !important; font-size: 17px; }
.header-block ul { margin: 4px 0 0; padding: 0; list-style: none; }
.header-block li { line-height: 1.5; }
.header-block li br { display: none; }
.header-block .bt-fbox { margin: 0; gap: 10px; }
.header-block .bt-fbox-media { width: 38px !important; }
/* The hotline icon is a red image; rotating its hue keeps it in the green palette. */
.header-block img[src*="phone-icon"] { filter: hue-rotate(125deg) saturate(.85); }

.nav-bar { position: sticky; top: 0; z-index: 50; background: linear-gradient(90deg, var(--brand-deep), var(--brand) 50%, var(--brand-deep)); box-shadow: inset 0 -2px 0 var(--gold); }
.nav-bar.is-stuck { box-shadow: inset 0 -2px 0 var(--gold), 0 6px 18px rgba(23, 51, 36, .25); }
.nav-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; }
.cat-menu { position: relative; flex: 0 0 calc(25% - 12px); align-self: stretch; }
.cat-menu-toggle { display: flex; align-items: center; gap: 12px; width: 100%; height: 100%; padding: 0 18px; border: 0; background: linear-gradient(180deg, #caa257, var(--gold)); color: var(--brand-ink); font-size: 14.5px; font-weight: 700; letter-spacing: .02em; cursor: pointer; }
.cat-menu-toggle .bt-icon { font-size: 19px; }
.cat-menu-panel { position: absolute; top: 100%; left: 0; z-index: 40; display: none; width: 100%; border-radius: 0 0 var(--radius) var(--radius); background: #fff; box-shadow: var(--shadow-lift); }
.cat-menu.is-open .cat-menu-panel, .cat-menu:hover .cat-menu-panel, .cat-menu:focus-within .cat-menu-panel { display: block; }
.has-home-panel .nav-bar:not(.is-stuck) .cat-menu-panel { display: none !important; }
.site-content { position: relative; }
.home-cat-wrap { position: absolute; top: 18px; right: 0; left: 0; z-index: 10; pointer-events: none; }
.home-cat-panel { display: flex; flex-direction: column; width: calc(25% - 12px); min-height: var(--hero-h, 0); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); pointer-events: auto; }
.cat-menu-list { margin: 0; padding: 6px 0; list-style: none; }
.cat-menu-list > li + li { border-top: 1px solid #e8f0e3; }
.cat-menu-list a { position: relative; display: block; padding: 12px 30px 12px 18px; color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.35; }
.cat-menu-list > li { position: relative; }
.cat-menu-list > .menu-item-has-children > a::after { content: ''; position: absolute; top: 50%; right: 16px; width: 6px; height: 6px; border: solid var(--gold); border-width: 1.5px 1.5px 0 0; transform: translateY(-50%) rotate(45deg); }
.cat-menu-list a:hover, .cat-menu-list > li:hover > a { background: var(--cream); color: var(--brand); }
.cat-menu-list .sub-menu { position: absolute; top: -1px; left: 100%; z-index: 5; display: none; min-width: 230px; margin: 0; padding: 6px 0; border: 1px solid var(--line); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: #fff; box-shadow: var(--shadow-lift); list-style: none; }
.cat-menu-list > li:hover > .sub-menu, .cat-menu-list > li:focus-within > .sub-menu { display: block; }
.cat-menu-list .sub-menu a { padding-block: 10px; }
.cat-menu-promo { display: flex; flex: 1; border-radius: 0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px); flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 22px 16px; background: linear-gradient(160deg, var(--brand), var(--brand-deep)); color: var(--gold-pale); text-align: center; }
.cat-menu-promo-title { margin: 0; font-size: 13.5px; }
.cat-menu-promo-phone { color: #fff; font-family: var(--font-display); font-size: 23px; font-weight: 700; line-height: 1.3; }
.cat-menu-promo-phone:hover { color: var(--gold-soft); }
.cat-menu-promo-link { margin-top: 8px; padding: 7px 22px; border: 1px solid var(--gold-soft); border-radius: 99px; color: var(--gold-pale); font-size: 13px; font-weight: 600; }
.cat-menu-promo-link:hover { background: var(--gold-soft); color: var(--brand-ink); }
.nav-bar-tools { display: flex; align-items: center; gap: 12px; flex: 1; justify-content: flex-end; }
.site-search { position: relative; display: flex; align-items: center; width: min(460px, 100%); height: 40px; border-radius: 99px; background: #fff; }
.site-search input[type="search"] { flex: 1; min-width: 0; height: 100%; padding: 0 6px 0 20px; border: 0; border-radius: 99px 0 0 99px; background: none; color: var(--ink); font-size: 14px; -webkit-appearance: none; appearance: none; }
.site-search input:focus { outline: none; }
.site-search:focus-within { box-shadow: 0 0 0 2px var(--gold-soft); }
.site-search input::placeholder { color: var(--muted); }
.site-search button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 100%; padding: 0; border: 0; background: none; color: var(--brand); font-size: 17px; cursor: pointer; }
.search-results { position: absolute; top: calc(100% + 8px); right: 0; z-index: 70; width: 100%; min-width: 320px; padding: 6px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-lift); }
.search-results a { display: grid; grid-template-columns: 50px 1fr; column-gap: 12px; padding: 7px; border-radius: var(--radius-sm); color: var(--ink); font-size: 13.5px; line-height: 1.35; }
.search-results a:hover { background: var(--cream); }
.search-results img { grid-row: span 2; width: 50px; height: 50px; border-radius: 6px; object-fit: cover; }
.search-results .amount { color: var(--price); font-weight: 700; }
.search-results del .amount { color: var(--muted); font-weight: 400; }
.circle-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(232, 207, 156, .55); border-radius: 50%; background: transparent; color: var(--gold-pale); font-size: 17px; cursor: pointer; transition: background .15s, color .15s; }
.circle-button:hover { background: var(--gold-soft); color: var(--brand-ink); }
.icon-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; background: none; color: var(--brand-ink); font-size: 22px; cursor: pointer; }
.bt-cart-count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--gold-soft); color: var(--brand-ink); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }

/* Grid */
.bt-section { position: relative; padding: 44px 0; }
.bt-section-bg, .bt-section-overlay { position: absolute; inset: 0; }
.bt-section-bg img { width: 100%; height: 100%; object-fit: cover; }
.bt-section-content { position: relative; }
.bt-row { display: flex; flex-wrap: wrap; width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; }
.bt-col .bt-row { width: auto; max-width: none; margin-inline: calc(-1 * var(--gutter)); }
.bt-col { position: relative; flex: 0 0 100%; max-width: 100%; min-width: 0; padding: 0 var(--gutter) 28px; }
.bt-row-small > .bt-col { padding: 0 var(--gutter) 20px; }
.bt-row-large > .bt-col { padding: 0 30px 30px; }
.bt-v-center, .bt-v-middle { align-items: center; }
.bt-h-center { justify-content: center; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.bt-col > :last-child { margin-bottom: 0; }
.bt-image { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.bt-image img { display: block; width: 100%; }
.bt-image.has-ratio img { height: 100%; object-fit: cover; }
.bt-image.has-ratio a { display: block; height: 100%; }
.bt-image.has-depth { box-shadow: var(--shadow); }
.bt-image a img { transition: transform .4s; }
.bt-image a:hover img { transform: scale(1.03); }
.bt-image-box { overflow: hidden; border-radius: var(--radius-sm); background: #fff; }
.bt-image-box-media img { display: block; width: 100%; }
.bt-image-box-text { padding: 14px 0; }
.bt-fbox { margin-bottom: 14px; }
.bt-fbox-media { max-width: 100%; }
.bt-fbox-media img { display: block; width: 100%; }
.bt-fbox.pos-top, .bt-fbox.pos-center { text-align: center; }
.bt-fbox.pos-top .bt-fbox-media, .bt-fbox.pos-center .bt-fbox-media { margin: 0 auto 8px; }
.bt-fbox.pos-left { display: flex; align-items: center; gap: 14px; }
.bt-fbox.pos-left .bt-fbox-media { flex: none; }
.bt-fbox-text p:last-child { margin-bottom: 0; }
.bt-banner { position: relative; display: flex; overflow: hidden; margin-bottom: 14px; border-color: #fff; border-radius: var(--radius-sm); background: var(--cream); }
.bt-banner-link { display: flex; flex: 1; }
.bt-banner-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bt-banner-text { position: relative; z-index: 1; padding: 20px; }
.bt-banner-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap); margin-bottom: var(--gap); }
.bt-grid-cell { grid-column: span var(--span); }
.bt-grid-cell .bt-image { height: 100%; }
.bt-grid-cell .bt-image img { height: 100%; object-fit: cover; }
.bt-title { display: flex; align-items: center; justify-content: flex-start; gap: 6px; }
.bt-title.style-center { justify-content: center; text-align: center; }
.bt-title a { color: inherit; }
.bt-button { display: inline-block; margin: 0 8px 12px 0; padding: 10px 24px; border: 1.5px solid transparent; border-radius: 99px; font-size: 14px; font-weight: 600; letter-spacing: .02em; line-height: 1.4; text-align: center; transition: background .15s, color .15s; }
.bt-button.is-primary { background: var(--brand); color: #fff; }
.bt-button.is-primary:hover { background: var(--brand-deep); color: #fff; }
.bt-button.is-secondary { background: var(--gold); color: #fff; }
.bt-button.is-secondary:hover { background: #9a7431; color: #fff; }
.bt-button.is-alert { background: var(--price); color: #fff; }
.bt-button.is-success { background: #4f6a3a; color: #fff; }
.bt-button.is-white { background: #fff; color: var(--brand); }
.bt-button.is-outline { background: transparent; border-color: currentColor; color: var(--brand); }
.bt-button.is-white.is-outline { color: #fff; }
.bt-button.is-small { font-size: 13px; }
.bt-button.is-expand { display: block; width: 100%; }
.bt-message-box { margin-bottom: 14px; padding: 18px; border-radius: var(--radius-sm); }
.bt-testimonial { margin: 0 0 20px; text-align: center; }
.bt-testimonial img { display: block; margin: 0 auto 10px; border-radius: 50%; }
.bt-testimonial blockquote { margin: 0 0 8px; font-style: italic; }
.bt-follow, .bt-share { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.bt-follow a, .bt-share a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: 14px; transition: all .15s; }
.bt-follow a:hover, .bt-share a:hover { border-color: var(--brand); background: var(--brand); color: #fff; }
.bt-follow.is-fill a { border-color: var(--brand); background: var(--brand); color: #fff; }

/* Slider */
.bt-slider { position: relative; margin-bottom: 14px; }
.bt-slider-track { display: flex; overflow-x: auto; border-radius: var(--radius); scroll-snap-type: x mandatory; scrollbar-width: none; }
.bt-slider-track::-webkit-scrollbar { display: none; }
.bt-slide { flex: 0 0 calc(100% / var(--cols, 1)); min-width: 0; scroll-snap-align: start; }
.bt-slide .bt-image { margin: 0 !important; border-radius: 0; }
.bt-slider-nav { position: absolute; top: 50%; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(23, 51, 36, .2); color: var(--brand); font-size: 15px; opacity: 0; cursor: pointer; transform: translateY(-50%); transition: opacity .2s; }
.bt-slider:hover .bt-slider-nav, .bt-slider-nav:focus-visible { opacity: 1; }
.bt-slider-nav.prev { left: 12px; }
.bt-slider-nav.next { right: 12px; }
.bt-slider-dots { position: absolute; right: 0; bottom: 12px; left: 0; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.bt-slider-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .7); box-shadow: 0 0 0 1px rgba(23, 51, 36, .2); cursor: pointer; pointer-events: auto; transition: width .2s; }
.bt-slider-dots button.is-active { width: 22px; background: var(--gold); }
.bt-page-header { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--brand-deep); color: #fff; text-align: center; }
.bt-page-header-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bt-page-header .bt-section-overlay { background: linear-gradient(90deg, rgba(46, 95, 62, .9), rgba(63, 125, 82, .78), rgba(46, 95, 62, .9)) !important; }
.bt-page-header-inner { position: relative; padding: 18px 16px 12px; }
.bt-page-header-title { margin: 0 0 8px; color: var(--gold-pale); font-family: var(--font-display); font-size: 19px; font-weight: 800; letter-spacing: .02em; line-height: 1.25; }
.bt-page-header .bt-share { justify-content: center; margin: 0; }
.bt-page-header .bt-share a { width: 30px; height: 30px; border-color: rgba(232, 207, 156, .5); color: var(--gold-pale); font-size: 13px; }
.bt-page-header .bt-share a:hover { border-color: var(--gold-soft); background: var(--gold-soft); color: var(--brand-ink); }

/* Home: hero */
.bt-section:has(.main-slider) { padding: 18px 0 8px; }
.main-slider { align-items: stretch; }
.main-slider > .bt-col { padding-bottom: 14px; }
.main-slider .bt-slider { margin: 0; }
.main-slider .bt-page-header { margin: 12px 0 !important; }
.main-slider .bt-slide img { aspect-ratio: 3 / 2; object-fit: cover; }
.main-slider > .tin-tuc { display: flex; flex-direction: column; }
.main-slider > .tin-tuc .bt-posts { flex: 1; display: flex; flex-direction: column; gap: 0; padding: 0 16px 4px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.main-slider > .tin-tuc .bt-posts::before { content: 'Tin tức & kiến thức'; display: block; margin: 0 -16px; padding: 12px 16px; border-bottom: 2px solid var(--gold-pale); color: var(--brand-ink); font-family: var(--font-display); font-size: 15px; font-weight: 700; }
.main-slider > .tin-tuc .bt-post-card { display: flex; flex: 1 1 0; align-items: center; padding: 5px 0; }
.main-slider > .tin-tuc .bt-post-card-link { width: 100%; height: auto; }
.main-slider > .tin-tuc .bt-post-card + .bt-post-card { border-top: 1px solid #e8f0e3; }

/* Home: section titles */
.tieu-de { display: block; text-align: center; }
.tieu-de .img-title, .tieu-de .clearboth { display: none; }
.tieu-de .text { width: auto; }
.tieu-de h3, .tin-tuc > .bt-section-content h3, .home-grid-title { position: relative; margin: 0 0 26px; padding-bottom: 14px; color: var(--brand-ink); font-family: var(--font-display); font-size: 25px; font-weight: 800; text-align: center; }
.tin-tuc > .bt-section-content h3 span { font-size: inherit !important; }
.tieu-de h3::after, .tin-tuc > .bt-section-content h3::after, .home-grid-title::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 64px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--gold-soft), var(--gold)); transform: translateX(-50%); }

/* Home: featured */
.sp-noi-bat { margin-top: 22px; background: var(--cream) !important; background-image: none !important; }
.sp-noi-bat .title .bt-col { padding-bottom: 0; }
.sp-noi-bat .product.bt-row { align-items: stretch; }
.sp-noi-bat .bt-col.lg-9 { padding-bottom: 0; }
.sp-noi-bat .bt-slider.is-products { margin: 0; }
.sp-noi-bat .banner-image { padding-bottom: 0; }
.sp-noi-bat .banner-image, .sp-noi-bat .banner-image .bt-image { height: 100%; margin: 0 !important; width: 100% !important; }
.sp-noi-bat .banner-image .bt-image { border-radius: var(--radius); box-shadow: var(--shadow); }
.sp-noi-bat .banner-image .bt-image a { display: block; height: 100%; }
.sp-noi-bat .banner-image img { height: 100%; object-fit: cover; }

/* Home: catalog blocks */
.catelogy { padding: 22px 0; }
.catelogy:first-of-type { padding-top: 44px; }
.catelogy > .bt-section-content > .bt-row { align-items: stretch; }
.catelogy > .bt-section-content > .bt-row > .sidebar { margin-left: var(--gutter); flex-basis: calc(25% - var(--gutter)); max-width: calc(25% - var(--gutter)); padding: 0 0 14px; overflow: hidden; border: 1px solid var(--line); border-right: 0; border-radius: var(--radius) 0 0 var(--radius); background: var(--cream); }
.catelogy > .bt-section-content > .bt-row > .product { margin-right: var(--gutter); flex-basis: calc(75% - var(--gutter)); max-width: calc(75% - var(--gutter)); padding: 14px 16px 18px; border: 1px solid var(--line); border-radius: 0 var(--radius) var(--radius) 0; background: #fff; }
.catelogy .sidebar h3:not(.bt-title) { margin: 0 0 14px; padding: 14px; background: linear-gradient(135deg, var(--brand), var(--brand-deep)); font-size: 15px; line-height: 1.3; text-align: center; }
.catelogy .sidebar h3:not(.bt-title) a, .catelogy .sidebar h3:not(.bt-title) span { color: var(--gold-pale); font-size: inherit !important; }
.catelogy .sidebar .bt-row { margin-inline: 0; padding-top: 12px; }
.catelogy .sidebar h3 + .bt-row { padding-top: 0; }
.catelogy .sidebar .bt-col .bt-col { padding: 0 8px; }
.catelogy .sidebar a { color: var(--ink); }
.catelogy .sidebar .bt-fbox-media { width: 64px !important; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--line); transition: box-shadow .2s, transform .2s; aspect-ratio: 1; }
.catelogy .sidebar .bt-fbox-media img { height: 100%; object-fit: cover; }
.catelogy .sidebar a:hover .bt-fbox-media { box-shadow: 0 0 0 2px var(--gold); transform: translateY(-2px); }
.catelogy .sidebar .bt-fbox-text, .catelogy .sidebar .bt-fbox-text .bt-text { color: var(--ink); font-size: 13px !important; font-weight: 500; line-height: 1.3; }
.catelogy .sidebar .bt-title { margin: 6px 0 8px !important; padding: 0 12px; font-size: 14px; }
.catelogy .sidebar .bt-title a { color: var(--brand); }
.catelogy .sidebar .bt-gap { height: 4px !important; }
.catelogy .sidebar > .bt-image { width: auto !important; margin: 0 12px !important; border-radius: var(--radius-sm); }

/* Tabs */
.bt-tabs-title { margin: 2px 0 8px; color: var(--brand-ink); font-size: 18px; text-align: center; }
.bt-tabs-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.bt-tabs.align-center .bt-tabs-nav { justify-content: center; }
.bt-tabs-nav button { padding: 7px 18px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: var(--muted); font-size: 13.5px; font-weight: 600; cursor: pointer; transition: all .15s; }
.bt-tabs-nav button:first-letter { text-transform: uppercase; }
.bt-tabs-nav button:hover { border-color: var(--gold); color: var(--brand); }
.bt-tabs-nav button[aria-selected="true"] { border-color: var(--brand); background: var(--brand); color: #fff; }

/* Home: posts and commitments */
.tin-tuc.bt-section { padding-top: 40px; }
.bt-posts { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 22px; }
.bt-post-card-link { display: block; height: 100%; color: inherit; }
.bt-posts:not(.style-vertical) .bt-post-card-link { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: box-shadow .2s, transform .2s; }
.bt-posts:not(.style-vertical) .bt-post-card-link:hover { box-shadow: var(--shadow-lift); transform: translateY(-3px); }
.bt-post-card-media { aspect-ratio: 100 / var(--ratio, 56); overflow: hidden; background: var(--cream); }
.bt-post-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bt-post-card:hover img { transform: scale(1.05); }
.bt-post-card-body { padding: 14px 16px 16px; text-align: left; }
.bt-post-card-body h5 { display: -webkit-box; margin-bottom: 6px; overflow: hidden; color: var(--brand-ink); font-family: var(--font-body); font-size: 15px; font-weight: 600; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bt-post-card-body p { margin: 0; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
.style-vertical .bt-post-card-link { display: flex; align-items: center; gap: 12px; }
.style-vertical .bt-post-card-media { flex: 0 0 62px; height: 62px; border-radius: var(--radius-sm); aspect-ratio: auto; }
.style-vertical .bt-post-card-body { padding: 0; }
.style-vertical .bt-post-card-body h5 { margin: 0; font-size: 13px; font-weight: 500; }
.style-vertical .bt-post-card-link:hover h5 { color: var(--brand); }
.cam-ket { margin-top: 24px; padding: 34px 0 !important; background: linear-gradient(120deg, var(--brand-deep), var(--brand) 55%, var(--brand-deep)) !important; color: var(--gold-pale); }
.cam-ket .bt-gap { display: none; }
.cam-ket .bt-row > .bt-col { padding: 8px 24px; }
.cam-ket .bt-col + .bt-col { border-left: 1px solid rgba(232, 207, 156, .22); }
.cam-ket .bt-fbox { margin: 0; align-items: center; }
.cam-ket .bt-fbox-media { width: 62px !important; padding: 6px; border-radius: 50%; background: #fff; }
.cam-ket .bt-fbox-text, .cam-ket .bt-text { font-size: 13.5px !important; line-height: 1.5 !important; }
.cam-ket p { margin: 0; }
.cam-ket strong { display: block; margin-bottom: 3px; color: #fff; font-family: var(--font-display); font-size: 15px; }
.cam-ket span { color: inherit !important; font-size: inherit !important; }

/* Product cards */
.woocommerce ul.products, .woocommerce-page ul.products, ul.products { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: var(--gap); margin: 0 0 20px; padding: 0; list-style: none; }
ul.products::before, ul.products::after { display: none !important; }
.woocommerce ul.products li.product, ul.products li.product { position: relative; float: none !important; width: auto !important; margin: 0 !important; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-align: left; transition: box-shadow .2s, transform .2s, border-color .2s; }
.woocommerce ul.products li.product:hover, ul.products li.product:hover { border-color: var(--gold-soft); box-shadow: var(--shadow-lift); transform: translateY(-3px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; height: 100%; }
.woocommerce ul.products li.product a img, ul.products li.product a img { display: block; width: 100%; height: auto; aspect-ratio: 1; margin: 0; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; min-height: 2.8em; overflow: hidden; margin: 12px 12px 6px; padding: 0 !important; color: var(--ink); font-family: var(--font-body); font-size: 13.5px !important; font-weight: 500; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--brand); }
.woocommerce ul.products li.product .price, ul.products li.product .price { display: block; margin: auto 12px 13px; color: var(--price); font-size: 14.5px; font-weight: 700; line-height: 1.4; }
span.amount, .woocommerce-Price-amount { color: var(--price); }
ul.products li.product .price del { display: block; margin: 0; color: var(--muted); font-size: 12.5px; font-weight: 400; opacity: 1; }
ul.products li.product .price del .amount { color: var(--muted); }
ul.products li.product .price ins { font-weight: 700; text-decoration: none; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale, ul.products li.product .onsale { position: absolute; top: 10px; left: 10px; right: auto; z-index: 2; min-width: 0; min-height: 0; margin: 0; padding: 3px 9px; border-radius: 99px; background: var(--brand); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.4; }
.bt-slider.is-products .bt-slider-track { display: block; overflow-x: auto; border-radius: 0; padding: 4px 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bt-slider-products { display: flex !important; gap: var(--gap) !important; margin: 0 !important; }
.bt-slider-products li.product { flex: 0 0 calc((100% - (var(--cols, 4) - 1) * var(--gap)) / var(--cols, 4)); min-width: 0; scroll-snap-align: start; }
.sp-noi-bat .bt-slider-products li.product { --cols: 4; }
.is-home-grid { padding-top: 48px; }
.home-grid-title { margin-bottom: 14px; }

/* Shop */
.shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 22px 0 18px; }
.shop-toolbar-right { display: flex; align-items: center; gap: 15px; margin-left: auto; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .woocommerce-result-count, .woocommerce-ordering { float: none; margin: 0; color: var(--muted); font-size: 13.5px; }
.woocommerce-ordering select, .woocommerce select.orderby { height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 99px; background-color: #fff; color: var(--ink); }
.woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb { margin: 0; color: var(--muted); font-size: 13.5px; }
.woocommerce-breadcrumb a, .woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
.woocommerce-breadcrumb a:hover { color: var(--brand); }
.woocommerce-breadcrumb .sep { margin: 0 8px; color: var(--gold); }
.shop-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 26px; padding-bottom: 36px; }
.shop-layout.no-sidebar { grid-template-columns: minmax(0, 1fr); }
.shop-main .term-description { margin-bottom: 16px; color: var(--muted); }
.woocommerce nav.woocommerce-pagination { margin-top: 18px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 6px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font-weight: 600; font-size: 13.5px; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--brand); background: var(--brand); color: #fff; }

/* Sidebars */
.sidebar .widget { margin-bottom: 22px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.widget-title { position: relative; margin-bottom: 14px; padding-bottom: 10px; color: var(--brand-ink); font-size: 15px; }
.widget-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 36px; height: 2px; background: var(--gold); }
.sidebar ul { margin: 0; padding: 0; list-style: none; }
.widget_categories li { padding: 8px 0; border-bottom: 1px solid #e8f0e3; color: var(--muted); font-size: 14px; }
.widget_categories li:last-child { border-bottom: 0; }
.widget_categories a { color: var(--ink); }
.widget_categories a:hover { color: var(--brand); }
.sidebar .widget_custom_html { background: var(--cream); font-size: 14px; }
.sidebar .custom-html-widget a { color: var(--brand); font-weight: 700; }
.adress-sidebar strong { color: var(--brand-ink); }
.bt-recent-posts li { padding: 10px 0; border-bottom: 1px solid #e8f0e3; }
.bt-recent-posts li:last-child { border-bottom: 0; }
.bt-recent-posts a { display: flex; gap: 12px; color: var(--ink); font-size: 13.5px; line-height: 1.4; }
.bt-recent-posts a:hover { color: var(--brand); }
.bt-recent-posts img { flex: none; width: 54px; height: 54px; border-radius: var(--radius-sm); object-fit: cover; }
.product_list_widget li { position: relative; min-height: 72px; padding: 10px 0 10px 66px !important; border-bottom: 1px solid #e8f0e3; font-size: 13.5px; line-height: 1.4; }
.product_list_widget li:last-child { border-bottom: 0; }
.product_list_widget li a { display: block; color: var(--ink); font-weight: 400 !important; }
.product_list_widget li a:hover { color: var(--brand); }
.product_list_widget li img { position: absolute; top: 10px; left: 0; width: 54px !important; height: 54px; margin: 0 !important; float: none !important; border-radius: var(--radius-sm); object-fit: cover; }
.product_list_widget .product-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product_list_widget .amount { color: var(--price); font-weight: 700; }
.product_list_widget del { margin-right: 4px; }
.product_list_widget del .amount { color: var(--muted); font-weight: 400; }
.product_list_widget ins { text-decoration: none; }

/* Content */
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 34px; padding: 32px 0 44px; }
.page-contained { padding-top: 32px; padding-bottom: 44px; }
.page-title, .archive-title { color: var(--brand-ink); font-size: 25px; }
.entry-content { font-size: 15.5px; line-height: 1.75; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.4em; }
.entry-content img { height: auto; border-radius: var(--radius-sm); }
.entry-content .wp-caption { max-width: 100%; }
.entry-content .wp-caption-text { color: var(--muted); font-size: 13.5px; text-align: center; }
.entry-content iframe, .entry-content table { max-width: 100%; }
.page-contained .bt-section { margin-bottom: 14px; padding: 32px 0; border-radius: var(--radius); overflow: hidden; }
.entry-header { margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); text-align: center; }
.entry-header h1 { font-size: 27px; }
.entry-cats { margin: 0 0 8px; color: var(--gold); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.entry-cats a { color: inherit; }
.entry-date { margin: 0; color: var(--muted); font-size: 13.5px; }
.post-row { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); overflow: hidden; margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: box-shadow .2s; }
.post-row:hover { box-shadow: var(--shadow-lift); }
.post-row-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--cream); }
.post-row-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post-row:hover img { transform: scale(1.04); }
.date-badge { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; align-items: center; padding: 6px 10px; border-radius: var(--radius-sm); background: #fff; box-shadow: 0 3px 10px rgba(23, 51, 36, .15); color: var(--muted); font-size: 11px; line-height: 1.15; }
.date-badge strong { color: var(--brand); font-family: var(--font-display); font-size: 17px; }
.post-row-body { align-self: center; padding: 20px 24px; }
.post-row-body h2 { margin-bottom: 8px; font-size: 16px; line-height: 1.4; }
.post-row-body h2 a { color: var(--brand-ink); }
.post-row-body h2 a:hover { color: var(--brand); }
.post-row-body p { margin: 0; color: var(--muted); font-size: 14px; }
.not-found { text-align: center; padding-block: 70px; }
.nav-links { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 6px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font-weight: 600; font-size: 13.5px; }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { border-color: var(--brand); background: var(--brand); color: #fff; }
.nav-links .page-numbers.dots { border: 0; }

.bt-section:has(.main-slider) { padding: 18px 0 8px !important; }
.main-slider .bt-page-header + .bt-slider .bt-slide img { aspect-ratio: 2 / 1; object-position: top; }
.cat-menu-list a { padding-block: 14px; }
.cat-menu-promo { gap: 6px; padding: 26px 18px; }
.cat-menu-promo-title { color: var(--gold-soft); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cat-menu-promo-list { width: 100%; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(232, 207, 156, .25); font-size: 13px; line-height: 1.5; list-style: none; text-align: left; }
.cat-menu-promo-list li { position: relative; padding: 4px 0 4px 18px; }
.cat-menu-promo-list li::before { content: ''; position: absolute; top: 12px; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-soft); }
.main-slider > .tin-tuc .style-vertical .bt-post-card-media { flex-basis: 90px; height: 90px; }
.main-slider > .tin-tuc .style-vertical .bt-post-card-body h5 { font-size: 13.5px; font-weight: 600; -webkit-line-clamp: 4; }
.bt-tabs-title::first-letter { text-transform: uppercase; }

/* Single product */
.product-container > .woocommerce-breadcrumb { padding-top: 22px; }
.product-container .content-layout { padding-top: 18px; }
.product-container div.product { position: relative; display: grid; grid-template-columns: 5fr 6fr; gap: 0 30px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; min-width: 0; margin: 0 0 26px; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .up-sells { grid-column: 1 / -1; min-width: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper, .woocommerce div.product div.images .flex-viewport { overflow: hidden; border-radius: var(--radius); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; overflow: hidden; border-radius: 6px; }
.product_title { color: var(--brand-ink); font-size: 22px; line-height: 1.35; }
.woocommerce div.product p.price, .woocommerce div.product span.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-bottom: 14px; color: var(--price); font-size: 28px; font-weight: 700; }
.woocommerce div.product p.price del { color: var(--muted); font-size: 17px; font-weight: 400; opacity: 1; }
.woocommerce div.product p.price del .amount { color: var(--muted); }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: #4f4640; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin-bottom: 18px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce .quantity .qty { width: 72px; height: 48px; border: 1px solid var(--line); border-radius: 99px; text-align: center; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { padding: 12px 24px; border-radius: 99px; background: var(--gold-pale); color: var(--brand-ink); font-weight: 600; }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--gold-soft); color: var(--brand-ink); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt, .woocommerce button.single_add_to_cart_button { min-height: 48px; padding-inline: 34px; background: var(--brand) !important; color: #fff !important; font-weight: 700; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--brand-deep) !important; }
.note-san-pham { margin: 16px 0; padding: 14px 16px; border: 1px solid var(--gold-soft); border-radius: var(--radius-sm); background: var(--cream); font-size: 13.5px; line-height: 1.75; }
.note-san-pham .note-title { color: var(--brand); font-weight: 700; }
.product_meta { font-size: 13px; color: var(--muted); }
.product_meta > span { display: block; padding: 7px 0; border-top: 1px solid #e8f0e3; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; margin: 0 0 22px; padding: 0; overflow: visible; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 20px; color: var(--muted); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: none; box-shadow: inset 0 -2px 0 var(--brand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--brand); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0 0 30px; font-size: 15.5px; line-height: 1.75; }
.woocommerce div.product .woocommerce-tabs .panel img { border-radius: var(--radius-sm); }
.related > h2, .up-sells > h2 { margin-bottom: 16px; font-size: 20px; }

/* Cart, checkout, forms */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--brand); border-radius: var(--radius-sm); background: var(--cream); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--brand); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 44px; padding: 9px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.select2-container--default .select2-selection--single { height: 44px; border-color: var(--line); border-radius: var(--radius-sm); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 14px; line-height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.woocommerce table.shop_table { overflow: hidden; border-color: var(--line); border-radius: var(--radius); }
.woocommerce table.shop_table th { color: var(--brand-ink); }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 440px; margin-left: auto; }
.woocommerce-checkout #payment, #add_payment_method #payment { border-radius: var(--radius); background: var(--cream); }
.woocommerce-checkout #payment div.payment_box { background: var(--gold-pale); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--gold-pale); }
.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpcf7 select, .wpcf7 textarea { width: 100%; min-height: 44px; padding: 9px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.wpcf7 input[type="submit"] { padding: 12px 32px; border: 0; border-radius: 99px; background: var(--brand); color: #fff; font-weight: 700; cursor: pointer; }
.wpcf7 input[type="submit"]:hover { background: var(--brand-deep); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea { width: 100%; padding: 9px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.comment-form input[type="submit"] { padding: 11px 28px; border: 0; border-radius: 99px; background: var(--brand); color: #fff; font-weight: 600; cursor: pointer; }

/* Footer */
.site-footer { background: var(--brand-ink); color: rgba(246, 234, 210, .78); font-size: 13.5px; }
.footer-block { padding-top: 46px; }
.footer-block .bt-row { align-items: flex-start; }
.footer-block a { color: rgba(246, 234, 210, .85); }
.footer-block a:hover { color: var(--gold-soft); }
.footer-block span { color: inherit !important; font-size: inherit !important; }
.footer-block .bt-text { text-align: left !important; }
.footer-block ul { margin: 0; padding: 0; list-style: none; }
.footer-block li { margin-bottom: 9px; line-height: 1.5; text-align: left !important; }
.footer-block li strong a { color: var(--gold-soft); font-family: var(--font-display); font-size: 16px; font-weight: 700; }
.footer-block strong { color: rgba(246, 234, 210, .9); font-weight: 400; }
.footer-block p strong { display: block; line-height: 1.8; }
.footer-block img { display: block; margin: 8px 0 0; max-width: min(100%, 220px); border-radius: 6px; }
.footer-bottom { margin-top: 12px; padding: 16px 0; border-top: 1px solid rgba(232, 207, 156, .16); font-size: 12.5px; }
.footer-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.footer-bottom p { margin: 0; }
.payment-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.payment-chips li { padding: 3px 9px; border: 1px solid rgba(232, 207, 156, .3); border-radius: 5px; color: var(--gold-pale); font-size: 11px; font-weight: 600; }

/* Floating contact */
.contact-bar { position: fixed; bottom: 40px; left: 14px; z-index: 45; padding: 8px 4px; border: 1px solid var(--line); border-radius: 99px; background: #fff; box-shadow: var(--shadow-lift); }
.contact-bar ul { margin: 0; padding: 0; list-style: none; }
.contact-bar a { display: block; padding: 5px 4px; color: var(--muted); font-size: 0; text-align: center; }
.contact-bar a:hover img { transform: scale(1.1); }
.contact-bar img { display: block; width: 34px; height: 34px; margin: 0 auto; object-fit: contain; transition: transform .15s; }
.contact-call, .contact-sms { display: none; }
.contact-call-icon, .contact-sms-icon { display: flex; align-items: center; justify-content: center; margin: 0 auto 2px; }
.back-to-top { position: fixed; right: 16px; bottom: 26px; z-index: 44; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--brand); box-shadow: var(--shadow-lift); color: var(--gold-pale); cursor: pointer; }

/* Drawers */
.bt-drawer { position: fixed; inset: 0; z-index: 200; }
.bt-drawer-backdrop { position: absolute; inset: 0; background: rgba(23, 51, 36, .55); }
.bt-drawer-panel { position: absolute; top: 0; bottom: 0; width: min(380px, 90vw); padding: 24px 20px; overflow-y: auto; background: #fff; }
.bt-drawer.is-left .bt-drawer-panel { left: 0; }
.bt-drawer.is-right .bt-drawer-panel { right: 0; }
.bt-drawer-close { position: absolute; top: 14px; right: 12px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 18px; cursor: pointer; }
.bt-drawer-title { margin-bottom: 18px; font-size: 18px; }
.mobile-menu { margin: 22px 0 0; padding: 0; list-style: none; }
.mobile-menu a { display: block; padding: 12px 4px; border-bottom: 1px solid #e8f0e3; color: var(--ink); font-weight: 500; }
.mobile-menu .sub-menu { margin: 0; padding-left: 14px; list-style: none; }
.widget_shopping_cart_content .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.widget_shopping_cart_content ul.woocommerce-mini-cart li.woocommerce-mini-cart-item { position: relative; min-height: 76px; padding: 10px 28px 10px 70px; border-bottom: 1px solid #e8f0e3; font-size: 13.5px; line-height: 1.4; }
.widget_shopping_cart_content .woocommerce-mini-cart-item img { position: absolute; top: 10px; left: 0; width: 58px; height: 58px; border-radius: var(--radius-sm); object-fit: cover; }
.widget_shopping_cart_content a { color: var(--ink); }
.widget_shopping_cart_content a.remove { position: absolute; top: 10px; right: 0; color: var(--muted) !important; font-size: 20px; line-height: 1; }
.widget_shopping_cart_content .buttons { display: grid; gap: 8px; margin: 14px 0 0; }
.widget_shopping_cart_content .buttons a { padding: 12px; border-radius: 99px; background: var(--gold-pale); color: var(--brand-ink); font-weight: 600; text-align: center; }
.widget_shopping_cart_content .buttons a.checkout { background: var(--brand); color: #fff; }
.woocommerce-mini-cart__total { margin: 14px 0 0; font-weight: 600; }

/* Breakpoints */
@media (min-width: 850px) {
	.lg-1 { flex-basis: 8.3333%; max-width: 8.3333%; } .lg-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
	.lg-3 { flex-basis: 25%; max-width: 25%; } .lg-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
	.lg-5 { flex-basis: 41.6667%; max-width: 41.6667%; } .lg-6 { flex-basis: 50%; max-width: 50%; }
	.lg-7 { flex-basis: 58.3333%; max-width: 58.3333%; } .lg-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
	.lg-9 { flex-basis: 75%; max-width: 75%; } .lg-10 { flex-basis: 83.3333%; max-width: 83.3333%; }
	.lg-11 { flex-basis: 91.6667%; max-width: 91.6667%; } .lg-12 { flex-basis: 100%; max-width: 100%; }
	.hide-for-large { display: none !important; }
}
@media (min-width: 550px) and (max-width: 849px) {
	.md-1 { flex-basis: 8.3333%; max-width: 8.3333%; } .md-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
	.md-3 { flex-basis: 25%; max-width: 25%; } .md-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
	.md-5 { flex-basis: 41.6667%; max-width: 41.6667%; } .md-6 { flex-basis: 50%; max-width: 50%; }
	.md-7 { flex-basis: 58.3333%; max-width: 58.3333%; } .md-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
	.md-9 { flex-basis: 75%; max-width: 75%; } .md-10 { flex-basis: 83.3333%; max-width: 83.3333%; }
	.md-11 { flex-basis: 91.6667%; max-width: 91.6667%; } .md-12 { flex-basis: 100%; max-width: 100%; }
}
@media (max-width: 849px) {
	body { font-size: 14.5px; }
	.hide-for-medium { display: none !important; }
	.desktop-only { display: none !important; }
	.mobile-only { display: inline-flex !important; }
	.top-bar { display: none; }
	.header-main { justify-content: space-between; gap: 8px; min-height: 66px; }
	.site-logo { width: 54px; }
	.mobile-actions { gap: 2px; }
	.nav-bar-inner { min-height: 58px; }
	.cat-menu, .home-cat-wrap { display: none; }
	.nav-bar-tools { flex: 1; }
	.site-search { width: 100%; }
	.content-layout, .shop-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.shop-sidebar { order: 2; }
	.bt-section { padding: 32px 0; }
	.bt-posts { grid-template-columns: repeat(var(--cols-md, 2), minmax(0, 1fr)); gap: 14px; }
	.style-vertical.bt-posts { grid-template-columns: minmax(0, 1fr); }
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bt-slider-products li.product, .sp-noi-bat .bt-slider-products li.product { flex-basis: calc((100% - 2 * var(--gap)) / 3); }
	.catelogy > .bt-section-content > .bt-row > .sidebar, .catelogy > .bt-section-content > .bt-row > .product { flex-basis: calc(100% - 2 * var(--gutter)); max-width: calc(100% - 2 * var(--gutter)); margin-inline: var(--gutter); border: 1px solid var(--line); }
	.catelogy > .bt-section-content > .bt-row > .sidebar { border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; padding-bottom: 0; }
	.catelogy > .bt-section-content > .bt-row > .product { border-radius: 0 0 var(--radius) var(--radius); }
	.bt-row-large > .bt-col { padding-inline: var(--gutter); }
	.cam-ket .bt-col + .bt-col { border-left: 0; }
	.tieu-de h3, .tin-tuc > .bt-section-content h3, .home-grid-title { font-size: 21px; }
	.bt-slider-nav { display: none; }
}
@media (max-width: 549px) {
	:root { --gap: 10px; --gutter: 12px; }
	.hide-for-small { display: none !important; }
	.sm-1 { flex-basis: 8.3333%; max-width: 8.3333%; } .sm-2 { flex-basis: 16.6667%; max-width: 16.6667%; }
	.sm-3 { flex-basis: 25%; max-width: 25%; } .sm-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
	.sm-6 { flex-basis: 50%; max-width: 50%; } .sm-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
	.sm-9 { flex-basis: 75%; max-width: 75%; } .sm-12 { flex-basis: 100%; max-width: 100%; }
	.sm-text-center { text-align: center !important; }
	.main-slider > .tin-tuc { display: none; }
	ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.bt-slider-products li.product, .sp-noi-bat .bt-slider-products li.product { flex-basis: calc((100% - var(--gap)) / 2); }
	.product-container div.product { grid-template-columns: minmax(0, 1fr); }
	.post-row { grid-template-columns: minmax(0, 1fr); }
	.post-row-body { padding: 14px 16px 18px; }
	.bt-grid-cell { grid-column: span var(--span-sm); }
	.product_title { font-size: 20px; }
	.woocommerce div.product p.price { font-size: 24px; }
	.shop-toolbar-right { width: 100%; justify-content: space-between; margin-left: 0; }
	.bt-page-header-title { font-size: 16px; }
	.cam-ket .bt-row > .bt-col { padding: 8px 18px; }
	.footer-bottom-inner { justify-content: center; text-align: center; }
	body { padding-bottom: 62px; }
	.contact-bar { right: 0; bottom: 0; left: 0; padding: 5px 4px; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
	.contact-bar ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.contact-call, .contact-sms { display: block; }
	.contact-bar a { padding: 0 2px; color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.25; }
	.contact-bar img { width: 28px; height: 28px; margin-bottom: 2px; }
	.contact-call-icon { width: 28px; height: 28px; border-radius: 50%; background: var(--brand); color: #fff; }
	.contact-sms-icon { width: 28px; height: 28px; color: var(--brand); font-size: 20px; }
	.back-to-top { bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}
