/*
Theme Name: WP Agent Flatsome Child
Description: Child theme of Flatsome for EGA Kids (clone of the EGA Kids Sapo theme). Tokens, header, mega menu, footer and shared components; pages are Flatsome UX Builder elements styled by the classes below.
Author: WP Agent
Template: flatsome
Version: 1.7.68
Requires PHP: 7.4
Text Domain: wpagent-child
*/

/* ==========================================================================
   0. Tokens (from the reference's :root)
   ========================================================================== */
:root {
	--ega-pink: #F2487A;
	--ega-pink-dark: #D92F63;
	--ega-pink-soft: #FDE3EA;
	--ega-navy: #2B2D52;
	--ega-text: #4A4452;
	--ega-teal: #14A39A;
	--ega-yellow: #FFC94D;
	--ega-yellow-kids: #FFC83D;
	--ega-cream: #F6EEE6;
	--ega-line: #E4D8CC;
	--ega-muted: #6F6A7A;
	--ega-neutral-200: #726760;
	--ega-neutral-300: #6B5F58;
	--ega-error: #EE1926;
	--ega-success: #2BAD14;
	--ega-font-body: 'Nunito', sans-serif;
	--ega-font-heading: 'Baloo 2', sans-serif;
	--ega-radius: 12px;
	--ega-radius-lg: 18px;
	--ega-radius-card: 16px;
	--ega-shadow: 0 12px 24px rgba(0, 0, 0, .1);
	--ega-footer-muted: #C0C0CB;
	--ega-footer-line: #464868;
	--ega-footer-soft: #383A5C;
}

/* ==========================================================================
   1. Flatsome resets that collide with the reference
   ========================================================================== */
html { background: #fff; font-size-adjust: 0.53; }
body {
	font-family: var(--ega-font-body);
	font-size: 16px;
	line-height: 1.4286;
	letter-spacing: -0.004em;
	color: var(--ega-text);
	-webkit-font-smoothing: antialiased;
}
/* Flatsome adds .lightbox to body (removed in PHP too); never dark */
body.lightbox { background: #fff; color: var(--ega-text); }
/* empty paragraphs that the design keeps for spacing */
.ega-keep-empty p:empty { display: block; }
.wpcf7 label { width: auto; }
.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
a { color: var(--ega-pink-dark); }
a:hover { color: var(--ega-pink); }
h1, h2, h3, h4, h5, h6 { color: var(--ega-navy); text-rendering: optimizeLegibility; }
.col-inner ul li, .text ul li { margin-left: 0; }
.ux-menu-link:not(:hover) .ux-menu-link__link, .ux-menu-link__link { min-height: 0; }

/* Containers like the reference: content 1320 at >=1440 (max 1440, padding 60); below 1440 the
   reference's custom.css (.container{max-width:1440px!important}) makes it full width with 12px sides.
   Flatsome prints .container/.row max-width = site_width - 30 (1350) in #custom-css. */
@media (max-width: 1439px) {
	html body .container, html body .row { max-width: 100%; }
	html body .row .row, html body .container .row { max-width: none; }
}

/* ==========================================================================
   2. Shared components
   ========================================================================== */
/* Section heading: "Khám phá các <span>bộ sưu tập</span>" with the pink hand-drawn underline */
.ega-heading, .ega-heading h1, .ega-heading h2, .ega-heading h3 {
	font-family: var(--ega-font-heading);
	font-weight: 700;
	font-size: 32px;
	line-height: 1.25;
	color: var(--ega-navy);
	margin: 0;
	width: auto;
}
.ega-heading span {
	color: var(--ega-pink);
	position: relative;
	display: inline-block;
}
.ega-heading span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 100%;
	height: 11px;
	background-color: var(--ega-pink);
	pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg height='11' viewBox='0 0 219 11' fill='none' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8C25.8556 3.07738 53.8451 3.61733 82.4695 3.07653C119.514 2.37666 150.586 6.76911 216 4.41882' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg height='11' viewBox='0 0 219 11' fill='none' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8C25.8556 3.07738 53.8451 3.61733 82.4695 3.07653C119.514 2.37666 150.586 6.76911 216 4.41882' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
}
@media (max-width: 767px) {
	.ega-heading, .ega-heading h1, .ega-heading h2, .ega-heading h3 { font-size: 26px; }
}

/* Buttons (pill, pink) — Flatsome [button class="ega-btn"] and CF7 submit */
.button.ega-btn, input.ega-btn, button.ega-btn, .ega-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	margin: 0;
	padding: 11px 23px;
	border: 1px solid var(--ega-pink);
	border-radius: 9999px;
	background: var(--ega-pink);
	color: #fff;
	font-family: var(--ega-font-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
	transition: background-color .2s ease, transform .3s ease;
}
.button.ega-btn:hover, input.ega-btn:hover, .ega-btn:hover {
	background: var(--ega-pink-dark);
	border-color: var(--ega-pink-dark);
	color: #fff;
	box-shadow: none;
}
.ega-btn--block { width: 100%; }

/* Small pill labels: menu badges (HOT / Mới / Sale) */
.menu-label {
	display: inline-block;
	flex-shrink: 0;
	margin-left: 6px;
	padding: 3px 7px;
	border-radius: 9999px;
	background: var(--ega-pink);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
}
.menu-label--hot { background: var(--ega-yellow); color: var(--ega-navy); }
.menu-label--new { background: var(--ega-teal); color: #fff; }
.menu-label--sale { background: var(--ega-pink); color: #fff; }
/* ux_menu_link badges: class badge-hot / badge-new / badge-sale on the link element */
.ux-menu-link.badge-hot .ux-menu-link__text::after,
.ux-menu-link.badge-new .ux-menu-link__text::after,
.ux-menu-link.badge-sale .ux-menu-link__text::after {
	display: inline-block;
	margin-left: 6px;
	padding: 3px 7px;
	border-radius: 9999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	vertical-align: middle;
}
.ux-menu-link.badge-hot .ux-menu-link__text::after { content: "Hot"; background: var(--ega-yellow); color: var(--ega-navy); }
.ux-menu-link.badge-new .ux-menu-link__text::after { content: "Mới"; background: var(--ega-teal); color: #fff; }
.ux-menu-link.badge-sale .ux-menu-link__text::after { content: "Sale"; background: var(--ega-pink); color: #fff; }
.ux-menu-link.is-highlight .ux-menu-link__text { color: var(--ega-pink); }

/* Breadcrumb bar (cream band under the header, as the reference) */
.ega-breadcrumbs {
	background: var(--ega-cream);
	margin-bottom: 24px;
	padding: 12px 0;
	font-size: 15px;
	line-height: 20px;
	color: var(--ega-neutral-300);
}
.ega-breadcrumbs a { color: var(--ega-text); }
.ega-breadcrumbs .divider { margin: 0 12px; opacity: .8; }
/* under 768px the reference's crumbs are text-xs: 13/16 px + 12 px padding = a 40 px band on every layout */
@media (max-width: 767px) {
	html body .ega-breadcrumbs { padding-top: 12px; padding-bottom: 12px; }
	html body .ega-breadcrumbs .woocommerce-breadcrumb,
	html body .ega-breadcrumbs .ega-crumbs { font-size: 13px; line-height: 16px; }
}

/* Forms (Contact Form 7) */
.ega-form { display: flex; flex-direction: column; gap: 12px; }
.ega-form__group { margin: 0; }
.ega-form .wpcf7-form-control-wrap { display: block; }
.ega-form input.ega-input, .ega-form textarea.ega-input {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid var(--ega-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: var(--ega-text);
	font-family: var(--ega-font-body);
	font-size: 16px;
	line-height: 24px;
}
.ega-form textarea.ega-input { height: auto; min-height: 120px; resize: vertical; }
.ega-form input.ega-input:focus, .ega-form textarea.ega-input:focus { border-color: var(--ega-pink); box-shadow: none; outline: none; }
.ega-form ::placeholder { color: var(--ega-neutral-200); opacity: 1; }
.ega-form__submit { margin: 0; }
.ega-form__submit .wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-radius: 12px; }
.wpcf7-not-valid-tip { font-size: 13px; color: var(--ega-error); }

/* ==========================================================================
   3. Header — top bar, main bar, nav, icons
   ========================================================================== */
/* announcement bar: printed before <header> (inc/header-footer.php), like the reference's .top-banner */
.ega-topbar { background-color: var(--ega-navy); color: #fff; }
.ega-topbar .container { padding-left: 0; padding-right: 0; text-align: center; }
.ega-topbar .ega-topbar__link, .ega-topbar a {
	display: block;
	padding: 8px 0;
	color: #fff;
	font-family: var(--ega-font-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
	text-transform: none;
	letter-spacing: 0;
}
.ega-topbar a:hover { color: #fff; text-decoration: none; } /* reference: no hover change */
@media (min-width: 768px) {
	.ega-topbar .ega-topbar__link, .ega-topbar a { font-size: 18px; }
}

.header-main { background: #fff; }
.header-main .header-inner { padding-left: 15px; padding-right: 15px; }
.header-main #logo { width: 160px; }
.header-main #logo img { max-height: 46px; width: auto; }
/* nav: the reference's header grid [auto 60% auto] puts the nav in a 60% column (nav centre at 688px of 1440) */
.header-main .flex-left { justify-content: center; }
@media (min-width: 1024px) {
	.header-main .flex-left { flex: 0 0 60%; margin-left: 42px; margin-right: 0; }
	/* reference header @>=1024 = 18px padding x2 + the 35px LIVE-pill row = 71px (Customizer header_height 70 fits <1024) */
	#header .header-main:not(.stuck .header-main) { height: 71px; }
}
@media (min-width: 850px) {
	.header-main .flex-right { flex: 1 1 auto; display: flex; justify-content: flex-end; }
	.header-main .flex-right .header-nav { justify-content: flex-end; }
}
.header-main .header-nav-main { justify-content: center; }
.header-main .header-nav-main > li { margin: 0; }
.header-main .header-nav-main > li > a {
	padding: 14px;
	color: var(--ega-text);
	font-family: var(--ega-font-body);
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: none;
}
.header-main .header-nav-main > li > a:hover,
.header-main .header-nav-main > li.active > a,
.header-main .header-nav-main > li.current-menu-item > a { color: var(--ega-text); }
.header-main .header-nav-main > li > a > .menu-label { margin-left: 6px; }
.header-main .header-nav-main > li > a .icon-angle-down { margin-left: 6px; font-size: 12px; opacity: .6; }
/* the reference's link-underline hover on the label */
.header-main .header-nav-main > li > a .ega-nav-text {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: background-size .4s ease;
	padding-bottom: 3px;
}
.header-main .header-nav-main > li > a:hover .ega-nav-text { background-size: 100% 1px; }

/* icons: the reference's thin line icons drawn as masks on the Flatsome icon glyph */
.header-main .header-nav > li.has-icon { margin: 0 0 0 16px; }
.header-main .header-nav > li.has-icon > a { color: var(--ega-text); padding: 8px 6px; }
.header-main .icon-search::before,
.header-main .icon-user::before,
.header-main .icon-shopping-cart::before,
.header-main .icon-menu::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: var(--ega-icon) no-repeat center / contain;
	mask: var(--ega-icon) no-repeat center / contain;
}
/* glyph sizes of the reference's icon font (24px font, glyph ~13 search / ~13 user / ~16 cart) */
.header-main .icon-search::before { width: 15px; height: 15px; }
.header-main .icon-user::before { width: 17px; height: 17px; }
.header-main .icon-search { --ega-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7.5'/%3E%3Cpath d='M20.5 20.5 16.5 16.5'/%3E%3C/svg%3E"); }
.header-main .icon-user { --ega-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20.5c1.2-3.6 4.1-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E"); }
.header-main .icon-shopping-cart { --ega-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.2l2.4 11.2a2 2 0 0 0 2 1.6h8.3a2 2 0 0 0 1.9-1.5l1.7-7.3H6.1'/%3E%3Ccircle cx='9.5' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E"); }
.header-main .icon-shopping-cart::before { width: 20px; height: 20px; }
.header-main .icon-menu { --ega-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h6M4 12h16M4 18h4'/%3E%3C/svg%3E"); }
.header-main .cart-item .header-cart-link { position: relative; }
.header-main .icon-shopping-cart { position: relative; display: block; }
.header-main [data-icon-label="0"]::after { content: attr(data-icon-label); display: block; opacity: 1; transform: none; }
[data-icon-label]::after {
	background-color: var(--ega-pink);
	color: #fff;
	box-shadow: none;
	min-width: 14px;
	height: 14px;
	line-height: 14px;
	font-size: 8px;
	font-weight: 700;
	top: -6px;
	right: -8px;
	padding: 0 3px;
}
.header-main .header-divider, .header-main .header-nav .header-divider { display: none; }

/* mobile header like the reference: burger, logo next to it (gap 8), icons 36x36 gap 8 on the right */
@media (max-width: 849px) {
	.header-main .header-inner { padding-left: 12px; padding-right: 12px; }
	.header-main .header-inner > .show-for-medium.flex-left { order: -1; flex: 0 0 auto; margin: 0; }
	.header-main .header-inner > #logo { flex: 0 0 auto; width: 160px; margin: 0 0 0 8px; text-align: left; }
	.header-main #logo img { max-height: 46px; width: auto; }
	.header-main .header-inner > .show-for-medium.flex-right { flex: 1 1 auto; margin: 0 0 0 auto; display: flex; justify-content: flex-end; }
	.header-main .mobile-nav { gap: 8px; flex-wrap: nowrap; }
	.header-main .mobile-nav.nav-right { justify-content: flex-end; }
	.header-main .mobile-nav > li { margin: 0; padding: 0; }
	.header-main .mobile-nav > li > a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		padding: 0;
		color: var(--ega-text);
	}
	.header-main .mobile-nav > li.nav-icon > a { justify-content: flex-start; }
	/* the reference's burger: 3 bars 12/20/8 px, 2 px high, 4 px apart, left aligned */
	.header-main .mobile-nav .icon-menu { --ega-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M0 1h12M0 7h20M0 13h8'/%3E%3C/svg%3E"); }
	.header-main .mobile-nav .icon-menu::before { width: 20px; height: 14px; -webkit-mask-position: left center; mask-position: left center; }
}
@media (max-width: 767px) {
	.header-main .header-inner > #logo { width: 150px; }
	.header-main #logo img { max-height: 43px; }
	.header-main .mobile-nav .account-item { display: none; }
}

/* mobile off-canvas menu: sentence case like the reference's drawer */
.mobile-sidebar .nav-sidebar.nav-uppercase > li > a,
.mobile-sidebar .nav-sidebar .children > li > a,
.mobile-sidebar .nav-sidebar .sub-menu > li > a { text-transform: none; letter-spacing: 0; font-size: 16px; color: var(--ega-text); }
.mobile-sidebar .nav-sidebar > li > a { font-weight: 700; }

/* ==========================================================================
   4. Mega menu (UX Block "mega-san-pham" in the "Sản phẩm" item)
   ========================================================================== */
.header-nav-main .nav-dropdown.nav-dropdown-full,
.header-nav-main .has-block .nav-dropdown {
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: var(--ega-shadow);
	background: #fff;
}
.nav-dropdown .ega-mega { padding: 32px 0; }
.ega-mega .col { padding-bottom: 0; }
.ega-mega .ux-menu { gap: 12px; }
.ega-mega .ux-menu-title, .ega-mega .ega-mega__title {
	margin: 0 0 4px;
	padding: 0;
	color: var(--ega-text);
	font-family: var(--ega-font-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-transform: none;
	letter-spacing: 0;
}
.ega-mega .ux-menu-link__link {
	padding: 0;
	min-height: 0;
	color: var(--ega-text);
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	align-items: center;
}
.ega-mega .ux-menu-link__link:hover { color: var(--ega-pink); }
.ega-mega .ux-menu-link.is-title .ux-menu-link__link { font-weight: 600; }
.ega-mega .ux-menu-link.is-title { margin-bottom: 4px; }
.ega-mega__featured .ega-heading h3, .ega-mega__featured .ega-heading { font-size: 20px; }
.ega-mega__featured .ega-heading a { color: var(--ega-navy); }
.ega-mega__featured > .col-inner { padding: 0 16px; }
.ega-mega__featured .ega-heading { margin-bottom: 12px; }
.ega-mega__featured .row { margin: 0; }
.ega-mega__featured .product-small.col { flex: 0 0 100%; max-width: 100%; padding: 0 0 12px; }
.ega-mega__featured .product-small.box { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 4px; padding: 0; border: 1px solid var(--ega-cream); border-radius: 12px; box-shadow: none; overflow: hidden; transform: none; }
.ega-mega__featured .product-small.box:hover { border-color: var(--ega-line); box-shadow: none; transform: none; }
.ega-mega__featured .product-small .box-image { width: 90px !important; border-radius: 8px; margin: 6px; }
.ega-mega__featured .product-small .box-image img { aspect-ratio: 4 / 5; }
.ega-mega__featured .product-small .box-text { padding: 8px 12px 8px 6px !important; }
.ega-mega__featured .product-small .title-wrapper { padding-right: 0; min-height: 0; }
.ega-mega__featured .product-small .product-title { font-size: 14px; margin-bottom: 4px; }
.ega-mega__featured .ega-age-badge, .ega-mega__featured .ega-card-cta, .ega-mega__featured .ega-swatches, .ega-mega__featured .ega-flash-stock, .ega-mega__featured .ega-variant-select, .ega-mega__featured .image-tools { display: none !important; }
.ega-mega__featured .price-wrapper { margin-top: 4px; }
.ega-mega__featured .price-wrapper .price > ins, .ega-mega__featured .price-wrapper .price > .amount { flex: 0 0 auto; font-size: 14px; }
/* the featured column: ux_products by ids renders plain .col cells, and on body.woocommerce / page 721 the
   shop card rules (body.woocommerce .product-small.box, 0-3-1) used to stack the card; #header wins over them.
   Reference: 6 products in a carousel of 2 rows (data-slide-group 2), nav "prev · dots · next" under them. */
#header .ega-mega__featured .row { margin: 0; }
#header .ega-mega__featured .row > .col { flex: 0 0 100%; max-width: 100%; padding: 0 0 12px; }
#header .ega-mega__featured .row > .col.is-off { display: none; }
#header .ega-mega__featured .product-small.box { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 4px; }
#header .ega-mega__featured .product-small.box > .box-text { display: block; flex: none; }
#header .ega-mega__featured .price-wrapper { margin-top: 4px; padding-top: 0; }
.ega-mega-nav { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0; }
.ega-mega-nav__btn { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--ega-cream); color: var(--ega-navy); line-height: 1; cursor: pointer; }
.ega-mega-nav__btn:hover { background: #F0E9E3; }
.ega-mega-nav__btn:disabled { opacity: .35; cursor: not-allowed; }
.ega-mega-nav__btn svg { width: 14px; height: 14px; }
.ega-mega-nav__dots { display: flex; align-items: center; gap: 8px; }
.ega-mega-nav__dot { display: block; width: 16px; height: 4px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 4px; background: #C9C2BD; cursor: pointer; }
.ega-mega-nav__dot.is-active { background: var(--ega-pink); }

/* ==========================================================================
   5. Footer (UX Block "footer-ega")
   ========================================================================== */
.footer-wrapper .absolute-footer { display: none; }
.ega-footer {
	background-color: var(--ega-navy);
	color: #fff;
	font-size: 15px;
	line-height: 1.6;
	margin-top: 40px;
}
.ega-footer .row-main { padding-top: 48px; padding-bottom: 48px; }
.ega-footer .col { padding-bottom: 0; }
/* 4 columns, 16px gaps like the reference grid */
@media (min-width: 850px) {
	html body .ega-footer .row-main { max-width: 1336px; }
	.ega-footer .row-main > .col { padding-left: 8px; padding-right: 8px; }
}
.ega-footer .ega-footer__logo { margin-bottom: 12px; }
.ega-footer .ega-footer__logo img { width: 200px; height: auto; }
.ega-footer__about p { margin: 0 0 12px; color: var(--ega-footer-muted); line-height: 1.6; }
.ega-footer__title h3, .ega-footer__title p {
	margin: 0 0 16px;
	color: #fff;
	font-family: var(--ega-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}
.ega-footer .ux-menu { gap: 12px; margin-bottom: 24px; }
.ega-footer .ux-menu-link__link {
	display: inline-block;
	padding: 0;
	min-height: 0;
	color: #fff;
	font-size: 15px;
	line-height: 24px;
	transition: color .2s ease, transform .2s ease;
}
.ega-footer .ux-menu-link__link:hover { color: var(--ega-yellow); transform: translateX(4px); }
.ega-footer a { color: #fff; }
.ega-footer a:hover { color: var(--ega-yellow); }
.ega-pay-methods p { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.ega-pay-methods span {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	border-radius: 6px;
	background: #fff;
	color: var(--ega-navy);
	font-size: 13px;
	font-weight: 700;
}
/* member card */
.ega-member-card > .col-inner {
	padding: 24px;
	border-radius: 20px;
	background: #FFF7E4;
	color: var(--ega-text);
}
.ega-member-card__text h3 {
	margin: 0 0 8px;
	color: var(--ega-navy);
	font-family: var(--ega-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}
.ega-member-card__text p { margin: 0 0 12px; color: var(--ega-text); }
.ega-member-card__text ul { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ega-member-card__text li {
	position: relative;
	margin: 0;
	padding-left: 34px;
	color: var(--ega-navy);
	font-weight: 600;
	line-height: 24px;
}
.ega-member-card__text li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--ega-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") no-repeat center / 12px 12px;
}
.ega-member-card .button.ega-btn { width: 100%; }
.ega-footer .ega-footer__bottom .col { padding-bottom: 0; }
.ega-footer .ega-footer__bottom .col-inner { padding: 16px 0; border-top: 1px solid var(--ega-footer-line); }
.ega-footer__copy p { margin: 0; color: var(--ega-footer-muted); font-size: 14px; text-align: center; }
/* tablet: 2 columns, 12px side padding and the reference's 24px row gap */
@media (max-width: 849px) {
	.ega-footer .row-main > .col { padding-left: 12px; padding-right: 12px; padding-bottom: 24px; }
	.ega-footer .ega-footer__bottom .col { padding-left: 12px; padding-right: 12px; }
}
@media (min-width: 768px) and (max-width: 849px) {
	.ega-footer .row-main { padding-bottom: 24px; }
}
@media (max-width: 767px) {
	.ega-footer { margin-top: 32px; }
	.ega-footer .row-main { padding-top: 32px; padding-bottom: 24px; }
	/* accordions "Chính sách" / "Hỗ trợ khách hàng" (toggled by the inline script of inc/header-footer.php) */
	.ega-footer__toggle h3, .ega-footer__toggle p {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 12px;
		cursor: pointer;
	}
	.ega-footer__toggle h3::after, .ega-footer__toggle p::after {
		content: "";
		flex: 0 0 auto;
		width: 6px;
		height: 10px;
		margin-right: 2px;
		background-color: var(--ega-footer-muted);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4-4 4'/%3E%3C/svg%3E") no-repeat center / contain;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4-4 4'/%3E%3C/svg%3E") no-repeat center / contain;
		transition: transform .2s ease;
	}
	.ega-footer__toggle.is-open h3::after, .ega-footer__toggle.is-open p::after { transform: rotate(90deg); }
	.ega-footer .ega-footer__toggle + .ux-menu { display: none; }
	.ega-footer .ega-footer__toggle.is-open + .ux-menu { display: flex; }
	/* the reference's closed <details> keeps the summary's 12px plus the next block's 24px (no collapsing) */
	.ega-footer .ega-footer__toggle:not(.is-open) + .ux-menu + .ega-footer__title { padding-top: 25px; }
}

/* ==========================================================================
   6. Mobile bottom bar (reference's CRO bar) and floating buttons
   ========================================================================== */
.ega-mobile-bar { display: none; }
@media (max-width: 849px) {
	/* in flow + sticky like the reference's .cro-btns (sticky bottom-0 after the footer) */
	.ega-mobile-bar {
		position: sticky;
		bottom: 0;
		z-index: 990;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		height: 56px;
		background: #fff;
		box-shadow: 0 -2px 12px rgba(0, 0, 0, .08);
	}
	.ega-mobile-bar a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		color: var(--ega-text);
		font-size: 13px;
		line-height: 1.2;
	}
	.ega-mobile-bar img { width: 20px; height: 20px; }
	.back-to-top { bottom: 70px; }
}
.back-to-top.button { background: var(--ega-pink); border-color: var(--ega-pink); color: #fff; }

/* ==========================================================================
   7. Product card (every product grid: shop, categories, [ux_products])
   ========================================================================== */
.product-small.col { padding-bottom: 24px; }
.product-small .col-inner { height: 100%; }
.product-small.box {
	height: 100%;
	padding: 10px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(242, 72, 122, .1);
	transition: transform .25s ease, box-shadow .25s ease;
}
.product-small.box:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(242, 72, 122, .18); }
.product-small .box-image { border-radius: 14px; overflow: hidden; background: #F8F5F2; }
.product-small .box-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; }
.product-small .box-image > div > a { display: block; position: relative; }
.ega-age-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 3;
	padding: 6px 8px;
	border-radius: 9999px;
	background: var(--ega-yellow-kids);
	color: var(--ega-navy);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}
.product-small .out-of-stock-label { display: none; }
.product-small .box-text {
	position: relative;
	padding: 10px 4px 4px;
	text-align: left;
}
.product-small .title-wrapper { padding-right: 44px; min-height: 0; }
.product-small .product-title, .product-small .name.product-title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ega-navy);
}
.product-small .product-title a { color: var(--ega-navy); line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ega-card-cta {
	position: absolute;
	top: 10px;
	right: 4px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ega-pink-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2487A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 8h10M18 8h2M4 16h2M10 16h10'/%3E%3Ccircle cx='16' cy='8' r='2'/%3E%3Ccircle cx='8' cy='16' r='2'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}
.ega-card-cta:hover { background-color: var(--ega-pink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 8h10M18 8h2M4 16h2M10 16h10'/%3E%3Ccircle cx='16' cy='8' r='2'/%3E%3Ccircle cx='8' cy='16' r='2'/%3E%3C/svg%3E"); }
/* "Xem nhanh": round eye button at the photo's top right (hover), black label on its left. */
.product-small .image-tools.top.right { top: 8px; right: 8px; padding: 0; z-index: 4; }
.ega-qv {
	position: relative;
	display: block;
	width: 34px;
	height: 34px;
	border: 1px solid #d9d9d9;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2D52' stroke-width='1.6'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
	font-size: 0;
}
.ega-qv__tip {
	position: absolute;
	top: 50%;
	right: calc(100% + 6px);
	transform: translateY(-50%);
	padding: 6px 12px;
	border-radius: 9999px;
	background: #000;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease;
}
.ega-qv:hover .ega-qv__tip { opacity: 1; visibility: visible; }
.ega-products--bundle .ega-qv, .ega-mega__featured .ega-qv { display: none; }
@media (max-width: 849px) { .product-small .image-tools .ega-qv, .product-small .image-tools.top.right:has(.ega-qv) { display: none !important; } }
.product-small .price-wrapper { display: flex; flex-wrap: wrap; align-items: center; align-content: flex-start; gap: 4px 8px; margin-top: 10px; }
.product-small .price-wrapper .price { display: contents; }
.product-small .price-wrapper .price > ins, .product-small .price-wrapper .price > .amount, .product-small .price-wrapper .price > .woocommerce-Price-amount { flex: 0 0 100%; }
.product-small .price ins, .product-small .price > .amount, .product-small .price > .woocommerce-Price-amount {
	color: var(--ega-pink-dark);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}
.product-small .price ins .amount { color: var(--ega-pink-dark); }
.product-small .price del { color: var(--ega-muted); font-size: 14px; font-weight: 400; line-height: 1.4; opacity: 1; }
.product-small .price del .amount { color: var(--ega-muted); }
.ega-sale-pill {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 9999px;
	background: var(--ega-pink);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 16px;
}
.ega-swatches { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 4px 0; }
.ega-products--bundle .ega-age-badge, .ega-products--bundle .ega-swatches, .ega-products--bundle .ega-card-cta { display: none; }
.ega-products--bundle .title-wrapper { padding-right: 0; min-height: 0; }
.ega-products--bundle .price-wrapper .price > ins, .ega-products--bundle .price-wrapper .price > .amount { flex: 0 0 auto; }
.ega-variant-select { display: none; }
.ega-products--bundle .ega-variant-select { display: block; width: 100%; height: 40px; margin: 12px 0 0; padding: 0 32px 0 12px; border: 1px solid var(--ega-line); border-radius: 12px; background-color: #fff; box-shadow: none; font-size: 13px; color: var(--ega-text); }
.ega-swatch { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1px var(--ega-cream); background: #F8F5F2; }
.ega-swatch img { width: 100%; height: 100%; object-fit: cover; }
.ega-swatch--dot { box-shadow: 0 0 0 1px #E8E2DC; }
.ega-swatch-more { font-size: 16px; color: var(--ega-text); }
.product-small .ega-stock-out { display: table; margin: 10px 0 0; padding: 6px 10px; border-radius: 4px; background: #F3F0EC; color: var(--ega-pink-dark); font-size: 12px; font-weight: 600; line-height: 18px; }
.ega-flash-stock { display: none; }
.ega-products--flash .ega-flash-stock { display: none; }
.ega-flash-stock__label { display: block; margin-bottom: 6px; color: var(--ega-pink); font-size: 13px; font-weight: 600; }
.ega-flash-stock__bar { display: block; height: 8px; border-radius: 9999px; background: var(--ega-pink-soft); overflow: hidden; }
.ega-flash-stock__bar > span { display: block; height: 100%; min-width: 16px; border-radius: 9999px; background: linear-gradient(90deg, var(--ega-yellow-kids), var(--ega-pink)); }
.product-small .add-to-cart-button, .product-small .category, .product-small .star-rating { display: none; }
@media (max-width: 767px) {
	.product-small .product-title, .ega-home-tabs .product-small .name.product-title { font-size: 14px; }
	.product-small .price ins, .product-small .price > .amount { font-size: 14px; }
	.product-small .price del { font-size: 11px; }
	.product-small .price-wrapper { column-gap: 4px; }
	.ega-sale-pill { padding: 2px 5px; font-size: 10px; }
}
@media (max-width: 1024px) {
	.ega-swatch { width: 30px; height: 30px; }
}
/* Store pages + Khuyến mãi (page 721): the reference's card keeps the price box and swatches at the
   card bottom (.mt-auto), so cards of one row line up; titles are 14px on phones (the .name rule above
   outranked the 14px phone rule). */
body.woocommerce .product-small.box, body.page-id-721 .product-small.box { display: flex; flex-direction: column; }
body.woocommerce .product-small.box > .box-text, body.page-id-721 .product-small.box > .box-text { display: flex; flex: 1 1 auto; flex-direction: column; }
body.woocommerce .product-small.box .price-wrapper, body.page-id-721 .product-small.box .price-wrapper { margin-top: auto; padding-top: 10px; }
@media (max-width: 767px) {
	body.woocommerce .product-small .name.product-title, body.page-id-721 .product-small .name.product-title { font-size: 14px; }
}

/* ==========================================================================
   8. Home page (page "trang-chu", sections .ega-home-*)
   ========================================================================== */
/* horizontal scrollers = the reference's carousels (first view identical, swipe for more) */
.ega-hscroll, .ega-hscroll > .row, .ega-hscroll.row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.ega-hscroll::-webkit-scrollbar, .ega-hscroll > .row::-webkit-scrollbar { display: none; }
.ega-hscroll > .col, .ega-hscroll > .row > .col { flex-shrink: 0; scroll-snap-align: start; }
/* carousel chrome added by main.js (initCarousels): arrows and page dots */
.ega-has-arrows { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ega-section-head .ega-has-arrows > .ega-heading { min-width: 0; margin-bottom: 0 !important; }
.ega-arrows { display: flex; flex: 0 0 auto; gap: 8px; }
.ega-arrow, .ega-arrow:hover, .ega-arrow:focus {
	width: 36px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid #E5DED8;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2D52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
	box-shadow: none;
	cursor: pointer;
}
.ega-arrow--prev { transform: scaleX(-1); }
.ega-arrow:disabled { opacity: .5; cursor: default; }
.ega-has-side-arrows { position: relative; }
.ega-arrows--side { position: absolute; left: -16px; right: -16px; top: 50%; z-index: 4; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.ega-arrows--side .ega-arrow { width: 32px; height: 32px; background-size: 14px 14px; box-shadow: 0 2px 8px rgba(43, 45, 82, .12); pointer-events: auto; }
.ega-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.ega-dots:empty { display: none; }
.ega-dots > span { width: 16px; height: 4px; border-radius: 4px; background: #C9C2BD; }
.ega-dots > span.is-active { background: var(--ega-pink); }
@media (max-width: 1023px) {
	.ega-arrows--side { display: none; }
}

.page-template-page-blank #content > .section, .ega-home-coupons, .ega-home-flash, .ega-home-collections, .ega-home-tabs,
.ega-home-hotspots, .ega-home-banners, .ega-home-new, .ega-home-bundle, .ega-home-policies, .ega-home-videos,
.ega-home-brands, .ega-home-blog { margin-top: 64px; }
.ega-home-hero { margin-top: 0 !important; }
[class*="ega-home-"] > .section-content > .row > .col { padding-bottom: 0; }
.ega-round-img.img, .ega-brand.img, .ega-insta-img.img, .ega-video__img.img, .ega-coll__img.img, .ega-coupon__icon.img, .ega-policy__icon.img, .ega-flash-icon.img { margin-bottom: 0 !important; }
/* the reference's carousel dots under coupons / flash sale / collections (first slide active) */
.ega-dots-after { position: relative; }
.ega-dots-after::after { content: ""; position: absolute; left: 50%; bottom: 12px; width: 28px; height: 4px; transform: translateX(-50%); background: linear-gradient(90deg, var(--ega-pink) 0 12px, transparent 12px 16px, #C9C2BD 16px 28px); border-radius: 4px; }
.ega-home-banner { margin-top: 64px; }
.ega-home-insta { margin-top: 48px; padding: 40px 0 !important; }
body.home .ega-footer, .page-id-662 .ega-footer { margin-top: 0; }
#content .ega-section-head .col { padding-bottom: 0; }
.ega-section-head .ega-heading, .ega-section-head .ega-heading h2 { margin-bottom: 32px; line-height: 1.6; }
.ega-heading h2 a { color: inherit; }
.ega-btn.ega-more { display: flex; width: max-content; margin: 8px auto 0; padding: 12px 24px; }
.ega-round-img img, .ega-round-img .img-inner { border-radius: 18px; }
.ega-round-img img, .ega-brand img, .ega-insta-img img, .ega-video__img img, .ega-coll__img img { display: block; }
.ega-round-img .img-inner, .ega-brand .img-inner { line-height: 0; }
.ega-round-img { margin: 0; }

/* hero */
.ega-hero-slider .flickity-page-dots { bottom: 10px; }
.ega-hero-slider .flickity-page-dots .dot { width: 16px; height: 4px; border-radius: 4px; margin: 0 3px; border: 0; background: #fff; opacity: .7; }
.ega-hero-slider .flickity-page-dots .dot.is-selected { width: 24px; background: var(--ega-pink); opacity: 1; }
.ega-hero-slider .img, .ega-hero-slider .img-inner { margin: 0; }
.ega-hero-slider img { width: 100%; display: block; }

/* coupons */
.ega-coupons-panel {
	padding: 30px 24px;
	border-radius: 18px;
	background: url("https://wpatest16.wpagent.site/wp-content/uploads/2026/10/coupon_bg_image.png") center / cover no-repeat, #FCEFF3;
	align-items: center;
}
html body .ega-coupons-panel { max-width: 1320px; }
.ega-coupons-panel > .col { padding-bottom: 0; }
.ega-coupons-panel > .ega-coupons-list { padding-bottom: 46px !important; }
.ega-coupons-list.ega-dots-after::after { bottom: 0; }
.ega-coupons-intro { flex: 0 0 calc(20% + 15px) !important; max-width: calc(20% + 15px) !important; padding-right: 5px !important; }
.ega-coupons-list { flex: 1 1 0 !important; max-width: none !important; min-width: 0; }
.ega-coupons-title { text-align: center; }
.ega-coupons-title h2 {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-family: var(--ega-font-heading);
	font-size: 28px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--ega-navy);
}
.ega-coupons-title h2 span { color: var(--ega-pink); }
.ega-coupons-title p { margin: 12px 0 0; color: var(--ega-navy); line-height: 1.45; }
.ega-coupons-row { margin: 0 -8px !important; }
.ega-coupons-row > .col { flex: 0 0 25%; max-width: 25%; padding: 0 8px; }
.ega-coupon > .col-inner {
	--accent: var(--ega-pink);
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	height: 100%;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	transition: transform .2s ease;
}
.ega-coupon > .col-inner:hover { transform: translateY(-2px); }
.ega-coupon--orange > .col-inner { --accent: #F5A524; }
.ega-coupon--green > .col-inner { --accent: #2FB37A; }
.ega-coupon--blue > .col-inner { --accent: #3B82F6; }
.ega-coupon--purple > .col-inner { --accent: #8B5CF6; }
.ega-coupon--teal > .col-inner { --accent: #14B8A6; }
.ega-coupon__icon { display: flex; align-items: center; justify-content: center; margin: 0; background: linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #fff)); }
.ega-coupon__icon .img-inner { display: flex; align-items: center; justify-content: center; }
.ega-coupon__icon img { width: 32px; height: 32px; object-fit: contain; }
.ega-coupon__body { padding: 12px 10px 10px 14px; display: flex; flex-direction: column; gap: 4px; }
.ega-coupon__body p { margin: 0; }
.ega-coupon__title { font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--accent); }
.ega-coupon__desc { font-size: 13px; line-height: 1.45; color: #666; }
.ega-coupon__meta { font-size: 12px; line-height: 1.4; color: #666; opacity: .75; }
.ega-coupon__action { position: relative; margin-top: 6px !important; }
.ega-coupon__code {
	display: block;
	padding: 8px 40px 8px 12px;
	border: 1.5px dashed color-mix(in srgb, var(--accent) 55%, #fff);
	border-radius: 9999px;
	background: color-mix(in srgb, var(--accent) 6%, #fff);
	color: var(--accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .02em;
}
.ega-copy {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-size: 0;
	background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='8' y='8' width='12' height='12' rx='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}
.ega-coupon .ega-copy, .ega-coupon .text a.ega-copy { font-size: 0 !important; color: transparent; overflow: hidden; }
.ega-coupon.is-copied .ega-copy { background-image: none; font-size: 14px; color: #fff; text-align: center; line-height: 28px; }
.ega-coupon.is-copied .ega-copy::after { content: "\2713"; }

/* flash sale */
.ega-flash-panel {
	position: relative;
	padding: 40px;
	border-radius: 18px;
	background: url("https://wpatest16.wpagent.site/wp-content/uploads/2026/10/flashsale_bg_image.jpg") center / cover no-repeat, #FEDAE2;
	align-items: center;
}
html body .ega-flash-panel { max-width: 1320px; }
.ega-flash-panel > .col { padding-bottom: 0; }
.ega-flash-panel > .ega-flash-products { padding-bottom: 34px !important; }
.ega-flash-products.ega-dots-after::after { bottom: 0; }
.ega-flash-intro { flex: 0 0 250px !important; max-width: 250px !important; text-align: center; }
.ega-flash-intro > .col-inner { display: flex; flex-direction: column; align-items: center; position: relative; }
.ega-flash-products { flex: 1 1 0 !important; max-width: none !important; min-width: 0; padding-left: 40px !important; padding-right: 0 !important; }
.ega-flash-icon { position: absolute; left: 0; top: 4px; width: 64px !important; margin: 0; transform: rotate(-8deg); }
.ega-flash-title h2 {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding-left: 40px;
	font-family: var(--ega-font-heading);
	font-size: 54px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--ega-pink);
}
.ega-flash-title h2 span { color: var(--ega-navy); }
.ega-flash-sub { margin: 12px auto 16px; max-width: 240px; line-height: 1.45; color: var(--ega-navy); }
.ega-countdown { margin-bottom: 20px; }
.ega-countdown p { margin: 0; }
.ega-countdown__label { margin-bottom: 8px !important; font-size: 14px; font-weight: 600; color: var(--ega-navy); }
.ega-countdown__boxes { display: flex; justify-content: center; gap: 8px; }
.ega-countdown__box { display: flex; flex-direction: column; align-items: center; width: 54px; padding: 6px 0; border-radius: 12px; background: #fff; box-shadow: 0 3px 8px rgba(43, 45, 82, .08); }
.ega-countdown__box b { color: var(--ega-navy); font-size: 20px; font-weight: 800; line-height: 1; }
.ega-countdown__box small { display: block; font-size: 11px; font-weight: 600; color: var(--ega-muted); }
.button.ega-btn.ega-flash-cta { margin: 0; background: var(--ega-yellow-kids); border-color: var(--ega-yellow-kids); color: var(--ega-navy); }
.button.ega-btn.ega-flash-cta:hover { background: #F2B01E; border-color: #F2B01E; color: var(--ega-navy); }
.ega-products--flash.row { margin: 0 -8px; }
.ega-products--flash .product-small.col { flex: 0 0 28.5714%; max-width: 28.5714%; padding: 0 8px; }

/* collection tiles */
.ega-coll-row { margin-left: -8px !important; margin-right: -8px !important; }
html body .ega-coll-row { max-width: 1336px; }
.ega-coll-row > .col { flex: 0 0 236px; max-width: 236px; padding: 0 8px; }
.ega-coll-row { margin-top: 10px !important; padding-bottom: 34px; }
.ega-coll > .col-inner { position: relative; aspect-ratio: 1 / 1.1; border-radius: 20px; overflow: hidden; background: linear-gradient(180deg, #fff -40%, #fcfced 100%); }
.ega-coll__img, .ega-coll__img .img-inner, .ega-coll__img a { display: block; width: 100%; height: 100%; margin: 0; }
.ega-coll__img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .6s ease; }
.ega-coll:hover .ega-coll__img img { transform: scale(1.05); }
.ega-coll__label {
	--accent: #F2487A;
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	height: 72px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 6px 44px 0 12px;
	border-radius: 20px 20px 18px 18px;
	background: rgba(255, 255, 255, .75);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.ega-coll__label::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
	background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M10 7l5 5-5 5'/%3E%3C/svg%3E") no-repeat center / 14px 14px;
	transition: transform .3s ease;
}
.ega-coll:hover .ega-coll__label::after { transform: translateY(-50%) translateX(3px); }
.ega-coll__label p { margin: 0; }
.ega-coll__title { font-size: 16px; font-weight: 700; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ega-coll__title a { color: var(--ega-text); }
.ega-coll__desc { font-size: 13px; line-height: 1.3; color: var(--ega-neutral-300); }
.ega-coll--1 { --tint: #fde3ea; } .ega-coll--1 .ega-coll__label { --accent: #F2487A; }
.ega-coll--2 .ega-coll__label { --accent: #2E8B57; }
.ega-coll--3 .ega-coll__label { --accent: #F58220; }
.ega-coll--4 .ega-coll__label { --accent: #2F7BEA; }
.ega-coll--5 .ega-coll__label { --accent: #A03FC4; }
.ega-coll--6 .ega-coll__label { --accent: #1E9E94; }
.ega-coll--7 .ega-coll__label { --accent: #E8604C; }
.ega-coll--8 .ega-coll__label { --accent: #14A8C4; }

/* product tabs: heading left, pills right on the same line */
.ega-home-tabs { position: relative; }
.ega-tabs-row > .col { padding-bottom: 0; }
.ega-tabs > .nav { position: absolute; right: 15px; left: auto; top: -78px; width: auto; display: flex; gap: 0; margin: 0; padding: 4px; border-radius: 9999px; background: var(--ega-cream); }
.ega-tabs > .nav > li { margin: 0; }
.ega-tabs > .nav > li > a {
	display: inline-flex;
	align-items: center;
	padding: 7px 20px;
	border-radius: 9999px;
	background: transparent;
	color: var(--ega-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
.ega-tabs > .nav > li.active > a { background: var(--ega-pink); color: #fff; font-weight: 600; box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
.ega-tabs .tab-panels { padding-top: 0; }
.ega-products > .row, .ega-products.row { margin-left: -12px; margin-right: -12px; }
.ega-products .product-small.col { padding-left: 12px; padding-right: 12px; }

/* hot spots */
.ega-hotspots-row { align-items: center; }
.ega-hotspots-row > .col { padding-bottom: 0; }
.ega-hotspots-media { flex: 0 0 57.85% !important; max-width: 57.85% !important; padding-right: 24px !important; }
.ega-hotspots-text { flex: 1 1 0 !important; max-width: none !important; padding-left: 24px !important; }
.ega-hotspots-text .ega-heading h2 { margin-bottom: 24px; }
.ega-hotspots-copy li { position: relative; padding-left: 20px; }
.ega-hotspots-copy li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--ega-pink); }
.ega-hs-banner, .ega-bundle-banner { border-radius: 12px; overflow: hidden; }
.ega-hs .hotspot { width: 20px; height: 20px; line-height: 20px; padding: 0; border-radius: 50%; background: #fff; color: var(--ega-text); font-size: 10px; box-shadow: 0 0 0 6px rgba(255, 255, 255, .45); }
.ega-hs { transform: translate(-50%, -50%); }
.ega-hs-1 { left: 19% !important; top: 29% !important; }
.ega-hs-2 { left: 19.5% !important; top: 63% !important; }
.ega-hs-3 { left: 84.5% !important; top: 32% !important; }
.ega-hs-4 { left: 73.5% !important; top: 60% !important; }
.ega-hs-5 { left: 83.5% !important; top: 76.5% !important; }
.ega-hs-n1 { left: 67.8% !important; top: 57.4% !important; }
.ega-hs-n2 { left: 63.48% !important; top: 6.05% !important; }
.ega-hs-n3 { left: 45.5% !important; top: 47% !important; }
.ega-hs-n1 .hotspot i, .ega-hs-n2 .hotspot i, .ega-hs-n3 .hotspot i { display: none; }
.ega-hs-n1 .hotspot::before { content: "1"; }
.ega-hs-n2 .hotspot::before { content: "2"; }
.ega-hs-n3 .hotspot::before { content: "3"; }
.ega-hs-n1 .hotspot, .ega-hs-n2 .hotspot, .ega-hs-n3 .hotspot { width: 24px; height: 24px; line-height: 24px; font-size: 13px; font-weight: 700; color: var(--ega-navy); }
.ega-hotspots-copy p { margin: 0 0 16px; font-size: 16px; line-height: 1.5; }
.ega-hotspots-copy ul { margin: 0 0 24px; padding: 0; list-style: none; }
.ega-hotspots-copy li { margin: 0 0 8px; padding: 0; line-height: 1.5; }

/* banner group */
.ega-banner-row { margin-left: -8px !important; margin-right: -8px !important; }
html body .ega-banner-row { max-width: 1336px; }
.ega-banner-row > .col { padding: 0 8px; }

/* bundle */
.ega-bundle-row { align-items: center; }
.ega-bundle-row > .col { padding-bottom: 0; }
.ega-bundle-media { flex: 0 0 calc(40% + 3px) !important; max-width: calc(40% + 3px) !important; padding-right: 20px !important; }
.ega-bundle-products { flex: 1 1 0 !important; max-width: none !important; padding-left: 20px !important; }
.ega-products--bundle .product-small.col { flex: 0 0 33.333%; max-width: 33.333%; padding-left: 7.5px; padding-right: 7.5px; }
.ega-products--bundle.row { margin-left: -7.5px; margin-right: -7.5px; }
.button.ega-btn.ega-bundle-add { display: flex; width: max-content; margin: 30px auto 0; }
@media (min-width: 1024px) {
	.ega-bundle-row { align-items: flex-start; }
	.ega-bundle-products { padding-top: 34px !important; }
	.button.ega-btn.ega-bundle-add { margin-bottom: 25px; }
}
.ega-products--bundle .product-small.col { padding-bottom: 0; }
/* bundle = the reference's .bundle-grid: right column header mb 16, grid mb 16, "Thêm tất cả" mt 24 and 58px high
   (50 <=767); <=1023 one column, 15px gap, py 8, full-width button, select 46px; <=767 200px cards scroller */
.button.ega-btn.ega-bundle-add { height: 58px; min-height: 58px; min-width: 320px; margin: 40px auto 0; justify-content: center; }
@media (min-width: 1024px) {
	.ega-bundle-products { padding-top: 24px !important; }
	.button.ega-btn.ega-bundle-add { margin: 48px auto 0; }
}
@media (max-width: 1023px) {
	html body .ega-bundle-media, html body .ega-bundle-products { padding-left: 12px !important; padding-right: 12px !important; }
	html body .ega-bundle-products { padding-top: 39px !important; padding-bottom: 8px !important; }
	.button.ega-btn.ega-bundle-add { width: 100%; min-width: 0; }
	.ega-products--bundle .ega-variant-select { height: 43px; }
}
@media (max-width: 767px) {
	.button.ega-btn.ega-bundle-add { height: 50px; min-height: 50px; }
	.ega-products--bundle.row { margin-left: -4px; margin-right: -4px; }
	html body .ega-products--bundle .product-small.col { flex: 0 0 209px; max-width: 209px; padding-left: 4px; padding-right: 4px; }
	.ega-products--bundle .ega-variant-select { height: 40px; }
}

/* policies */
.ega-policies-row { margin-left: -12px !important; margin-right: -12px !important; }
html body .ega-policies-row { max-width: 1344px; }
.ega-policies-row > .col { padding: 0 12px; }
.ega-policy > .col-inner {
	--bg: #FFF1E6;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 30px 16px 26px;
	border-radius: 20px;
	background: var(--bg);
	outline: 2px dashed color-mix(in srgb, var(--bg), #4A4452 18%);
	outline-offset: -8px;
	text-align: center;
	transition: transform .25s ease;
}
.ega-policy > .col-inner:hover { transform: translateY(-4px); }
.ega-policy--2 > .col-inner { --bg: #EAF5FF; }
.ega-policy--3 > .col-inner { --bg: #E9F8F0; }
.ega-policy--4 > .col-inner { --bg: #FFEFF4; }
.ega-policy__icon { width: 84px !important; height: 84px; margin: 0; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }
.ega-policy__icon .img-inner { display: flex; align-items: center; justify-content: center; height: 100%; }
.ega-policy__icon img { width: 64px; height: 64px; object-fit: contain; }
.ega-policy__text h3 { margin: 0 0 4px; font-family: var(--ega-font-body); font-size: 17px; font-weight: 700; line-height: 1.35; color: var(--ega-navy); }
.ega-policy__text p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ega-muted); }

/* video review */
.ega-video-row { margin-left: -8px !important; margin-right: -8px !important; }
html body .ega-video-row { max-width: 1336px; }
.ega-video-row > .col { flex: 0 0 20%; max-width: 20%; padding: 0 8px; }
.ega-video__img { position: relative; margin: 0; border-radius: 18px; overflow: hidden; }
.ega-video__img img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; }
.ega-video > .col-inner { position: relative; }
.ega-video__cap { position: absolute; left: 8px; right: 8px; bottom: 8px; }
.ega-video__cap p { margin: 0; }
.ega-video__cap a {
	display: block;
	padding: 8px 40px 8px 12px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, .92);
	color: var(--ega-text);
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
}
.ega-video__cap a::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--ega-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M10 7l5 5-5 5'/%3E%3C/svg%3E") no-repeat center / 12px 12px;
}
.ega-video__img a::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(255, 255, 255, .45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat 55% center / 18px 18px;
}

/* brands */
/* reference .scrolling-promotion: item 140 + padding 0 32 (110 + 0 20 under 768), 5 items move -100% in 60s */
.ega-brand-strip > .col-inner { display: flex; align-items: center; gap: 64px; padding: 10px 32px; overflow: hidden; border-radius: 18px; background: #FFF8EF; }
.ega-brand-strip .ega-brand { flex: 0 0 140px; animation: ega-marquee 60s linear infinite; }
@keyframes ega-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-5 * (140px + 64px))); } }
@keyframes ega-marquee-sm { from { transform: translateX(0); } to { transform: translateX(calc(-5 * (110px + 40px))); } }
@media (prefers-reduced-motion: reduce) { .ega-brand-strip .ega-brand { animation: none; } }
.ega-brand { width: 140px !important; height: 48px; margin: 0; display: flex; align-items: center; justify-content: center; }
.ega-brand img { max-width: 140px; max-height: 48px; width: auto; height: auto; object-fit: contain; }

/* blog teasers */
.ega-blog-posts .col { padding-bottom: 0; }
.ega-blog-posts .box-blog-post { border-radius: 20px; }
.ega-blog-posts .box-image { border-radius: 18px; overflow: hidden; }
.ega-blog-posts .box-text { padding: 12px 0 0; text-align: left; }
.ega-blog-posts .box-text-inner { display: flex; flex-direction: column; }
.ega-blog-posts .post-meta { order: -1; margin: 0 0 6px; font-size: 12px; }
.ega-blog-posts .from_the_blog_excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ega-muted); }
.ega-home-blog .ega-more { margin-top: 56px; }
.ega-blog-posts .post-title { margin: 4px 0 6px; font-family: var(--ega-font-body); font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--ega-navy); }
.ega-blog-posts .post-meta { font-size: 13px; color: var(--ega-muted); }
.ega-blog-posts .is-divider { display: none; }
.ega-blog-posts .from_the_blog_excerpt { font-size: 14px; line-height: 1.5; color: var(--ega-text); }
/* blog teasers = the reference's .card-article: 24px gutters (container 1320), body py 16 (12 <=1023) */
.ega-home-blog .ega-blog-posts.row { margin-left: -12px; margin-right: -12px; }
html body .ega-home-blog .ega-blog-posts.row { max-width: 1344px; }
.ega-home-blog .ega-blog-posts .col { padding-left: 12px; padding-right: 12px; }
.ega-home-blog .ega-blog-posts .box-text { padding: 16px 0; }
.ega-home-blog .ega-blog-posts .post-title { margin: 0 0 6px; max-height: 2.8em; overflow: hidden; }
.ega-home-blog .button.ega-btn.ega-more { margin-top: 37px; }
html body .ega-policies-row { row-gap: 24px; }
html body .ega-policies-row > .col { padding-bottom: 0; }
@media (min-width: 1024px) { .ega-home-blog .ega-section-head .ega-heading h2 { margin-bottom: 41px; } }
@media (min-width: 768px) and (max-width: 1023px) { .ega-home-blog .button.ega-btn.ega-more { margin-top: 61px; } }
@media (max-width: 1023px) { .ega-home-blog .button.ega-btn.ega-more { width: 100%; justify-content: center; } }
@media (max-width: 767px) {
	.ega-home-blog .button.ega-btn.ega-more { margin-top: 46px; }
	html body .ega-policies-row { row-gap: 16px; }
}
@media (max-width: 1023px) {
	.ega-home-blog .ega-section-head > .col, .ega-home-policies .ega-section-head > .col, .ega-home-blog > .section-content > .row:not(.ega-section-head) > .col { padding-left: 12px; padding-right: 12px; }
	.ega-home-blog .ega-blog-posts .box-text { padding: 12px 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.ega-home-blog .ega-blog-posts .col { flex: 0 0 33.333%; max-width: 33.333%; }
	.ega-home-policies .ega-section-head .ega-heading, .ega-home-policies .ega-section-head .ega-heading h2 { margin-bottom: 24px; }
}
@media (max-width: 767px) {
	.ega-home-blog .ega-blog-posts.row { margin-left: -8px; margin-right: -8px; }
	.ega-home-blog .ega-blog-posts .col { flex: 0 0 304.6px; max-width: 304.6px; padding-left: 8px; padding-right: 8px; }
	.ega-home-policies .ega-heading h2 { white-space: nowrap; }
}

/* community (instagram) */
.ega-home-insta { background-color: #FFEFCB; }
.ega-insta-panel { align-items: center; padding: 20px 24px; border-radius: 24px; background: #FFFBF3; }
html body .ega-insta-panel { max-width: 1320px; }
.ega-insta-panel > .col { padding-bottom: 0; }
.ega-insta-intro { flex: 0 0 260px !important; max-width: 260px !important; padding: 0 !important; }
.ega-insta-photos { flex: 1 1 0 !important; max-width: none !important; min-width: 0; padding: 0 20px !important; }
.ega-insta-aside { flex: 0 0 180px !important; max-width: 180px !important; padding: 0 !important; text-align: center; }
.ega-insta-heading h2 { margin: 0 0 12px; font-size: 20px; line-height: 1.25; }
.ega-insta-heading p { margin: 0; font-family: var(--ega-font-body); font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--ega-text); }
.ega-insta-row { margin: 0 !important; }
.ega-insta-row > .col { flex: 0 0 25%; max-width: 25%; padding: 0 8px 0 0; }
.ega-insta-img { margin: 0; border-radius: 18px; overflow: hidden; }
.ega-insta-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.ega-insta-aside__text p { margin: 0 0 10px; line-height: 1.5; }
.ega-insta-hashtag { margin: 0 !important; color: var(--ega-pink); font-family: var(--ega-font-heading); font-size: 20px; font-weight: 700; }

/* home: tablet & mobile */
@media (max-width: 1023px) {
	.ega-coupons-intro, .ega-flash-intro, .ega-insta-intro, .ega-insta-aside, .ega-insta-photos, .ega-coupons-list { flex: 0 0 100% !important; max-width: 100% !important; }
	.ega-coupons-title h2 { flex-direction: row; justify-content: center; gap: 8px; font-size: 30px; flex-wrap: wrap; }
	.ega-coupons-title { margin-bottom: 16px; }
	.ega-coupons-row > .col { flex: 0 0 50%; max-width: 50%; }
	.ega-flash-panel { flex-direction: column; flex-wrap: nowrap; align-items: stretch; padding: 32px 16px; }
	.ega-flash-intro, .ega-flash-intro > .col-inner { display: contents; }
	.ega-flash-title { order: 1; text-align: center; }
	.ega-countdown { order: 3; text-align: center; margin: 12px 0 0; }
	.ega-flash-products { order: 4; flex: 0 0 auto !important; width: 100%; max-width: 100% !important; padding: 12px 0 34px !important; }
	.button.ega-btn.ega-flash-cta { order: 5; align-self: center; margin-top: 8px; }
	.ega-flash-icon { position: absolute; left: calc(50% - 118px); top: 30px; width: 30px !important; z-index: 2; }
	.ega-flash-sub { margin: 8px auto 0; max-width: none; }
	.ega-flash-title h2 { flex-direction: row; justify-content: center; gap: 8px; font-size: 30px; padding-left: 0; }
	.ega-products--flash .product-small.col { flex: 0 0 33.333%; max-width: 33.333%; }
	.ega-coll__title { font-size: 14px; }
	.ega-coll__desc { font-size: 12px; }
	.ega-home-new .product-small.col { flex: 0 0 27.5%; max-width: 27.5%; }
	.ega-coll-row > .col { flex: 0 0 22%; max-width: 22%; }
	.ega-hotspots-media, .ega-bundle-media, .ega-bundle-products { flex: 0 0 100% !important; max-width: 100% !important; padding-left: 15px !important; padding-right: 15px !important; }
	.ega-hotspots-text { padding-left: 15px !important; margin-top: 24px; }
	.ega-video-row > .col { flex: 0 0 20%; max-width: 20%; }
	.ega-insta-photos { padding: 0 !important; margin: 16px 0; }
	.ega-insta-intro, .ega-insta-aside { text-align: center; }
}
@media (max-width: 767px) {
	.ega-home-coupons, .ega-home-flash, .ega-home-collections, .ega-home-tabs, .ega-home-new, .ega-home-bundle, .ega-home-blog { margin-top: 32px; }
	.ega-home-hotspots { margin-top: 64px; }
	.ega-home-banners, .ega-home-policies, .ega-home-videos, .ega-home-brands { margin-top: 24px; }
	.ega-home-insta { margin-top: 32px; padding: 24px 0 !important; }
	.ega-heading, .ega-heading h2 { font-size: 28px; }
	.ega-section-head .ega-heading, .ega-section-head .ega-heading h2 { margin-bottom: 16px; }
	.ega-coupons-row > .col { flex: 0 0 80%; max-width: 80%; }
	.ega-products--flash .product-small.col, .ega-home-new .product-small.col, .ega-products--bundle .product-small.col { flex: 0 0 57%; max-width: 57%; }
	.ega-home-tabs .product-small.col { padding-left: 6px; padding-right: 6px; padding-bottom: 12px; }
	.ega-home-tabs .ega-products.row { margin-left: -6px; margin-right: -6px; }
	.ega-blog-posts.row, .ega-blog-posts .row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.ega-blog-posts .col { flex: 0 0 80%; max-width: 80%; }
	.ega-policy > .col-inner { padding: 20px 12px 18px; outline-offset: -6px; }
	.ega-policy__icon { width: 64px !important; height: 64px; }
	.ega-policy__icon img { width: 48px; height: 48px; }
	.ega-policy__text h3 { font-size: 15px; }
	.ega-policy__text p { font-size: 13px; }
	.ega-policies-row > .col { padding: 0 6px 12px; }
	.ega-policies-row { margin-left: -6px !important; margin-right: -6px !important; }
	.ega-coll-row > .col { flex: 0 0 64%; max-width: 64%; }
	.ega-coll__title { font-size: 18px; }
	.ega-coll__desc { font-size: 14px; }
	.ega-banner-row > .col { flex: 0 0 61.3%; max-width: 61.3%; }
	.ega-video-row > .col { flex: 0 0 57%; max-width: 57%; }
	.ega-insta-row > .col { flex: 0 0 57%; max-width: 57%; padding-right: 6px; }
	.ega-tabs > .nav { position: static; margin-bottom: 16px; }
	.ega-home-new .button.ega-more { display: flex; justify-content: center; width: 100%; margin-top: 40px; }
	.ega-policies-row > .col { padding-bottom: 12px; }
}
/* §4 tabs = the reference's .section-product-tabs: 4/2 cols with 16px gaps (12px <=767), container 12px <=1023,
   "Xem tất cả" 40px under the grid (full width <=1023), 42px pill bar; mobile bar full width under the heading */
html body .ega-home-tabs .ega-tabs-row { max-width: 1350px; }
.ega-home-tabs .ega-products.row { margin-left: -8px; margin-right: -8px; }
.ega-home-tabs .ega-products .product-small.col { padding: 0 8px 16px; }
.ega-home-tabs .button.ega-btn.ega-more { height: 50px; min-height: 50px; margin-top: 24px; }
.ega-tabs > .nav > li > a { line-height: 20px; }
@media (max-width: 1023px) {
	.ega-home-tabs .ega-section-head > .col, .ega-home-tabs .ega-tabs-row > .col { padding-left: 12px; padding-right: 12px; }
	.ega-home-tabs .button.ega-btn.ega-more { width: 100%; }
}
@media (max-width: 767px) {
	.ega-home-tabs .ega-products.row { margin-left: -6px; margin-right: -6px; }
	.ega-home-tabs .ega-products .product-small.col { padding: 0 6px 12px; }
	.ega-home-tabs .button.ega-btn.ega-more { margin-top: 28px; }
	.ega-tabs > .nav { width: 100%; margin: 10px 0 32px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.ega-tabs > .nav > li > a { padding: 8px 16px; font-size: 13px; line-height: 18px; white-space: nowrap; }
}

/* ==========================================================================
   9. Store: shop / category / search (woocommerce/archive-product.php)
   ========================================================================== */
.ega-breadcrumbs.ega-store-crumbs { margin-bottom: 0; }
.ega-shop-banner { margin-top: 0; }
.ega-shop-banner .img, .ega-shop-banner .img-inner { margin: 0; line-height: 0; }
.ega-shop-banner img { display: block; width: 100%; height: auto; }
.ega-shop-banner .section-content > .row > .col { padding-bottom: 0; }

/* coupons ("Mã giảm giá hôm nay") */
.ega-shop-coupons { margin: 64px 0; }
.row.ega-shop-coupons__wrap { max-width: 1320px; }
.ega-shop-coupons__col { padding: 30px 24px 46px !important; }
.ega-shop-coupons__col.ega-dots-after::after { bottom: 30px; }
.ega-shop-coupons__title { margin-bottom: 16px; }
.ega-shop-coupons__title h2 { margin: 0 0 4px; font-family: var(--ega-font-body); font-size: 32px; font-weight: 600; line-height: 1.4; color: var(--ega-navy); }
.ega-shop-coupons__title p { margin: 0; font-size: 17px; line-height: 1.5; color: var(--ega-navy); }
.ega-shop-coupons .ega-coupons-row { padding: 0 0 12px; }
.ega-shop-coupons .ega-coupons-row > .col { padding: 0 8px; }
.ega-shop-coupons .ega-coupon > .col-inner { box-shadow: 0 2px 10px rgba(43, 45, 82, .1); }

/* catalogue: filters | title + sort + grid */
.row.ega-catalog { max-width: 1320px; margin: 0 auto 64px; }
.ega-catalog > .col { padding-bottom: 0; }
@media (min-width: 850px) {
	.row.ega-catalog { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: 24px; }
	.ega-catalog > .col { flex: none; width: auto; max-width: none; padding: 0; }
}
.ega-catalog__filters { padding: 0 !important; }
.ega-catalog__filters-head { padding: 16px 0 8px; font-family: var(--ega-font-heading); font-size: 22px; font-weight: 700; color: var(--ega-navy); }
.ega-filter { padding: 20px 0; border-bottom: 1px solid var(--ega-line); }
.ega-filter:first-child { padding-top: 0; }
.ega-filter:last-of-type { border-bottom: 0; }
.ega-filter__title { margin: 0 0 12px; font-family: var(--ega-font-body); font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--ega-navy); }
.ega-filter__list { margin: 0; padding: 0; list-style: none; }
.ega-filter__item { margin: 0 0 12px; padding-left: 4px; list-style: none; }
.ega-filter__item:last-child { margin-bottom: 0; }
.ega-filter__item.is-extra { display: none; }
.ega-filter.is-open .ega-filter__item.is-extra { display: block; }
.ega-check { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; font-weight: 400; line-height: 23px; color: var(--ega-text); cursor: pointer; }
.ega-check input {
	-webkit-appearance: none;
	appearance: none;
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid #E6E1DD;
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	cursor: pointer;
}
.ega-check input:checked { border-color: var(--ega-navy); background: var(--ega-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 10px 10px; }
.ega-check--radio input:checked { background: #fff; box-shadow: inset 0 0 0 4px var(--ega-navy); }
.ega-check:hover span { color: var(--ega-navy); }
.ega-filter__more { display: inline-flex; align-items: center; gap: 6px; min-height: 0; margin: 12px 0 0 26px; padding: 0; border: 0; background: none; font-family: var(--ega-font-body); font-size: 17px; font-weight: 400; line-height: 23px; text-transform: none; letter-spacing: 0; color: var(--ega-teal); cursor: pointer; }
.ega-filter__more::after { content: ""; width: 8px; height: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314A39A' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform .2s; }
.ega-filter.is-open .ega-filter__more::after { transform: rotate(180deg); }
.ega-filters__clear { display: inline-block; margin: 0 0 16px; font-size: 15px; color: var(--ega-pink-dark); text-decoration: underline; }
.ega-filters__submit { margin-top: 12px; }

.ega-catalog__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.ega-catalog__title { margin: 0; font-family: var(--ega-font-heading); font-size: 36px; font-weight: 700; line-height: 1.3; color: var(--ega-navy); }
.ega-catalog__tools { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.ega-sort { display: flex; align-items: center; gap: 8px; margin: 0 !important; }
.ega-sort__label { margin: 0; font-size: 17px; font-weight: 400; color: var(--ega-muted); white-space: nowrap; }
select.ega-sort__select {
	width: auto;
	min-width: 130px;
	height: 46px;
	margin: 0;
	padding: 0 34px 0 12px;
	border: 1px solid var(--ega-line);
	border-radius: 8px;
	background-color: #fff;
	box-shadow: none;
	font-family: var(--ega-font-body);
	font-size: 16px;
	color: var(--ega-text);
}
.ega-filter-btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 1px solid var(--ega-line); border-radius: 8px; color: var(--ega-navy); font-weight: 700; }
.ega-filter-btn::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2D52' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") no-repeat center / contain; }
.ega-filter-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--ega-pink); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.ega-filter-count:empty, .ega-filter-count[data-count="0"] { display: none; }

.ega-catalog__main .products.row { margin: 0 -8px; }
.ega-catalog__main .products > .product-small.col { padding: 0 8px 16px; }
.ega-catalog__main .woocommerce-pagination { margin: 32px 0 0; }
.ega-catalog__main > .container, .ega-search-page__results .container { padding: 0; }
.woocommerce-pagination ul.page-numbers.nav-pagination { display: flex; justify-content: center; gap: 8px; margin: 0; }
.woocommerce-pagination ul.page-numbers.nav-pagination > li { margin: 0; }
.woocommerce-pagination .page-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 6px;
	border: 1px solid var(--ega-line);
	border-radius: 4px;
	background: #fff;
	color: var(--ega-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}
.woocommerce-pagination .page-number.current, .woocommerce-pagination .page-number:hover { border-color: var(--ega-navy); background: #fff; color: var(--ega-navy); }
.woocommerce-info.woocommerce-no-products-found, .ega-catalog__main .woocommerce-no-products-found { margin: 0; }

/* the off-canvas filters on tablet / mobile */
.mfp-content #shop-sidebar.ega-catalog__filters { padding: 0 20px 24px !important; }
.mfp-content .ega-catalog__filters-head { display: block !important; }

.ega-shop-collections { margin: 0 0 64px; }

/* search */
.ega-search-page { padding: 48px 0 88px; }
.ega-search-page__title { margin: 0 0 24px; font-family: var(--ega-font-heading); font-size: 36px; font-weight: 700; line-height: 1.3; text-align: center; color: var(--ega-navy); }
.ega-search-form { position: relative; display: flex; max-width: 600px; margin: 0 auto; }
input.ega-search-form__input {
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 64px 0 20px;
	border: 1px solid var(--ega-pink);
	border-radius: 9999px;
	background: #fff;
	box-shadow: none;
	font-family: var(--ega-font-body);
	font-size: 16px;
	color: var(--ega-text);
}
input.ega-search-form__input:focus { border-color: var(--ega-pink); box-shadow: 0 0 0 3px var(--ega-pink-soft); }
.ega-search-form__btn {
	position: absolute;
	right: 6px;
	top: 6px;
	width: 48px;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: var(--ega-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
	cursor: pointer;
}
.ega-search-form__btn:hover { background-color: var(--ega-pink-dark); }
.row.ega-search-page__results { max-width: 1320px; margin: 0 auto; }
.ega-search-page__results > .col { padding: 0; }
.ega-search-page__results .products.row { margin: 0 -12px; }
.ega-search-page__results .products > .product-small.col { padding: 0 12px 24px; }
.ega-search-page__empty { text-align: center; }

@media (max-width: 849px) {
	.ega-shop-coupons { margin: 30px 0; }
	.ega-shop-coupons__col { padding: 0 15px 34px !important; }
	.ega-shop-coupons__col.ega-dots-after::after { bottom: 14px; }
	.ega-shop-coupons__title h2 { font-size: 26px; }
	.ega-shop-coupons__title p { font-size: 15px; }
	.ega-shop-coupons .ega-coupons-row > .col { flex: 0 0 50%; max-width: 50%; }
	.row.ega-catalog { margin-bottom: 40px; }
	.ega-catalog__head { margin-bottom: 16px; }
	.ega-catalog__title { flex: 0 0 100%; font-size: 28px; }
	.ega-catalog__tools { width: 100%; justify-content: space-between; margin-left: 0; }
	.ega-shop-collections { margin-bottom: 40px; }
	.ega-search-page { padding: 32px 0 56px; }
	.ega-search-page__title { font-size: 26px; }
	.ega-search-page__results .products > .product-small.col { padding: 0 6px 12px; }
	.ega-search-page__results .products.row, .ega-catalog__main .products.row { margin: 0 -6px; }
	.ega-catalog__main .products > .product-small.col { padding: 0 6px 12px; }
}
@media (max-width: 549px) {
	.ega-shop-coupons .ega-coupons-row > .col { flex: 0 0 87%; max-width: 87%; }
	.ega-sort__label { font-size: 15px; }
	select.ega-sort__select { height: 40px; font-size: 15px; }
}
.ega-store-crumbs .woocommerce-breadcrumb { margin: 0; font-size: 15px; line-height: 20px; text-transform: none; letter-spacing: 0; color: var(--ega-neutral-300); }
.ega-store-crumbs .woocommerce-breadcrumb .divider { margin: 0 12px; font-weight: 400; opacity: .8; }
.ega-shop-coupons .ega-coupons-row { margin: 0 !important; }
@media (min-width: 850px) {
	.ega-shop-coupons__col { padding-top: 40px !important; }
	.ega-shop-coupons__title h2 { font-size: 28px; }
	.ega-shop-coupons__title p { font-size: 16px; }
	.ega-catalog__head { flex-wrap: nowrap; }
	.ega-catalog__tools { flex: 0 0 auto; }
}
/* pagination as the reference: plain numbers, the current one framed in teal */
.ega-catalog__main .woocommerce-pagination { margin-top: 56px; }
.woocommerce-pagination ul.page-numbers.nav-pagination { gap: 16px; }
.woocommerce-pagination .page-number { border-color: transparent; border-radius: 6px; font-weight: 400; }
.woocommerce-pagination .page-number:hover { border-color: transparent; background: #F3EEEA; color: var(--ega-text); }
.woocommerce-pagination .page-number.current, .woocommerce-pagination .page-number.current:hover { border-color: var(--ega-teal); background: #fff; color: var(--ega-teal); }
.woocommerce-pagination .page-number.prev, .woocommerce-pagination .page-number.next { font-size: 20px; }
.woocommerce-pagination .page-number.is-disabled { opacity: .5; pointer-events: none; }
.ega-filter__more { margin-top: 4px; }
.ega-shop-collections { margin-top: 24px; margin-bottom: 50px; }
/* shop/category collections: same 1336px track as the reference container, slides start at its edge */
html body .ega-shop-collections .section-content > .row { max-width: 1336px; margin-left: auto !important; margin-right: auto !important; }
.ega-shop-collections .ega-section-head > .col { padding-left: 8px; padding-right: 8px; }
.ega-shop-collections .ega-heading h2 { white-space: nowrap; }
@media (max-width: 1023px) {
	html body :is(.ega-shop-collections, .ega-home-collections) .section-content > .row { width: auto; margin-left: 6px !important; margin-right: 6px !important; }
	:is(.ega-shop-collections, .ega-home-collections) .ega-section-head > .col, :is(.ega-shop-collections, .ega-home-collections) .ega-coll-row > .col { padding-left: 6px; padding-right: 6px; }
	:is(.ega-shop-collections, .ega-home-collections) .ega-coll-row > .col { flex: 0 0 22.5%; max-width: 22.5%; }
	.ega-coll__title { font-weight: 600; }
	.ega-coll__label { padding-right: 40px; }
}
@media (max-width: 767px) {
	.ega-shop-collections .ega-heading h2 { white-space: normal; }
	:is(.ega-shop-collections, .ega-home-collections) .ega-coll-row > .col { flex: 0 0 64.8%; max-width: 64.8%; }
}
@media (min-width: 850px) {
	.ega-catalog__head { margin-bottom: 44px; }
}
/* the shop has no #content wrapper, so the heading column kept Flatsome's 30px bottom padding (cards 30-38px low) */
@media (max-width: 1023px) {
	.ega-shop-collections .ega-section-head > .col { padding-bottom: 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.ega-shop-collections .ega-section-head .ega-heading, .ega-shop-collections .ega-section-head .ega-heading h2 { margin-bottom: 25px; }
	.ega-shop-collections { margin-top: 82px; }
}
@media (max-width: 767px) {
	.ega-shop-collections { margin-top: 40px; margin-bottom: 9px; }
}
@media (max-width: 767px) {
	.ega-shop-collections .ega-coll-row.ega-dots-after::after { width: 88px; background: linear-gradient(90deg, var(--ega-pink) 0 16px, transparent 16px 24px, #C9C2BD 24px 40px, transparent 40px 48px, #C9C2BD 48px 64px, transparent 64px 72px, #C9C2BD 72px 88px); }
}
@media (max-width: 849px) {
	.woocommerce-pagination ul.page-numbers.nav-pagination { gap: 8px; }
	.ega-catalog__main .woocommerce-pagination { margin-top: 40px; }
	.woocommerce-pagination .page-number .icon-angle-left, .woocommerce-pagination .page-number .icon-angle-right { display: none; }
}
@media (max-width: 849px) {
	.ega-store-crumbs { padding: 11px 0; }
	.ega-store-crumbs .woocommerce-breadcrumb { font-size: 13px; }
	.ega-store-crumbs .woocommerce-breadcrumb .divider { margin: 0 4px; }
	.ega-shop-coupons__col { padding-top: 8px !important; padding-bottom: 46px !important; }
	.ega-shop-coupons__col.ega-dots-after::after { bottom: 26px; }
	.ega-shop-coupons__title h2 { font-size: 30px; }
	.ega-shop-coupons__title p { font-size: 16px; }
	.ega-shop-coupons { margin-bottom: 18px; }
	.ega-filter-btn { height: 44px; padding: 0 20px; border-radius: 9999px; font-size: 15px; }
	.ega-filter-count { background: #EE1926; }
	.ega-sort__label { font-size: 14px; }
}
.ega-shop-banner { margin-top: 24px; }
.ega-price-contact { color: var(--ega-pink-dark); font-weight: 700; }
@media (min-width: 550px) and (max-width: 849px) {
	.ega-store-crumbs { padding: 12px 0; }
	.ega-store-crumbs .woocommerce-breadcrumb { font-size: 15px; }
	.ega-store-crumbs .woocommerce-breadcrumb .divider { margin: 0 10px; }
	.ega-catalog__head { flex-wrap: nowrap; }
	.ega-catalog__title { flex: 1 1 auto; }
	.ega-catalog__tools { width: auto; flex: 0 0 auto; margin-left: auto; }
}
@media (max-width: 849px) {
	.ega-catalog__main .woocommerce-pagination { margin-top: 56px; }
}
/* fix round 1: voucher block as the reference (dots are 16px bars 8px apart, one per page) */
@media (min-width: 550px) and (max-width: 849px) {
	.ega-shop-coupons__col { padding-top: 43px !important; }
	.ega-shop-coupons__col.ega-dots-after::after { width: 64px; background: linear-gradient(90deg, var(--ega-pink) 0 16px, transparent 16px 24px, #C9C2BD 24px 40px, transparent 40px 48px, #C9C2BD 48px 64px); }
	.ega-shop-coupons { margin-bottom: 10px; }
	.ega-catalog__head { margin-bottom: 50px; }
}
/* desktop: heading/filter 3-4px high, pagination and collections as the reference */
@media (min-width: 850px) {
	.ega-shop-coupons { margin-bottom: 60px; }
	.ega-catalog__head { margin-bottom: 51px; }
	.ega-catalog__main .woocommerce-pagination { margin-top: 65px; }
}
@media (min-width: 1024px) {
	.ega-shop-collections { margin-top: 76px; }
}
@media (max-width: 549px) {
	.ega-shop-coupons { margin-bottom: 0; }
	.ega-shop-coupons__col { padding-left: 12px !important; padding-right: 12px !important; padding-bottom: 26px !important; }
	.ega-shop-coupons__col.ega-dots-after::after { bottom: 6px; width: 136px; background: linear-gradient(90deg, var(--ega-pink) 0 16px, transparent 16px 24px, #C9C2BD 24px 40px, transparent 40px 48px, #C9C2BD 48px 64px, transparent 64px 72px, #C9C2BD 72px 88px, transparent 88px 96px, #C9C2BD 96px 112px, transparent 112px 120px, #C9C2BD 120px 136px); }
	.ega-catalog__head { row-gap: 28px; }
}
/* search: reference spacing and type */
.ega-search-page { padding: 48px 0; }
.ega-search-page__title { margin-bottom: 20px; font-size: 28px; line-height: 1.6; }
input.ega-search-form__input { border-radius: 8px; font-size: 15px; }
@media (max-width: 849px) {
	.ega-search-page { padding: 48px 0 40px; }
	.ega-search-page__title { font-size: 28px; }
}
@media (max-width: 549px) {
	.ega-search-form { margin: 0 12px; }
	.ega-search-page { padding-top: 40px; }
}

/* ==========================================================================
   10. Store: product page (woocommerce/content-single-product.php)
   ========================================================================== */
.ega-pd { padding-bottom: 16px; }
.ega-pd__wrap { padding-top: 24px; }
.ega-pd-banner { margin: 0 0 24px; border-radius: 8px; overflow: hidden; line-height: 0; }
.ega-pd-banner img { display: block; width: 100%; height: auto; }
.ega-pd-banner--info { margin: 0 0 16px; }
.ega-pd__main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 850px) {
	.ega-pd__main { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: 40px; align-items: start; }
	/* the reference pins the summary column, not the gallery (its gallery slider stays in flow) */
	.ega-pd__summary { position: sticky; top: 90px; }
}
.ega-pd__gallery, .ega-pd__summary { padding: 0; }
.ega-pd__gallery .product-images { position: relative; margin: 0; }
.ega-pd__gallery .woocommerce-product-gallery__image img,
.ega-pd__gallery .product-gallery-slider img { border-radius: 16px; }
.ega-pd__gallery .product-gallery-slider .flickity-viewport { border-radius: 16px; }
.ega-pd__gallery .row-small > .col { padding-bottom: 0; }
.ega-pd__gallery .vertical-thumbnails .col { padding: 0 0 10px; }
.ega-pd__gallery .vertical-thumbnails img, .ega-pd__gallery .product-thumbnails img { border-radius: 8px; border: 1px solid transparent; opacity: 1; }
.ega-pd__gallery .product-thumbnails .is-nav-selected img, .ega-pd__gallery .product-thumbnails a:hover img { border-color: var(--ega-pink); }
.ega-pd__gallery .product-thumbnails a { border: 0 !important; transform: none !important; }
.ega-pd__gallery .image-tools { display: none; }
.ega-age-badge--pd { top: 16px; left: 16px; z-index: 5; padding: 4px 12px; font-size: 14px; }
.ega-pd__gallery .badge-container { display: none; }
/* Reference gallery: 4:5 thumbs, 2px border radius 12, the chosen one pink, others at 60 %.
   >=768: thumbs in an 80px column left of the photo (gap 24, 12 between thumbs) — Flatsome's
   flickity row is pinned like its own >=850 vertical mode. <768: a row under the photo,
   61px thumbs 12px apart, 8px below the photo. */
.ega-pd__gallery .product-thumbnails .col a { display: block; aspect-ratio: 4 / 5; border: 2px solid #eee !important; border-radius: 12px; overflow: hidden; opacity: .6; transition: opacity .3s; }
.ega-pd__gallery .product-thumbnails .col.is-nav-selected a { border-color: var(--ega-pink) !important; opacity: 1; }
.ega-pd__gallery .product-thumbnails .col a:hover { opacity: .8; }
.ega-pd__gallery .product-thumbnails .col img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.ega-pd__gallery .woocommerce-product-gallery { margin-bottom: 0; }
@media (min-width: 768px) {
	.ega-pd__gallery > .row, .ega-pd__wrap .ega-pd__gallery > .row-small:not(.row-collapse) { display: flex; flex-wrap: nowrap; gap: 24px; margin: 0; }
	.ega-pd__gallery > .row > .col.large-10 { order: 2; flex: 1 1 auto; width: auto; max-width: none; padding: 0; }
	.ega-pd__gallery > .row > .vertical-thumbnails { order: 1; flex: 0 0 80px; width: 80px; max-width: 80px; padding: 0; overflow: visible; }
	.ega-pd__gallery .vertical-thumbnails .product-thumbnails { margin: 0; opacity: 1; }
	.ega-pd__gallery .vertical-thumbnails .flickity-slider, .ega-pd__gallery .vertical-thumbnails .flickity-viewport { height: auto !important; overflow: visible !important; transform: none !important; }
	.ega-pd__gallery .vertical-thumbnails .product-thumbnails .col { position: relative !important; left: 0 !important; width: 100% !important; max-width: 100% !important; min-height: 0 !important; margin: 0 0 12px !important; padding: 0 !important; }
}
@media (min-width: 1024px) {
	.ega-pd__main { max-width: 1200px; margin-left: auto; margin-right: auto; column-gap: 24px; }
}
@media (max-width: 767px) {
	.ega-pd__gallery > .row, .ega-pd__wrap .ega-pd__gallery > .row-small:not(.row-collapse) { margin: 0; }
	.ega-pd__gallery > .row > .col { padding: 0; }
	.ega-pd__gallery .product-thumbnails, .ega-pd__wrap .ega-pd__gallery .product-thumbnails.row:not(.row-collapse) { margin: 8px 0 0; }
	.ega-pd__gallery .product-thumbnails .col { flex: 0 0 73px; width: 73px; max-width: 73px; padding: 0 12px 0 0 !important; }
}

/* summary */
.ega-pd__summary .product-title { margin: 0 0 8px; font-family: var(--ega-font-body); font-size: 28px; font-weight: 600; line-height: 1.35; color: var(--ega-navy); }
.ega-pd__summary .is-divider { display: none; }
.ega-pd-meta { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0 0 12px; padding: 0; border: 0; font-size: 15px; color: var(--ega-muted); }
.ega-pd-meta a, .ega-pd-meta .sku { color: var(--ega-navy); font-weight: 600; }
.ega-pd-excerpt { margin: 0 0 16px; font-size: 15px; color: var(--ega-text); }
.ega-pd-excerpt p { margin: 0 0 6px; }

.ega-pd-pricebox { margin: 0 0 24px; border-radius: 12px; overflow: hidden; }
.ega-pd-pricebox.is-flash { border: 1px solid var(--ega-pink-soft); }
.ega-pd-flash { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 15px; background: var(--ega-pink-soft); color: var(--ega-navy); }
.ega-pd-flash__stock { flex: 1 1 auto; max-width: 260px; }
.ega-pd-flash__label { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 700; }
.ega-pd-flash__bar { display: block; height: 8px; border-radius: 9999px; background: #fff; overflow: hidden; }
.ega-pd-flash__bar > span { display: block; min-width: 6%; height: 100%; border-radius: inherit; background: var(--ega-pink); }
.ega-countdown.ega-pd-flash__timer { display: flex; align-items: center; gap: 4px; margin: 0; }
.ega-pd-flash__timer span { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 4px; border-radius: 6px; background: #fff; color: var(--ega-navy); font-size: 15px; font-weight: 700; }
.ega-pd-flash__timer i { font-style: normal; font-weight: 700; color: var(--ega-navy); }
.ega-pd-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 0; }
.ega-pd-pricebox.is-flash .ega-pd-price { padding: 12px 15px 8px; }
.ega-pd-price .price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-family: var(--ega-font-body); }
.ega-pd-price .price ins, .ega-pd-price .price > .amount, .ega-pd-price .price > .woocommerce-Price-amount { order: 1; text-decoration: none; font-size: 28px; font-weight: 700; line-height: 1.3; color: var(--ega-pink-dark); }
.ega-pd-price .price ins .amount { color: inherit; font-size: inherit; }
.ega-pd-price .price del { order: 2; font-size: 16px; font-weight: 600; color: var(--ega-muted); opacity: 1; }
.ega-pd-price .price del .amount { color: inherit; font-size: inherit; }
.ega-pd-price__off { padding: 3px 9px; border-radius: 9999px; background: var(--ega-pink-dark); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.4; }

/* promo + coupons */
.ega-pd-promo { position: relative; margin: 12px 0 24px; padding: 20px 16px 12px; border: 2px dashed var(--ega-pink); border-radius: 12px; }
.ega-pd-promo__title { position: absolute; top: 0; left: 16px; margin: 0; padding: 0 8px; transform: translateY(-50%); background: #fff; color: var(--ega-pink); font-size: 15px; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.ega-pd-promo__list { margin: 0; padding: 0; list-style: none; }
.ega-pd-promo__list li { position: relative; margin: 0 0 8px; padding-left: 18px; font-size: 15px; line-height: 1.5; color: var(--ega-text); list-style: none; }
.ega-pd-promo__list li::before { content: ""; position: absolute; left: 4px; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: var(--ega-navy); }
.ega-pd-promo__list li:last-child { margin-bottom: 0; }
.ega-pd-promo__copy { margin-left: 6px; color: var(--ega-pink); font-weight: 700; text-decoration: underline; cursor: pointer; }
.ega-coupon.is-copied .ega-pd-promo__copy::after { content: " ✓"; }
.ega-pd-coupons { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 20px; }
.ega-pd-coupons__label { font-size: 15px; color: var(--ega-muted); }
.ega-pd-coupons__list { display: flex; flex-wrap: wrap; gap: 8px; }
.ega-chip { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 9999px; background: #FFF4E5; color: var(--ega-pink-dark); font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; }
.ega-chip:hover { background: var(--ega-pink-soft); color: var(--ega-pink-dark); }
.ega-chip.is-copied { background: var(--ega-pink); color: #fff; }

/* variation pickers */
.ega-pd__summary form.cart { margin: 0 0 8px; }
.ega-pd__summary table.variations { margin: 0; border: 0; }
.ega-pd__summary table.variations tr { display: block; margin: 0 0 16px; }
.ega-pd__summary table.variations th.label { display: none; }
.ega-pd__summary table.variations td { display: block; padding: 0; border: 0; }
.ega-vp__select { display: none; }
.ega-vp__head { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 15px; color: var(--ega-text); }
.ega-vp__label { font-weight: 600; color: var(--ega-navy); }
.ega-vp__guide { margin-left: auto; color: var(--ega-navy); font-size: 14px; text-decoration: underline; }
.ega-vp__options { display: flex; flex-wrap: wrap; gap: 10px; }
.ega-sw { min-height: 0; margin: 0; padding: 0; border: 1px solid var(--ega-line); background: #fff; font-family: var(--ega-font-body); text-transform: none; letter-spacing: 0; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.ega-sw--img { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border-color: transparent; box-shadow: 0 0 0 1px var(--ega-line); overflow: hidden; }
.ega-sw--img img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.ega-sw--img.is-active { box-shadow: 0 0 0 2px var(--ega-pink); }
.ega-sw--text { min-width: 96px; height: 40px; padding: 0 14px; border-radius: 12px; color: var(--ega-pink); font-size: 15px; font-weight: 600; line-height: 38px; }
.ega-sw--text:hover { border-color: var(--ega-pink); }
.ega-sw--text.is-active { border-color: var(--ega-pink); background: var(--ega-pink); color: #fff; }
.ega-sw.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.ega-pd__summary .single_variation_wrap .woocommerce-variation-price,
.ega-pd__summary .single_variation_wrap .woocommerce-variation-availability,
.ega-pd__summary form.cart p.stock { display: none; }
.ega-pd__summary .woocommerce-variation-description { font-size: 14px; }

/* quantity, stock, MUA NGAY / THÊM VÀO GIỎ */
.ega-pd__summary .woocommerce-variation-add-to-cart,
.ega-pd__summary form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 16px; padding: 0 0 16px; }
.ega-pd-qty, .ega-pd-stock { display: flex; align-items: center; flex: 0 0 100%; margin: 0; }
.ega-pd-stock { margin-top: -4px; }
.ega-pd-label { flex: 0 0 88px; font-size: 15px; font-weight: 600; color: var(--ega-navy); }
.ega-pd-stock__val { font-size: 15px; font-weight: 600; color: #F2BC1B; }
.ega-pd-stock__val:empty::before { content: "—"; color: var(--ega-muted); font-weight: 400; }
.ega-pd-qty .quantity { display: inline-flex; width: 130px; height: 38px; margin: 0 !important; border: 1px solid var(--ega-line); border-radius: 8px; overflow: hidden; }
.ega-pd-qty .quantity input { height: 36px; min-height: 0; margin: 0; border: 0; box-shadow: none; background: #fff; }
.ega-pd-qty .quantity input.qty { flex: 1 1 auto; width: auto; font-size: 15px; font-weight: 600; color: var(--ega-navy); }
.ega-pd-qty .quantity .button.is-form { flex: 0 0 36px; width: 36px; padding: 0; color: var(--ega-navy); font-size: 18px; font-weight: 400; }
.ega-pd__summary .single_add_to_cart_button,
.ega-pd__summary .ux-buy-now-button {
	flex: 1 1 0;
	order: 3;
	min-height: 0;
	height: 60px;
	margin: 0 !important;
	padding: 0 16px;
	border: 2px solid var(--ega-pink);
	border-radius: 9999px;
	background: var(--ega-pink);
	color: #fff;
	font-family: var(--ega-font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 56px;
	letter-spacing: 0;
	text-transform: uppercase;
	box-shadow: none;
}
.ega-pd__summary .ux-buy-now-button { order: 2; background: #fff; color: var(--ega-pink); }
.ega-pd__summary .ux-buy-now-button:hover { background: var(--ega-pink-soft); color: var(--ega-pink-dark); }
.ega-pd__summary .single_add_to_cart_button:hover { border-color: var(--ega-pink-dark); background: var(--ega-pink-dark); }
.ega-pd__summary .single_add_to_cart_button.disabled { opacity: .55; }

/* services */
.ega-pd-services { margin: 24px 0 0; }
.ega-pd-services__title { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--ega-navy); }
.ega-pd-services__list { border: 1px solid #e5e7eb; border-radius: 8px; background: #f8fafc; }
.ega-pd-services__row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e5e7eb; }
.ega-pd-services__row:last-child { border-bottom: 0; }
.ega-pd-services__row > img { flex: 0 0 24px; width: 24px; height: 24px; object-fit: contain; }
.ega-pd-services__row p { flex: 1 1 auto; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ega-text); }
.ega-pd-services__tip { position: relative; display: inline-flex; vertical-align: middle; width: 16px; height: 16px; margin-left: 4px; border-radius: 50%; background: #e5e7eb; color: var(--ega-muted); font-size: 11px; font-weight: 700; line-height: 16px; justify-content: center; cursor: help; }
.ega-pd-services__tiptext { position: absolute; bottom: calc(100% + 8px); left: 50%; z-index: 10; width: 240px; padding: 8px 10px; transform: translateX(-50%); border-radius: 6px; background: var(--ega-navy); color: #fff; font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left; opacity: 0; visibility: hidden; transition: opacity .2s; }
.ega-pd-services__tip:hover .ega-pd-services__tiptext, .ega-pd-services__tip:focus .ega-pd-services__tiptext { opacity: 1; visibility: visible; }
.ega-pd-services__pill { flex: 0 0 auto; padding: 4px 10px; border-radius: 9999px; background: #f0f0f0; color: var(--ega-text); font-size: 13px; line-height: 1.3; }
.ega-pd-services__store { flex: 0 0 auto; padding: 5px 10px; border-radius: 6px; background: var(--ega-pink-soft); color: var(--ega-pink-dark); font-size: 12px; font-weight: 700; white-space: nowrap; }

/* share */
.ega-pd-share { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 0; padding: 16px; border-radius: 12px; background: #f9fafb; }
.ega-pd-share__label { font-size: 15px; font-weight: 600; color: var(--ega-navy); }
.ega-pd-share__list { display: flex; gap: 8px; }
.ega-pd-share__item { display: inline-block; width: 36px; height: 36px; min-height: 0; margin: 0; padding: 0; border: 1px solid #e5e7eb; border-radius: 50%; background: #fff no-repeat center / 16px 16px; cursor: pointer; transition: border-color .2s; }
.ega-pd-share__item:hover { border-color: var(--ega-pink); }
.ega-pd-share__item--facebook { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877F2'%3E%3Cpath d='M14 8.5V6.6c0-.8.2-1.3 1.4-1.3H17V2.2C16.7 2.1 15.7 2 14.6 2 12.2 2 10.6 3.5 10.6 6.1v2.4H8v3.4h2.6V22H14v-10.1h2.7l.4-3.4H14z'/%3E%3C/svg%3E"); }
.ega-pd-share__item--pinterest { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E60023'%3E%3Cpath d='M12 2a10 10 0 0 0-3.6 19.3c-.1-.8-.2-2 0-2.9l1.2-5s-.3-.6-.3-1.5c0-1.4.8-2.4 1.8-2.4.9 0 1.3.6 1.3 1.4 0 .9-.5 2.1-.8 3.3-.2 1 .5 1.8 1.5 1.8 1.8 0 3.1-1.9 3.1-4.6 0-2.4-1.7-4.1-4.2-4.1-2.9 0-4.5 2.1-4.5 4.4 0 .9.3 1.8.8 2.3.1.1.1.2.1.3l-.3 1.2c0 .2-.2.2-.4.1-1.3-.6-2.1-2.5-2.1-4 0-3.3 2.4-6.3 6.9-6.3 3.6 0 6.4 2.6 6.4 6 0 3.6-2.3 6.5-5.4 6.5-1.1 0-2.1-.6-2.4-1.2l-.7 2.5c-.2.9-.9 2.1-1.3 2.8A10 10 0 1 0 12 2z'/%3E%3C/svg%3E"); }
.ega-pd-share__item--x { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M17.8 3h3.1l-6.8 7.7L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.2-8.3L1.8 3h6.4l4.4 5.8L17.8 3zm-1.1 16.2h1.7L7.4 4.7H5.6l11.1 14.5z'/%3E%3C/svg%3E"); }
.ega-pd-share__item--link { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2D52' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E"); }
.ega-pd-share__item--link.is-copied { border-color: var(--ega-success); }

/* tabs box */
.ega-pd-tabs { max-width: 1200px; margin: 48px auto; padding: 40px 48px 32px; border-radius: 24px; background: #fff; box-shadow: 0 20px 60px -15px rgba(0, 0, 0, .05), 0 0 0 1px rgba(0, 0, 0, .03); }
.ega-pd-tabs__nav { display: flex; justify-content: center; gap: 4px; width: max-content; max-width: 100%; margin: 0 auto 32px; padding: 5px; border-radius: 12px; background: #f1f3f5; overflow-x: auto; }
.ega-pd-tabs__btn { min-height: 0; margin: 0; padding: 8px 24px; border: 0; border-radius: 10px; background: transparent; color: #6c757d; font-family: var(--ega-font-body); font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: 0; text-transform: none; white-space: nowrap; cursor: pointer; }
.ega-pd-tabs__btn.is-active { background: #fff; color: var(--ega-pink); box-shadow: 0 4px 10px rgba(0, 0, 0, .05); }
.ega-pd-tabs__panel { display: none; }
.ega-pd-tabs__panel.is-active { display: block; }
.ega-readmore__content { font-size: 16px; line-height: 1.6; }
.ega-readmore__content img { height: auto; border-radius: 12px; }
.ega-readmore__more { display: none; justify-content: center; margin-top: 16px; }
.ega-readmore.is-clamped .ega-readmore__content { max-height: 480px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.ega-readmore.is-clamped .ega-readmore__more, .ega-readmore.is-expanded .ega-readmore__more { display: flex; }
.ega-readmore.is-expanded .ega-readmore__content { max-height: none; -webkit-mask-image: none; mask-image: none; }
.ega-readmore__btn { min-height: 0; margin: 0; padding: 10px 28px; border: 1px solid #e9ecef; border-radius: 9999px; background: #fff; color: var(--ega-pink); font-family: var(--ega-font-body); font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.ega-readmore__btn:hover { border-color: var(--ega-pink); }

/* "Xem sản phẩm thực tế" (UX Block product-videos): the reference's portrait video row —
   6 a view >=1024 (1200px box), 25 % 768-1023, 42 % below; 16px gaps, radius 12, play icon;
   page dots from main.js (.ega-video-row) when it scrolls. */
.ega-pd-videos { max-width: 1200px; margin: 64px auto; }
.ega-pd-videos__title { margin: 0 0 16px; font-family: var(--ega-font-heading); font-size: 28px; font-weight: 700; line-height: 1.3; color: var(--ega-navy); }
html body .ega-pd-videos .ega-video-row { width: auto; max-width: none; margin: 0 0 0 -16px !important; padding: 0; }
.ega-pd-videos .ega-video-row > .col { flex: 0 0 16.6667%; width: 16.6667%; max-width: 16.6667%; padding: 0 0 0 16px; }
.ega-pd-videos .ega-video__img { border-radius: 12px; }
.ega-pd-videos .ega-dots { margin-top: 16px; }
@media (max-width: 1023px) {
	.ega-pd-videos .ega-video-row > .col { flex-basis: 25%; width: 25%; max-width: 25%; }
}
@media (max-width: 767px) {
	.ega-pd-videos { margin: 32px auto; }
	.ega-pd-videos__title { font-size: 20px; }
	.ega-pd-videos .ega-video-row > .col { flex-basis: 42%; width: 42%; max-width: 42%; }
}

/* related / same price / recently viewed */
.ega-pd-section { margin: 64px 0; }
.ega-pd-section__title { margin: 0 0 24px; font-family: var(--ega-font-heading); font-size: 32px; font-weight: 700; line-height: 1.3; text-align: center; color: var(--ega-navy); }
.ega-pd-section .row.ega-products { margin: 0 -8px; }
.ega-pd-section .ega-products > .product-small.col { padding: 0 8px 16px; }
/* related / same price: carousels like the reference (5 items; 4 a view >=1024, 36vw 768-1023,
   57 % below; 12px gap, 8px <768): Flatsome flickity sliders (ux_products type=slider), round
   arrows on hover (>=1024) and dash dots like the reference's embla chrome */
.ega-pd-carousel { position: relative; }
.ega-pd-section .row.ega-products.ega-pd-carousel { margin: 0 -6px; width: auto; max-width: none; }
.ega-pd-section .ega-pd-carousel .product-small.col { flex: 0 0 25%; width: 25%; max-width: 25%; padding: 0 6px 16px; }
.ega-pd-carousel .flickity-page-dots { position: static; display: flex; justify-content: center; gap: 8px; margin: 16px 0 0; padding: 0; line-height: 0; }
.ega-pd-carousel .flickity-page-dots .dot { width: 16px; height: 4px; margin: 0; border: 0; border-radius: 4px; background: #C9C2BD; opacity: 1; }
.ega-pd-carousel .flickity-page-dots .dot.is-selected { background: var(--ega-pink); }
.ega-pd-carousel .flickity-prev-next-button { width: 32px; height: 32px; padding: 7px; border: 1px solid #E5DED8; border-radius: 50%; background: #fff; color: var(--ega-navy); box-shadow: 0 2px 8px rgba(43, 45, 82, .12); opacity: 0; transform: translateY(-50%); transition: opacity .2s; }
.ega-pd-carousel .flickity-prev-next-button.previous { left: -10px; }
.ega-pd-carousel .flickity-prev-next-button.next { right: -10px; }
.ega-pd-carousel:hover .flickity-prev-next-button { opacity: 1; }
.ega-pd-carousel .flickity-prev-next-button:disabled { opacity: 0; }
@media (max-width: 1023px) {
	.ega-pd-section .ega-pd-carousel .product-small.col { flex-basis: 36vw; width: 36vw; max-width: 36vw; }
	.ega-pd-carousel .flickity-prev-next-button { display: none; }
}
@media (max-width: 767px) {
	.ega-pd-section .row.ega-products.ega-pd-carousel { margin: 0 -4px; }
	.ega-pd-section .ega-pd-carousel .product-small.col { flex-basis: 57%; width: 57%; max-width: 57%; padding: 0 4px 12px; }
}

/* mobile add-to-cart bar */
.ega-pd-mbar { display: none; }
@media (max-width: 849px) {
	body.single-product .ega-mobile-bar { display: none; }
	.ega-pd-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 990; display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: #fff; box-shadow: 0 -4px 16px rgba(0, 0, 0, .08); }
	.ega-pd-mbar__cart { position: relative; display: inline-flex; flex-direction: column; align-items: center; gap: 2px; flex: 0 0 auto; padding: 0 8px; color: var(--ega-navy); font-size: 12px; font-weight: 600; }
	.ega-pd-mbar__cart i { font-size: 20px; }
	.ega-pd-mbar__count { position: absolute; top: -4px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--ega-pink); color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
	.ega-pd-mbar__add { flex: 1 1 auto; height: 44px; min-height: 0; margin: 0; border: 0; border-radius: 9999px; background: var(--ega-pink); color: #fff; font-family: var(--ega-font-body); font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; }
	body.single-product { padding-bottom: 60px; }
	.ega-pd__wrap { padding-top: 16px; }
	.ega-pd__summary .product-title { font-size: 24px; }
	.ega-pd-tabs { margin: 24px 0 32px; padding: 24px; }
	/* one row of tabs that scrolls sideways (reference): left-aligned, labels never shrink */
	.ega-pd-tabs__nav { justify-content: flex-start; margin-left: 0; padding: 4px; scrollbar-width: none; }
	.ega-pd-tabs__nav::-webkit-scrollbar { display: none; }
	.ega-pd-tabs__btn { flex: 0 0 auto; }
	.ega-pd-section { margin: 32px 0; }
	.ega-pd-section__title { font-size: 28px; }
	.ega-pd-section .ega-products > .product-small.col { padding: 0 6px 12px; }
	.ega-pd-section .row.ega-products { margin: 0 -6px; }
}
@media (max-width: 549px) {
	.ega-pd__summary .woocommerce-variation-add-to-cart,
	.ega-pd__summary form.cart:not(.variations_form) { flex-direction: column; }
	.ega-pd__summary .single_add_to_cart_button, .ega-pd__summary .ux-buy-now-button { flex: 0 0 auto; width: 100%; height: 52px; line-height: 48px; }
	.ega-pd-flash { flex-wrap: wrap; }
	.ega-pd-share { flex-wrap: wrap; }
	.ega-pd-qty, .ega-pd-stock { flex: 0 0 auto; width: 100%; }
}
/* product page coupons: undo the home coupon card's absolute copy button and boxed code */
.ega-pd-promo .ega-coupon__code { display: inline; padding: 0; border: 0; background: none; color: var(--ega-navy); font-size: inherit; font-weight: 700; letter-spacing: 0; }
.ega-pd-promo .ega-copy, .ega-pd-promo .ega-coupon .ega-copy { position: static; display: inline; width: auto; height: auto; transform: none; border-radius: 0; background: none; font-size: 14px !important; color: var(--ega-pink) !important; }
.ega-pd-promo .ega-coupon.is-copied .ega-copy { font-size: 14px; line-height: inherit; }
.ega-pd-coupons .ega-chip, .ega-pd-coupons .ega-coupon.ega-chip { position: static; width: auto; height: auto; transform: none; border-radius: 9999px; background: #FFF4E5; font-size: 13px !important; color: var(--ega-pink-dark) !important; overflow: visible; }
.ega-pd-coupons .ega-chip .ega-coupon__code { display: inline; padding: 0; border: 0; background: none; color: inherit; font-size: inherit; letter-spacing: 0; }
.ega-pd-coupons .ega-coupon.ega-chip.is-copied { background: var(--ega-pink); color: #fff !important; font-size: 13px !important; line-height: 1; text-align: left; }
.ega-pd-coupons .ega-coupon.is-copied .ega-copy::after, .ega-pd-coupons .ega-chip.is-copied::after { content: " \2713"; }
.ega-pd-services__tip::before { content: "i"; font-style: italic; font-family: Georgia, serif; }
.ega-readmore__content ul { margin-left: 0; padding-left: 0; list-style: none; }
.ega-readmore__content ul li { position: relative; margin: 0 0 8px; padding-left: 30px; list-style: none; }
.ega-readmore__content ul li::before { content: ""; position: absolute; left: 10px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--ega-pink); }
.ega-readmore__btn { display: inline-flex; align-items: center; gap: 6px; }
.ega-readmore__btn::after { content: ""; width: 10px; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2487A' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain; }
.ega-readmore.is-expanded .ega-readmore__btn::after { transform: rotate(180deg); }
.ega-pd__summary .single_add_to_cart_button, .ega-pd__summary .ux-buy-now-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ega-pd__summary .single_add_to_cart_button::before, .ega-pd__summary .ux-buy-now-button::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ega-btn-icon) no-repeat center / contain; mask: var(--ega-btn-icon) no-repeat center / contain; }
.ega-pd__summary .ux-buy-now-button { --ega-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19'/%3E%3C/svg%3E"); }
.ega-pd__summary .single_add_to_cart_button { --ega-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a1 1 0 0 0 1 .8h9.4a1 1 0 0 0 1-.8L21 8H6.2'/%3E%3Ccircle cx='9.5' cy='20' r='1.3'/%3E%3Ccircle cx='17.5' cy='20' r='1.3'/%3E%3C/svg%3E"); }
.ega-pd__summary .single_add_to_cart_button.loading::before { display: none; }

/* ==========================================================================
   11. Store: cart, checkout, account
   ========================================================================== */
.woocommerce-cart .page-wrapper,
.woocommerce-checkout .page-wrapper,
.woocommerce-account .page-wrapper { padding-top: 40px; padding-bottom: 40px; }
.woocommerce-cart .page-wrapper > .row-main > .col,
.woocommerce-account .page-wrapper > .row-main > .col { padding-bottom: 0; }
.woocommerce-cart .entry-header,
.woocommerce-account:not(.logged-in) .entry-header { display: none; }

/* Empty cart */
.ega-cart-empty { display: flex; flex-direction: column; align-items: center; padding: 40px 0 24px; text-align: center; }
.ega-cart-empty__img { display: block; width: 320px; height: auto; margin: 0 auto 32px; }
.ega-cart-empty__title { margin: 0 0 16px; font-family: var(--ega-font-heading); font-size: 30px; font-weight: 700; line-height: 1.3; color: var(--ega-navy); }
.ega-cart-empty__text { margin: 0 0 16px; font-size: 17px; line-height: 1.5; color: var(--ega-text); }
.ega-cart-empty__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 24px; border-radius: 999px; background: var(--ega-pink); color: #fff; font-size: 17px; font-weight: 700; }
.ega-cart-empty__btn:hover { background: var(--ega-pink-dark); color: #fff; }

/* Cart with items */
.ega-cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 850px) {
	.ega-cart { grid-template-columns: minmax(0, 944fr) minmax(0, 400fr); gap: 40px; align-items: start; }
	.ega-cart__side { position: sticky; top: 90px; }
}
.ega-cart__title { margin: 0 0 20px; font-family: var(--ega-font-heading); font-size: 24px; font-weight: 600; line-height: 1.3; color: var(--ega-navy); }
.ega-rewards { display: grid; gap: 12px; margin-bottom: 20px; padding: 16px 16px 44px; border: 1px solid var(--ega-pink); border-radius: 8px; }
.ega-rewards__msg { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ega-text); }
.ega-rewards__msg strong { color: var(--ega-pink); }
.ega-rewards__track { position: relative; height: 4px; margin: 10px 12px 0; border-radius: 4px; background: #E6E6EA; }
.ega-rewards__fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--ega-pink); }
.ega-rewards__gift { position: absolute; top: 50%; display: flex; flex-direction: column; align-items: center; transform: translate(-50%, -12px); }
.ega-rewards__icon { width: 24px; height: 24px; border-radius: 50%; background: #C9C9D1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='4' y='9' width='16' height='11' rx='1'/%3E%3Cpath d='M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S10 9 12 9c2 0 5 0 5-1.5S13.5 6 12 9'/%3E%3C/svg%3E") center / 14px no-repeat; }
.ega-rewards__gift.is-done .ega-rewards__icon { background-color: var(--ega-success); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.ega-rewards__label { display: flex; flex-direction: column; align-items: center; margin-top: 4px; font-size: 12px; line-height: 1.3; white-space: nowrap; color: var(--ega-muted); }
.ega-rewards__label strong { font-size: 13px; color: var(--ega-navy); }

.ega-cart-table__head,
.ega-cart-item { display: grid; grid-template-columns: minmax(0, 1fr) 120px 140px 120px 32px; gap: 12px; align-items: center; }
.ega-cart-table__head { padding: 12px 0; border-bottom: 1px solid var(--ega-line); font-weight: 700; font-size: 15px; color: var(--ega-navy); text-align: center; }
.ega-cart-table__head span:first-child { text-align: left; }
.ega-cart-item { padding: 16px 0; border-bottom: 1px solid var(--ega-line); }
.ega-cart-item__product { display: flex; gap: 12px; align-items: center; min-width: 0; }
.ega-cart-item__thumb { flex: 0 0 70px; }
.ega-cart-item__thumb img { display: block; width: 70px; height: 70px; object-fit: cover; border-radius: 8px; }
.ega-cart-item__info { min-width: 0; }
.ega-cart-item__name { display: block; font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--ega-navy); }
.ega-cart-item__name:hover { color: var(--ega-pink); }
.ega-cart-item .variation { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 4px 0 0; font-size: 13px; color: var(--ega-muted); }
.ega-cart-item .variation dt, .ega-cart-item .variation dd { margin: 0; font-weight: 400; }
.ega-cart-item .variation dd p { margin: 0; }
.ega-cart-item__price, .ega-cart-item__subtotal { text-align: center; font-size: 15px; color: var(--ega-text); }
.ega-cart-item__subtotal { font-weight: 700; color: var(--ega-pink); }
.ega-cart-item__qty { display: flex; justify-content: center; }
.ega-cart-item__qty .quantity { margin: 0; }
.ega-cart-item__remove .remove { display: block; width: 28px; height: 28px; border: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236F6A7A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / 20px no-repeat; }
.ega-cart-item__remove .remove:hover { background-color: transparent; opacity: .7; }
.ega-cart-table__actions { padding: 0; }

.ega-cart-box { padding: 24px; border: 2px solid var(--ega-pink); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(242, 72, 122, .15); }
.ega-cart-box__row { padding: 12px 0; border-bottom: 1px dashed var(--ega-line); color: var(--ega-muted); }
.ega-cart-box__row summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; font-size: 15px; }
.ega-cart-box__row summary::-webkit-details-marker { display: none; }
.ega-cart-box__link { color: var(--ega-pink); }
.ega-cart-box__row textarea { min-height: 80px; margin: 12px 0 0; border-radius: 8px; font-size: 15px; }
.ega-cart-box__total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; font-weight: 700; color: var(--ega-navy); }
.ega-cart-box__total strong { font-size: 22px; color: var(--ega-pink); }
.ega-cart-box__total small { display: block; font-size: 12px; font-weight: 400; color: var(--ega-muted); }
.ega-cart-box__checkout { display: flex; width: 100%; min-height: 52px; margin: 0; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; background: var(--ega-pink); color: #fff; font-size: 17px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.ega-cart-box__checkout::after { content: "→"; font-size: 20px; line-height: 1; }
.ega-cart-box__checkout:hover { background: var(--ega-pink-dark); color: #fff; }
.ega-cart-box__hint { margin: 12px 0 0; font-size: 14px; text-align: center; color: var(--ega-muted); }
.ega-cart-policies { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 16px; }
.ega-cart-policies li { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ega-muted); }
.ega-cart-policies__icon { flex: 0 0 20px; width: 20px; height: 20px; object-fit: contain; margin-top: 2px; }
.ega-cart-policies strong { display: block; font-size: 15px; color: var(--ega-navy); }
.ega-cart-suggest { margin-top: 56px; }

@media (max-width: 849px) {
	.ega-cart-table__head { display: none; }
	.ega-cart-item { grid-template-columns: 70px minmax(0, 1fr) auto; grid-template-areas: "product product remove" "space total qty"; gap: 8px 12px; }
	.ega-cart-item__product { grid-area: product; }
	.ega-cart-item__price { display: none; }
	.ega-cart-item__subtotal { grid-area: total; text-align: left; }
	.ega-cart-item__qty { grid-area: qty; }
	.ega-cart-item__remove { grid-area: remove; align-self: start; }
	.woocommerce-cart .page-wrapper, .woocommerce-account .page-wrapper, .woocommerce-checkout .page-wrapper { padding-top: 20px; padding-bottom: 20px; }
	.ega-cart-empty__img { width: 240px; }
	.ega-cart-empty__title { font-size: 24px; }
	.ega-cart-empty__text { font-size: 15px; }
	.ega-rewards__label { font-size: 11px; }
	.ega-rewards__label strong { font-size: 12px; }
}

/* Login / register */
.ega-auth { max-width: 612px; margin: 0 auto; padding: 8px 0 40px; }
.ega-auth__title { margin: 0 0 12px; font-family: var(--ega-font-heading); font-size: 30px; font-weight: 700; line-height: 1.3; text-align: center; color: var(--ega-navy); }
.ega-auth__switch { margin: 0 0 16px; font-size: 17px; text-align: center; color: var(--ega-text); }
.ega-auth__switch a, .ega-auth__lost a { color: var(--ega-text); text-decoration: underline; }
.ega-auth__switch a:hover, .ega-auth__lost a:hover { color: var(--ega-pink); }
.ega-auth__sub { margin: 0 0 12px; font-family: var(--ega-font-heading); font-size: 20px; font-weight: 600; color: var(--ega-navy); }
.ega-auth__form { margin: 0; padding: 0; border: 0; }
.ega-auth__form .form-row { margin: 0 0 16px; padding: 0; }
.ega-auth__form label { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 400; color: var(--ega-text); }
.ega-auth__form .required { color: var(--ega-text); }
.ega-auth__form .input-text { height: 48px; margin: 0; padding: 0 12px; border: 1px solid #E5E5EA; border-radius: 8px; box-shadow: none; font-size: 15px; }
.ega-auth__form .input-text:focus { border-color: var(--ega-pink); }
.ega-auth__lost { margin: -6px 0 24px; font-size: 17px; color: var(--ega-text); }
.ega-auth__check label { display: flex; gap: 8px; align-items: center; font-size: 15px; }
.ega-auth__check input { margin: 0; }
.ega-auth__note { font-size: 14px; color: var(--ega-muted); }
.ega-auth__actions { margin: 0; text-align: center; }
.ega-auth__btn.button { display: inline-flex; width: 320px; max-width: 100%; min-height: 48px; margin: 0; align-items: center; justify-content: center; border-radius: 999px; background: var(--ega-pink); color: #fff; font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.ega-auth__btn.button:hover { background: var(--ega-pink-dark); color: #fff; }
@media (max-width: 549px) {
	.ega-auth__title { font-size: 26px; }
	.ega-auth__switch, .ega-auth__lost, .ega-auth__form label { font-size: 15px; }
}

/* Checkout */
.woocommerce-checkout .page-wrapper h3,
.woocommerce-checkout #order_review_heading { font-family: var(--ega-font-heading); font-size: 22px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--ega-navy); }
.woocommerce-checkout form.checkout label { font-size: 15px; font-weight: 600; color: var(--ega-navy); }
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout .select2-container .select2-selection--single { min-height: 48px; border: 1px solid #E5E5EA; border-radius: 8px; box-shadow: none; font-size: 15px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout form.checkout textarea.input-text { min-height: 110px; padding-top: 12px; }
.woocommerce-checkout form.checkout .input-text:focus { border-color: var(--ega-pink); }
.woocommerce-checkout .checkout_coupon { border-radius: 12px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border-bottom: 1px dashed var(--ega-line); }
.woocommerce-checkout .col-inner.has-border { padding: 24px; border: 2px solid var(--ega-pink); border-radius: 16px; box-shadow: 0 8px 24px rgba(242, 72, 122, .15); }
.woocommerce-checkout .shop_table th { font-size: 14px; color: var(--ega-navy); }
.woocommerce-checkout .shop_table .order-total .amount { font-size: 20px; color: var(--ega-pink); }
.woocommerce-checkout #payment .wc_payment_methods label { font-weight: 700; color: var(--ega-navy); }
.woocommerce-checkout #payment div.payment_box { border-radius: 8px; background: var(--ega-pink-soft); color: var(--ega-text); }
.woocommerce-checkout #place_order { width: 100%; min-height: 52px; border-radius: 999px; background: var(--ega-pink); color: #fff; font-size: 17px; font-weight: 700; letter-spacing: .02em; }
.woocommerce-checkout #place_order:hover { background: var(--ega-pink-dark); }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-family: var(--ega-font-heading); font-size: 22px; color: var(--ega-success); }
.ega-cart-empty { padding: 12px 0 0; }
.ega-cart-empty__img { margin-bottom: 12px; }
.woocommerce-cart .page-wrapper { padding-bottom: 24px; }
.ega-cart-table__actions .continue-shopping,
.ega-cart-table__actions .button-continue-shopping { display: none !important; }
.woocommerce-cart .woocommerce-notices-wrapper:focus,
.woocommerce-cart .woocommerce-message:focus { outline: none; }
.ega-cart__main .woocommerce-message { margin: 0 0 16px; }
.ega-cart-empty { padding-top: 24px; }
.ega-cart-empty__img { max-width: 100%; margin-bottom: 24px; }
@media (max-width: 849px) {
	.ega-cart-empty__img { width: 320px; }
	.ega-cart-empty__title { font-size: 28px; }
	.ega-cart-empty__text { font-size: 17px; }
	.ega-cart-empty { padding-top: 40px; }
}
@media (max-width: 849px) {
	.ega-auth { max-width: none; padding-top: 28px; }
	.ega-auth__title { margin-bottom: 16px; }
	.ega-auth__btn.button { width: 310px; }
	/* = the reference's login: h1 44.8 + 8, switch line 22.86 + 16, label 22.86 + 4, input 48 + 16, button 47 */
	.ega-auth .ega-auth__title { margin-bottom: 8px; line-height: 44.8px; }
	.ega-auth .ega-auth__switch, .ega-auth .ega-auth__lost, .ega-auth .ega-auth__form label { font-size: 16px; line-height: 1.4286; }
	.ega-auth .ega-auth__form label { margin-bottom: 4px; }
	.ega-auth .ega-auth__btn.button { min-height: 47px; height: 47px; }
}
@media (min-width: 550px) and (max-width: 849px) {
	.ega-auth { padding-left: 6px; padding-right: 6px; }
}
.ega-cart .woocommerce-cart-form { margin-bottom: 0; }
.ega-cart-table__actions { height: 0; overflow: hidden; }
@media (max-width: 849px) {
	.ega-cart .ega-cart-item__subtotal { display: block !important; font-size: 16px; }
}
@media (max-width: 549px) {
	.ega-rewards__label { font-size: 0; }
	.ega-rewards__label strong { font-size: 12px; }
}
.ega-cart .ega-cart-table { margin-bottom: 0; }
@media (max-width: 549px) {
	.ega-rewards__label { font-size: 12px; }
	.ega-rewards__name { display: none; }
}
.ega-cart-table__actions { display: none; }
@media (max-width: 849px) {
	.ega-cart__main, .ega-cart .woocommerce-cart-form, .ega-cart .ega-cart-table { margin-bottom: 0 !important; padding-bottom: 0 !important; }
	.ega-cart__side { margin-top: 0; }
}
@media (max-width: 549px) {
	.ega-cart-empty { padding-top: 20px; }
}
/* Fix round 2 — empty cart: the illustration sat 45 / 36 / 17 px lower than the reference's at 1440 / 820 / 390
   while the rest of the block matched (page_compare 01a189a5-94d8 / -94e6 / -94f1, section 1 +45 / +38 / +22). */
/* Fix round 3: in band mode (real positions) the -45/-36/-19 pulled the block 42/39/24 px above the reference's; section mode
   had measured the reference main's padding-top outside its sections. Offsets now from the band images (01a18a1a-9524/-9534/-953f). */
.woocommerce-cart .ega-cart-empty { margin-top: -3px; }
@media (max-width: 849px) { .woocommerce-cart .ega-cart-empty { margin-top: 3px; } .woocommerce-cart .ega-cart-empty__img { margin-bottom: 22px; } }
@media (max-width: 549px) { .woocommerce-cart .ega-cart-empty { margin-top: 5px; } .woocommerce-cart .ega-cart-empty__img { margin-bottom: 21px; } }

/* ==========================================================================
   12. Blog: Tin tức list, tag archives, post page (index.php, single.php, inc/blog.php)
   ========================================================================== */
.ega-blog { padding: 0 0 40px; }
.ega-blog-crumbs .ega-crumbs { font-size: 15px; line-height: 20px; }
.ega-blog-crumbs .breadcrumb_last { color: var(--ega-neutral-300); }
.ega-blog .container { max-width: 1350px; }
.ega-blog__grid { display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); gap: 48px; }
.ega-blog__main { min-width: 0; }
.ega-blog-sidebar { width: 100%; max-width: 320px; margin-left: auto; min-width: 0; }

/* list */
.ega-blog__heading { display: inline-block; margin: 0 0 32px; font-family: var(--ega-font-heading); font-size: 32px; font-weight: 700; line-height: 1.6; letter-spacing: normal; color: var(--ega-navy); }
.ega-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 8px; }
.ega-post-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; }
.ega-post-card__image { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; line-height: 0; }
.ega-post-card__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; transition: transform .3s; }
.ega-post-card:hover .ega-post-card__image img { transform: scale(1.05); }
.ega-post-card__body { display: flex; flex-direction: column; gap: 10px; padding: 16px 0; }
.ega-post-card__date { margin-bottom: -2px; font-size: 12px; line-height: 16px; color: var(--ega-neutral-200); }
.ega-post-card__title { margin: 0; min-height: 40px; font-family: var(--ega-font-body); font-size: 16px; font-weight: 600; line-height: 1.25; letter-spacing: normal; }
.ega-post-card__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ega-navy); }
.ega-post-card__title a:hover { color: var(--ega-pink); }
.ega-post-card__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; line-height: 1.5; color: var(--ega-neutral-200); }
/* = the reference's .card-article__body: date 16 + 8 + title 40 + 8 + desc 3 x 22.857 (16px/1.4286); py 16 (12 <=1023) */
.ega-post-card__body { gap: 8px; }
.ega-post-card__date { margin-bottom: 0; }
.ega-post-card__desc { line-height: 1.4286; }
@media (max-width: 1023px) { .ega-post-card .ega-post-card__body { padding: 12px 0; } }
@media (min-width: 1024px) { html body .ega-blog-pagination { margin-top: 48px; } }
.ega-blog-pagination { margin-top: 40px; text-align: center; }
.ega-blog-pagination ul { display: inline-flex; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ega-blog-pagination li { margin: 0; }
.ega-blog-pagination a, .ega-blog-pagination span { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid transparent; border-radius: 4px; color: var(--ega-text); font-size: 16px; }
.ega-blog-pagination a:hover { background: var(--ega-cream); color: var(--ega-text); }
.ega-blog-pagination .is-current span { border-color: var(--ega-teal); color: var(--ega-teal); }
.ega-blog-pagination .is-arrow a, .ega-blog-pagination .is-arrow span { font-size: 20px; }
.ega-blog-pagination .is-disabled span { opacity: .5; }

/* sidebar */
.ega-aside--box { margin-bottom: 20px; padding: 20px; border: 1px solid var(--ega-cream); border-radius: 16px; background: #fff; }
.ega-blog .ega-aside__title { margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--ega-cream); font-family: var(--ega-font-body); font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: normal; color: var(--ega-navy); }
.ega-aside__title a { color: inherit; }
.ega-aside-menu, .ega-aside-menu__sub { margin: 0; padding: 0; list-style: none; }
.ega-aside-menu > li { margin: 0 0 12px; }
.ega-aside-menu > li:last-child { margin-bottom: 0; }
.ega-aside-menu li { margin-left: 0; }
.ega-aside-menu a { color: var(--ega-text); font-size: 16px; line-height: 1.4286; }
.ega-aside-menu a:hover { color: var(--ega-pink); }
.ega-aside-menu summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.ega-aside-menu summary::-webkit-details-marker { display: none; }
.ega-aside-menu__caret { width: 6px; height: 6px; margin-right: 4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); transition: transform .15s; opacity: .7; }
details[open] > summary > .ega-aside-menu__caret { transform: rotate(45deg); }
.ega-aside-menu__sub { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding-left: 8px; }
.ega-aside-menu__sub--lv3 { gap: 4px; margin-top: 8px; }
.ega-mini-posts { display: flex; flex-direction: column; gap: 16px; }
.ega-mini-post { display: flex; gap: 8px; }
.ega-mini-post__image { flex: 0 0 88px; width: 88px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; line-height: 0; }
.ega-mini-post__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; transition: transform .3s; }
.ega-mini-post:hover .ega-mini-post__image img { transform: scale(1.05); }
.ega-mini-post__title { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.2; }
.ega-mini-post__title a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ega-text); }
.ega-mini-post__title a:hover { color: var(--ega-pink); }
.ega-aside--tags { margin-bottom: 20px; padding: 20px 0; border-top: 1px solid var(--ega-cream); }
.ega-blog .ega-aside--tags .ega-aside__title { margin-bottom: 12px; padding: 0; border: 0; }
.ega-tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ega-tag { padding: 4px 12px; border: 1px solid var(--ega-teal); border-radius: 4px; color: var(--ega-teal); font-size: 16px; line-height: 22px; transition: background .2s, color .2s; }
.ega-tag:hover { background: var(--ega-teal); color: #fff; }

/* post */
.ega-article__title { margin: 0 0 8px; font-family: var(--ega-font-heading); font-size: 28px; font-weight: 600; line-height: 1.6; letter-spacing: normal; color: var(--ega-navy); overflow-wrap: anywhere; }
.ega-article__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ega-article__date { display: flex; align-items: center; gap: 4px; white-space: nowrap; color: var(--ega-neutral-200); }
.ega-article__date svg { opacity: .8; }
select.ega-article__size { width: auto; height: 44px; margin: 0; padding: 0 30px 0 10px; border: 1px solid var(--ega-cream); border-radius: 8px; box-shadow: none; background-color: #fff; font-size: 16px; color: var(--ega-text); }
.ega-toc { margin: 20px 0; padding: 12px; border: 1px solid var(--ega-cream); border-radius: 4px; }
.ega-toc__title { display: flex; align-items: center; gap: 8px; min-height: 0; margin: 0 0 8px; padding: 0; border: 0; background: none; font-family: var(--ega-font-body); font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: normal; text-transform: uppercase; color: var(--ega-text); cursor: pointer; }
.ega-toc__caret { width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .6; transition: transform .15s; }
.ega-toc:not(.is-open) .ega-toc__caret { transform: rotate(-45deg); }
.ega-toc:not(.is-open) .ega-toc__list { display: none; }
.ega-toc:not(.is-open) .ega-toc__title { margin-bottom: 0; }
.ega-toc__list { margin: 0; padding: 0 0 0 10px; list-style: none; }
.ega-toc__list li { margin: 0; padding: 3px 0; font-size: 17px; line-height: 1.5; }
.ega-toc__list a { color: var(--ega-pink-dark); }
.ega-toc__list a:hover { color: var(--ega-pink); }
.ega-article__content { font-size: 16px; line-height: 1.5; color: var(--ega-text); }
.ega-article__content > p, .ega-article__content > ul, .ega-article__content > ol { margin: 20px 0; }
.ega-article__content > :first-child { margin-top: 0; }
.ega-article__content > :last-child { margin-bottom: 0; }
.ega-article__content h2 { margin: 48px 0 24px; font-family: var(--ega-font-heading); font-size: 24px; font-weight: 700; line-height: 1.3333; letter-spacing: normal; color: var(--ega-text); scroll-margin-top: 90px; }
.ega-article__content h3 { margin: 32px 0 12px; font-family: var(--ega-font-heading); font-size: 20px; font-weight: 600; line-height: 1.6; color: var(--ega-text); }
.ega-article__content h2 + *, .ega-article__content h3 + * { margin-top: 0; }
.ega-article__content ul, .ega-article__content ol { padding-left: 26px; }
.ega-article__content ul { list-style: disc; }
.ega-article__content li { margin: 8px 0; padding-left: 6px; }
.ega-article__content ul li::marker { color: var(--ega-pink); }
.ega-article__content img { border-radius: 8px; }
.ega-article.is-large-text .ega-article__content { font-size: 18px; }
.ega-article.is-large-text .ega-article__content h2 { font-size: 27px; }
.ega-article__content .ega-post-products { margin: 12px 0 20px; }
.ega-article__content .ega-post-products .flickity-prev-next-button { display: none; }
.ega-article__content .ega-post-products .flickity-page-dots .dot { width: 16px; height: 3px; margin: 0 3px; border: 0; border-radius: 2px; background: #D1D5DB; opacity: 1; }
.ega-article__content .ega-post-products .flickity-page-dots .dot.is-selected { background: var(--ega-pink); }
.ega-article__content.entry-content { padding: 0; }
.ega-share { display: flex; align-items: center; gap: 12px; margin: 40px 0 20px; }
.ega-share__label { margin: 0; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #9CA3AF; }
.ega-share__list { display: flex; gap: 12px; }
.ega-share__item { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 8px; border: 1px solid var(--ega-cream); border-radius: 50%; transition: background .2s; }
.ega-share__item:hover { background: var(--ega-cream); }
.ega-share__item--messenger { display: none; }

/* floating TOC (left edge, after the TOC box scrolls away) */
.ega-fixed-toc { position: fixed; left: 10px; top: 50%; z-index: 30; transform: translateY(-50%); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.ega-fixed-toc.is-visible { opacity: 1; visibility: visible; }
.ega-fixed-toc__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 32px; height: 32px; min-height: 0; margin: 0; padding: 0; border: 1px solid var(--ega-pink); border-radius: 50%; background: #fff; }
.ega-fixed-toc__btn span { display: block; width: 18px; height: 2px; background: var(--ega-pink); }
.ega-fixed-toc__panel { display: none; position: absolute; left: 0; top: 40px; width: 300px; max-height: 60vh; overflow: auto; padding: 12px 16px; border-radius: 8px; background: #fff; box-shadow: var(--ega-shadow); }
.ega-fixed-toc.is-open .ega-fixed-toc__panel { display: block; }
.ega-fixed-toc__title { margin: 0 0 8px; font-weight: 600; text-transform: uppercase; color: var(--ega-navy); }

@media (max-width: 1023px) {
	/* reference .container: 12px gutters (--container-padding = spacing-3) */
	.ega-blog .container { padding-left: 12px; padding-right: 12px; }
	.ega-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ega-blog--single .ega-blog__grid { gap: 0; }
	.ega-blog-sidebar { max-width: none; margin-left: 0; }
	.ega-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.ega-blog__heading { margin-bottom: 24px; }
	.ega-share__item--messenger { display: flex; }
	.ega-article__content .ega-post-products .flickity-slider > .col,
	.ega-article__content .ega-post-products > .col { flex-basis: 61.3%; max-width: 61.3%; }
}
@media (max-width: 767px) {
	.ega-blog { padding-bottom: 20px; }
	.ega-blog--list .ega-blog__main { text-align: center; }
	.ega-blog--list .ega-post-grid, .ega-blog-pagination { text-align: left; }
	.ega-blog-pagination { text-align: center; }
	.ega-blog__heading { margin-bottom: 12px; font-size: 28px; }
	.ega-post-card__body { padding: 12px 0; }
	.ega-blog-pagination ul { gap: 8px; }
	.ega-blog-pagination .is-arrow { display: none; }
	.ega-blog-crumbs .ega-crumbs { font-size: 13px; }
	.ega-blog-crumbs .divider { margin: 0 4px; }
	.ega-article__title { font-size: 28px; }
	/* reference: tag pills keep px-3 py-1 at the body size (16px); the tags block is py-4 below md */
	.ega-aside--tags { padding: 16px 0; }
}

/* ==========================================================================
   13. Content pages (page-blank, inc/pages.php breadcrumb):
       Khuyến mãi landing (.ega-ldp-*), Giới thiệu (.ega-about), Liên hệ (.ega-contact)
   ========================================================================== */
.ega-page-crumbs .breadcrumb_last { color: var(--ega-neutral-300); }

/* landing: section rhythm 64 / 48 / 32 like the reference's .ldp */
.page-template-page-blank #content > .section.ega-ldp-sec { margin-top: 64px; }
.page-template-page-blank #content > .section.ega-ldp-hero { margin-top: 0; padding-top: 24px !important; }
.page-template-page-blank #content > .section.ega-ldp-last { padding-bottom: 0 !important; margin-bottom: 64px; } /* reference: section margin, not padding */
#content > .section[class*="ega-ldp-"] > .section-content > .row > .col { padding-bottom: 0; }
/* the reference's heading keeps its own 32px and its .ldp .heading-bar adds 24 */
.ega-ldp-sec .ega-section-head .ega-heading, .ega-ldp-sec .ega-section-head .ega-heading h2 { margin-bottom: 56px; }
/* Flatsome's .row clearfix pseudo-elements would become grid items (one more gap) */
.ega-ldp-grid::before, .ega-ldp-grid::after, .ega-ldp-set__panel::before, .ega-ldp-set__panel::after { display: none !important; }
.ega-ldp-mb { display: none !important; }
.ega-ldp-img, .ega-ldp-img .img-inner { margin: 0 !important; line-height: 0; }
.ega-ldp-img img { display: block; width: 100%; height: auto; border-radius: 18px; }
.ega-ldp-grid { display: grid !important; gap: 24px; padding: 0 15px; }
.ega-ldp-grid > .col { flex: none !important; max-width: none !important; width: auto; padding: 0 !important; }
.ega-ldp-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ega-ldp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* yellow call to action (the reference's .btn--accent.ldp-cta) */
.button.ega-btn.ega-ldp-cta {
	min-height: 0;
	margin: 0;
	padding: 13px 28px;
	border-color: var(--ega-yellow-kids);
	background: var(--ega-yellow-kids);
	color: var(--ega-navy);
	font-size: 16px;
	line-height: 16px;
	box-shadow: 0 6px #f2b01e73;
}
.button.ega-btn.ega-ldp-cta:hover { border-color: #F2B01E; background: #F2B01E; color: var(--ega-navy); transform: translateY(-2px); box-shadow: 0 8px #f2b01e73; }
.ega-ldp-cta > span::after { content: "\2192"; margin-left: 8px; font-size: 11px; vertical-align: 2px; }

/* hero */
.ega-ldp-hero-row > .col { padding-bottom: 0; }
.ega-ldp-frame > .col-inner { position: relative; border-radius: 18px; overflow: hidden; }
.ega-ldp-frame .ega-ldp-img img { border-radius: 0; }
.row.ega-ldp-cardrow { position: absolute !important; left: 40px; top: 50%; z-index: 2; width: min(44%, 480px) !important; margin: 0 !important; transform: translateY(-50%); }
.ega-ldp-cardrow > .col { flex: 0 0 100% !important; max-width: 100% !important; padding: 0 !important; }
.ega-ldp-card > .col-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px 28px; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(43, 45, 82, .12); }
.ega-ldp-card > .col-inner > * { margin: 0 !important; }
.ega-ldp-card__text { display: flex; flex-direction: column; gap: 12px; }
.ega-ldp-card__text > * { margin: 0 !important; }
.ega-ldp-eyebrow { font-size: 13px; font-weight: 800; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: var(--ega-pink); }
.ega-ldp-title { font-family: var(--ega-font-heading); font-size: 52px; font-weight: 800; line-height: 1.2; letter-spacing: 0; color: var(--ega-navy); text-wrap: balance; }
.ega-ldp-title span { color: var(--ega-pink); }
.ega-ldp-lead { font-size: 17px; line-height: 1.5; }
.ega-countdown.ega-ldp-timer { order: 0; margin: 0; text-align: left; }
.ega-ldp-timer .ega-countdown__label { margin-bottom: 10px !important; font-size: 16px; line-height: 1.4; color: var(--ega-text); }
.ega-ldp-timer .ega-countdown__boxes { justify-content: flex-start; align-items: center; gap: 8px; }
.ega-ldp-timer .ega-countdown__box { width: 62px; padding: 8px 4px; border-radius: 8px; background: var(--ega-navy); box-shadow: none; }
.ega-ldp-timer .ega-countdown__box b { font-size: 24px; font-weight: 400; line-height: 1.15; color: #fff; }
.ega-ldp-timer .ega-countdown__box small { font-size: 13px; font-weight: 400; line-height: 1.4; color: #fff; }
.ega-countdown__sep { font-weight: 700; color: var(--ega-navy); }
.ega-ldp-card .ega-ldp-cta { margin-top: 12px !important; }
.ega-ldp-keys-row > .col { padding-bottom: 0; }
.ega-ldp-keywords ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px; margin: 16px 0 0; padding: 12px 24px; list-style: none; border-radius: 18px; background: var(--ega-navy); }
.ega-ldp-keywords li { margin: 0 !important; color: #fff; font-family: var(--ega-font-heading); font-size: 18px; font-weight: 700; line-height: 1.4; }
.ega-ldp-keywords li:nth-child(even) { color: var(--ega-yellow-kids); }

/* quote */
.ega-ldp-quote { text-align: center; }
.ega-ldp-quote h2 { max-width: 820px; margin: 0 auto; font-family: var(--ega-font-heading); font-size: 36px; font-weight: 700; line-height: 1.2; color: var(--ega-teal); }
.ega-ldp-quote p { max-width: 720px; margin: 12px auto 0; font-size: 17px; line-height: 1.6; }

/* details */
.ega-ldp-detail .ega-ldp-img { margin-bottom: 12px !important; }
.ega-ldp-detail h3 { margin: 0; font-family: var(--ega-font-heading); font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--ega-navy); }
.ega-ldp-detail p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; }

/* set */
.ega-ldp-set__panel { display: grid !important; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: center; gap: 40px; padding: 32px; border-radius: 18px; background: #D9EEFA; }
html body .ega-ldp-set__panel { width: calc(100% - 30px); max-width: 1320px; margin-left: auto; margin-right: auto; }
.ega-ldp-set__panel > .col { flex: none !important; max-width: none !important; width: auto; padding: 0 !important; min-width: 0; }
.ega-ldp-set__content > .col-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ega-ldp-set__content > .col-inner > * { margin: 0 !important; }
.ega-ldp-set__text { display: flex; flex-direction: column; gap: 14px; }
.ega-ldp-set__text > * { margin: 0 !important; }
.ega-ldp-set__text h2 { font-family: var(--ega-font-heading); font-size: 40px; font-weight: 800; line-height: 1.15; color: var(--ega-navy); text-wrap: balance; }
.ega-ldp-set__text p:not(.ega-ldp-eyebrow) { font-size: 16px; line-height: 1.6; }
.ega-ldp-set__products .ega-products.row { margin-left: -8px; margin-right: -8px; }
.ega-ldp-set__products .product-small.col { padding: 0 8px; }

@media (max-width: 1199px) {
	.ega-ldp-title { font-size: 40px; }
	.row.ega-ldp-cardrow { left: 24px; width: min(48%, 420px) !important; }
	.ega-ldp-card > .col-inner, .ega-ldp-card__text { gap: 10px; }
	.ega-ldp-card > .col-inner { padding: 14px 22px; }
	.ega-ldp-set__text h2 { font-size: 32px; }
}
@media (max-width: 1023px) {
	.page-template-page-blank #content > .section.ega-ldp-sec { margin-top: 48px; }
	.page-template-page-blank #content > .section.ega-ldp-last { padding-bottom: 0 !important; margin-bottom: 48px; } /* reference: section margin, not padding */
	.ega-ldp-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ega-ldp-set__panel { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ega-ldp-frame > .col-inner { overflow: visible; border-radius: 0; }
	.ega-ldp-frame .ega-ldp-img img { border-radius: 18px; }
	.row.ega-ldp-cardrow { position: relative !important; left: auto; top: auto; width: auto !important; margin: -32px 12px 0 !important; transform: none; }
	.ega-ldp-card > .col-inner { align-items: center; padding: 18px 16px; text-align: center; }
	.ega-countdown.ega-ldp-timer, .ega-ldp-timer .ega-countdown__label { text-align: center; }
	.ega-ldp-timer .ega-countdown__boxes { justify-content: center; }
}
@media (max-width: 767px) {
	.ega-page-crumbs { font-size: 13px; line-height: 16px; }
	.ega-page-crumbs .divider { margin: 0 4px; }
	.page-template-page-blank #content > .section.ega-ldp-sec { margin-top: 32px; }
	.page-template-page-blank #content > .section.ega-ldp-hero { padding-top: 12px !important; }
	.page-template-page-blank #content > .section.ega-ldp-last { padding-bottom: 0 !important; margin-bottom: 32px; } /* reference: section margin, not padding */
	.ega-ldp-sec .ega-section-head .ega-heading, .ega-ldp-sec .ega-section-head .ega-heading h2 { margin-bottom: 42px; }
	.ega-ldp-dk { display: none !important; }
	.ega-ldp-mb { display: block !important; }
	.ega-ldp-title { font-size: 36px; }
	.ega-ldp-lead { font-size: 15px; }
	.ega-ldp-card .ega-ldp-cta { width: 100%; }
	.ega-ldp-keywords ul { gap: 4px 20px; padding: 10px 16px; }
	.ega-ldp-keywords li { font-size: 15px; }
	.ega-ldp-quote h2 { font-size: 26px; }
	.ega-ldp-quote p { font-size: 15px; }
	.ega-ldp-grid { gap: 12px; }
	.ega-ldp-grid--3 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ega-ldp-detail h3 { font-size: 17px; }
	.ega-ldp-set__panel { gap: 20px; padding: 20px 16px; }
	.ega-ldp-set__text h2 { font-size: 26px; }
	.ega-ldp-set__products .ega-products.row { margin-left: -6px; margin-right: -6px; }
	.ega-ldp-set__products .product-small.col { padding: 0 6px 12px; }
}
/* products: heading and pills share one bar with 32px under it (reference .tab-header-bar) */
.ega-ldp-products.ega-ldp-sec .ega-section-head .ega-heading, .ega-ldp-products.ega-ldp-sec .ega-section-head .ega-heading h2 { margin-bottom: 32px; }
.ega-ldp-products { scroll-margin-top: 96px; }
/* fix round 2: the reference's product block has no padding (section-card = section, 2279px @1440); the site's
   section measured 30px top + 30px bottom on top of its content */
.page-template-page-blank #content > .section.ega-ldp-products { padding-top: 0 !important; padding-bottom: 0 !important; }
/* coupons on Khuyến mãi: same panel height as the reference, but its tickets sit 14px lower (swiper top inset),
   so the list is 14px + ticket + 32px dots band (home keeps 0 + ticket + 46px) */
body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-list { padding-top: 14px !important; padding-bottom: 32px !important; }
/* fix round 2b: the reference grid (gap-4) has no gap under its last row; the site's cols keep 16px (12px <=767)
   padding-bottom, so the row gives it back. Sold-out label = reference .badge--soldout (mt-2, py-2, no box): 8 + 34
   (measured 10 + 30 on the site, every row with a sold-out card 2px short) */
.ega-ldp-products .ega-tabs .ega-products.row { margin-bottom: -16px; }
body.woocommerce .product-small .ega-stock-out, body.page-id-721 .product-small .ega-stock-out { margin-top: 8px; padding: 8px 0; background: transparent; }
/* the reference's price line is 16/22.86 (14/20 <=767), the site's 16/22.4: 0.45px short in every card row */
body.woocommerce .product-small .price-wrapper .price > ins, body.woocommerce .product-small .price-wrapper .price > ins .amount, body.woocommerce .product-small .price-wrapper .price > .amount,
body.page-id-721 .product-small .price-wrapper .price > ins, body.page-id-721 .product-small .price-wrapper .price > ins .amount, body.page-id-721 .product-small .price-wrapper .price > .amount { line-height: 1.42857; }
@media (max-width: 767px) {
	.ega-ldp-products .ega-tabs .ega-products.row { margin-bottom: -12px; }
	/* reference .tab-header-bar on mobile: full-width bar, pills from the left, 27px under the heading line */
	.ega-ldp-products .ega-tabs > .nav { justify-content: flex-start; margin-top: -5px; }
}

/* Liên hệ (reference .section-main-contact): white box p-6, two columns 16px apart, the form left;
   the right column shows a photo where the reference shows its own map (no address on this site yet) */
.page-template-page-blank #content > .section.ega-contact { margin-top: 0; padding-bottom: 40px !important; }
html body .row.ega-contact__box { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; width: calc(100% - 30px); max-width: 1320px; margin: 0 auto 24px; padding: 40px 24px 24px; border-radius: 12px; background: #fff; }
.ega-contact__box::before, .ega-contact__box::after { display: none !important; }
.ega-contact__box > .col { flex: none !important; max-width: none !important; width: auto; min-width: 0; padding: 0 !important; }
.ega-contact__text { margin: 0; }
.ega-contact__text h1 { margin: 0 0 8px; font-family: var(--ega-font-heading); font-size: 28px; font-weight: 700; line-height: 1.6; color: var(--ega-navy); }
.ega-contact__text h2 { margin: 16px 0 8px; font-family: var(--ega-font-heading); font-size: 22px; font-weight: 700; line-height: 32px; color: var(--ega-navy); }
.ega-contact .ega-form textarea.ega-input { height: 142px; min-height: 0; }
.ega-contact .ega-form .ega-btn { width: auto; min-height: 0; height: auto; padding: 12px 24px; line-height: 22.8px; }
.ega-contact__img, .ega-contact__img .img-inner { margin: 0 !important; line-height: 0; }
.ega-contact__img img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; }
@media (max-width: 767px) {
	html body .row.ega-contact__box { grid-template-columns: minmax(0, 1fr); padding: 28px 12px 12px; }
	.page-template-page-blank #content > .section.ega-contact { padding-bottom: 20px !important; }
}

/* Giới thiệu: one white box, 80% of the container from 976px, the reference's prose */
/* bottom: the box margin (24) then the footer's own margin-top, like the reference where the section's 40/20px margin collapses into the footer's 40/32px */
.page-template-page-blank #content > .section.ega-about { margin-top: 0; padding-bottom: 0 !important; }
html body .row.ega-about__row { width: calc(100% - 30px); max-width: 1320px; margin: 0 auto; }
.ega-about__row::before, .ega-about__row::after { display: none !important; }
.ega-about__row > .col.ega-about__box { flex: none; max-width: none; width: 80%; margin: 0 auto 24px; padding: 24px !important; border-radius: 18px; background: #fff; }
.ega-about__text { margin: 0; }
.ega-about__text h1 { margin: 0 0 8px; font-family: var(--ega-font-heading); font-size: 28px; font-weight: 600; line-height: 1.6; color: var(--ega-navy); }
.ega-about__prose { font-size: 16px; line-height: 24px; color: #4a4452; }
.ega-about__prose p { margin: 0 0 20px; }
.ega-about__prose h2 { margin: 48px 0 24px; font-family: var(--ega-font-heading); font-size: 24px; font-weight: 700; line-height: 32px; color: #4a4452; }
.ega-about__prose ul { margin: 0 0 20px; padding-left: 26px; list-style: disc; }
.ega-about__prose ol { margin: 0 0 20px; padding-left: 26px; list-style: decimal; }
.col-inner .ega-about__prose ol > li { margin-left: 0; }
.ega-about__prose ol > li::marker { color: var(--ega-pink); font-weight: 400; }
.ega-about__prose li { margin: 8px 0; padding-left: 6px; }
.ega-about__prose li::marker { color: var(--ega-pink); }
.ega-about__prose strong { font-weight: 700; color: inherit; }
.ega-about__prose a { color: var(--ega-pink); text-decoration: underline; }
.ega-about__prose > :last-child { margin-bottom: 0; }
@media (max-width: 1439px) {
	html body .row.ega-about__row { width: calc(100% - 24px); }
}
@media (max-width: 975px) {
	.ega-about__row > .col.ega-about__box { width: 100%; }
}
@media (max-width: 767px) {
	.ega-about__row > .col.ega-about__box { padding: 16px 12px !important; }
}

/* Hệ thống cửa hàng (.ega-stores): centred h1, "Tìm cửa hàng" card 431px | photo in the map slot (reference shoplist.css) */
.page-template-page-blank #content > .section.ega-stores { margin-top: 0; padding-bottom: 31px !important; }
html body .row.ega-stores__head, html body .row.ega-stores__grid { width: calc(100% - 30px); max-width: 1320px; margin: 0 auto; }
.ega-stores__head::before, .ega-stores__head::after, .ega-stores__grid::before, .ega-stores__grid::after { display: none !important; }
.ega-stores__head > .col { padding: 0 !important; }
.ega-stores__title { margin: 0; }
.ega-stores__title h1 { margin: 0; font-family: var(--ega-font-heading); font-size: 28px; font-weight: 600; line-height: 1.6; color: var(--ega-navy); text-align: center; }
html body .row.ega-stores__grid { display: grid !important; grid-template-columns: 431px minmax(0, 1fr); gap: 15px; align-items: center; margin-top: 30px; }
.ega-stores__grid > .col { flex: none !important; max-width: none !important; width: auto; min-width: 0; padding: 0 !important; }
.ega-stores__grid > .col.ega-stores__card > .col-inner { height: 500px; padding: 30px 20px; border: 1px solid #868686; border-radius: 8px; background: #fff; box-shadow: 0 62px 33px -60px #d1c1b5; overflow: auto; }
.ega-stores__text { margin: 0; }
.ega-stores__text h2 { margin: 0 0 22px; font-family: var(--ega-font-heading); font-size: 25px; font-weight: 600; line-height: 1.6; color: var(--ega-text); }
.ega-stores__empty { padding: 15px; border: 1px solid var(--ega-pink); border-radius: 8px; }
.ega-stores__empty h3 { margin: 0 0 6px; font-family: var(--ega-font-heading); font-size: 16px; font-weight: 700; line-height: 24px; color: var(--ega-navy); }
.ega-stores__empty p { margin: 0; font-size: 16px; line-height: 24px; color: var(--ega-text); }
.ega-stores__empty a { color: var(--ega-pink); text-decoration: underline; }
.ega-stores__img, .ega-stores__img .img-inner { margin: 0 !important; line-height: 0; }
.ega-stores__img img { display: block; width: 100%; height: 500px; object-fit: cover; border-radius: 8px; }
@media (max-width: 1439px) {
	html body .row.ega-stores__head, html body .row.ega-stores__grid { width: calc(100% - 24px); }
}
@media (max-width: 767px) {
	html body .row.ega-stores__grid { grid-template-columns: 100%; gap: 0; margin-top: 20px; }
	.ega-stores__grid > .col.ega-stores__card > .col-inner { height: auto; max-height: 400px; margin: 10px 0 15px; padding: 20px 15px; }
	.page-template-page-blank #content > .section.ega-stores { padding-bottom: 30px !important; }
}

/* Câu hỏi thường gặp (.ega-faq): questions 7/12 | form card 4/12 (reference faq.css, container 1140 / 960 / 720 / 540) */
.page-template-page-blank #content > .section.ega-faq { margin-top: 0; padding: 40px 0 70px !important; }
html body .row.ega-faq__row { display: flex; flex-wrap: wrap; width: 100%; max-width: 1140px; margin: 0 auto; padding: 0; }
.ega-faq__row::before, .ega-faq__row::after { display: none !important; }
.ega-faq__row > .col { padding: 0 15px !important; }
.ega-faq__row > .col.ega-faq__main { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
.ega-faq__row > .col.ega-faq__aside { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; margin-left: auto; }
.ega-faq__head { margin: 0; }
.ega-faq__title { position: relative; margin: 0 0 15px; font-family: var(--ega-font-heading); font-size: 40px; font-weight: 700; line-height: 64px; color: #252525; }
.ega-faq__title::before, .ega-faq__title::after { content: ""; position: absolute; top: -10px; height: 3px; border-radius: 2px; background: var(--ega-pink); }
.ega-faq__title::before { left: 0; width: 40px; }
.ega-faq__title::after { left: 50px; width: 10px; }
.ega-faq__list { margin: 0; }
.ega-faq__list .accordion-item { border: 0; }
.ega-faq__list .accordion-title { position: relative; display: flex; align-items: center; padding: 10px 30px 10px 0; border: 0; border-bottom: 1px solid #eee; font-family: var(--ega-font-body); font-size: 18px; font-weight: 400; line-height: 30px; color: #252525; transition: color .2s ease; }
.ega-faq__list .accordion-title:hover, .ega-faq__list .accordion-title.active { color: var(--ega-pink); background: none; }
.ega-faq__list .accordion-title .toggle { position: absolute; top: 50%; left: auto; right: 0; width: 12px !important; height: 12px !important; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--ega-pink); opacity: 1; transform: none !important; }
.ega-faq__list .accordion-title .toggle > * { display: none; }
.ega-faq__list .accordion-title .toggle::before, .ega-faq__list .accordion-title .toggle::after { content: ""; position: absolute; background: currentColor; transition: transform .3s ease-out; }
.ega-faq__list .accordion-title .toggle::before { left: 0; right: 0; top: 5px; height: 2px; }
.ega-faq__list .accordion-title .toggle::after { top: 0; bottom: 0; left: 5px; width: 2px; }
.ega-faq__list .accordion-title.active .toggle { color: #6e6e6e; }
.ega-faq__list .accordion-title.active .toggle::after { transform: rotate(90deg); }
.ega-faq__list .accordion-inner { padding: 16px 30px 15px; border-bottom: 1px solid #eee; font-size: 16px; line-height: 1.4; color: #6e6e6e; }
.ega-faq__list .accordion-inner p { margin: 0; }
.ega-faq__aside > .col-inner { padding: 20px 40px 26px; background: #fff; box-shadow: 5px 7px 30px rgba(72, 73, 121, .15); }
.ega-faq__formtitle { margin: 0; }
.ega-faq__formtitle h2 { margin: 0 0 17px; font-family: var(--ega-font-heading); font-size: 21px; font-weight: 700; line-height: 1.2; color: var(--ega-navy); text-align: center; }
.ega-faq .ega-form { gap: 18px; }
.ega-faq .ega-form input.ega-input, .ega-faq .ega-form textarea.ega-input { height: 54px; padding: 10px 20px; border: 0; border-radius: 0; background: #f3f5fe; color: #6e6e6e; font-size: 16px; }
.ega-faq .ega-form textarea.ega-input { height: 80px; min-height: 0; }
.ega-faq .ega-form ::placeholder { color: #6e6e6e; }
.ega-faq .ega-form__submit { margin-top: 3px; }
.ega-faq .ega-form .ega-btn { width: 100%; min-height: 47px; height: auto; padding: 13.5px 20px; font-weight: 700; line-height: 20px; white-space: normal; text-transform: uppercase; }
.ega-faq__aside form { margin-bottom: 0; }
@media (max-width: 1199px) { html body .row.ega-faq__row { max-width: 960px; } }
@media (max-width: 991px) { html body .row.ega-faq__row { max-width: 720px; } }
@media (max-width: 767px) {
	html body .row.ega-faq__row { max-width: 540px; }
	.ega-faq__row > .col.ega-faq__main, .ega-faq__row > .col.ega-faq__aside { flex: 0 0 100% !important; max-width: 100% !important; }
	.ega-faq__aside { margin-top: 0; }
}
@media (max-width: 576px) {
	html body .row.ega-faq__row { max-width: 100%; }
	.ega-faq__title { margin-bottom: 15px; font-size: 32px; line-height: 51.2px; }
	.ega-faq__list .accordion-title { padding: 10px 15px; }
	.ega-faq__aside > .col-inner { padding: 20px 15px; }
}

/* ==========================================================================
   Fix round 2 part D — home section heights (home-scoped), blog cards, FAQ form, account, search, pagination
   ========================================================================== */
/* §2 flash: the reference's stock-countdown (label + 8px bar) is rendered under the swatches again */
.ega-home-flash .ega-products--flash .ega-flash-stock { display: block; margin-top: 12px; }
.ega-home-flash .ega-flash-stock__label { margin-bottom: 4px; font-size: 13px; line-height: 20px; }
@media (max-width: 767px) { .ega-home-flash .ega-flash-stock__label { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
/* §5 hot spots: `.ega-hotspots-copy li { padding: 0 }` (later rule) cancelled the bullet indent */
.ega-hotspots-copy ul li { padding-left: 20px; }
@media (max-width: 767px) {
	/* reference: swatch row mt 6px, stock-countdown right under it (label 18.57px + 4px + 8px bar, no bottom margin) */
	.ega-home-flash .ega-swatches { margin-top: 6px; }
	.ega-home-flash .ega-products--flash .ega-flash-stock { margin-top: 0; }
	.ega-home-flash .ega-flash-stock__label { line-height: 18.57px; }
}
/* §7 Hàng mới về: reference slides 25% / 27% / 61.3% with a 15px gutter (card 318 / 203 / 205px) */
.ega-home-new .ega-products.row { margin-left: -7.5px; margin-right: -7.5px; }
.ega-home-new .ega-products .product-small.col { padding-left: 7.5px; padding-right: 7.5px; }
@media (min-width: 768px) and (max-width: 1023px) { .ega-home-new .product-small.col { flex: 0 0 27.25%; max-width: 27.25%; } }
@media (max-width: 767px) {
	.ega-home-new .product-small.col { flex: 0 0 59.35%; max-width: 59.35%; }
	.ega-home-new .product-small .name.product-title, .ega-home-new .product-small .product-title a { font-size: 14px; }
}
/* §3 collections <=1023: reference slide 22% of the 796px container (175px) / 64% (234px), dots band 20px */
@media (max-width: 1023px) {
	.ega-home-collections .ega-coll-row { padding-bottom: 20px; }
}
@media (min-width: 768px) and (max-width: 1023px) { .ega-home-collections .ega-coll-row > .col { flex: 0 0 23.16%; max-width: 23.16%; } }
@media (max-width: 767px) { .ega-home-collections .ega-coll-row > .col { flex: 0 0 65.14%; max-width: 65.14%; } }
/* §5 hot spots <=1023: reference image keeps its 742px size (centred), gap 48 / 24px, full-width button */
@media (max-width: 1023px) {
	/* the banner height is padding-top % of its column, so the column inner is capped (not the banner) */
	.ega-hotspots-media > .col-inner { max-width: 742px; margin-left: auto; margin-right: auto; }
	.ega-hotspots-text { margin-top: 48px; }
	.ega-hotspots-copy p { margin-bottom: 8px; }
	.ega-home-hotspots .ega-hotspots-text .button { display: flex; justify-content: center; width: 100%; }
}
@media (max-width: 767px) {
	.ega-hotspots-media, .ega-hotspots-text { padding-left: 12px !important; padding-right: 12px !important; }
	.ega-hotspots-text { margin-top: 24px; }
}
/* §0 hero <=767: the reference's dots sit under the image (mt 12px, 4px bars, grey / pink) */
@media (max-width: 767px) {
	.ega-hero-slider .flickity-page-dots { position: static; display: flex; justify-content: center; gap: 8px; height: 4px; margin-top: 12px; line-height: 0; }
	.ega-hero-slider .flickity-page-dots .dot, .ega-hero-slider .flickity-page-dots .dot.is-selected { width: 16px; height: 4px; margin: 0; }
	.ega-hero-slider .flickity-page-dots .dot { background: #B9B4BF; opacity: 1; }
	.ega-hero-slider .flickity-page-dots .dot.is-selected { background: var(--ega-pink); }
}
/* §5 hot spots text: reference h2 line-height 1.6, content mt 12, list mb 12, button 50px + 8px line strut (inline-flex) */
.ega-home-hotspots .ega-hotspots-text .ega-heading h2 { line-height: 1.6; }
@media (max-width: 1023px) {
	.ega-hotspots-copy { margin-top: 12px; }
	.ega-hotspots-copy ul { margin-bottom: 12px; }
	.ega-home-hotspots .ega-hotspots-text .button { height: 50px; min-height: 50px; margin: 0 0 8px; }
}
@media (max-width: 767px) { .ega-home-hotspots .ega-hotspots-text .ega-heading h2 { margin-bottom: 12px; } }
/* §3 collections 768-1023: heading block 24px (reference head 75px); dots 16px under the tiles */
@media (min-width: 768px) and (max-width: 1023px) {
	.ega-home-collections .ega-section-head .ega-heading, .ega-home-collections .ega-section-head .ega-heading h2 { margin-bottom: 24px; }
	.ega-home-brands .ega-heading, .ega-home-brands .ega-heading h2 { margin-bottom: 24px; }
}
@media (max-width: 1023px) { .ega-home-collections .ega-coll-row.ega-dots-after::after { bottom: 0; } }
/* §7 <=767: heading block 44.8 + 32px, card 205px, dots 17px under the card, button 38px under the dots */
@media (max-width: 767px) {
	.ega-home-new .product-small.col { flex: 0 0 58.71%; max-width: 58.71%; }
	.ega-home-new .ega-section-head .ega-heading, .ega-home-new .ega-section-head .ega-heading h2 { margin-bottom: 32px; }
	.ega-home-new .ega-products .product-small.col { padding-bottom: 0; }
	.ega-home-new .ega-dots { margin-top: 17px; }
	.ega-home-new .button.ega-more { margin-top: 38px; }
	/* §12 brands: reference logos 36px high under 768 */
	.ega-brand { height: 36px; }
	.ega-brand img { max-height: 36px; }
	.ega-brand-strip > .col-inner { gap: 40px; padding-left: 20px; padding-right: 20px; }
	.ega-brand-strip .ega-brand { flex-basis: 110px; width: 110px !important; animation-name: ega-marquee-sm; }
	.ega-brand-strip .ega-brand img { max-width: 110px; }
}
/* §5 (measured 820/390): reference copy starts 24px under the heading, button 20px under the list, nothing under the button */
@media (max-width: 1023px) {
	.ega-home-hotspots .ega-hotspots-copy { margin-top: 24px; }
	.ega-home-hotspots .ega-hotspots-text .button { margin: 20px 0 0; }
	.ega-home-hotspots .ega-hotspots-text > .col-inner { padding-bottom: 0; }
}
/* 768-1023: the h2 keeps its 24px margin-bottom, which collapses with the copy margin: 36px gives the reference's 36px gap */
@media (min-width: 768px) and (max-width: 1023px) {
	.ega-home-hotspots .ega-hotspots-copy { margin-top: 36px; }
}
/* B1 tin-tuc <=767: reference aside titles are 16px / 1.2 (19.19px), tag rows 40.8px apart, no margin under the tags block */
@media (max-width: 767px) {
	.ega-blog .ega-aside__title { line-height: 1.2; }
	.ega-blog .ega-aside--tags { margin-bottom: 0; }
	.ega-blog .ega-tag-list { row-gap: 9px; }
	html body .ega-blog__heading { margin-bottom: 16px; }
}
/* m1 FAQ: reference placeholders are 14px (so "Tên của bạn" fits the 130px field at 820) */
.ega-faq .ega-form input.ega-input::placeholder, .ega-faq .ega-form textarea.ega-input::placeholder { font-size: 14px; }
/* m1 FAQ form card (reference reads): title mb 15, button 11px 23px / 22.86px lines, 7.5px group margin + 20px under the form */
.ega-faq__formtitle h2 { margin-bottom: 15px; }
.ega-faq .ega-form .ega-btn { min-height: 0; padding: 11px 23px; line-height: 22.857px; }
html body .ega-faq__aside > .col-inner { padding-bottom: 27.5px; }
/* m6 account login <=849 (390 screenshots): title 7px higher, "Quên mật khẩu" 8px under the password field (mt-2), fields 24px from the edge */
@media (max-width: 849px) {
	.ega-auth { padding-top: 21px; }
	.ega-auth .ega-auth__lost { margin-top: -8px; }
}
@media (max-width: 549px) { .ega-auth { padding-left: 9px; padding-right: 9px; } }
/* m7 search <=549: the reference field runs 24px from each edge (container 15 + 9) */
@media (max-width: 549px) { .ega-search-page .ega-search-form { margin: 0 9px; } }
/* m5 shop/category pagination = the reference's (and the blog's): 36px boxes, radius 4, teal current, ‹ › arrows (a disabled ‹ on page 1) from 768px, no arrows below */
.woocommerce-pagination .page-number { width: 36px; min-width: 36px; padding: 0; border-radius: 4px; color: var(--ega-text); font-weight: 400; }
.woocommerce-pagination .page-number:hover { background: var(--ega-cream); color: var(--ega-text); }
.woocommerce-pagination .page-number.prev i, .woocommerce-pagination .page-number.next i { display: none !important; }
.woocommerce-pagination .page-number.prev::before { content: "\2039"; font-size: 20px; }
.woocommerce-pagination .page-number.next::before { content: "\203A"; font-size: 20px; }
.woocommerce-pagination ul.page-numbers:not(:has(.prev))::before { content: "\2039"; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; font-size: 20px; color: var(--ega-text); opacity: .5; }
@media (min-width: 768px) { .woocommerce-pagination ul.page-numbers.nav-pagination { gap: 16px; } }
@media (max-width: 767px) {
	.woocommerce-pagination ul.page-numbers.nav-pagination { gap: 8px; }
	.woocommerce-pagination ul.page-numbers > li:has(> .prev), .woocommerce-pagination ul.page-numbers > li:has(> .next) { display: none; }
	.woocommerce-pagination ul.page-numbers:not(:has(.prev))::before { display: none; }
}
.woocommerce-pagination ul.page-numbers:not(:has(.next))::after { content: "\203A"; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; font-size: 20px; color: var(--ega-text); opacity: .5; }
@media (max-width: 767px) { .woocommerce-pagination ul.page-numbers:not(:has(.next))::after { display: none; } }
/* fix round 2 — store @<=549: the reference's grid is 12px side insets + 16px gaps both ways (cards 175px @390); the
   site had 15px insets + 12px gaps, so every row was ~3px short; pagination/collections spacing measured on the reference */
@media (max-width: 549px) {
	html body .ega-catalog__main .products.row { margin: 0 -11px; }
	html body .ega-catalog__main .products > .product-small.col { padding: 0 8px 16px; }
	html body .ega-catalog__main .woocommerce-pagination { margin-top: 49px; }
	html body .ega-shop-collections { margin-top: 54px; }
	/* the catalogue heading sat ~18px low under the vouchers and the grid ~8px close to the filter row */
	html body .row.ega-catalog.category-page-row { margin-top: 12px !important; } /* measured 30px (Flatsome) */
	html body .ega-catalog__head { margin-bottom: 35px; }
}
/* store + Khuyến mãi cards: the title wrapper (Flatsome 13.6px / 19.4px line) measured 36.4px around a 33.6px title
   (an empty anonymous line next to the absolute CTA): as a flex column it is the title's height, as the reference's */
body.woocommerce .product-small .title-wrapper, body.page-id-721 .product-small .title-wrapper { display: flex; flex-direction: column; }
body.woocommerce .product-small .title-wrapper > .name, body.woocommerce .product-small .title-wrapper > .name > a,
body.page-id-721 .product-small .title-wrapper > .name, body.page-id-721 .product-small .title-wrapper > .name > a { margin: 0 !important; padding: 0 !important; }

/* Fix round 1 (fix stage) — shop / category boxes, section heights as the reference
   (section mode: coupons 321/261/261, catalog 2398/2111/2471, collections 369/298/393).
   The gaps between the boxes stay the same: padding taken out of a box goes into its margin. */
@media (min-width: 850px) {
	html body .ega-shop-coupons__col { padding-bottom: 51px !important; }
	html body .ega-shop-coupons__col.ega-dots-after::after { bottom: 33px; }
}
@media (min-width: 550px) and (max-width: 849px) {
	/* the heading sat 33px low inside the padding and 28px of padding hung under the dots */
	html body .ega-shop-coupons { margin-top: 63px; margin-bottom: 38px; }
	html body .ega-shop-coupons__col { padding-top: 10px !important; padding-bottom: 18px !important; }
	html body .ega-shop-coupons__col.ega-dots-after::after { bottom: -2px; }
}
@media (max-width: 549px) {
	html body .ega-shop-coupons { margin-bottom: 6px; }
	html body .ega-shop-coupons__col { padding-bottom: 20px !important; }
	html body .ega-shop-coupons__col.ega-dots-after::after { bottom: -2px; }
}
/* catalog: the reference box ends 22px (9px <=767) under the pagination; collections margin-top
   (it collapses with the catalog margin-bottom) loses the same amount */
html body .row.ega-catalog { padding-bottom: 22px; }
@media (min-width: 850px) { html body .row.ega-catalog { margin-bottom: 42px; } }
@media (max-width: 849px) { html body .row.ega-catalog { margin-bottom: 18px; } }
@media (min-width: 1024px) {
	html body .ega-shop-collections { margin-top: 54px; }
	/* cards 16px lower than the reference: the heading column kept Flatsome's 30px bottom padding */
	html body .ega-shop-collections .ega-section-head > .col { padding-bottom: 14px; }
	html body .ega-shop-collections .ega-coll-row { padding-bottom: 22px; }
	html body .ega-shop-collections .ega-coll-row.ega-dots-after::after { bottom: 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	html body .ega-shop-collections { margin-top: 60px; }
	html body .ega-shop-collections .ega-coll-row { padding-bottom: 25px; }
	html body .ega-shop-collections .ega-coll-row.ega-dots-after::after { bottom: 3px; }
}
@media (max-width: 767px) {
	html body .row.ega-catalog { padding-bottom: 9px; margin-bottom: 9px; }
	html body .ega-shop-collections { margin-top: 31px; }
	html body .ega-shop-collections .ega-coll-row { padding-bottom: 21px; }
	html body .ega-shop-collections .ega-coll-row.ega-dots-after::after { bottom: 0; }
}
@media (max-width: 549px) {
	html body .ega-shop-collections { margin-top: 45px; }
}

/* Fix round 1 turn 3 — store */
/* Gaps between the shop/category boxes = the reference's collapsed section margins
   (coupons 64/64, catalog 32/32, collections 64; <=767: 30/30, 32/32, 32). The box heights stay. */
@media (min-width: 768px) {
	html body .ega-shop-coupons { margin-top: 64px; margin-bottom: 64px; }
	html body .row.ega-catalog { margin-bottom: 32px; }
	html body .row.ega-catalog, html body .row.ega-catalog.category-page-row { margin-top: 32px !important; }
	html body .ega-shop-collections { margin-top: 64px; }
}
@media (max-width: 767px) {
	html body .ega-shop-coupons { margin-bottom: 30px; }
	html body .row.ega-catalog { margin-bottom: 32px; }
	html body .row.ega-catalog, html body .row.ega-catalog.category-page-row { margin-top: 32px !important; }
	html body .ega-shop-collections { margin-top: 32px; }
}
/* Catalog head: reference h1 32px/1.6 (28px <=767) with 12px above it; our 30px top padding put the
   title and the sidebar about 16px low. The cards keep their place (head margin takes the rest). */
@media (min-width: 1024px) {
	html body .row.ega-catalog { padding-top: 14px; }
	html body .ega-catalog__title { font-size: 32px; line-height: 1.6; }
	html body .ega-catalog__head { margin-bottom: 62.6px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	html body .row.ega-catalog { padding-top: 14px; }
	html body .ega-catalog__title { font-size: 32px; line-height: 1.6; }
	html body .ega-catalog__head { margin-bottom: 55.8px; }
	html body .ega-catalog__main .woocommerce-pagination { margin-top: 61px; }
	/* collection cards 175px wide as the reference (were 170: 181 vs 186px tall) */
	html body .ega-shop-collections .ega-coll-row > .col { flex: 0 0 23.16%; max-width: 23.16%; }
	html body .ega-shop-collections .ega-coll-row { padding-bottom: 20px; }
	html body .ega-shop-collections .ega-coll-row.ega-dots-after::after { bottom: 1px; }
}
@media (max-width: 767px) {
	html body .row.ega-catalog { padding-top: 16px; padding-bottom: 23px; }
}

/* Fix round 1 turn 3b — product gallery / khuyen-mai cards */
/* product page <=1023 (reference: container 12px, 24px above the banner, banner mb-4,
   grid gap-4, .product-gallery pt-3 / md:pt-6, gallery = thumbs 80 + gap 24 + photo) */
@media (max-width: 1023px) {
	.ega-pd__wrap { padding-top: 24px; padding-left: 12px; padding-right: 12px; }
	.ega-pd__wrap .ega-pd-banner { margin-bottom: 16px; }
	.ega-pd__main { row-gap: 16px; }
	.ega-pd__gallery { padding-top: 12px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.ega-pd__gallery { padding-top: 24px; }
}
@media (min-width: 768px) {
	/* Flatsome's .row clearfix pseudo-elements are flex items here: one extra 24px gap */
	.ega-pd__gallery > .row::before, .ega-pd__gallery > .row::after { display: none; }
}
/* khuyen-mai policies: reference heading bar = heading + 24 (768-1023) / 16 (<=767) */
@media (min-width: 768px) and (max-width: 1023px) {
	.page-id-721 #content > .section.ega-ldp-last .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-last .ega-section-head .ega-heading h2 { margin-bottom: 48px; }
}
@media (max-width: 767px) {
	.page-id-721 #content > .section.ega-ldp-last .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-last .ega-section-head .ega-heading h2 { margin-bottom: 32px; }
}

/* Fix round 2 — breadcrumbs on every layout: the reference's separator is "&nbsp;/&nbsp;" in a mx-1 / md:mx-2 span
   (our spaces sit outside the span, so the margin is the rest) and its container is 12px in from the edge under 1024. */
/* Exact copy of the reference's spacing: each crumb is "<a> <span mx>&nbsp;/&nbsp;</span>" in a flex li, so a space
   sits before the separator span and nothing after it. A flex nav drops our own spaces (and the store crumbs from
   WooCommerce have none); the pseudo text puts them back. Selectors outrank the store crumbs' own divider margins. */
html body .ega-breadcrumbs .woocommerce-breadcrumb,
html body .ega-breadcrumbs .ega-crumbs { display: flex; flex-wrap: wrap; align-items: center; }
html body .ega-breadcrumbs .woocommerce-breadcrumb .divider,
html body .ega-breadcrumbs .ega-crumbs .divider { margin: 0 8px 0 0; }
html body .ega-breadcrumbs .woocommerce-breadcrumb .divider::before,
html body .ega-breadcrumbs .ega-crumbs .divider::before { content: "\00a0\00a0"; letter-spacing: 8px; margin-right: -8px; }
html body .ega-breadcrumbs .woocommerce-breadcrumb .divider::after,
html body .ega-breadcrumbs .ega-crumbs .divider::after { content: "\00a0"; }
@media (max-width: 767px) {
	html body .ega-breadcrumbs .woocommerce-breadcrumb .divider,
	html body .ega-breadcrumbs .ega-crumbs .divider { margin-right: 4px; }
	html body .ega-breadcrumbs .woocommerce-breadcrumb .divider::before,
	html body .ega-breadcrumbs .ega-crumbs .divider::before { letter-spacing: 4px; margin-right: -4px; }
}
/* text-xs md:text-sm on a 10px root: 12/16 and 14/20 (measured: our 15px text was 79px where the reference's is 74px) */
html body .ega-breadcrumbs .woocommerce-breadcrumb,
html body .ega-breadcrumbs .ega-crumbs { font-size: 14px; line-height: 20px; }
@media (max-width: 767px) {
	html body .ega-breadcrumbs .woocommerce-breadcrumb,
	html body .ega-breadcrumbs .ega-crumbs { font-size: 12px; line-height: 16px; }
}
@media (max-width: 1023px) {
	html body .ega-breadcrumbs > .container { padding-left: 12px; padding-right: 12px; }
}

/* Fix round 2 — khuyen-mai (page-id-721), measured against the reference's sales-landing-page.css:
   1. under 1440 the reference .container is full width with 12px sides (ours: Flatsome col 15px), so the
      hero, banner, 4 banners, 3 details and the set panel were 6px narrower (images 2-4.5px shorter each);
   2. section heading bar = heading + 24 (768-1023) / 16 (<=767) like the policies fix (ours 56 / 42);
   3. in-flow hero card under 1024: CTA 48 (ours 53.6: Flatsome .button span line-height 1.6),
      timer digits line-height 1, label/eyebrow/keywords line-height 1.42857 (reference body). */
@media (max-width: 1439px) {
	.page-id-721 #content > .section.ega-ldp-hero > .section-content > .row > .col,
	.page-id-721 #content > .section.ega-ldp-quote > .section-content > .row > .col,
	.page-id-721 #content > .section.ega-ldp-banner > .section-content > .row > .col,
	.page-id-721 #content > .section.ega-ldp-banners .ega-section-head > .col,
	.page-id-721 #content > .section.ega-ldp-details .ega-section-head > .col { padding-left: 12px; padding-right: 12px; }
	.page-id-721 #content > .section.ega-ldp-banners .ega-ldp-grid,
	.page-id-721 #content > .section.ega-ldp-details .ega-ldp-grid { padding-left: 12px; padding-right: 12px; }
	html body.page-id-721 .ega-ldp-set__panel { width: calc(100% - 24px); }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.page-id-721 #content > .section.ega-ldp-banners .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-banners .ega-section-head .ega-heading h2,
	.page-id-721 #content > .section.ega-ldp-details .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-details .ega-section-head .ega-heading h2 { margin-bottom: 48px; }
}
@media (max-width: 1023px) {
	.page-id-721 .button.ega-btn.ega-ldp-cta > span { line-height: 20px; }
	.page-id-721 .ega-ldp-timer .ega-countdown__box b { line-height: 1; }
	.page-id-721 .ega-ldp-timer .ega-countdown__label,
	.page-id-721 .ega-ldp-card .ega-ldp-eyebrow,
	.page-id-721 .ega-ldp-keywords li { line-height: 1.42857; }
}
@media (max-width: 767px) {
	.page-id-721 #content > .section.ega-ldp-banners .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-banners .ega-section-head .ega-heading h2,
	.page-id-721 #content > .section.ega-ldp-details .ega-section-head .ega-heading,
	.page-id-721 #content > .section.ega-ldp-details .ega-section-head .ega-heading h2 { margin-bottom: 32px; }
	/* reference set grid: row gap 12, nothing after the last row (ours: every card col padding-bottom 12) */
	.page-id-721 .ega-ldp-set__products .ega-products.row { margin-bottom: -12px; }
	/* reference .ldp-cta { width: 100% } under 768 holds for the set's CTA too */
	.page-id-721 .ega-ldp-set__content .button.ega-btn.ega-ldp-cta { width: 100%; }
}

/* Fix round 2 — product/blog
   R1: the gallery thumbnails are a plain list driven by the main gallery (main.js initThumbsNav), like the
   reference's embla thumbs: a column from 768px, a 61px + 12px scroll strip below (no Flickity). */
.ega-pd__gallery .product-thumbnails.ega-thumbs { position: relative; opacity: 1; }
.ega-pd__gallery .product-thumbnails.ega-thumbs .col a { cursor: pointer; }
@media (max-width: 767px) {
	.ega-pd__gallery .product-thumbnails.ega-thumbs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.ega-pd__gallery .product-thumbnails.ega-thumbs::-webkit-scrollbar { display: none; }
	.ega-pd__gallery .product-thumbnails.ega-thumbs .col:last-child { flex-basis: 61px; width: 61px; max-width: 61px; padding-right: 0 !important; }
}
/* the reference's .product-gallery is md:pt-6 at every width from 768 (the 768-1023 rule above stopped at 1023) */
@media (min-width: 1024px) {
	.ega-pd__gallery { padding-top: 24px; }
}
/* Fix round 2 — login: the title sat 22 / 17 / 25 px lower than the reference's at 1440 / 820 / 390 (page_compare 01a189a8-ca55 / -ca6a / -ca79) */
/* Fix round 3: reverted — the band compare (real positions, compare-r2t2-b) showed the title and form ~25 px above the reference's. */
.woocommerce-account .ega-auth { margin-top: 0; }
/* 768-849: title 7 px above the reference's; search footer 8 px early (01a18a49-8eb6 / -8ed5) */
@media (min-width: 550px) and (max-width: 849px) { .woocommerce-account .ega-auth { margin-top: 7px; } .ega-search-page { padding-bottom: 48px; } }
/* Fix round 3: search padding reverted to 48 / 48 / 40 — the 24 px cut put the title 24 px above the reference's (compare-r2t2-b). */
/* Fix round 2 — home §6 banners: the -8px !important margins cancelled the row's auto centring, so the cards started at 0 instead of the
   reference's container edge (60 @1440, 12 @820; page_compare 01a189bd-522a / -5281 pair 6, 35 % / 14 %). Centre it, 16px gutters. */
@media (min-width: 768px) { html body .ega-home-banners .ega-banner-row { width: calc(100% - 8px); max-width: 1336px; margin-left: auto !important; margin-right: auto !important; } }

/* Fix round 3 — khuyen-mai / text pages (fix B) */
/* khuyen-mai coupons (page_compare 01a18a23-6c17 / 01a18a26-f156 / 01a18a26-f1c4): reference ticket = body 87.64 (pb 8) + code 35.14
   (12px / 17.14 line) + action pb 10 = 132.78 (ours 134.53); intro 20% of 1272 + gap 20 (ours calc(20% + 15px)), so tickets were 231 wide
   (ref 233.4); under 1344 the reference panel sits in a 12px container (ours full width); notched ticket + drop shadow. */
.page-id-721 .ega-coupon__action { margin-top: 4px !important; }
.page-id-721 .ega-coupon__code { font-size: 12px; line-height: 1.42857; letter-spacing: 0; color: color-mix(in srgb, var(--accent) 60%, #000); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.page-id-721 .ega-coupon .ega-copy { right: 3px; }
.page-id-721 .ega-coupon { filter: drop-shadow(0 4px 10px rgba(0,0,0,.08)); }
.page-id-721 .ega-coupon > .col-inner {
	--nx: 60px;
	-webkit-mask: radial-gradient(circle at var(--nx) 0, #0000 9px, #000 9.5px) top / 100% 51% no-repeat, radial-gradient(circle at var(--nx) 100%, #0000 9px, #000 9.5px) bottom / 100% 51% no-repeat;
	mask: radial-gradient(circle at var(--nx) 0, #0000 9px, #000 9.5px) top / 100% 51% no-repeat, radial-gradient(circle at var(--nx) 100%, #0000 9px, #000 9.5px) bottom / 100% 51% no-repeat;
}
@media (min-width: 1024px) {
	.page-id-721 .ega-coupons-title p { max-width: 240px; margin: 12px auto 16px; text-wrap: balance; }
}
@media (min-width: 1280px) {
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-intro { flex: 0 0 20% !important; max-width: 20% !important; padding: 0 !important; }
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-list { padding: 16px 8px 31.75px 28px !important; }
}
@media (max-width: 1343px) {
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel { width: calc(100% - 24px); margin-left: 12px; margin-right: 12px; }
}
@media (max-width: 1023px) {
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel { padding: 32px 16px; }
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-intro { padding: 0 !important; }
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-list { padding: 12px 8px 31.75px !important; }
	.page-id-721 .ega-coupons-title p { text-wrap: balance; }
}
@media (max-width: 767px) {
	/* here the -8px row margins do not widen the row (read 01a18a35-de34: row 318 vs the reference viewport 334) */
	html body.page-id-721 .ega-home-coupons .ega-coupons-panel > .ega-coupons-list { padding-left: 0 !important; padding-right: 0 !important; }
	html body.page-id-721 .ega-coupons-row { width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
	/* slide 334 / 1.15 with 8px each side = ticket 274.42 (01a18a3a-6692: ours 282.42, the col kept only 8px in total) */
	html body.page-id-721 .ega-coupons-row > .col { flex: 0 0 calc(100% / 1.15); max-width: calc(100% / 1.15); padding-left: 8px !important; padding-right: 8px !important; }
	.page-id-721 .ega-coupon > .col-inner { --nx: 72px; grid-template-columns: 72px minmax(0, 1fr); }
	.page-id-721 .ega-coupon__icon img { width: 28px; height: 28px; }
}
/* khuyen-mai hero card from 1024: the reference's CTA 48 / digits line-height 1 / label + eyebrow line-height 1.42857 hold at every width
   (round 2 set them only under 1024), so our card was 416.23 tall vs 407.88 (read 01a18a2d-b650) and its text sat 4 px high. */
@media (min-width: 1024px) {
	.page-id-721 .button.ega-btn.ega-ldp-cta > span { line-height: 20px; }
	.page-id-721 .ega-ldp-timer .ega-countdown__box b { line-height: 1; }
	.page-id-721 .ega-ldp-timer .ega-countdown__label,
	.page-id-721 .ega-ldp-card .ega-ldp-eyebrow { line-height: 1.42857; }
}
/* khuyen-mai policies: the -12px !important margins pinned the row at x = -12 (cards at 0 instead of the reference's 60 @1440, 12 @820/390);
   reference card: padding 28 20 24 / gap 16 from 768 (20 16 18 / 12 below), 1.5px dashed accent outline + inset bottom shade. */
html body.page-id-721 .ega-policies-row { margin-left: auto !important; margin-right: auto !important; }
.page-id-721 .ega-policy > .col-inner {
	--acc: oklch(from var(--bg) calc(l - .22) calc(c + .08) h);
	outline: 1.5px dashed color-mix(in srgb, var(--acc) 55%, transparent);
	box-shadow: inset 0 -4px color-mix(in srgb, var(--acc) 25%, transparent);
}
@media (min-width: 768px) {
	.page-id-721 .ega-policy > .col-inner { padding: 28px 20px 24px; gap: 16px; }
}
@media (max-width: 767px) {
	html body.page-id-721 .ega-policies-row { width: calc(100% - 8px); margin-left: 4px !important; margin-right: 4px !important; }
	html body.page-id-721 .ega-policies-row > .col { padding-left: 8px; padding-right: 8px; }
	.page-id-721 .ega-policy > .col-inner { padding: 20px 16px 18px; }
}
