/* ==========================================================================
   Bed — nhóm element kiểu EGA Beauty (site_key "beauty"): xem inc/elements/beauty.php
   Chỉ định kiểu cho class .bed-bt-* (không rule global). Màu/font đọc từ token --bed-* của brand.json.
   Số đo lấy từ https://ega-beauty.mysapo.net ở 1440px (container 1280, đệm 16 → nội dung 1248).
   ========================================================================== */
:root {
	--bt-arrow-r: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h17M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--bt-arrow-l: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12H4M10 5l-7 7 7 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--bt-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='180' viewBox='0 0 130 180'%3E%3Cpath d='M0 12.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23ffecd2' stroke-width='1'/%3E%3Cpath d='M0 23.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23fee7cb' stroke-width='1'/%3E%3Cpath d='M0 35.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23fde0c1' stroke-width='1'/%3E%3Cpath d='M0 46.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23fbd8b6' stroke-width='1'/%3E%3Cpath d='M0 58.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23fad0aa' stroke-width='1'/%3E%3Cpath d='M0 69.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f8c69c' stroke-width='1'/%3E%3Cpath d='M0 81.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f7bc8e' stroke-width='1'/%3E%3Cpath d='M0 92.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f5b27f' stroke-width='1'/%3E%3Cpath d='M0 104.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f3a770' stroke-width='1'/%3E%3Cpath d='M0 115.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f19c5f' stroke-width='1'/%3E%3Cpath d='M0 127.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23f0904f' stroke-width='1'/%3E%3Cpath d='M0 138.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23ee843d' stroke-width='1'/%3E%3Cpath d='M0 150.0 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23ec772c' stroke-width='1'/%3E%3Cpath d='M0 161.5 q16.25 -9 32.5 0 t32.5 0 t32.5 0 t32.5 0' fill='none' stroke='%23ea6b1a' stroke-width='1'/%3E%3C/svg%3E");
	--bt-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2l2.9 6.6 7.1.7-5.4 4.7 1.6 7L12 17.3 5.8 21l1.6-7L2 9.3l7.1-.7z'/%3E%3C/svg%3E");
	--bt-peach: var(--bed-beauty-peach, #fbd292);
	--bt-peach-soft: var(--bed-beauty-peach-soft, #fde9d8);
	--bt-orange: var(--bed-beauty-orange, #f6903b);
}
.bed-bt-arch-clip { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---------- Tiêu đề khối ---------- */
body.bed-theme .bed-bt-title {
	font-family: var(--bed-font-heading) !important; font-size: 52px; font-weight: 500 !important; letter-spacing: .64px; line-height: normal;
	text-align: center; color: var(--bed-fg); margin: 0 0 48px; width: 100%; text-transform: none;
}
body.bed-theme .bed-bt-title.is-bold { font-weight: 700 !important; }
body.bed-theme .bed-bt-title a { color: inherit; }
body.bed-theme .bed-bt-title a:hover { color: var(--bed-link); }
/* tiêu đề nhỏ có kẻ ngang hai bên */
.bed-bt-ruled { position: relative; display: flex; align-items: center; justify-content: center; gap: 30px; height: 65px; margin: 0 0 24px; padding-top: 14px; }
.bed-bt-ruled::before, .bed-bt-ruled::after { content: ''; flex: 1 1 0; height: 2px; background: var(--bed-primary); margin-top: 14px; }
.bed-bt-ruled span { flex: none; max-width: 100%; font: 700 24px/normal var(--bed-font-body); color: var(--bed-primary); text-transform: uppercase; text-align: center; }

/* ---------- Nút tròn "Xem thêm" ---------- */
.bed-bt-circle { position: relative; display: inline-block; width: 174px; height: 174px; }
.bed-bt-circle--flash, .bed-bt-circle--blog { display: block; margin: 48px auto 0; }
.bed-bt-circle--blog { margin-top: 24px; }
body.bed-theme .bed-bt-circle__a {
	position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 174px; height: 174px; border-radius: 50%;
	background: var(--bed-primary); color: #fff; font: 700 20px/30px var(--bed-font-body); text-transform: uppercase; text-align: center; text-decoration: none;
	transition: all .6s;
}
body.bed-theme .bed-bt-circle__a:hover { color: #fff; }
.bed-bt-circle:hover .bed-bt-circle__a { width: 194px; height: 194px; margin: -10px; }
.bed-bt-circle__arrow { position: absolute; z-index: 2; top: 50%; right: -20px; width: 50px; height: 12px; margin-top: -6px; color: #ffc06d; transition: all .6s; pointer-events: none; }
.bed-bt-circle:hover .bed-bt-circle__arrow { right: -30px; }

/* ---------- Mũi tên slider dùng chung (tròn 62px trắng, có bóng) ---------- */
body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button {
	width: 62px; height: 62px; margin-top: -31px; opacity: 1 !important; background: #fff !important; color: #000; box-shadow: 0 0 10px rgba(0, 0, 0, .12) !important;
}
body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button::before { width: 30px; height: 30px; -webkit-mask: var(--bt-arrow-r) center / contain no-repeat; mask: var(--bt-arrow-r) center / contain no-repeat; }
body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button.previous::before { -webkit-mask-image: var(--bt-arrow-l); mask-image: var(--bt-arrow-l); }
body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button:disabled { opacity: .4 !important; pointer-events: none; }
body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button:hover:not(:disabled) { background: #fff !important; color: var(--bed-primary); }
body.bed-theme .bed-bt-slider .flickity-page-dots { display: none; }
@media (max-width: 767px) { body.bed-theme .bed-slider.bed-bt-slider .flickity-prev-next-button { display: none !important; } }

/* ---------- Hero ---------- */
.bed-bt-hero { overflow: hidden; }
body.bed-theme .bed-bt-hero__slider .flickity-prev-next-button { opacity: 1 !important; }
.bed-bt-hero__slider > div.bed-bt-hero__slide, .bed-bt-hero__slider .flickity-slider > div.bed-bt-hero__slide { width: 100% !important; padding: 0; margin: 0; }
.bed-bt-hero__row { position: relative; display: flex; align-items: stretch; height: 588px; text-align: left; }
.bed-bt-hero__circle { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.bed-bt-hero__circle .bed-bt-circle { pointer-events: auto; }
.bed-bt-hero__content { flex: 0 0 50%; max-width: 50%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 75px 125px 75px 157px; color: var(--bed-fg); }
.bed-bt-hero__content h4 { font: 400 28px/normal var(--bed-font-body); letter-spacing: .28px; text-transform: uppercase; margin: 0 0 8px; width: auto; color: var(--bed-fg); }
.bed-bt-hero__content h2 { font: 500 52px/normal var(--bed-font-heading); letter-spacing: .62px; margin: 8px 0 40px; width: auto; color: var(--bed-fg); }
.bed-bt-hero__desc { max-width: 426px; font: 400 20px/35px var(--bed-font-body); color: #333; }
.bed-bt-hero__media { flex: 0 0 50%; max-width: 50%; position: relative; }
.bed-bt-hero__media a { display: block; width: 100%; height: 100%; }
.bed-bt-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.bed-theme .bed-bt-hero__slider .flickity-page-dots { display: flex; position: absolute; left: 50%; bottom: 22px; width: auto; margin: 0; padding: 0; transform: translateX(-50%); gap: 6px; z-index: 4; }
body.bed-theme .bed-bt-hero__slider .flickity-page-dots .dot { display: block; width: 12px; height: 12px; margin: 0; border: 0; border-radius: 12px; background: #fff; opacity: 1; transition: width .3s; }
body.bed-theme .bed-bt-hero__slider .flickity-page-dots .dot.is-selected { width: 40px; background: var(--bed-primary); }
body.bed-theme .bed-bt-hero__slider .flickity-prev-next-button.previous { left: 10px; }
body.bed-theme .bed-bt-hero__slider .flickity-prev-next-button.next { right: 10px; }

/* ---------- Danh mục ảnh tròn ---------- */
.bed-bt-colls__slider { margin: 0 -16px; }
.bed-bt-colls__slider > div.bed-bt-colls__cell, .bed-bt-colls__slider .flickity-slider > div.bed-bt-colls__cell { width: 25% !important; padding: 10px 15px 0; margin: 0; text-align: center; }
.bed-bt-colls__img { display: block; width: 180px; height: 180px; margin: 0 auto; }
.bed-bt-colls__img img { display: block; width: 180px; height: 180px; border-radius: 50%; transition: filter .3s; }
.bed-bt-colls__img:hover img { filter: brightness(1.05); }
body.bed-theme .bed-bt-colls__cell h3 { margin: 32px 0 0; width: 100%; font: 500 28px/33.6px var(--bed-font-body); color: var(--bed-fg); }
body.bed-theme .bed-bt-colls__cell h3 a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: inherit; text-decoration: none; }
body.bed-theme .bed-bt-colls__cell h3 a:hover { color: var(--bed-primary); }
body.bed-theme .bed-bt-colls__slider .flickity-prev-next-button { top: 105px; margin-top: 0; }

/* ---------- Flash Sale ---------- */
.bed-bt-flash__box { background: var(--bed-bt-flash-bg, #f6903b); border-radius: 12px; padding: 32px; }
.bed-bt-flash__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 15px; }
body.bed-theme .bed-bt-flash__title { margin: 0; width: auto; font: 500 52px/normal var(--bed-font-heading) !important; letter-spacing: .64px; color: #fff; }
body.bed-theme .bed-bt-flash__title a { color: #fff; }
.bed-bt-flash__time .bed-countdown__row { gap: 12px; justify-content: flex-end; }
.bed-bt-flash__time .bed-countdown__label { display: block; font-size: 16px; font-weight: 300; line-height: 24px; color: #fff; opacity: 1; }
.bed-bt-flash__time .bed-ctd { gap: 0; }
.bed-bt-flash__time .bed-ctd__item { width: 50px; height: 65px; margin: 0 5px; padding: 8px 10px 12px; border-radius: 12px; background: #1f1f1f; color: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.bed-bt-flash__time .bed-ctd__num { font-size: 25px; font-weight: 500; line-height: 30px; height: 30px; color: #fff; }
.bed-bt-flash__time .bed-ctd__item > span { margin: 0; font-size: 10px; line-height: 15px; color: #fff; }
.bed-bt-flash__time .bed-ctd__dot { display: none !important; }
.bed-bt-flash__grid { display: grid; grid-template-columns: repeat(var(--bed-bt-cols, 3), minmax(0, 1fr)); gap: 24px 32px; margin-top: 37px; }
.bed-bt-flash__cell .bed-card, .bed-bt-combo__cell .bed-card { height: 100%; }
.bed-bt-flash__cell .bed-card__inner, .bed-bt-combo__cell .bed-card__inner { border-radius: 12px; overflow: hidden; background: #fff; height: 100%; }
.bed-bt-frame { position: absolute; z-index: 6; left: 0; top: 0; width: 100%; height: 100%; object-fit: fill; pointer-events: none; }

/* ---------- Mã giảm giá ---------- */
.bed-bt-coupons__band { background: #fcc98d center / cover no-repeat; }
.bed-bt-coupons__inner { padding-top: 30px; padding-bottom: 30px; }
.bed-bt-coupons__slider { margin: 0 -16px; padding-bottom: 0; }
.bed-bt-coupons__slider > div.bed-bt-coupons__cell, .bed-bt-coupons__slider .flickity-slider > div.bed-bt-coupons__cell { width: 25% !important; padding: 8px 15px; margin: 0; }
.bed-bt-coupon { position: relative; border-radius: 5px; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
.bed-bt-coupon__head { position: relative; display: flex; align-items: center; gap: 12px; height: 65px; padding: 12px 10px; border-radius: 4px 4px 0 0; background: #c0612e; color: #fff; }
.bed-bt-coupon__time { flex: 0 0 auto; max-width: 48%; display: flex; flex-direction: column; justify-content: center; padding-right: 10px; border-right: 1px dashed rgba(255, 255, 255, .6); min-height: 40px; }
.bed-bt-coupon__time span { font-size: 12px; line-height: 16px; color: #ffd95a; white-space: nowrap; }
.bed-bt-coupon__time b { font-size: 16px; line-height: 20px; font-weight: 800; text-transform: uppercase; }
.bed-bt-coupon__desc { flex: 1 1 0; min-width: 0; font-size: 14px; line-height: 18px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.bed-bt-coupon__info { position: absolute; top: 4px; right: 4px; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #fff; color: #c0612e; font: italic 700 11px/1 serif; cursor: help; }
.bed-bt-coupon__foot { position: relative; display: flex; align-items: center; justify-content: space-between; height: 51px; padding: 10px; border-radius: 0 0 4px 4px; background: #fff; }
.bed-bt-coupon__foot::before { content: ''; position: absolute; left: 0; right: 0; top: -1px; border-top: 2px dotted #fff; }
.bed-bt-coupon__code { font: 700 18px/1 var(--bed-font-body); color: var(--bed-fg); }
.bed-bt-coupon__out { width: 56px; height: auto; opacity: .7; }
.bed-bt-coupon__save { border: 0; border-radius: 999px; background: var(--bed-primary); color: #fff; font: 700 14px/1 var(--bed-font-body); padding: 9px 22px; cursor: pointer; }
.bed-bt-coupon.is-expired .bed-bt-coupon__head { background: #c0612e; }
body.bed-theme .bed-bt-coupons__slider .flickity-prev-next-button { top: auto; bottom: -67px; width: 28px; height: 28px; margin: 0; background: transparent !important; box-shadow: none !important; }
body.bed-theme .bed-bt-coupons__slider .flickity-prev-next-button::before { width: 24px; height: 24px; }
body.bed-theme .bed-bt-coupons__slider .flickity-prev-next-button.previous { left: calc(50% - 32px); }
body.bed-theme .bed-bt-coupons__slider .flickity-prev-next-button.next { right: calc(50% - 32px); }
.bed-bt-coupons__inner { padding-bottom: 98px; }

/* ---------- Sản phẩm nổi bật (1 ô) ---------- */
.bed-bt-feature { overflow: hidden; }
.bed-bt-feature__slider > div.bed-bt-feature__cell, .bed-bt-feature__slider .flickity-slider > div.bed-bt-feature__cell { width: 100% !important; padding: 10px 15px 0; margin: 0; text-align: center; }
.bed-bt-feature__cell { position: relative; }
.bed-bt-feature__img { position: relative; z-index: 1; width: 480px; max-width: 100%; height: 480px; margin: 0 auto; }
.bed-bt-feature__img > a { display: block; width: 100%; height: 100%; }
.bed-bt-feature__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bed-bt-feature__img .bed-bt-circle { position: absolute; left: calc(50% + 92px); top: 74px; z-index: 3; }
.bed-bt-feature__wave { position: absolute; z-index: 0; left: 0; right: 0; top: 463px; height: 200px; background: var(--bt-wave) repeat-x center top / 130px 180px; opacity: .9; }
body.bed-theme .bed-bt-feature__title { position: relative; z-index: 1; width: auto; max-width: 840px; min-height: 130px; margin: 24px auto; font: 500 52px/normal var(--bed-font-heading); letter-spacing: .64px; color: var(--bed-fg); }
body.bed-theme .bed-bt-feature__title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; color: inherit; text-shadow: 0 0 12px rgba(0, 0, 0, .1); }
.bed-bt-feature__desc { position: relative; z-index: 1; max-width: 670px; margin: 72px auto 0; font: 400 20px/35px var(--bed-font-body); color: #333; }
body.bed-theme .bed-bt-feature__slider .flickity-prev-next-button { top: 457px; z-index: 4; }
body.bed-theme .bed-bt-feature__slider .flickity-prev-next-button.previous { left: 80px; }
body.bed-theme .bed-bt-feature__slider .flickity-prev-next-button.next { right: 80px; }

/* ---------- Video lớn / video dọc ---------- */
.bed-bt-vslider { position: relative; max-width: 1144px; margin: 0 auto; padding: 8px 0 0; }
.bed-bt-vslider .bed-slider { margin: 0 -16px; }
.bed-bt-videos__slider > div.bed-bt-videos__cell, .bed-bt-videos__slider .flickity-slider > div.bed-bt-videos__cell { width: 100% !important; padding: 0 32px; margin: 0; }
.bed-bt-tiktok__slider > div.bed-bt-tiktok__cell, .bed-bt-tiktok__slider .flickity-slider > div.bed-bt-tiktok__cell { width: 25% !important; padding: 0 10.5px; margin: 0; }
.bed-bt-vcard { position: relative; border-radius: 12px; overflow: hidden; }
.bed-bt-vid { position: relative; display: block; }
.bed-bt-vid img { display: block; width: 100%; height: auto; }
.bed-bt-play { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; width: 57px; height: 57px; margin: -28px 0 0 -28px; border-radius: 50%; background: var(--bed-primary); color: #fff; padding-left: 3px; }
body.bed-theme .bed-bt-vslider .flickity-prev-next-button.previous { left: -55px; }
body.bed-theme .bed-bt-vslider .flickity-prev-next-button.next { right: -55px; }

/* ---------- Dải banner nền cam ---------- */
.bed-bt-banners__band { padding: 46px 0; background: var(--bt-orange); }
.bed-bt-banners__row { display: flex; justify-content: center; gap: 64px; max-width: 1260px; margin: 0 auto; }
.bed-bt-banners__item { flex: 1 1 0; min-width: 0; }
.bed-bt-banners__item a { display: block; padding-bottom: 6px; }
.bed-bt-banners__item img { display: block; width: 100%; height: auto; border-radius: 12px; }

/* ---------- Combo (nền đào) ---------- */
.bed-bt-combo__wrap { padding: 16px 16px 0; }
.bed-bt-combo__box { background: var(--bed-bt-combo-bg, #fbd292); border-radius: 12px; padding: 32px; }
body.bed-theme .bed-bt-combo__box .bed-bt-title { margin-bottom: 24px; }
.bed-bt-combo__slider { margin: 8px -16px 0; }
.bed-bt-combo__slider > div.bed-bt-combo__cell, .bed-bt-combo__slider .flickity-slider > div.bed-bt-combo__cell { width: calc(100% / var(--bed-bt-cols, 3)) !important; padding: 0 16px; margin: 0; }

/* ---------- Ảnh + chữ ---------- */
.bed-bt-imgtext__body { display: flex; align-items: center; }
.bed-bt-imgtext--1 .bed-bt-imgtext__body { align-items: flex-start; }
.bed-bt-imgtext--1 .bed-bt-imgtext__img { padding-bottom: 36px; }
.bed-bt-imgtext__img, .bed-bt-imgtext__content { flex: 0 0 50%; max-width: 50%; padding: 0 16px; }
.bed-bt-imgtext__wrap { display: block; border-radius: 12px; overflow: hidden; }
.bed-bt-imgtext__wrap img { display: block; width: 100%; height: auto; }
body.bed-theme .bed-bt-imgtext__content h2 { width: 100%; margin: 0 0 16px; font: 500 60px/normal var(--bed-font-heading); letter-spacing: .64px; color: var(--bed-fg); }
.bed-bt-imgtext__desc p { margin: 0; font: 400 20px/35px var(--bed-font-body); color: #333; }
.bed-bt-imgtext__desc ul { list-style: none; margin: 0 0 16px; padding: 0; }
.bed-bt-imgtext__desc li { position: relative; margin: 0 0 15px; padding-left: 30px; font: 400 20px/35px var(--bed-font-body); color: #333; }
.bed-bt-imgtext__desc li::before { content: ''; position: absolute; left: 0; top: 4px; width: 24px; height: 24px; background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='26' viewBox='0 0 28 26' fill='none'%3E%3Cpath d='M5.12758 8.00868L2.76172 11.1632L9.85931 22.2039C12.4881 17.4721 16.9569 8.00868 27.209 0.911083C17.7455 3.27695 12.2252 10.9003 9.85931 15.1063L5.12758 8.00868Z' fill='%23333333'/%3E%3C/svg%3E") center / contain no-repeat; }
/* kiểu 2: chữ trái (canh giữa) + ảnh vòm phải */
.bed-bt-imgtext--2 .bed-bt-imgtext__content { order: -1; text-align: center; }
.bed-bt-imgtext--2 .bed-bt-imgtext__img { position: relative; display: flex; justify-content: center; align-self: flex-start; margin: 0; }
.bed-bt-imgtext--2 .bed-bt-circle { position: absolute; left: calc(50% + 120px); top: 200px; z-index: 3; }
/* ảnh vòm (ogee): SVG 411×575 dựng bởi bed_bt_arch() */
.bed-bt-arch { display: block; width: 100%; max-width: 411px; height: auto; margin: 0 auto; overflow: visible; }

/* ---------- Đánh giá khách hàng ---------- */
.bed-bt-wavebg { position: relative; }
.bed-bt-wavebg::after { content: ''; position: absolute; z-index: 0; left: 50%; bottom: 23%; width: 100vw; margin-left: -50vw; height: 160px; background: var(--bt-wave) repeat-x center top / 130px 180px; opacity: .9; pointer-events: none; }
.bed-bt-fb__slider { position: relative; z-index: 1; }
.bed-bt-fb__slider > div.bed-bt-fb__cell, .bed-bt-fb__slider .flickity-slider > div.bed-bt-fb__cell { width: 100% !important; margin: 0; padding: 0 12px; text-align: center; }
body.bed-theme .bed-bt-fb__text { max-width: 740px; min-height: 100px; margin: 0 auto 50px; font: 400 20px/30px var(--bed-font-body); color: var(--bed-fg); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.bed-bt-fb__avatar { width: 200px; height: 200px; margin: 0 auto; border-radius: 50%; overflow: hidden; }
.bed-bt-fb__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.bed-theme .bed-bt-fb__name { width: 100%; margin: 24px 0 0; font: 500 24px/normal var(--bed-font-body); color: var(--bed-fg); }
body.bed-theme .bed-bt-fb__role { width: 100%; margin: 0; font: 400 20px/35px var(--bed-font-body); color: var(--bed-fg); }
.bed-bt-stars { display: block; width: 87px; height: 24px; margin: 10px auto 0; background: var(--bed-primary); -webkit-mask: var(--bt-star) 0 50% / 17.4px 17px repeat-x; mask: var(--bt-star) 0 50% / 17.4px 17px repeat-x; }
.bed-bt-stars { -webkit-mask-size: 17.4px 17px; }
body.bed-theme .bed-bt-fb__slider .flickity-prev-next-button.previous { left: 0; }
body.bed-theme .bed-bt-fb__slider .flickity-prev-next-button.next { right: 0; }

/* ---------- Truyền thông nói gì ---------- */
.bed-bt-press__quotes > div.bed-bt-press__q, .bed-bt-press__quotes .flickity-slider > div.bed-bt-press__q { width: 100% !important; margin: 0; padding: 32px 16px 0; text-align: center; }
.bed-bt-press__txt { max-width: 778px; min-height: 112px; margin: 0 auto 17px; font: 400 36px/56px var(--bed-font-heading); color: var(--bed-fg); }
.bed-bt-press__link a { font-size: 16px; color: var(--bed-primary); text-decoration: underline; }
.bed-bt-press__logos { margin-top: 32px; }
.bed-bt-press__logos > div.bed-bt-press__logo, .bed-bt-press__logos .flickity-slider > div.bed-bt-press__logo { width: 224px !important; height: 121px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; filter: opacity(.2) grayscale(1); transition: filter .3s; }
.bed-bt-press__logos .flickity-slider > div.bed-bt-press__logo.is-selected { filter: none; }
.bed-bt-press__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

/* ---------- Instagram ---------- */
.bed-bt-insta__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bed-bt-insta__item { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; }
.bed-bt-insta__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .64s ease; }
.bed-bt-insta__item::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0); transition: background .64s; }
.bed-bt-insta__item:hover::after { background: rgba(0, 0, 0, .3); }

/* ---------- Cam kết nền cam ---------- */
.bed-bt-pol__body { display: flex; justify-content: space-between; gap: 0; padding: 28px 64px; border-radius: 12px; background: var(--bed-footer-bg); color: #fff; }
.bed-bt-pol__item { flex: 0 0 calc(25% - 8px); display: grid; justify-items: center; align-content: start; gap: 16px; padding: 8px; text-align: center; }
.bed-bt-pol__icon { width: 64px; height: auto; margin: 0 auto; }
.bed-bt-pol__title { font: 700 20px/30px var(--bed-font-body); }
.bed-bt-pol__desc { margin-top: -16px; font: 400 16px/24px var(--bed-font-body); }

/* ---------- Bài viết (ảnh vòm) ---------- */
.bed-bt-blogs__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0 -16px; }
.bed-bt-blog { text-align: center; }
.bed-bt-blog__img { display: block; }
.bed-bt-blog .bed-bt-arch { max-width: none; }
body.bed-theme .bed-bt-blog h3 { width: 100%; margin: 16px 15px 0; padding: 0; max-width: calc(100% - 30px); font: 700 24px/30px var(--bed-font-heading); }
body.bed-theme .bed-bt-blog h3 a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--bed-fg); }
.bed-bt-blog p { margin: 20px 15px 12px; font: 400 16px/24px var(--bed-font-body); color: #333; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bed-bt-blog__more { color: var(--bed-primary); text-decoration: underline; }

/* ---------- Banner cửa hàng ---------- */
.bed-bt-store { position: relative; }
.bed-bt-store__bg img { display: block; width: 100%; height: 495px; object-fit: cover; }
.bed-bt-store__info { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 16px; }
.bed-bt-store__card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; width: 542px; max-width: 100%; padding: 40px 40px 48px; border-radius: 12px; background: #fff; text-align: center; transition: box-shadow .64s; }
.bed-bt-store:hover .bed-bt-store__card { box-shadow: 2px 2px 22px 3px rgba(0, 0, 0, .5); }
.bed-bt-store__sub { font-size: 16px; line-height: 24px; }
body.bed-theme .bed-bt-store__card h2 { margin: 0; width: 100%; font: 700 32px/56px var(--bed-font-body); color: var(--bed-fg); text-transform: uppercase; }
body.bed-theme .bed-bt-store__btn { display: inline-block; padding: 10px 20px; border-radius: 999px; background: #1f1f1f; color: #fff; font: 700 20px/30px var(--bed-font-body); text-decoration: none; transition: transform .3s ease-out; }
body.bed-theme .bed-bt-store__btn:hover { transform: translateY(-4px); color: #fff; }

/* thông tin phụ trên thẻ sản phẩm của khối khuyến mãi / combo */
.bed-bt-rate { display: block; width: 90px; height: 18px; margin: 4px 0 0; background: #d9d9d9; -webkit-mask: var(--bt-star) 0 50% / 18px 18px repeat-x; mask: var(--bt-star) 0 50% / 18px 18px repeat-x; }
.bed-bt-rate.is-on { background: #ffb400; }
.bed-bt-promo { margin: 12px 0 0; padding: 4px 8px; border-left: 3px solid #e50001; border-radius: 3px; background: #fff; box-shadow: 0 0 0 1px #eee; font-size: 14px; line-height: 20px; color: var(--bed-fg); }
.bed-bt-deal { display: inline-block; margin: 10px 0 0; padding: 2px 10px; border-radius: 999px; background: var(--bed-primary); color: #fff; font: 800 11px/18px var(--bed-font-body); letter-spacing: .3px; }
.bed-bt-flash .bed-stock__bar i, .bed-bt-combo .bed-stock__bar i { background: #e50001; }
.bed-bt-flash .bed-stock { margin-top: 12px; }

/* ---------- Topbar kiểu trượt (settings topbar_style = slider) + header của site beauty ---------- */
.bed-topbar--slider { background: var(--bed-topbar-bg, var(--bed-primary)); color: var(--bed-topbar-color, #fff); }
.bed-topbar__sl { position: relative; display: flex; align-items: center; justify-content: center; height: 42px; }
.bed-topbar__slides { position: relative; flex: 1 1 auto; height: 42px; overflow: hidden; text-align: center; }
.bed-topbar__slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font: 400 16px/40px var(--bed-font-body); text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .4s; pointer-events: none; }
.bed-topbar__slide.is-on { opacity: 1; transform: none; pointer-events: auto; }
.bed-topbar__slide a, .bed-topbar__slide span { color: inherit !important; text-decoration: none; }
.bed-topbar__nav { position: absolute; top: 2px; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; opacity: .75; }
.bed-topbar__nav:hover { opacity: 1; }
.bed-topbar__nav::before { content: ''; display: block; width: 14px; height: 14px; margin: 12px auto; border: solid currentColor; border-width: 2px 2px 0 0; }
.bed-topbar__nav.is-prev { left: 0; } .bed-topbar__nav.is-prev::before { transform: rotate(-135deg); margin-left: 14px; }
.bed-topbar__nav.is-next { right: 0; } .bed-topbar__nav.is-next::before { transform: rotate(45deg); margin-left: 8px; }
@media (max-width: 767px) { .bed-topbar__sl, .bed-topbar__slides { height: 32px; } .bed-topbar__slide { font-size: 12px; line-height: 32px; } .bed-topbar__nav { top: -3px; } }
body.bed-site-beauty .bed-hdr { min-height: 65px; padding: 0; }
body.bed-site-beauty .bed-hdr__logo { max-width: 260px; }
body.bed-site-beauty .bed-hdr__logo img { height: 32px; width: auto; max-width: none; }
body.bed-site-beauty .bed-hdr .bed-nav__item { padding: 20px 15px; }
body.bed-site-beauty .bed-hdr .bed-nav__link { font-weight: 400; text-transform: uppercase; padding: 0; }
body.bed-site-beauty .bed-hdr .bed-hdr__icon { width: 40px; height: 40px; }
body.bed-site-beauty .bed-hdr .bed-hdr__icon svg { width: 24px; height: 24px; }

/* chỉnh số đo khối khuyến mãi / combo / phản hồi / bài viết theo mẫu (1440) */
.bed-bt-flash .bed-card__prices, .bed-bt-combo .bed-card__prices { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px 10px; }
.bed-bt-flash .bed-card__swatches, .bed-bt-combo .bed-card__swatches { display: none; }
.bed-bt-flash .bed-bt-promo, .bed-bt-combo .bed-bt-promo { margin-top: 10px; }
.bed-bt-feedback { padding: 16px 0; }
.bed-bt-fb__cell { padding-bottom: 20px !important; }
.bed-bt-blogs .bed-bt-title { margin-bottom: 73px; }
.bed-bt-blog p { margin-bottom: 20px; }
.bed-bt-tiktok .bed-bt-vslider .bed-slider { margin: 0 16px; }
.bed-bt-blogs { padding-top: 10px; }
.bed-bt-circle--blog { margin-top: 31px; }
.bed-bt-rate { margin: 0 0 4px; height: 16px; -webkit-mask-size: 16px 16px; mask-size: 16px 16px; width: 80px; }
.bed-bt-flash .bed-bt-promo, .bed-bt-combo .bed-bt-promo { margin-top: 6px; }
.bed-bt-deal { margin-top: 6px; }
.bed-bt-flash .bed-stock { margin-top: 6px; }
.bed-bt-flash__cell .bed-card__body { min-height: 270px; }
.bed-bt-combo__cell .bed-card__body { min-height: 259px; }

/* ==================== MOBILE (≤767px, đo ở 375px) ==================== */
@media (max-width: 767px) {
	body.bed-theme .bed-bt-title { font-size: 34px; margin-bottom: 8px; }
	.bed-bt-circle, .bed-bt-circle__a { width: 100px; height: 100px; }
	body.bed-theme .bed-bt-circle__a { font-size: 16px; line-height: 27px; }
	.bed-bt-circle:hover .bed-bt-circle__a { width: 100px; height: 100px; margin: 0; }
	.bed-bt-circle--flash, .bed-bt-circle--blog { margin-top: 16px; }
	.bed-bt-ruled { gap: 6px; height: 40px; margin-bottom: 8px; padding-top: 0; }
	.bed-bt-ruled::before, .bed-bt-ruled::after { margin-top: 0; height: 2px; }
	.bed-bt-ruled span { font-size: 14px; }
	body.bed-site-beauty .bed-hdr { min-height: 65px; }
	body.bed-site-beauty .bed-hdr__inner { flex-wrap: nowrap; }
	body.bed-site-beauty .bed-hdr__logo { max-width: 200px; }
	body.bed-site-beauty .bed-hdr__logo img { height: 27px; }
	/* hero: ảnh trên, chữ dưới, nút tròn cuối */
	.bed-bt-hero__row { flex-direction: column-reverse; height: auto; }
	.bed-bt-hero__media, .bed-bt-hero__content { flex: 0 0 auto; max-width: none; width: 100%; }
	.bed-bt-hero__media { aspect-ratio: 375 / 305; }
	.bed-bt-hero__content { align-items: center; text-align: center; padding: 36px; }
	.bed-bt-hero__content h4 { font-size: 16px; line-height: 1; width: 100%; }
	.bed-bt-hero__content h2 { font-size: 37.2px; line-height: 40.9px; margin: 8px 0; width: 100%; }
	.bed-bt-hero__desc { max-width: none; font-size: 15px; line-height: 19px; text-align: center; }
	.bed-bt-hero__circle { position: static; inset: auto; pointer-events: auto; padding-bottom: 15%; }
	body.bed-theme .bed-bt-hero__slider .flickity-page-dots { bottom: 16px; }
	/* danh mục tròn */
	.bed-bt-colls__slider { margin: 0; }
	.bed-bt-colls__slider > div.bed-bt-colls__cell, .bed-bt-colls__slider .flickity-slider > div.bed-bt-colls__cell { width: 42% !important; }
	.bed-bt-colls__img, .bed-bt-colls__img img { width: 92px; height: 92px; }
	body.bed-theme .bed-bt-colls__cell h3 { margin-top: 24px; font-size: 16px; line-height: 19px; }
	/* flash */
	.bed-bt-flash__box { padding: 10px 2px 8px; }
	.bed-bt-flash__head { justify-content: center; text-align: center; }
	body.bed-theme .bed-bt-flash__title { font-size: 34px; line-height: 40.8px; width: 100%; }
	.bed-bt-flash__time { width: 100%; }
	.bed-bt-flash__time .bed-countdown__row { flex-direction: column; justify-content: center; gap: 0; }
	.bed-bt-flash__time .bed-ctd__item { height: 59px; margin: 0; }
	.bed-bt-flash__time .bed-ctd__dot { display: block !important; color: #1f1f1f; font-size: 22px; margin: 0 3px; }
	.bed-bt-flash__grid { display: flex; overflow-x: auto; gap: 10px; margin-top: 8px; padding: 0 3px 10px; scroll-snap-type: x proximity; }
	.bed-bt-flash__cell { flex: 0 0 227px; scroll-snap-align: start; }
	/* coupons */
	.bed-bt-coupons__inner { padding-top: 30px; padding-bottom: 57px; }
	.bed-bt-coupons__slider { margin: 0; }
	.bed-bt-coupons__slider > div.bed-bt-coupons__cell, .bed-bt-coupons__slider .flickity-slider > div.bed-bt-coupons__cell { width: 85% !important; }
	.bed-bt-coupon__head { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; height: 92px; }
	.bed-bt-coupon__time { max-width: none; border-right: 0; padding-right: 0; flex-direction: column; min-height: 0; }
	/* feature */
	.bed-bt-feature__slider > div.bed-bt-feature__cell, .bed-bt-feature__slider .flickity-slider > div.bed-bt-feature__cell { padding: 10px 20px 0; }
	.bed-bt-feature__img { width: 240px; height: 240px; }
	.bed-bt-feature__img .bed-bt-circle { left: calc(50% + 30px); top: 0; }
	.bed-bt-feature__wave { top: 255px; height: 120px; background-size: 100px 140px; }
	body.bed-theme .bed-bt-feature__title { min-height: 93px; margin: 24px auto; font-size: 28px; line-height: 33.6px; max-width: 285px; }
	.bed-bt-feature__desc { margin-top: 72px; font-size: 15px; line-height: 25px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
	/* video */
	.bed-bt-vslider { padding: 8px 0 0; }
	.bed-bt-vslider .bed-slider { margin: 0; }
	.bed-bt-videos__slider > div.bed-bt-videos__cell, .bed-bt-videos__slider .flickity-slider > div.bed-bt-videos__cell { width: 73% !important; padding: 0 5px; }
	.bed-bt-tiktok__slider > div.bed-bt-tiktok__cell, .bed-bt-tiktok__slider .flickity-slider > div.bed-bt-tiktok__cell { width: 70% !important; padding: 0 5px; }
	.bed-bt-tiktok .bed-bt-vslider .bed-slider { margin: 0; }
	.bed-bt-play { width: 50px; height: 50px; margin: -25px 0 0 -25px; }
	/* banners */
	.bed-bt-banners__band { padding: 20px 0 20px 32px; }
	.bed-bt-banners__row { max-width: none; gap: 0; justify-content: flex-start; overflow-x: auto; padding: 16px 0; scrollbar-width: none; }
	.bed-bt-banners__item { flex: 0 0 274px; padding: 0 16px; }
	/* combo: xếp dọc */
	.bed-bt-combo__wrap { padding: 16px 16px 0; }
	.bed-bt-combo__box { padding: 10px 25px; }
	.bed-bt-combo__slider { margin: 0 -20px; }
	.bed-bt-combo__slider:not(.flickity-enabled) { display: block !important; }
	.bed-bt-combo__slider > div.bed-bt-combo__cell { width: 100% !important; padding: 5px; margin-top: 8px; display: block !important; }
	.bed-bt-combo__cell .bed-card__body { min-height: 0; }
	/* ảnh + chữ */
	.bed-bt-imgtext__body { flex-direction: column; align-items: stretch; }
	.bed-bt-imgtext__img, .bed-bt-imgtext__content { flex: 0 0 auto; max-width: none; width: 100%; padding: 0; }
	.bed-bt-imgtext--1 .bed-bt-imgtext__img { padding-bottom: 0; margin-bottom: 16px; }
	body.bed-theme .bed-bt-imgtext__content h2 { font-size: 27px; margin-bottom: 12px; text-align: center; }
	.bed-bt-imgtext__desc p { font-size: 16px; line-height: 28px; }
	.bed-bt-imgtext__desc ul { display: flex; flex-wrap: wrap; margin-top: 20px; }
	.bed-bt-imgtext__desc li { flex: 0 0 50%; font-size: 16px; line-height: 30px; margin: 0 0 10px; }
	.bed-bt-imgtext--2 .bed-bt-imgtext__content { order: 0; padding-top: 40px; }
	.bed-bt-imgtext--2 .bed-bt-imgtext__img { order: -1; }
	.bed-bt-imgtext--2 .bed-bt-circle { left: calc(50% - 50px); top: 50%; margin-top: -10px; }
	.bed-bt-arch { max-width: 100%; }
	/* feedback / press */
	.bed-bt-feedback { padding: 0; }
	body.bed-theme .bed-bt-fb__text { font-size: 16px; line-height: 24px; min-height: 0; margin-bottom: 30px; }
	body.bed-theme .bed-bt-fb__slider .flickity-prev-next-button, body.bed-theme .bed-bt-press__logos .flickity-prev-next-button { display: flex !important; width: 40px; height: 40px; margin-top: -20px; }
	.bed-bt-press__txt { font-size: 16px; line-height: 22px; min-height: 66px; font-weight: 700; }
	.bed-bt-press__logos > div.bed-bt-press__logo, .bed-bt-press__logos .flickity-slider > div.bed-bt-press__logo { width: 100% !important; }
	/* instagram: cuộn ngang */
	.bed-bt-insta__grid { display: flex; overflow-x: auto; gap: 10px; padding-bottom: 10px; }
	.bed-bt-insta__item { flex: 0 0 55%; }
	/* cam kết 2×2 */
	.bed-bt-pol__body { flex-wrap: wrap; padding: 28px 0; row-gap: 20px; }
	.bed-bt-pol__item { flex: 0 0 50%; padding: 0; gap: 10px; }
	.bed-bt-pol__title { font-size: 16px; line-height: 1; }
	.bed-bt-pol__desc { font-size: 14px; margin-top: -6px; }
	/* bài viết: cuộn ngang */
	.bed-bt-blogs__grid { display: flex; overflow-x: auto; gap: 24px; margin: 0; padding-bottom: 10px; scrollbar-width: none; }
	.bed-bt-blog { flex: 0 0 265px; }
	body.bed-theme .bed-bt-blog h3 { font-size: 22px; line-height: 28px; }
	.bed-bt-blogs .bed-bt-title { margin-bottom: 30px; }
	/* store */
	.bed-bt-store__bg img { height: 149px; }
	.bed-bt-store__card { gap: 0; padding: 12px 9px; width: 90%; }
	.bed-bt-store__sub { font-size: 10px; line-height: 1.4; }
	body.bed-theme .bed-bt-store__card h2 { font-size: 19px; line-height: 34px; }
	body.bed-theme .bed-bt-store__btn { font-size: 12px; line-height: 12px; padding: 8px 14px; }
}
/* Flickity watchCSS: chỉ bật slider combo từ 768px (dưới đó xếp dọc như mẫu) */
.bed-bt-combo__slider::after { content: ''; }
@media (min-width: 768px) { .bed-bt-combo__slider::after { content: 'flickity'; display: none; } }
@media (max-width: 767px) {
	body.bed-theme .bed-bt-circle__a { width: 100px; height: 100px; }
	body.bed-theme .bed-bt-circle:hover .bed-bt-circle__a { width: 100px; height: 100px; margin: 0; }
	body.bed-theme .bed-bt-flash__title { font-size: 34px !important; line-height: 40.8px !important; }
	body.bed-theme .bed-bt-title { font-size: 34px !important; }
	body.bed-theme .bed-bt-feature__title { font-size: 28px; }
}
.bed-bt-deal { align-self: flex-start; }
.bed-bt-colls__cell h3 a { font-weight: 600; }
