/* ==========================================================================
   Bed — Nhóm C: video · bản tin · cửa hàng · liên hệ
   + template trang / blog / bài viết (breadcrumb, thẻ trắng, .prose, TOC, sidebar, phân trang)
   Nguồn: reference/css-js/custom.css + global.css (quy đổi rem → px). Breakpoint mẫu: 768 / 976 / 1270.
   ========================================================================== */

/* Chữ nền của mẫu: body{letter-spacing:-.004em; line-height:1.42857} (Flatsome đặt 1.6) */
body.bed-theme { letter-spacing: -0.004em; line-height: 1.42857; }

.bed-link { color: inherit; text-decoration: none; }
.bed-link:hover { color: var(--bed-link); }
/* body.bed-theme a{color:inherit} (bed-base) có đặc hiệu 0,1,2 → mọi `.x a` phải kèm body.bed-theme mới thắng */

/* ---------------------------------------------------------------------------
   BREADCRUMB — dải nền nhẹ, chữ nhỏ
   ------------------------------------------------------------------------ */
.bed-breadcrumbs { background-color: var(--bed-n50); margin-bottom: 24px; }
body.bed-theme .bed-breadcrumb {
	list-style: none; margin: 0; padding: 12px 0;
	display: flex; flex-wrap: wrap; align-items: center;
	font-size: 12px; line-height: 16px; color: var(--bed-fg); text-transform: none;
}
@media (min-width: 768px) { body.bed-theme .bed-breadcrumb { font-size: 14px; line-height: 20px; } }
body.bed-theme .bed-breadcrumb li { margin: 0; padding: 0; list-style: none; display: list-item; }
body.bed-theme .bed-breadcrumb li::marker { content: ''; }
body.bed-theme .bed-breadcrumb a { color: var(--bed-fg); text-decoration: none; transition: color .15s; }
body.bed-theme .bed-breadcrumb a:hover { color: var(--bed-link); }
.bed-breadcrumb__sep { display: inline-block; margin: 0 4px; }
@media (min-width: 768px) { .bed-breadcrumb__sep { margin: 0 8px 0 11px; } }
body.bed-theme .bed-breadcrumb li.is-current, body.bed-theme .bed-breadcrumb li.is-current span { color: var(--bed-n300); }
body.bed-theme .bed-breadcrumb .bed-breadcrumb__current { color: var(--bed-n300); }

/* ---------------------------------------------------------------------------
   TIÊU ĐỀ H1 TRONG THẺ (section-heading text-h4)
   ------------------------------------------------------------------------ */
.bed-page-title {
	font-family: var(--bed-font-heading) !important;
	font-weight: 600 !important;
	font-size: 28px; line-height: 1.2; letter-spacing: normal; text-transform: none;
	color: var(--bed-fg); margin: 0 0 8px; word-break: break-word;
	width: auto;
}

/* ---------------------------------------------------------------------------
   TRANG THÔNG TIN — breadcrumb + thẻ trắng bo góc (rộng 80% trên màn lớn)
   ------------------------------------------------------------------------ */
.bed-main-page { margin: 0 0 40px; }
@media (max-width: 767px) { .bed-main-page { margin: 0 0 20px; } }
.bed-main-page__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; justify-content: center; }
@media (min-width: 976px) { .bed-main-page__grid { grid-template-columns: 80%; } }
.bed-page-card { background: #fff; border-radius: 12px; padding: 16px 12px; margin-bottom: 24px; }
@media (min-width: 768px) { .bed-page-card { padding: 24px; } }
.bed-page--plain .bed-container > *:first-child { margin-top: 0; }
body.bed-page-full #main > #content { padding: 0; }

/* ---------------------------------------------------------------------------
   RICH TEXT .prose (Tailwind Typography đã rút gọn theo mẫu; màu theo token)
   Không áp lên .not-prose và các khối [bed_*] nằm TRONG .prose (vd slider sản phẩm trong bài viết)
   ------------------------------------------------------------------------ */
.prose {
	--bed-pr-body: var(--bed-fg);
	--bed-pr-link: var(--bed-primary);
	--bed-pr-hr: var(--bed-n50);
	color: var(--bed-pr-body);
	max-width: none;
	font-size: 16px; line-height: 1.5;
	overflow-wrap: break-word;
}
.prose.text-lg, .text-lg.bed-toc { font-size: 18px; line-height: 28px; }
.prose > :first-child { margin-top: 0; }
.prose :where(p):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin: 1.25em 0; }
.prose :where(.lead):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-size: 1.25em; line-height: 1.6; }
.prose :where(a):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { color: var(--bed-pr-link); text-decoration: underline; font-weight: 500; }
.prose :where(strong, b):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { color: var(--bed-fg); font-weight: 600; }
.prose :where(a strong):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { color: inherit; }
.prose :where(ul):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { list-style: disc; margin: 1.25em 0; padding-left: 1.625em; }
.prose :where(ol):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { list-style: decimal; margin: 1.25em 0; padding-left: 1.625em; }
.prose :where(ul ul, ol ol, ul ol, ol ul):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin: .75em 0; }
.prose :where(li):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin: .5em 0; padding: 0; }
.prose :where(ul > li, ol > li):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { padding-left: .375em; }
.prose :where(h2 + *, h3 + *, h4 + *, hr + *):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose :where(ul > li):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *))::marker { color: var(--bed-primary); }
.prose :where(ol > li):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *))::marker { color: var(--bed-primary); font-weight: 400; }
.prose :where(hr):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { border: 0; border-top: 1px solid var(--bed-pr-hr); margin: 3em 0; }
.prose :where(blockquote):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) {
	font-weight: 500; font-style: italic; border-left: .25rem solid var(--bed-primary);
	margin: 1.6em 0; padding: 0 0 0 1em; color: var(--bed-fg); quotes: "\201C" "\201D" "\2018" "\2019";
}
.prose :where(blockquote p:first-of-type):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *))::before { content: open-quote; }
.prose :where(blockquote p:last-of-type):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *))::after { content: close-quote; }
.prose :where(h1, h2, h3, h4, h5, h6):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-family: var(--bed-font-body); color: var(--bed-fg); letter-spacing: normal; text-transform: none; width: auto; scroll-margin-top: 100px; }
.prose :where(h1):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: 800; font-size: 2.25em; margin: 0 0 .8888889em; line-height: 1.1111111; }
.prose :where(h2):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: 700; font-size: 1.5em; margin: 2em 0 1em; line-height: 1.3333333; }
.prose :where(h3):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: 600; font-size: 1.25em; margin: 1.6em 0 .6em; line-height: 1.6; }
.prose :where(h4, h5, h6):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: 600; font-size: 1em; margin: 1.5em 0 .5em; line-height: 1.5; }
.prose :where(h1 strong, h2 strong, h3 strong, h4 strong):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: inherit; color: inherit; }
.prose :where(img):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { display: inline-block; max-width: 100%; height: auto; margin: 2em 0; }
/* mẫu: .content img { width:100%; height:auto; border-radius:12px; margin:20px 0; display:block } (trừ ảnh trong .not-prose / khối [bed_*]) */
.prose.content img:not(.not-prose img):not(.bed-section img) { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 12px; margin: 20px 0; }
.prose :where(picture):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { display: block; margin: 2em 0; }
.prose :where(figure):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin: 2em 0; }
.prose :where(figure > *):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { margin-top: 0; margin-bottom: 0; }
.prose :where(figcaption):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-size: .875em; line-height: 1.4285714; margin-top: .8571429em; color: var(--bed-n300); }
.prose :where(code):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-size: .875em; font-weight: 600; }
.prose :where(pre):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { overflow-x: auto; font-size: .875em; line-height: 1.7142857; margin: 1.7142857em 0; border-radius: .375rem; padding: .8571429em 1.1428571em; background: #1f2937; color: #e5e7eb; }
.prose :where(pre code):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { background: transparent; padding: 0; font-weight: inherit; color: inherit; font-size: inherit; }
.prose :where(table):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { width: 100%; table-layout: auto; text-align: left; margin: 2em 0; font-size: .875em; line-height: 1.7142857; border-collapse: collapse; }
.prose :where(thead):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { border-bottom: 1px solid var(--bed-pr-hr); }
.prose :where(thead th):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { font-weight: 600; vertical-align: bottom; padding: 0 .5714286em .5714286em; }
.prose :where(tbody tr):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { border-bottom: 1px solid var(--bed-pr-hr); }
.prose :where(tbody tr:last-child):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { border-bottom-width: 0; }
.prose :where(tbody td, tfoot td):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { vertical-align: baseline; padding: .5714286em; }
.prose :where(iframe, video):not(:where(.not-prose, .not-prose *, .prose .bed-section, .prose .bed-section *)) { max-width: 100%; }

/* ---------------------------------------------------------------------------
   THẺ BÀI VIẾT (card-article)
   ------------------------------------------------------------------------ */
/* Thẻ bài viết kiểu spa: ảnh bo góc có nhãn ngày, nền thẻ sage nhạt, "Đăng bởi", mô tả, liên kết "Xem chi tiết" */
.bed-acard { display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; height: 100%; padding: 8px 8px 0; background: var(--bed-acard-bg, var(--bed-accent)); border: 1px solid var(--bed-acard-border, transparent); box-sizing: border-box; }
.bed-acard__image {
	position: relative; display: block; overflow: hidden;
	aspect-ratio: var(--bed-blogs-aspect, 4 / 3);
	border-radius: var(--bed-blogs-radius, 14px);
	background: var(--bed-n50);
}
.bed-acard__image a { display: block; width: 100%; height: 100%; }
.bed-acard__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s ease-out; }
.bed-acard:hover .bed-acard__img { transform: scale(1.05); }
.bed-acard__noimg { display: block; width: 100%; height: 100%; background: var(--bed-n50); }
.bed-acard__date { position: absolute; top: 10px; left: 10px; padding: 5px 12px; border-radius: 9999px; background: var(--bed-secondary); color: #fff; font-size: 12px; line-height: 16px; font-weight: 600; pointer-events: none; }
.bed-acard__body { display: flex; flex: 1; flex-direction: column; gap: 0; padding: 14px 8px 16px; }
.bed-acard__title { margin: 0; font-family: var(--bed-font-body); font-weight: 600; font-size: 16px; line-height: 1.3; letter-spacing: normal; min-height: calc(1.3em * var(--bed-blogs-tl, 2)); }
.bed-acard__title a {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--bed-blogs-tl, 2); line-clamp: var(--bed-blogs-tl, 2);
	overflow: hidden; word-break: break-word; color: var(--bed-fg);
}
.bed-acard__title a:hover { color: var(--bed-primary); }
.bed-acard__by { margin-top: 6px; font-size: 12px; line-height: 16px; color: var(--bed-n200); }
.bed-acard__by b { font-weight: 600; color: var(--bed-primary); }
.bed-acard__desc {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--bed-blogs-dl, 2); line-clamp: var(--bed-blogs-dl, 2);
	overflow: hidden; word-break: break-word; margin: 8px 0 0; color: var(--bed-fg); font-size: 14px; line-height: 20px;
}
body.bed-theme .bed-acard__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 12px; align-self: flex-start; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bed-primary); }
body.bed-theme .bed-acard__more:hover { color: var(--bed-secondary); }

/* ---------------------------------------------------------------------------
   [bed_blogs] — Bản tin khuyến mãi (lưới 3/4 cột; mobile cuộn ngang vuốt)
   ------------------------------------------------------------------------ */
.bed-blogs__list { display: grid; gap: 24px; margin-top: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bed-blogs__item { min-width: 0; }
@media (min-width: 768px) { .bed-blogs__list, .bed-blogs__list.is-swipe { display: grid; grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; margin-inline: 0; padding-inline: 0; grid-template-columns: repeat(var(--bed-blogs-cols-md, 3), minmax(0, 1fr)); } }
@media (min-width: 976px) { .bed-blogs__list, .bed-blogs__list.is-swipe { grid-template-columns: repeat(var(--bed-blogs-cols, 4), minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.bed-blogs__list.is-swipe {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 74vw;
		overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
		padding-inline: 12px; margin-inline: -12px; scroll-padding-inline: 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.bed-blogs__list.is-swipe::-webkit-scrollbar { display: none; }
	.bed-blogs__list.is-swipe > .bed-blogs__item { scroll-snap-align: start; }
}
.bed-blogs__empty { padding: 24px; text-align: center; color: var(--bed-n200); border: 1px dashed var(--bed-n100); border-radius: 8px; }

/* ---------------------------------------------------------------------------
   TRANG DANH SÁCH TIN (/tin-tuc/) — lưới 2/3/4 cột + cột phải
   ------------------------------------------------------------------------ */
.bed-main-blog, .bed-main-article { margin: 0 0 40px; }
@media (max-width: 767px) { .bed-main-blog, .bed-main-article { margin: 0 0 20px; } }
.bed-blog__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 768px) { .bed-blog__layout { gap: 48px; } }
@media (min-width: 976px) { .bed-blog__layout { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); } }
@media (min-width: 1270px) { .bed-blog__layout { grid-template-columns: minmax(0, 10fr) minmax(0, 2fr); } }
.bed-blog__main { min-width: 0; }
.bed-blog__head { text-align: center; }
@media (min-width: 768px) { .bed-blog__head { text-align: left; } }
body.bed-theme .bed-heading { width: auto; }
.bed-blog__title.bed-heading { color: var(--bed-secondary); font-size: 28px; margin-bottom: 12px; }
@media (min-width: 768px) { .bed-blog__title.bed-heading { font-size: 32px; margin-bottom: 32px; } }
.bed-blog__desc { margin-bottom: 16px; }
.bed-article-grid { display: grid; gap: 16px; margin-top: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 976px) { .bed-article-grid { gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1270px) { .bed-article-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.bed-blog__side { width: 100%; margin-left: auto; min-width: 0; }
@media (min-width: 1270px) { .bed-blog__side { max-width: 320px; } }
.bed-blog__none { padding: 48px 0; text-align: center; }
.bed-blog__none p { margin-bottom: 16px; color: var(--bed-n300); }

/* Phân trang */
.bed-pages { text-align: center; margin: 24px 0; }
.bed-pagination { display: inline-flex; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .bed-pagination { gap: 16px; } }
.bed-pagination li { margin: 0; padding: 0; list-style: none; }
.bed-pagination .page-link {
	display: flex; align-items: center; justify-content: center; width: 36px; height: 36px;
	border: 1px solid transparent; border-radius: 4px; background: #fff; color: var(--bed-fg);
	font-size: 14px; line-height: 1; text-decoration: none; transition: transform .15s, background-color .15s;
}
.bed-pagination a.page-link:hover { background: var(--bed-n50); color: var(--bed-fg); }
.bed-pagination a.page-link:active { transform: scale(.95); }
.bed-pagination .is-active .page-link { color: var(--bed-secondary); border-color: var(--bed-secondary); }
.bed-pagination .is-disabled .page-link { opacity: .45; pointer-events: none; }
.bed-pagination .is-gap .page-link { background: transparent; }
.bed-pagination__arrow { display: none !important; }
@media (min-width: 768px) { .bed-pagination__arrow { display: block !important; } }

/* Sidebar (blog-sidebar của mẫu): nền trắng, các khối .aside-item viền n50 bo 12px */
.bed-blog__side { border-radius: 4px; margin-bottom: 20px; display: flex; flex-direction: column; }
.bed-aside { background: #fff; border: 1px solid var(--bed-n50); border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.bed-blog__side > .bed-aside:last-child { margin-bottom: 0; }
.bed-aside--tags { border: 0; border-top: 1px solid var(--bed-n50); border-radius: 0; padding: 20px 0; }
@media (max-width: 767px) { .bed-aside--tags { padding: 16px 0; } }
.bed-aside__title { margin: 0; }
body.bed-theme .bed-aside__head {
	margin: 0 0 16px; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--bed-n50);
	font-family: var(--bed-font-body); font-size: 16px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none; color: var(--bed-fg); width: auto;
}
body.bed-theme .bed-aside__head a { color: inherit; }
body.bed-theme .bed-aside__head--plain { border-bottom: 0; margin-bottom: 12px; padding-bottom: 0; }
body.bed-theme .bed-aside__list, body.bed-theme .bed-aside__sub { list-style: none; margin: 0; padding: 0; }
body.bed-theme .bed-aside__list { display: grid; gap: 12px; }
body.bed-theme .bed-aside__list li, body.bed-theme .bed-aside__sub li { margin: 0; padding: 0; list-style: none; }
body.bed-theme .bed-aside__nav a { display: block; padding-right: 20px; font-size: 16px; line-height: 1.42857; color: var(--bed-fg); text-decoration: none; transition: color .15s; }
body.bed-theme .bed-aside__nav a:hover { color: var(--bed-link); }
.bed-aside__nav details > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; margin: 0; padding: 0; }
.bed-aside__nav details > summary::-webkit-details-marker { display: none; }
.bed-aside__nav details > summary::marker { content: ''; }
.bed-aside__chev { flex: none; width: 16px; height: 16px; cursor: pointer; color: inherit; transition: transform .15s; }
.bed-aside__nav details[open] > summary > .bed-aside__chev { transform: rotate(90deg); }
body.bed-theme .bed-aside__sub { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; padding-left: 8px; }
body.bed-theme .bed-aside__sub .bed-aside__sub { gap: 4px; margin-top: 8px; }
.bed-aside__posts { display: grid; gap: 16px; }
.bed-amedia { display: flex; gap: 8px; align-items: flex-start; }
.bed-amedia__img { flex: 0 0 88px; width: 88px; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--bed-n50); }
.bed-amedia__img a { display: block; width: 100%; height: 100%; }
.bed-amedia__img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s ease-out; }
.bed-amedia:hover .bed-amedia__img img { transform: scale(1.05); }
body.bed-theme .bed-amedia__title { margin: 0; min-width: 0; font-family: var(--bed-font-body); font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: normal; text-transform: none; }
.bed-amedia__title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; word-break: break-word; }
.bed-tags { display: flex; flex-wrap: wrap; gap: 8px; }
body.bed-theme .bed-tags .bed-tag { border: 1px solid var(--bed-secondary); color: var(--bed-secondary); padding: 4px 12px; border-radius: 4px; font-size: 14px; line-height: 20px; text-decoration: none; transition: background-color .15s, color .15s; }
body.bed-theme .bed-tags .bed-tag:hover { background: var(--bed-secondary); color: var(--bed-bg-body); }

/* ---------------------------------------------------------------------------
   BÀI VIẾT ĐƠN
   ------------------------------------------------------------------------ */
.bed-article__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
@media (min-width: 768px) { .bed-article__layout { gap: 48px; } }
@media (min-width: 976px) { .bed-article__layout { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); } }
.bed-blog--single .bed-blog__side { margin-top: 24px; }
@media (min-width: 976px) { .bed-blog--single .bed-blog__side { margin-top: 0; } }
.bed-article__main { min-width: 0; margin: 0; }
.bed-blog__side { align-self: start; }
.bed-article__meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0; margin-bottom: 20px; }
.bed-article__date { display: flex; align-items: center; gap: 4px; color: var(--bed-n200); white-space: nowrap; font-size: 16px; }
.bed-article__date .bed-icon { flex: none; }
body.bed-theme select.bed-select {
	-webkit-appearance: none; appearance: none; display: block; width: auto; height: auto; min-height: 0; margin: 0; max-width: 100%;
	padding: 10px 25px 10px 10px; border: 1px solid var(--bed-n50); border-radius: 8px; background-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
	background-repeat: no-repeat; background-position: calc(100% - 5px) 50%; background-size: 24px 24px;
	font-family: var(--bed-font-body); font-size: 16px; line-height: 24px; color: var(--bed-fg); box-shadow: none; cursor: pointer; text-transform: none; letter-spacing: normal;
}
body.bed-theme select.bed-select:focus { outline: 0; border-color: var(--bed-secondary); box-shadow: 0 0 0 1px var(--bed-secondary); }

/* Mục lục (toc-wrapper của mẫu) */
.bed-toc { margin: 20px 0; padding: 12px; border: 1px solid var(--bed-n50); border-radius: 4px; }
.bed-toc[hidden] { display: none; }
body.bed-theme .bed-toc__title { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: uppercase; cursor: pointer; user-select: none; margin: 0; padding: 0; color: var(--bed-fg); }
body.bed-theme .bed-toc__title.is-open { margin-bottom: 8px; }
.bed-toc__chev { flex: none; transition: transform .3s ease-out; }
.bed-toc__title.is-open .bed-toc__chev { transform: rotate(90deg); }
.bed-toc__list[hidden], .bed-toc__list.is-closed { display: none; }
body.bed-theme .bed-toc ol { list-style: none; margin: 0; padding: 0 0 0 10px; }
body.bed-theme .bed-toc ol ol { margin-top: 8px; }
body.bed-theme .bed-toc li { list-style: none; margin: 0; padding: 0; }
body.bed-theme .bed-toc li + li { margin-top: 8px; }
body.bed-theme .bed-toc a { color: var(--bed-link); text-decoration: none; }
body.bed-theme .bed-toc a:hover { color: var(--bed-primary); }
.bed-fixed-toc { position: fixed; left: 16px; bottom: 24px; z-index: 90; }
.bed-fixed-toc__btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	width: 44px; height: 44px; padding: 0; margin: 0; min-height: 0; line-height: 1; border-radius: 8px;
	background: #fff; border: 1px solid var(--bed-n50); box-shadow: 0 4px 16px rgba(0, 0, 0, .12); cursor: pointer;
}
.bed-fixed-toc__btn i { display: block; width: 20px; height: 2px; background: var(--bed-primary); }
.bed-fixed-toc__panel {
	display: none; position: absolute; left: 0; bottom: 56px; width: min(320px, calc(100vw - 32px)); max-height: 60vh; overflow: auto;
	background: #fff; border-radius: 12px; box-shadow: var(--bed-shadow-l); padding: 16px;
}
.bed-fixed-toc.is-open .bed-fixed-toc__panel { display: block; }
.bed-fixed-toc__head { display: flex; align-items: center; justify-content: space-between; font-weight: 600; margin-bottom: 8px; }
.bed-fixed-toc__close { background: none; border: 0; padding: 0; margin: 0; min-height: 0; line-height: 1; font-size: 22px; cursor: pointer; color: var(--bed-fg); }

/* Chia sẻ (article-share) */
.bed-share { display: flex; align-items: center; gap: 12px; margin: 20px 0; flex-wrap: wrap; }
body.bed-theme .bed-share__label { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.333; text-transform: uppercase; letter-spacing: normal; color: inherit; }
.bed-share__list { display: flex; gap: 12px; }
body.bed-theme .bed-share__item {
	display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 36px; height: 36px; padding: 8px; margin: 0; min-height: 0;
	border: 1px solid var(--bed-n50); border-radius: 9999px; background: #fff; color: var(--bed-fg); font-size: 12px; font-weight: 700; line-height: 1; text-transform: none; letter-spacing: normal; cursor: pointer;
	transition: background-color .15s; box-shadow: none;
}
body.bed-theme .bed-share__item:hover { background: var(--bed-n50); color: var(--bed-fg); }
.bed-share__item img { width: 20px; height: 20px; max-width: 100%; object-fit: contain; margin: 0; }
@media (min-width: 976px) { body.bed-theme .bed-share__item.is-mobile-only, body.bed-theme .bed-share__item[data-bed-share] { display: none; } }
.bed-share__copied { font-size: 12px; color: var(--bed-success); }
.bed-page-links { margin-top: 16px; }

/* ---------------------------------------------------------------------------
   VIDEO — thẻ video dọc (dải "Xem sản phẩm thực tế" ở trang sản phẩm) + modal xem video
   ------------------------------------------------------------------------ */

.bed-vr__item { position: relative; cursor: pointer; border-radius: 12px; outline-offset: 2px; }
.bed-vr__thumb { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 9 / 16; background: var(--bed-n50); }
.bed-vr__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.bed-vr__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; }
.bed-vr__playbtn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; flex: 0 0 auto;
	width: 44px; height: 44px; aspect-ratio: 1 / 1; border-radius: 50%; background: rgba(255, 255, 255, .2); color: #fff;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .35)); transition: transform .2s ease, background .2s ease;
}
@media (min-width: 768px) { .bed-vr__playbtn { width: 45px; height: 45px; } }
.bed-vr__playbtn .bed-icon { opacity: .85; margin-left: 2px; width: 18px; height: 18px; }
@media (min-width: 768px) { .bed-vr__playbtn .bed-icon { width: 22px; height: 22px; } }
.bed-vr__playbtn::before { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .7); animation: bedVrPulse 5s ease-out infinite; pointer-events: none; }
@keyframes bedVrPulse { 0% { transform: scale(1); opacity: .6; } 30% { transform: scale(1.7); opacity: 0; } 100% { transform: scale(1.7); opacity: 0; } }
.bed-vr__item:hover .bed-vr__playbtn { background: rgba(255, 255, 255, .28); transform: scale(1.08); }
@media (prefers-reduced-motion: reduce) { .bed-vr__playbtn::before { animation: none; } }

/* Modal xem video */
.bed-video-modal .bed-modal__box { padding: 0; background: #000; border-radius: 16px; overflow: hidden; max-height: none; width: 100%; max-width: min(420px, calc(88vh * 9 / 16)); }
.bed-video-modal.is-landscape .bed-modal__box { max-width: min(960px, calc(88vh * 16 / 9)); }
.bed-video-modal.is-square .bed-modal__box { max-width: min(640px, 88vh); }
.bed-vm__frame { position: relative; width: 100%; aspect-ratio: 9 / 16; background: #000; }
.bed-video-modal.is-landscape .bed-vm__frame { aspect-ratio: 16 / 9; }
.bed-video-modal.is-square .bed-vm__frame { aspect-ratio: 1 / 1; }
.bed-vm__frame iframe, .bed-vm__frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.bed-video-modal .bed-modal__close { z-index: 3; right: 8px; top: 8px; background: rgba(255, 255, 255, .92); color: #111; padding: 0; margin: 0; min-height: 0; }

/* ---------------------------------------------------------------------------
   Form dùng chung (form-input / form-select / form-textarea của mẫu) — đặt lại tường minh vì Flatsome
   đè input{height:2.507em;margin-bottom:.5em;box-shadow}, label{uppercase;bold}, select, textarea…
   ------------------------------------------------------------------------ */
body.bed-theme input.bed-input, body.bed-theme textarea.bed-textarea, body.bed-theme select.bed-sl__city, body.bed-theme input.bed-sl__shop {
	display: block; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box;
	padding: 12px; border: 1px solid var(--bed-n50); border-radius: 8px; background-color: #fff; box-shadow: none;
	font-family: var(--bed-font-body); font-size: 16px; line-height: 1; color: var(--bed-fg); height: auto; min-height: 44px;
	letter-spacing: inherit; text-transform: none; transition: border-color .2s, box-shadow .2s;
}
body.bed-theme textarea.bed-textarea { min-height: 0; padding: 10px; line-height: 1.5; resize: vertical; }
body.bed-theme input.bed-input:focus, body.bed-theme textarea.bed-textarea:focus, body.bed-theme select.bed-sl__city:focus, body.bed-theme input.bed-sl__shop:focus {
	outline: 0; border-color: var(--bed-secondary); box-shadow: 0 0 0 1px var(--bed-secondary); background-color: #fff; color: var(--bed-fg);
}
body.bed-theme input.bed-input:hover:not(:focus), body.bed-theme textarea.bed-textarea:hover:not(:focus) { border-color: var(--bed-n100); }
body.bed-theme input.bed-input::placeholder, body.bed-theme textarea.bed-textarea::placeholder, body.bed-theme input.bed-sl__shop::placeholder { color: #6b7280; opacity: 1; }
.bed-form__group { margin: 0; }
.bed-form__group + .bed-form__group, .bed-form__group + .bed-form__actions { margin-top: 12px; }
.bed-form__actions { margin: 12px 0 0; }
.bed-hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------------------------------------------------------------------------
   [bed_contact]
   ------------------------------------------------------------------------ */
.section-main-contact { margin-bottom: 40px; }
.bed-contact__card { background: #fff; border-radius: 12px; padding: 12px; margin-bottom: 24px; }
@media (min-width: 768px) { .bed-contact__card { padding: 24px; } }
.bed-contact__grid { display: grid; gap: 16px; padding-top: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .bed-contact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bed-contact__grid.no-map { grid-template-columns: minmax(0, 1fr); } }
.bed-contact__grid.is-map-left .bed-contact__mapcol { order: -1; }
.bed-contact__info { min-width: 0; }
.bed-contact__item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 12px; }
.bed-contact__item .bed-icon { flex: none; color: var(--bed-n200); margin-top: 2px; }
body.bed-theme .bed-contact__item p { margin: 0; line-height: inherit; }
.bed-contact__items { display: grid; gap: 8px; }
.bed-contact__items .bed-contact__item { margin-bottom: 0; }
body.bed-theme .bed-contact__val { font-weight: 600; margin: 0; display: block; }
body.bed-theme a.bed-contact__val { display: inline; color: var(--bed-fg); text-decoration: none; transition: color .15s; }
body.bed-theme a.bed-contact__val.is-link { color: var(--bed-primary); }
body.bed-theme a.bed-contact__val:hover { color: var(--bed-link); }
.bed-contact__formwrap { padding: 16px 0; }
body.bed-theme .bed-contact__formtitle { margin: 0 0 8px; font-family: var(--bed-font-heading); font-weight: 600; font-size: 20px; line-height: 1.2; letter-spacing: normal; text-transform: none; color: var(--bed-fg); width: auto; }
.bed-contact__notice { padding: 12px 16px; border-radius: 8px; margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
.bed-contact__notice[hidden] { display: none; }
.bed-contact__notice.is-success { background: #eaf7e6; color: #1f7a0f; }
.bed-contact__notice.is-error { background: #fdecee; color: #b3141f; }
body.bed-theme .bed-contact__submit { display: inline-block; margin: 6px 0 0; border-radius: 9999px; min-height: 0; font-size: 16px; line-height: 1.42857; text-transform: none; letter-spacing: inherit; }
.bed-contact__submit[disabled] { opacity: .6; cursor: wait; }
.bed-contact__map { aspect-ratio: var(--bed-contact-ratio, 1 / 1); overflow: hidden; }
.bed-contact__map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------------------------------------------------------------------------
   [bed_store_locator] — Hệ thống cửa hàng (ega-store-locator / shoplist.css của mẫu)
   ------------------------------------------------------------------------ */
.ega-store-locator { margin-bottom: 30px; }
body.bed-theme .bed-sl__title { margin: 0; text-align: center; font-family: var(--bed-font-heading); font-weight: 600; font-size: 28px; line-height: 1.2; letter-spacing: normal; text-transform: none; color: var(--bed-fg); width: auto; }
.bed-sl__grid { display: grid; gap: 15px 0; grid-template-columns: minmax(0, 1fr); margin-top: 20px; }
@media (min-width: 768px) { .bed-sl__grid { grid-template-columns: 431px minmax(0, 1fr); gap: 15px; margin-top: 30px; height: var(--bed-sl-map-h, 500px); } }
.bed-sl__card {
	box-sizing: border-box; min-width: 0; background: #fff; border: 1px solid #868686; border-radius: 8px;
	box-shadow: rgb(209, 193, 181) 0 62px 33px -60px; padding: 20px 15px; margin-top: 10px; max-height: 500px; overflow-y: auto;
}
@media (min-width: 768px) { .bed-sl__card { padding: 30px 20px; margin-top: 0; max-height: none; } }
body.bed-theme .bed-sl__card-title { opacity: 1; margin: 0 0 22px; font-family: var(--bed-font-body); font-size: 25px; font-weight: 600; line-height: 1.5; letter-spacing: normal; text-transform: none; color: var(--bed-fg); width: auto; }
.bed-sl__field { margin: 0; }
.bed-sl__field--shop { margin: 12px 0; }
body.bed-theme .bed-sl__field label { display: block; margin: 0 0 4px; padding: 0; font-size: 16px; font-weight: 500; line-height: 1.42857; letter-spacing: inherit; text-transform: none; color: var(--bed-fg); }
body.bed-theme select.bed-sl__city, body.bed-theme input.bed-sl__shop {
	padding: 10px 25px 10px 10px; line-height: 24px; min-height: 0; cursor: pointer;
	-webkit-appearance: none; appearance: none; border-color: #6b7280;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
	background-repeat: no-repeat; background-position: calc(100% - 5px) 50%; background-size: 24px 24px;
}
body.bed-theme input.bed-sl__shop { cursor: text; border-color: var(--bed-n400); }
.bed-sl__list { display: block; }
.bed-sl__shopitem {
	box-sizing: border-box; cursor: pointer; padding: 16px; border: 1px solid transparent; border-radius: 8px;
	transition: border-color .2s;
}
.bed-sl__shopitem[hidden] { display: none; }
.bed-sl__none { margin: 0; padding: 16px; text-align: center; color: var(--bed-n300); font-size: 14px; line-height: 20px; }
.bed-sl__none[hidden] { display: none; }
.bed-sl__shopitem + .bed-sl__shopitem { margin-top: 8px; }
.bed-sl__shopitem:hover, .bed-sl__shopitem:focus-visible { border-color: var(--bed-primary); outline: 0; }
.bed-sl__shopitem.is-active { border-color: var(--bed-primary); }
body.bed-theme .bed-sl__name { opacity: 1; margin: 0 0 4px; font-family: var(--bed-font-body); font-size: 16px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none; color: var(--bed-fg); width: auto; }
.bed-sl__row { display: flex; align-items: flex-start; gap: 4px; margin: 0; font-size: 16px; line-height: 1.42857; }
.bed-sl__row .bed-icon { flex: none; margin-top: 2px; color: var(--bed-n200); }
body.bed-theme .bed-sl__row a { color: var(--bed-fg); font-weight: 600; text-decoration: none; transition: color .15s; }
body.bed-theme .bed-sl__row a:hover { color: var(--bed-link); }
body.bed-theme a.bed-sl__dir { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 14px; font-weight: 600; line-height: 20px; color: var(--bed-primary); text-decoration: underline; text-underline-offset: 2px; }
body.bed-theme a.bed-sl__dir:hover { color: var(--bed-link); }
.bed-sl__map { min-width: 0; height: 500px; overflow: hidden; border-radius: 8px; }
@media (min-width: 768px) { .bed-sl__map { height: 100%; } }
.bed-sl__iframe { display: block; width: 100%; height: 100%; border: 0; }
.bed-sl__empty { max-width: 560px; margin: 16px auto 0; background: #fff; border: 1px solid #868686; border-radius: 8px; padding: 20px; text-align: center; }
body.bed-theme .bed-sl__empty h5 { margin: 0; font-family: var(--bed-font-body); font-size: 16px; font-weight: 600; line-height: 1.5; text-transform: none; width: auto; }

/* Flatsome ép button:not(.icon){border-radius:999px!important} → nút vuông bo nhẹ phải đặt lại */
.bed-fixed-toc button.bed-fixed-toc__btn { border-radius: 8px !important; }
