:root {
--primary: #0057a8;
--primary-dark: #003d7a;
--primary-light: #1a7fd4;
--secondary: #00897b;
--secondary-dark: #00695c;
--accent: #ff6f00;
--accent-light: #ffa000;
--danger: #e53935;
--success: #43a047;
--text-dark: #1a1a2e;
--text-medium: #424242;
--text-light: #757575;
--border: #e0e0e0;
--bg-light: #f5f7fa;
--bg-white: #ffffff;
--bg-dark: #0d1b2a;
--shadow-sm: 0 1px 4px rgba(0,0,0,0.08);
--shadow-md: 0 4px 16px rgba(0,0,0,0.12);
--shadow-lg: 0 8px 30px rgba(0,0,0,0.18);
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 16px;
--transition: 0.25s ease;
--font-main: 'Roboto', 'Segoe UI', Arial, sans-serif;
--font-heading: 'Montserrat', 'Roboto', Arial, sans-serif;
--container: 1280px;
--header-height: 70px;
--topbar-height: 34px;
--nav-height: 41px;
--livechat-height: 40px;
--banner-h: 460px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
scroll-behavior: smooth;
font-size: 16px;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font-main);
color: var(--text-dark);
background: var(--bg-white);
line-height: 1.6;
overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--accent); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; }
input, select, textarea { font-family: inherit; } h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
font-weight: 700;
line-height: 1.3;
color: var(--text-dark);
}
h1 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); }
h2 { font-size: clamp(1.3rem, 2.5vw, 1.9rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.4rem); }
h4 { font-size: 1.1rem; }
p { margin-bottom: 1rem; }
.section-title {
text-align: center;
position: relative;
padding-bottom: 16px;
margin-bottom: 36px;
font-size: clamp(1.2rem, 2.5vw, 1.75rem);
color: var(--primary-dark);
}
.section-title::after {
content: '';
position: absolute;
bottom: 0; left: 50%;
transform: translateX(-50%);
width: 60px; height: 4px;
background: linear-gradient(90deg, var(--primary), var(--accent));
border-radius: 2px;
}
.section-title .subtitle {
display: block;
font-size: 0.9rem;
font-weight: 400;
color: var(--text-light);
margin-top: 6px;
} .container {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.section-pad { padding: 60px 0; }
.section-pad-sm { padding: 40px 0; }
.bg-light { background: var(--bg-light); }
.bg-primary { background: var(--primary); }
.bg-dark-ocean { background: var(--bg-dark); }
.text-white { color: #fff !important; }
.text-center { text-align: center; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-wrap { flex-wrap: wrap; }
.gap-1 { gap: 8px; }
.gap-2 { gap: 16px; }
.gap-3 { gap: 24px; }
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 28px;
border-radius: var(--radius-md);
font-weight: 600;
font-size: 0.95rem;
letter-spacing: 0.3px;
transition: all var(--transition);
border: 2px solid transparent;
white-space: nowrap;
}
.btn-primary {
background: var(--primary);
color: #fff;
border-color: var(--primary);
}
.btn-primary:hover {
background: var(--primary-dark);
border-color: var(--primary-dark);
color: #fff;
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.btn-accent {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
.btn-accent:hover {
background: #e65100;
border-color: #e65100;
color: #fff;
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(255,111,0,0.35);
}
.btn-outline {
background: transparent;
color: var(--primary);
border-color: var(--primary);
}
.btn-outline:hover {
background: var(--primary);
color: #fff;
}
.btn-sm { padding: 8px 18px; font-size: 0.85rem; }
.btn-lg { padding: 16px 36px; font-size: 1.05rem; }
.badge {
display: inline-block;
padding: 3px 9px;
border-radius: 20px;
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.badge-sale { background: var(--danger); color: #fff; }
.badge-new { background: var(--success); color: #fff; }
.badge-hot { background: var(--accent); color: #fff; } #top-bar {
background: var(--primary-dark);
color: rgba(255,255,255,0.9);
font-size: 0.82rem;
padding: 7px 0;
position: relative;
z-index: 1000;
}
.top-bar-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}
.top-bar-left { display: flex; align-items: center; gap: 20px; }
.top-bar-right { display: flex; align-items: center; gap: 16px; }
.top-bar-item {
display: flex;
align-items: center;
gap: 5px;
color: rgba(255,255,255,0.88);
font-size: 0.82rem;
}
.top-bar-item a {
color: rgba(255,255,255,0.88);
}
.top-bar-item a:hover { color: var(--accent-light); }
.top-bar-item .icon {
width: 14px; height: 14px;
fill: currentColor;
}
.top-bar-marquee {
flex: 1;
overflow: hidden;
margin: 0 20px;
}
.top-bar-marquee span {
display: inline-block;
white-space: nowrap;
animation: marquee 25s linear infinite;
color: #ffe082;
font-weight: 500;
}
@keyframes marquee {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
} #main-header {
background: var(--bg-white);
position: sticky;
top: 0;
z-index: 999;
box-shadow: var(--shadow-sm);
transition: box-shadow var(--transition);
}
#main-header.scrolled {
box-shadow: var(--shadow-md);
}
.header-inner {
display: flex;
align-items: center;
height: var(--header-height);
gap: 24px;
}
.site-logo {
flex-shrink: 0;
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
}
.site-logo img {
height: 50px;
width: auto;
}
.site-logo-text {
display: flex;
flex-direction: column;
}
.site-logo-text .name {
font-family: var(--font-heading);
font-weight: 800;
font-size: 1.1rem;
color: var(--primary);
line-height: 1.2;
}
.site-logo-text .tagline {
font-size: 0.7rem;
color: var(--text-light);
letter-spacing: 0.5px;
} .header-search {
flex: 1;
max-width: 560px;
position: relative;
}
.header-search form {
display: flex;
border: 2px solid var(--border);
border-radius: 30px;
overflow: hidden;
transition: border-color var(--transition);
}
.header-search form:focus-within {
border-color: var(--primary);
}
.header-search input[type="search"] {
flex: 1;
padding: 10px 20px;
border: none;
outline: none;
font-size: 0.9rem;
background: transparent;
}
.header-search .search-btn {
background: var(--primary);
color: #fff;
padding: 0 20px;
border: none;
cursor: pointer;
transition: background var(--transition);
font-size: 1rem;
}
.header-search .search-btn:hover { background: var(--primary-dark); } .header-actions {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
.header-action-btn {
display: flex;
flex-direction: column;
align-items: center;
padding: 8px 12px;
border-radius: var(--radius-sm);
color: var(--text-dark);
font-size: 0.72rem;
font-weight: 500;
transition: all var(--transition);
position: relative;
text-decoration: none;
}
.header-action-btn:hover {
background: var(--bg-light);
color: var(--primary);
}
.header-action-btn svg { width: 22px; height: 22px; margin-bottom: 2px; }
.cart-count {
position: absolute;
top: 4px; right: 6px;
background: var(--danger);
color: #fff;
border-radius: 50%;
width: 18px; height: 18px;
font-size: 0.65rem;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
}
.header-phone {
background: var(--accent);
color: #fff;
padding: 10px 18px;
border-radius: 30px;
font-weight: 700;
font-size: 0.9rem;
display: flex;
align-items: center;
gap: 6px;
white-space: nowrap;
}
.header-phone:hover {
background: #e65100;
color: #fff;
transform: scale(1.03);
}
.header-phone svg { width: 16px; height: 16px; fill: #fff; } .menu-toggle {
display: none;
flex-direction: column;
gap: 5px;
padding: 8px;
cursor: pointer;
}
.menu-toggle span {
display: block;
width: 26px; height: 2px;
background: var(--text-dark);
border-radius: 2px;
transition: all 0.3s;
}
.menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); } body.drawer-open {
overflow: hidden;
} body { display: flex; flex-direction: column; min-height: 100vh; }
#page-wrapper { flex: 1; } html { overflow-x: clip; } #mobile-drawer {
display: none;
position: fixed;
top: 0; right: 0;
z-index: 1201;
pointer-events: none;
visibility: hidden;
}
.drawer-overlay {
display: none;
position: fixed;
inset: 0;
z-index: 1200;
pointer-events: none;
visibility: hidden;
} #main-nav {
background: var(--primary);
position: relative;
z-index: 998;
}
.nav-inner {
display: flex;
align-items: center;
}
.main-menu {
display: flex;
align-items: center;
}
.main-menu > li {
position: relative;
}
.main-menu > li > a {
display: flex;
align-items: center;
gap: 6px;
padding: 14px 18px;
color: rgba(255,255,255,0.92);
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.2px;
white-space: nowrap;
transition: all var(--transition);
}
.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-parent > a {
color: #fff;
background: rgba(255,255,255,0.12);
}
.main-menu > li > a .arrow {
width: 14px; height: 14px;
transition: transform var(--transition);
fill: rgba(255,255,255,0.7);
}
.main-menu > li:hover > a .arrow { transform: rotate(180deg); } .main-menu .sub-menu {
position: absolute;
top: 100%; left: 0;
background: #fff;
min-width: 220px;
box-shadow: var(--shadow-lg);
border-radius: 0 0 var(--radius-md) var(--radius-md);
border-top: 3px solid var(--primary);
opacity: 0;
visibility: hidden;
transform: translateY(8px);
transition: all var(--transition);
z-index: 1000;
}
.main-menu > li:hover .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.main-menu .sub-menu li a {
display: flex;
align-items: center;
gap: 8px;
padding: 11px 20px;
color: var(--text-medium);
font-size: 0.88rem;
transition: all var(--transition);
border-bottom: 1px solid var(--border);
}
.main-menu .sub-menu li:last-child a { border-bottom: none; }
.main-menu .sub-menu li a:hover {
color: var(--primary);
background: var(--bg-light);
padding-left: 26px;
}
.main-menu .sub-menu li a::before {
content: '›';
color: var(--accent);
font-size: 1.1rem;
font-weight: 700;
} .main-menu > li.has-mega > .mega-menu {
position: absolute;
top: 100%; left: -100px;
background: #fff;
width: 780px;
box-shadow: var(--shadow-lg);
border-radius: 0 0 var(--radius-md) var(--radius-md);
border-top: 3px solid var(--primary);
opacity: 0;
visibility: hidden;
transform: translateY(8px);
transition: all var(--transition);
z-index: 1000;
padding: 24px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.main-menu > li.has-mega:hover .mega-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.mega-col-title {
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: var(--primary);
padding-bottom: 10px;
border-bottom: 2px solid var(--primary-light);
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 6px;
}
.mega-col ul li a {
display: flex;
align-items: center;
gap: 6px;
padding: 7px 4px;
color: var(--text-medium);
font-size: 0.85rem;
border-bottom: 1px solid #f5f5f5;
transition: all var(--transition);
}
.mega-col ul li a:hover { color: var(--primary); padding-left: 8px; }
.mega-col ul li a .count {
margin-left: auto;
background: var(--bg-light);
color: var(--text-light);
font-size: 0.68rem;
padding: 1px 6px;
border-radius: 20px;
} .nav-extras {
margin-left: auto;
display: flex;
align-items: center;
gap: 0;
}
.nav-extras .nav-extra-item {
display: flex;
align-items: center;
gap: 5px;
padding: 0 14px;
color: rgba(255,255,255,0.88);
font-size: 0.82rem;
height: 50px;
border-left: 1px solid rgba(255,255,255,0.1);
transition: all var(--transition);
cursor: pointer;
}
.nav-extras .nav-extra-item:hover {
background: rgba(255,255,255,0.12);
color: #fff;
} .hero-section {
position: relative;
overflow: hidden; transition: background 0.5s cubic-bezier(0.4,0,0.2,1);
}  .slide-overlay {
position: absolute;
inset: 0;
background: linear-gradient(90deg, rgba(0,40,80,0.85) 0%, rgba(0,40,80,0.4) 50%, transparent 100%);
}
.slide-content {
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 100%;
padding: 0 48px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.slide-content .tag {
display: inline-block;
background: var(--accent);
color: #fff;
font-size: 0.78rem;
font-weight: 700;
padding: 5px 14px;
border-radius: 20px;
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: 1px;
}
.slide-content h1, .slide-content h2 {
color: #fff;
font-size: clamp(1.6rem, 4vw, 3rem);
margin-bottom: 12px;
max-width: 560px;
text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.slide-content p {
color: rgba(255,255,255,0.88);
font-size: clamp(0.9rem, 1.5vw, 1.05rem);
max-width: 480px;
margin-bottom: 24px;
}
.slide-btns { display: flex; gap: 12px; justify-content: center; }
.slider-nav {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 8px;
z-index: 10;
}
.slider-dot {
width: 10px; height: 10px;
border-radius: 50%;
background: rgba(255,255,255,0.45);
cursor: pointer;
transition: all var(--transition);
}
.slider-dot.active { background: #fff; transform: scale(1.3); }
.slider-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255,255,255,0.2);
border: 2px solid rgba(255,255,255,0.4);
color: #fff;
width: 48px; height: 48px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all var(--transition);
z-index: 10;
font-size: 1.2rem;
backdrop-filter: blur(4px);
}
.slider-arrow:hover {
background: var(--primary);
border-color: var(--primary);
}
.slider-arrow.prev { left: 20px; }
.slider-arrow.next { right: 20px; } .hero-layout {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 3px;
height: var(--banner-h, 460px);
max-width: var(--container); margin: 0 auto; } .hero-slider {
position: relative;
height: 100%;
overflow: hidden;
}
.slider-wrapper {
display: flex;
height: 100%;
transition: transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.slide {
min-width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
.slide-bg-wrap {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
} .mini-banners {
display: grid;
grid-template-rows: 1fr 1fr;
gap: 3px;
height: 100%;
}
.mini-banner {
position: relative;
overflow: hidden;
display: block;
}
.mini-banner img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s;
}
.mini-banner:hover img { transform: scale(1.05); }
.mini-banner-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 60%);
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 16px;
}
.mini-banner-overlay h3 {
color: #fff;
font-size: 0.95rem;
margin-bottom: 4px;
}
.mini-banner-overlay .price {
color: var(--accent-light);
font-weight: 700;
font-size: 0.88rem;
} .category-section { padding: 50px 0; background: var(--bg-light); }
.category-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 16px;
}
.category-card {
background: #fff;
border-radius: var(--radius-md);
padding: 20px 12px 16px;
text-align: center;
transition: all var(--transition);
border: 2px solid transparent;
box-shadow: var(--shadow-sm);
position: relative;
overflow: hidden;
}
.category-card::before {
content: '';
position: absolute;
bottom: 0; left: 0;
width: 100%; height: 3px;
background: linear-gradient(90deg, var(--primary), var(--secondary));
transform: scaleX(0);
transition: transform var(--transition);
}
.category-card:hover {
border-color: var(--primary);
transform: translateY(-4px);
box-shadow: var(--shadow-md);
text-decoration: none;
}
.category-card:hover::before { transform: scaleX(1); }
.category-icon {
width: 64px; height: 64px;
border-radius: 50%;
margin: 0 auto 12px;
background: linear-gradient(135deg, #e3f2fd, #bbdefb);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.8rem;
transition: all var(--transition);
}
.category-card:hover .category-icon {
background: linear-gradient(135deg, var(--primary), var(--primary-light));
}
.category-card:hover .category-icon span { filter: brightness(10); }
.category-name {
font-size: 0.82rem;
font-weight: 600;
color: var(--text-dark);
display: block;
margin-bottom: 4px;
line-height: 1.3;
}
.category-count {
font-size: 0.72rem;
color: var(--text-light);
} .products-section { padding: 60px 0; }
.products-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 28px;
gap: 16px;
flex-wrap: wrap;
}
.products-tabs {
display: flex;
gap: 4px;
background: var(--bg-light);
padding: 4px;
border-radius: 30px;
}
.product-tab {
padding: 8px 20px;
border-radius: 22px;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: all var(--transition);
color: var(--text-medium);
border: none;
background: transparent;
}
.product-tab.active {
background: var(--primary);
color: #fff;
box-shadow: var(--shadow-sm);
}
.products-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 20px;
width: 100%;
box-sizing: border-box;
}
.products-grid--5 {
grid-template-columns: repeat(5, 1fr);
}
.products-grid--6 {
grid-template-columns: repeat(6, 1fr);
}
.products-grid > * {
min-width: 0;
} .cat-block {
background: #fff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
border: 1px solid var(--border);
overflow: hidden;
margin-bottom: 2rem;
}
.cat-block-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.9rem 1.5rem;
color: #fff;
flex-wrap: wrap;
gap: 0.5rem;
}
.cat-block-header h2 {
font-size: 1.05rem;
margin: 0;
color: #fff;
display: flex;
align-items: center;
gap: 0.5rem;
font-weight: 700;
}
.cat-block-header .cat-count {
font-size: .78rem;
opacity: .8;
font-weight: 400;
}
.cat-block-header .cat-viewall {
color: rgba(255,255,255,.95);
font-size: .82rem;
text-decoration: none;
border: 1.5px solid rgba(255,255,255,.5);
padding: .28rem .9rem;
border-radius: 20px;
transition: background .2s;
white-space: nowrap;
}
.cat-block-header .cat-viewall:hover {
background: rgba(255,255,255,.2);
}
.cat-block-body {
padding: 1.25rem;
}
.product-card {
background: #fff;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: all var(--transition);
border: 1px solid var(--border);
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
}
.product-card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-4px);
border-color: var(--primary);
}
.product-thumbnail {
display: block;
position: relative;
overflow: hidden;
padding-top: 75%; background: var(--bg-light);
}
.product-thumbnail img {
position: absolute;
inset: 0;
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
.product-card:hover .product-thumbnail img { transform: scale(1.07); }
.product-badges {
position: absolute;
top: 10px; left: 10px;
display: flex;
flex-direction: column;
gap: 4px;
z-index: 2;
}
.product-actions {
position: absolute;
top: 10px; right: 10px;
display: flex;
flex-direction: column;
gap: 6px;
z-index: 2;
opacity: 0;
transform: translateX(10px);
transition: all var(--transition);
}
.product-card:hover .product-actions {
opacity: 1;
transform: translateX(0);
}
.product-action-btn {
width: 36px; height: 36px;
border-radius: 50%;
background: #fff;
box-shadow: var(--shadow-sm);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-dark);
transition: all var(--transition);
font-size: 0.85rem;
border: none;
cursor: pointer;
}
.product-action-btn:hover { background: var(--primary); color: #fff; }
.product-action-btn.wishlist-active { color: var(--danger); }
.product-info {
padding: 14px 16px 16px;
display: flex;
flex-direction: column;
flex: 1;
}
.product-category-tag {
font-size: 0.72rem;
font-weight: 600;
color: var(--secondary);
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 6px;
}
.product-title {
font-size: 0.9rem;
font-weight: 600;
color: var(--text-dark);
line-height: 1.4;
margin-bottom: 8px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
flex: 1;
}
.product-title a { color: inherit; }
.product-title a:hover { color: var(--primary); }
.product-price-wrap {
display: flex;
align-items: baseline;
flex-wrap: wrap;
gap: 6px 8px;
margin-bottom: 12px;
overflow: hidden;
}
.product-price {
font-size: 1.05rem;
font-weight: 700;
color: var(--danger);
}
.product-regular-price {
font-size: 0.82rem;
color: var(--text-light);
text-decoration: line-through;
}
.product-discount-pct {
font-size: 0.72rem;
font-weight: 700;
color: var(--danger);
background: rgba(229,57,53,0.1);
padding: 2px 7px;
border-radius: 20px;
}
.product-rating {
display: flex;
align-items: center;
gap: 4px;
margin-bottom: 10px;
font-size: 0.78rem;
color: var(--text-light);
}
.stars { color: #ffc107; letter-spacing: 2px; font-size: 0.75rem; }
.add-to-cart-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
width: 100%;
padding: 10px;
background: var(--primary);
color: #fff;
border-radius: var(--radius-sm);
font-size: 0.85rem;
font-weight: 600;
transition: all var(--transition);
border: none;
cursor: pointer;
}
.add-to-cart-btn:hover { background: var(--primary-dark); color: #fff; transform: none; }
.add-to-cart-btn:active { transform: scale(0.98); }
.add-to-cart-btn svg { width: 16px; height: 16px; fill: currentColor; } .product-urgency {
display: flex;
align-items: center;
gap: 5px;
font-size: 0.72rem;
color: var(--danger);
font-weight: 600;
background: rgba(229,57,53,0.06);
padding: 5px 10px;
border-radius: var(--radius-sm);
margin-top: 8px;
} .trust-bar {
background: var(--primary);
padding: 0;
overflow: hidden;
}
.trust-items {
display: flex;
align-items: stretch;
}
.trust-item {
display: flex;
align-items: center;
gap: 14px;
padding: 20px 24px;
flex: 1;
border-right: 1px solid rgba(255,255,255,0.15);
transition: background var(--transition);
}
.trust-item:last-child { border-right: none; }
.trust-item:hover { background: rgba(255,255,255,0.08); }
.trust-icon {
width: 44px; height: 44px;
background: rgba(255,255,255,0.12);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.3rem;
flex-shrink: 0;
border: 2px solid rgba(255,255,255,0.25);
}
.trust-text h4 {
color: #fff;
font-size: 0.88rem;
margin-bottom: 2px;
}
.trust-text p {
color: rgba(255,255,255,0.72);
font-size: 0.76rem;
margin: 0;
} .stats-section {
background: linear-gradient(135deg, var(--primary-dark) 0%, var(--secondary-dark) 100%);
padding: 50px 0;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
}
.stat-item {
text-align: center;
padding: 24px;
border-right: 1px solid rgba(255,255,255,0.15);
}
.stat-item:last-child { border-right: none; }
.stat-number {
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 800;
color: var(--accent-light);
font-family: var(--font-heading);
line-height: 1;
margin-bottom: 8px;
}
.stat-label {
color: rgba(255,255,255,0.8);
font-size: 0.88rem;
} .cta-banner {
background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
padding: 60px 20px;
text-align: center;
}
.cta-banner h2 { color: #fff; margin-bottom: 12px; }
.cta-banner p { color: rgba(255,255,255,0.88); max-width: 560px; margin: 0 auto 28px; }
.cta-btns { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; }
.btn-white {
background: #fff;
color: var(--primary);
border-color: #fff;
}
.btn-white:hover { background: #f5f5f5; color: var(--primary-dark); }
.btn-outline-white {
background: transparent;
color: #fff;
border: 2px solid rgba(255,255,255,0.6);
}
.btn-outline-white:hover { background: rgba(255,255,255,0.15); color: #fff; } .zalo-cta {
background: #0068ff;
padding: 40px 20px;
text-align: center;
}
.zalo-cta h3 { color: #fff; font-size: 1.3rem; margin-bottom: 8px; }
.zalo-cta p { color: rgba(255,255,255,0.9); margin-bottom: 20px; }
.btn-zalo {
background: #fff;
color: #0068ff;
font-weight: 700;
padding: 14px 32px;
border-radius: 30px;
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 1rem;
transition: all var(--transition);
box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.btn-zalo:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.25); color: #0068ff; } .blog-section { padding: 60px 0; background: var(--bg-light); }
.post-card {
background: #fff;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: all var(--transition);
border: 1px solid var(--border);
}
.post-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.post-thumbnail {
overflow: hidden;
height: 200px;
}
.post-thumbnail img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
.post-card:hover .post-thumbnail img { transform: scale(1.06); }
.post-body { padding: 20px; }
.post-meta {
display: flex;
align-items: center;
gap: 12px;
font-size: 0.78rem;
color: var(--text-light);
margin-bottom: 10px;
}
.post-category {
background: rgba(0,87,168,0.08);
color: var(--primary);
padding: 3px 10px;
border-radius: 20px;
font-weight: 600;
}
.post-title {
font-size: 1rem;
font-weight: 700;
color: var(--text-dark);
margin-bottom: 10px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.4;
}
.post-title a { color: inherit; }
.post-title a:hover { color: var(--primary); }
.post-excerpt {
font-size: 0.85rem;
color: var(--text-light);
margin-bottom: 16px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.read-more {
font-size: 0.85rem;
font-weight: 600;
color: var(--primary);
display: inline-flex;
align-items: center;
gap: 4px;
}
.read-more:hover { gap: 8px; color: var(--accent); } .content-sidebar-wrap {
display: grid;
grid-template-columns: 1fr 300px;
gap: 32px;
align-items: start;
}
.sidebar { position: sticky; top: calc(var(--header-height) + 20px); }
.widget {
background: #fff;
border-radius: var(--radius-md);
padding: 20px;
margin-bottom: 20px;
box-shadow: var(--shadow-sm);
border: 1px solid var(--border);
}
.widget-title {
font-size: 1rem;
font-weight: 700;
color: var(--primary-dark);
margin-bottom: 16px;
padding-bottom: 10px;
border-bottom: 2px solid var(--primary-light);
display: flex;
align-items: center;
gap: 8px;
}
.widget-title::before {
content: '';
display: block;
width: 5px; height: 18px;
background: var(--accent);
border-radius: 3px;
} .price-filter-inputs { display: flex; gap: 8px; align-items: center; }
.price-filter-inputs input {
width: 90px;
padding: 8px 12px;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.85rem;
} .cat-list li {
border-bottom: 1px solid var(--border);
}
.cat-list li:last-child { border-bottom: none; }
.cat-list li a {
display: flex;
align-items: center;
justify-content: space-between;
padding: 9px 4px;
color: var(--text-medium);
font-size: 0.88rem;
transition: all var(--transition);
}
.cat-list li a:hover { color: var(--primary); padding-left: 8px; }
.cat-list .count {
background: var(--bg-light);
padding: 1px 8px;
border-radius: 20px;
font-size: 0.72rem;
color: var(--text-light);
} #site-footer {
background: var(--bg-dark);
color: rgba(255,255,255,0.78);
padding: 60px 0 0;
font-size: 0.88rem; display: block;
overflow: hidden;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1.2fr 1.2fr 1.4fr;
gap: 40px;
padding-bottom: 40px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand img { height: 48px; margin-bottom: 14px; }
.footer-brand p {
color: rgba(255,255,255,0.65);
font-size: 0.85rem;
line-height: 1.7;
margin-bottom: 16px;
}
.footer-brand .site-title {
color: #fff;
font-size: 1.2rem;
font-weight: 800;
font-family: var(--font-heading);
margin-bottom: 6px;
letter-spacing: 0.5px;
}
.footer-brand .site-tagline {
color: var(--accent-light);
font-size: 0.78rem;
font-weight: 500;
margin-bottom: 14px;
font-style: italic;
}
.social-links { display: flex; gap: 8px; }
.social-link {
width: 38px; height: 38px;
border-radius: 50%;
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.15);
display: flex;
align-items: center;
justify-content: center;
color: rgba(255,255,255,0.7);
font-size: 0.9rem;
transition: all var(--transition);
}
.social-link:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: translateY(-2px); }
.social-link.facebook:hover { background: #1877f2; border-color: #1877f2; }
.social-link.zalo:hover { background: #0068ff; border-color: #0068ff; }
.social-link.youtube:hover { background: #ff0000; border-color: #ff0000; }
.footer-col h4 {
color: #fff;
font-size: 0.95rem;
font-weight: 700;
margin-bottom: 16px;
padding-bottom: 10px;
border-bottom: 2px solid rgba(255,255,255,0.1);
position: relative;
}
.footer-col h4::after {
content: '';
position: absolute;
bottom: -2px; left: 0;
width: 30px; height: 2px;
background: var(--accent);
}
.footer-links li { margin-bottom: 8px; }
.footer-links li a {
color: rgba(255,255,255,0.65);
font-size: 0.85rem;
display: flex;
align-items: center;
gap: 6px;
transition: all var(--transition);
}
.footer-links li a:hover { color: var(--accent-light); padding-left: 4px; }
.footer-links li a::before { content: '›'; opacity: 0.6; font-size: 1rem; }
.footer-contact-item {
display: flex;
gap: 10px;
align-items: flex-start;
margin-bottom: 12px;
}
.footer-contact-item .contact-icon {
width: 32px; height: 32px;
background: rgba(255,255,255,0.08);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.9rem;
flex-shrink: 0;
margin-top: 2px;
}
.footer-contact-item .contact-detail {
font-size: 0.83rem;
color: rgba(255,255,255,0.7);
line-height: 1.5;
}
.footer-contact-item .contact-label {
color: rgba(255,255,255,0.4);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 2px;
}
.footer-contact-item a {
color: #fff;
font-weight: 600;
}
.footer-contact-item a:hover { color: var(--accent-light); } .newsletter-form {
display: flex;
margin-top: 12px;
border-radius: var(--radius-sm);
overflow: hidden;
border: 1px solid rgba(255,255,255,0.15);
}
.newsletter-form input {
flex: 1;
padding: 10px 14px;
font-size: 0.85rem;
background: rgba(255,255,255,0.08);
color: #fff;
border: none;
outline: none;
}
.newsletter-form input::placeholder { color: rgba(255,255,255,0.45); }
.newsletter-form button {
padding: 10px 16px;
background: var(--accent);
color: #fff;
border: none;
cursor: pointer;
font-size: 0.85rem;
font-weight: 600;
transition: background var(--transition);
}
.newsletter-form button:hover { background: #e65100; } .footer-bottom {
background: rgba(0,0,0,0.25);
padding: 16px 0;
}
.footer-bottom-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}
.footer-bottom p {
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
margin: 0;
}
.footer-bottom a { color: rgba(255,255,255,0.65); }
.footer-bottom a:hover { color: var(--accent-light); }
.payment-icons { display: flex; gap: 6px; align-items: center; }
.payment-icons img { height: 24px; border-radius: 3px; } .woocommerce-notices-wrapper { max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
border-radius: var(--radius-md) !important;
font-size: 0.9rem !important;
}
.woocommerce-message { border-top-color: var(--success) !important; }
.woocommerce-error { border-top-color: var(--danger) !important; } .woocommerce-breadcrumb {
font-size: 0.82rem;
color: var(--text-light);
padding: 12px 0 0;
margin-bottom: 0 !important;
}
.woocommerce-breadcrumb a { color: var(--primary); } .woocommerce-products-header { display: none; }
.shop-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0 24px;
flex-wrap: wrap;
gap: 12px;
}
.woocommerce-result-count { font-size: 0.85rem; color: var(--text-light); }
.woocommerce-ordering select {
padding: 8px 16px;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.85rem;
outline: none;
}
.woocommerce-ordering select:focus { border-color: var(--primary); } .woocommerce ul.products {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)) !important;
margin: 0 !important;
float: none !important;
gap: 18px;
width: 100% !important;
box-sizing: border-box !important;
padding: 0 !important;
list-style: none !important;
}
.woocommerce ul.products li.product {
background: #fff;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
border: 1px solid var(--border);
transition: all var(--transition);
padding: 0 !important;
margin: 0 !important;
float: none !important;
width: auto !important;
min-width: 0 !important;
}
.woocommerce ul.products li.product:hover {
box-shadow: var(--shadow-md);
transform: translateY(-4px);
border-color: var(--primary);
}
.woocommerce ul.products li.product a img {
width: 100%;
height: 230px;
object-fit: cover;
margin: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
font-size: 0.9rem !important;
padding: 12px 14px 6px !important;
font-weight: 600 !important;
color: var(--text-dark) !important;
font-family: var(--font-main) !important;
}
.woocommerce ul.products li.product .price {
padding: 0 14px 10px !important;
color: var(--danger) !important;
font-size: 1.05rem !important;
font-weight: 700 !important;
}
.woocommerce ul.products li.product .price del {
color: var(--text-light) !important;
font-size: 0.82rem !important;
font-weight: 400 !important;
}
.woocommerce ul.products li.product .button {
display: block !important;
width: calc(100% - 28px) !important;
margin: 0 14px 14px !important;
padding: 10px !important;
background: var(--primary) !important;
color: #fff !important;
border-radius: var(--radius-sm) !important;
text-align: center !important;
font-size: 0.85rem !important;
font-weight: 600 !important;
transition: background var(--transition) !important;
border: none !important;
}
.woocommerce ul.products li.product .button:hover {
background: var(--primary-dark) !important;
}
.woocommerce span.onsale {
background: var(--danger) !important;
border-radius: 4px !important;
top: 10px !important;
left: 10px !important;
min-height: auto !important;
min-width: auto !important;
padding: 4px 10px !important;
font-size: 0.72rem !important;
font-weight: 700 !important;
line-height: 1.4 !important;
} .woocommerce-pagination {
margin-top: 40px;
text-align: center;
}
.woocommerce-pagination ul {
display: inline-flex !important;
gap: 6px;
border: none !important;
}
.woocommerce-pagination ul li {
border: none !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
border: 1px solid var(--border) !important;
border-radius: var(--radius-sm) !important;
padding: 8px 14px !important;
font-size: 0.9rem !important;
color: var(--text-medium) !important;
transition: all var(--transition) !important;
background: #fff !important;
display: block !important;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
background: var(--primary) !important;
color: #fff !important;
border-color: var(--primary) !important;
} .single-product-wrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
} .woocommerce div.product div.images {
width: 100% !important;
float: none !important;
}
.woocommerce div.product div.summary {
width: 100% !important;
float: none !important;
}
.woocommerce div.product {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 40px !important;
}
.woocommerce div.product div.images { grid-row: 1; }
.woocommerce div.product div.summary { grid-row: 1; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; }
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
background: var(--primary) !important;
color: #fff !important;
border-radius: var(--radius-sm) !important;
font-weight: 600 !important;
padding: 12px 24px !important;
transition: background var(--transition) !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
background: var(--primary-dark) !important;
}
.woocommerce button.button.alt,
.woocommerce input.button.alt {
background: var(--accent) !important;
}
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
background: #e65100 !important;
}
.single_add_to_cart_button {
width: 100%;
font-size: 1rem !important;
padding: 14px 30px !important;
} .woocommerce div.product p.price,
.woocommerce div.product span.price {
color: var(--danger) !important;
font-size: 1.6rem !important;
font-weight: 800 !important;
}
.woocommerce div.product p.price del {
color: var(--text-light) !important;
font-size: 1rem !important;
font-weight: 400 !important;
} .woocommerce div.product .woocommerce-tabs ul.tabs {
border-bottom: 2px solid var(--border) !important;
background: none !important;
padding: 0 !important;
margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
border: none !important;
background: none !important;
border-radius: 0 !important;
padding: 0 !important;
margin-right: 4px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
padding: 12px 20px !important;
font-size: 0.9rem !important;
font-weight: 600 !important;
color: var(--text-medium) !important;
display: block;
transition: all var(--transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
color: var(--primary) !important;
border-bottom: 2px solid var(--primary) !important;
background: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
padding: 24px 0 !important;
}   .woocommerce-cart .woocommerce {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
} .hsvt-cart-wrap {
display: grid;
grid-template-columns: 1fr 340px;
gap: 28px;
align-items: start;
margin: 24px 0 40px;
}
.hsvt-cart-main { min-width: 0; }
.hsvt-cart-sidebar { position: sticky; top: calc(var(--header-height) + 16px); } .hsvt-cart-header {
display: grid;
grid-template-columns: 80px 1fr 110px 100px 110px 36px;
gap: 0 12px;
align-items: center;
background: var(--bg-light);
border: 1px solid var(--border);
border-radius: var(--radius-md) var(--radius-md) 0 0;
padding: 10px 16px;
font-size: 0.78rem;
font-weight: 700;
color: var(--text-medium);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.hsvt-cart-col-product { grid-column: 1 / 3; } .hsvt-cart-items {
border: 1px solid var(--border);
border-top: none;
border-radius: 0 0 var(--radius-md) var(--radius-md);
overflow: hidden;
background: #fff;
} .hsvt-cart-item {
display: grid;
grid-template-columns: 80px 1fr 110px 100px 110px 36px;
gap: 0 12px;
align-items: center;
padding: 14px 16px;
border-bottom: 1px solid #f0f0f0;
transition: background 0.15s;
}
.hsvt-cart-item:last-child { border-bottom: none; }
.hsvt-cart-item:hover { background: #fafcff; } .hsvt-cart-item__thumb { grid-column: 1; }
.hsvt-cart-item__thumb a { display: block; }
.hsvt-cart-item__thumb img {
width: 72px !important;
height: 72px !important;
object-fit: cover !important;
border-radius: var(--radius-sm);
border: 1px solid var(--border);
display: block;
} .hsvt-cart-item__info { grid-column: 2; }
.hsvt-cart-item__name a {
font-weight: 600;
font-size: 0.92rem;
color: var(--text-dark);
text-decoration: none;
display: block;
line-height: 1.35;
}
.hsvt-cart-item__name a:hover { color: var(--primary); }
.hsvt-cart-item__info .variation {
font-size: 0.8rem;
color: var(--text-light);
margin-top: 3px;
} .hsvt-cart-item__price-mobile { display: none; } .hsvt-cart-item__price {
grid-column: 3;
font-size: 0.9rem;
color: var(--text-medium);
text-align: center;
} .hsvt-cart-item__qty { grid-column: 4; text-align: center; }
.hsvt-cart-item__qty .quantity { display: flex; justify-content: center; }
.hsvt-cart-item__qty .qty {
width: 58px !important;
padding: 7px 8px !important;
text-align: center;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.92rem;
font-weight: 600;
} .hsvt-cart-item__subtotal {
grid-column: 5;
font-weight: 700;
color: var(--primary-dark);
font-size: 0.95rem;
text-align: center;
}
.hsvt-cart-item__subtotal .woocommerce-Price-amount { color: var(--primary-dark); } .hsvt-cart-item__remove { grid-column: 6; text-align: right; }
.hsvt-cart-item__remove .remove {
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: 28px !important; height: 28px !important;
border-radius: 50% !important;
background: #fff0f0 !important;
color: #e53935 !important;
font-size: 0.85rem !important;
text-decoration: none !important;
border: 1px solid #fcc !important;
transition: all 0.18s !important;
cursor: pointer !important;
}
.hsvt-cart-item__remove .remove:hover {
background: #e53935 !important;
color: #fff !important;
border-color: #e53935 !important;
} .hsvt-cart-actions {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
margin-top: 16px;
padding: 14px 16px;
background: var(--bg-light);
border: 1px solid var(--border);
border-radius: var(--radius-md);
}
.hsvt-cart-coupon {
display: flex;
align-items: center;
gap: 8px;
flex: 1;
min-width: 0;
}
.hsvt-cart-coupon #coupon_code {
padding: 9px 14px;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.88rem;
width: 180px;
flex-shrink: 0;
}
.hsvt-cart-coupon .button {
font-size: 0.85rem !important;
padding: 9px 16px !important;
white-space: nowrap;
}
.hsvt-btn-update {
display: flex !important;
align-items: center !important;
gap: 6px !important;
font-size: 0.85rem !important;
padding: 9px 18px !important;
background: #fff !important;
color: var(--text-dark) !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius-sm) !important;
cursor: pointer;
transition: background 0.18s, border-color 0.18s !important;
white-space: nowrap;
}
.hsvt-btn-update:hover {
background: var(--bg-light) !important;
border-color: var(--primary) !important;
color: var(--primary) !important;
} .cart_totals {
background: #fff !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius-md) !important;
overflow: hidden !important;
}
.cart_totals h2 {
background: var(--primary) !important;
color: #fff !important;
font-size: 1rem !important;
font-weight: 700 !important;
margin: 0 !important;
padding: 14px 18px !important;
}
.cart_totals table.shop_table {
width: 100% !important;
border: none !important;
border-radius: 0 !important;
border-collapse: collapse !important;
}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
padding: 12px 18px !important;
border-bottom: 1px solid #f0f0f0 !important;
background: transparent !important;
font-size: 0.88rem !important;
}
.cart_totals table.shop_table th { color: var(--text-medium) !important; font-weight: 600 !important; }
.cart_totals table.shop_table td { text-align: right !important; font-weight: 600 !important; }
.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td { border-bottom: none !important; }
.cart_totals table.shop_table .order-total th,
.cart_totals table.shop_table .order-total td {
background: #f0fbf5 !important;
color: var(--primary-dark) !important;
font-size: 1.05rem !important;
font-weight: 800 !important;
}
.cart_totals .wc-proceed-to-checkout { padding: 16px 18px !important; }
.cart_totals .checkout-button {
display: block !important;
text-align: center !important;
padding: 15px !important;
font-size: 1.05rem !important;
font-weight: 700 !important;
border-radius: var(--radius-md) !important;
background: var(--accent) !important;
color: #fff !important;
transition: background 0.2s, transform 0.15s !important;
}
.cart_totals .checkout-button:hover {
background: #d84315 !important;
transform: translateY(-2px) !important;
} .cart_totals .shipping-calculator-button { font-size: 0.85rem; padding: 0 18px 4px; display: block; }
.cart_totals .shipping-calculator-form { padding: 0 18px 16px; }
.cart_totals .shipping-calculator-form p { margin-bottom: 8px; }
.cart_totals .shipping-calculator-form input,
.cart_totals .shipping-calculator-form select {
width: 100%; padding: 8px 12px;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.88rem;
} .woocommerce-cart .cart-empty {
text-align: center; padding: 60px 20px;
font-size: 1.1rem; color: var(--text-medium);
}
.woocommerce-cart .return-to-shop { text-align: center; margin-top: 12px; }
.woocommerce-cart .return-to-shop a {
display: inline-block; background: var(--primary); color: #fff;
padding: 12px 28px; border-radius: 30px; font-weight: 600; text-decoration: none;
} .cross-sells { margin-top: 32px; }
.cross-sells h2 { font-size: 1.1rem; margin-bottom: 16px; } .checkout-benefits {
background: rgba(0,87,168,0.06);
border: 1px solid rgba(0,87,168,0.15);
border-radius: var(--radius-md);
padding: 16px 18px;
margin-bottom: 16px;
}
.checkout-benefits h4 { font-size: 0.88rem; color: var(--primary-dark); margin-bottom: 8px; font-weight: 700; }
.checkout-benefits ul { list-style: none; padding: 0; margin: 0; }
.checkout-benefits li {
font-size: 0.83rem; color: var(--text-medium); margin-bottom: 5px;
display: flex; align-items: center; gap: 7px;
}
.checkout-benefits li::before { content: '✓'; color: var(--success); font-weight: 700; } @media (max-width: 768px) { .hsvt-cart-wrap {
grid-template-columns: 1fr;
gap: 20px;
margin: 16px 0 32px;
}
.hsvt-cart-sidebar { position: static; } .hsvt-cart-header { display: none; } .hsvt-cart-item {
grid-template-columns: 76px 1fr 28px;
grid-template-rows: auto auto auto;
gap: 0 12px;
padding: 14px 12px;
}
.hsvt-cart-item__thumb { grid-column: 1; grid-row: 1 / 4; align-self: start; }
.hsvt-cart-item__thumb img { width: 64px !important; height: 64px !important; }
.hsvt-cart-item__info  { grid-column: 2; grid-row: 1; }
.hsvt-cart-item__price { display: none; } .hsvt-cart-item__price-mobile {
display: block;
font-size: 0.82rem;
color: var(--text-medium);
margin-top: 4px;
}
.hsvt-cart-item__qty   { grid-column: 2; grid-row: 2; text-align: left; margin-top: 8px; }
.hsvt-cart-item__qty .quantity { justify-content: flex-start; }
.hsvt-cart-item__subtotal {
grid-column: 2; grid-row: 3;
text-align: left;
margin-top: 6px;
font-size: 1rem;
}
.hsvt-cart-item__subtotal::before {
content: 'Thành tiền: ';
font-weight: 400;
font-size: 0.8rem;
color: var(--text-medium);
}
.hsvt-cart-item__remove { grid-column: 3; grid-row: 1; align-self: start; } .hsvt-cart-actions { flex-direction: column; align-items: stretch; }
.hsvt-cart-coupon { flex-direction: column; width: 100%; }
.hsvt-cart-coupon #coupon_code { width: 100%; }
.hsvt-cart-coupon .button,
.hsvt-btn-update { width: 100% !important; justify-content: center !important; }
} .floating-btns {
position: fixed;
right: 20px;
bottom: 80px;
display: flex;
flex-direction: column;
gap: 10px;
z-index: 9999;
}
.fab {
width: 52px; height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
color: #fff;
box-shadow: 0 4px 16px rgba(0,0,0,0.25);
transition: all var(--transition);
cursor: pointer;
border: none;
text-decoration: none;
position: relative;
}
.fab:hover { transform: scale(1.1); box-shadow: 0 6px 24px rgba(0,0,0,0.3); color: #fff; }
.fab-zalo { background: #0068ff; }
.fab-phone { background: var(--success); animation: pulse-phone 2s infinite; }
.fab-cart { background: var(--accent); }
.fab-top {
background: var(--primary);
opacity: 0;
pointer-events: none;
transition: opacity var(--transition), transform var(--transition);
font-size: 1rem;
}
.fab-top.visible { opacity: 1; pointer-events: all; }
.fab-label {
position: absolute;
right: 60px;
background: rgba(0,0,0,0.75);
color: #fff;
padding: 5px 10px;
border-radius: var(--radius-sm);
font-size: 0.75rem;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity var(--transition);
}
.fab:hover .fab-label { opacity: 1; }
@keyframes pulse-phone {
0%, 100% { box-shadow: 0 4px 16px rgba(67,160,71,0.3); }
50% { box-shadow: 0 4px 24px rgba(67,160,71,0.7); }
} .live-chat-bar {
position: fixed;
bottom: 0; left: 0; right: 0;
background: var(--primary-dark);
display: flex;
align-items: center;
padding: 10px 20px;
z-index: 9998;
gap: 16px;
}
.live-chat-bar p {
color: rgba(255,255,255,0.88);
font-size: 0.85rem;
margin: 0;
flex: 1;
}
.live-chat-bar strong { color: var(--accent-light); }
.live-chat-btns { display: flex; gap: 8px; flex-shrink: 0; }
.live-chat-btns a {
padding: 8px 16px;
border-radius: 20px;
font-size: 0.82rem;
font-weight: 600;
text-decoration: none;
}
.live-chat-close {
background: none;
border: none;
color: rgba(255,255,255,0.6);
font-size: 1rem;
cursor: pointer;
padding: 4px;
flex-shrink: 0;
} @media (max-width: 1200px) {
.footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
.footer-grid > div:last-child { grid-column: 1 / -1; }
.grid-5 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 992px) {
:root { --header-height: 62px; --banner-h: 400px; } .header-search { max-width: 340px; }
.grid-4 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(2, 1fr); }
.stats-grid { grid-template-columns: repeat(2, 1fr); }
.trust-items { flex-wrap: wrap; }
.trust-item { flex: 0 0 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
.woocommerce div.product { grid-template-columns: 1fr !important; }
.hero-layout { grid-template-columns: 1fr; height: auto; }
.hero-slider { width: 100%; height: var(--banner-h, 280px); }
.mini-banners { grid-template-rows: auto; grid-template-columns: 1fr 1fr; height: auto; }
.mini-banner { min-height: 160px; }
.main-menu > li.has-mega .mega-menu { width: 600px; grid-template-columns: repeat(3,1fr); left: -50px; }
.footer-grid { grid-template-columns: 1fr 1fr; }
.content-sidebar-wrap { grid-template-columns: 1fr; }
.sidebar { position: static; } .products-grid--5 { grid-template-columns: repeat(3, 1fr); }
.products-grid--6 { grid-template-columns: repeat(4, 1fr); } .shop-layout { grid-template-columns: 1fr; }
.shop-sidebar { display: none; }
}
@media (max-width: 768px) {
:root { --header-height: 58px; --banner-h: 280px; }
.top-bar-left .top-bar-item:not(:first-child) { display: none; }
.top-bar-marquee { display: none; } .header-search { display: none; }
.header-phone { display: none; }
.hdr-wishlist, .hdr-account { display: none; } #main-header .container {
padding-left: 10px;
padding-right: 10px;
}
.hdr-cart { padding: 6px 8px; } .hdr-cart > span:last-of-type { display: none; }
#main-header .header-inner {
gap: 0;
justify-content: space-between;
} .site-logo { gap: 8px; } .header-actions { gap: 0; margin-left: auto; } .header-search-toggle {
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: none;
outline: none;
padding: 8px;
min-width: 44px;
min-height: 44px;
cursor: pointer;
color: var(--primary);
-webkit-appearance: none;
appearance: none;
}
.menu-toggle { display: flex !important; flex-direction: column; gap: 5px; } .menu-toggle {
background: transparent !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
-webkit-appearance: none;
appearance: none;
padding: 8px;
min-width: 44px;
min-height: 44px;
align-items: center;
justify-content: center;
}
.menu-toggle span {
display: block !important;
width: 24px !important;
height: 3px !important;
background: #155724 !important;
border-radius: 2px !important;
margin: 0 auto !important;
}
.menu-toggle.active span { background: #155724 !important; } #main-nav { display: none !important; }
.nav-extras { display: none; }  .drawer-overlay {
display: block;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.55);
z-index: 10499;
opacity: 0;
pointer-events: none;
visibility: hidden;
transition: opacity 0.28s ease, visibility 0.28s ease;
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}
.drawer-overlay.open {
opacity: 1;
pointer-events: auto;
visibility: visible; right: min(320px, 88vw);
} #mobile-drawer {
display: flex;
position: fixed;
top: 0;
right: 0;
width: min(320px, 88vw);
height: 100dvh;
height: 100vh;
background: #0a2a1a;
z-index: 10500;
transform: translateX(110%);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
flex-direction: column;
overflow: hidden;
will-change: transform;
pointer-events: none;
visibility: hidden;
}
#mobile-drawer.open {
transform: translateX(0);
box-shadow: -8px 0 40px rgba(0, 0, 0, 0.35);
pointer-events: auto;
visibility: visible;
} body.drawer-open .floating-btns,
body.drawer-open .live-chat-bar { display: none !important; } .drawer-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 18px;
background: var(--primary);
flex-shrink: 0;
}
.drawer-logo { display: flex; align-items: center; }
.drawer-logo img { height: 36px; width: auto; }
.drawer-logo-text {
font-size: 1rem;
font-weight: 700;
color: #fff;
letter-spacing: 0.02em;
}
.drawer-close {
display: flex;
align-items: center;
justify-content: center;
width: 36px; height: 36px;
border-radius: 50%;
background: rgba(255,255,255,0.15);
border: none;
cursor: pointer;
color: #fff;
flex-shrink: 0;
transition: background 0.18s;
}
.drawer-close:hover { background: rgba(255,255,255,0.3); } .drawer-quick {
display: flex;
align-items: stretch;
background: rgba(255,255,255,0.05);
border-bottom: 1px solid rgba(255,255,255,0.08);
flex-shrink: 0;
}
.drawer-quick-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
padding: 10px 6px;
color: rgba(255,255,255,0.8);
font-size: 0.75rem;
font-weight: 500;
text-decoration: none;
border-right: 1px solid rgba(255,255,255,0.08);
transition: background 0.18s, color 0.18s;
}
.drawer-quick-item:last-child { border-right: none; }
.drawer-quick-item:hover { background: rgba(255,255,255,0.1); color: #fff; }
.drawer-quick-item svg { opacity: 0.9; } .drawer-menu-wrap {
flex: 1;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
padding: 8px 0;
}
.drawer-menu-wrap::-webkit-scrollbar { width: 3px; }
.drawer-menu-wrap::-webkit-scrollbar-track { background: transparent; }
.drawer-menu-wrap::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; } .drawer-menu { list-style: none; margin: 0; padding: 0; } .drawer-menu > li {
display: flex;
flex-wrap: wrap;
align-items: stretch;
border-bottom: 1px solid rgba(255,255,255,0.07);
}
.drawer-menu > li:last-child { border-bottom: none; }
.drawer-menu > li > a {
flex: 1;
display: flex;
align-items: center;
color: rgba(255,255,255,0.88);
padding: 15px 20px;
font-size: 0.92rem;
font-weight: 600;
letter-spacing: 0.01em;
text-decoration: none;
transition: background 0.18s, color 0.18s, padding-left 0.18s;
}
.drawer-menu > li > a .arrow { display: none; }
.drawer-menu > li > a:hover {
background: rgba(255,255,255,0.07);
color: #fff;
padding-left: 26px;
}
.drawer-menu > li.current-menu-item > a,
.drawer-menu > li.current-menu-parent > a {
color: #fff;
background: rgba(var(--primary-rgb, 0,128,64), 0.35);
border-left: 3px solid #4fcf8a;
padding-left: 17px;
} .submenu-toggle {
display: flex;
align-items: center;
justify-content: center;
width: 50px;
background: transparent;
border: none;
border-left: 1px solid rgba(255,255,255,0.1);
cursor: pointer;
color: rgba(255,255,255,0.45);
flex-shrink: 0;
transition: background 0.18s, color 0.18s;
}
.submenu-toggle:hover { background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.85); }
.submenu-toggle.open { background: rgba(255,255,255,0.1); color: #4fcf8a; }
.submenu-toggle svg { transition: transform 0.25s ease; }
.submenu-toggle.open svg { transform: rotate(180deg); } .drawer-menu .sub-menu,
.drawer-menu .mega-menu {
position: static;
opacity: 1;
visibility: visible;
transform: none;
box-shadow: none;
border: none;
background: rgba(0,0,0,0.25);
width: 100%;
flex-basis: 100%;
display: none;
list-style: none;
padding: 4px 0;
border-top: 1px solid rgba(255,255,255,0.1);
}
.drawer-menu > li.open > .sub-menu,
.drawer-menu > li.open > .mega-menu { display: block; }
.drawer-menu .sub-menu li {
border-bottom: 1px solid rgba(255,255,255,0.05);
}
.drawer-menu .sub-menu li:last-child { border-bottom: none; }
.drawer-menu .sub-menu li a {
display: flex;
align-items: center;
gap: 10px;
padding: 11px 20px 11px 34px;
color: rgba(255,255,255,0.65);
font-size: 0.85rem;
font-weight: 500;
text-decoration: none;
position: relative;
transition: background 0.15s, color 0.15s, padding-left 0.15s;
}
.drawer-menu .sub-menu li a::before {
content: '';
position: absolute;
left: 21px;
top: 50%;
transform: translateY(-50%);
width: 5px; height: 5px;
border-radius: 50%;
background: #4fcf8a;
opacity: 0.4;
transition: opacity 0.15s;
}
.drawer-menu .sub-menu li a:hover {
background: rgba(255,255,255,0.06);
color: #fff;
padding-left: 40px;
}
.drawer-menu .sub-menu li a:hover::before { opacity: 1; } .drawer-menu .mega-menu { grid-template-columns: 1fr !important; padding: 0; } .drawer-footer {
display: flex;
flex-direction: column;
gap: 4px;
padding: 12px 18px;
background: rgba(0,0,0,0.25);
border-top: 1px solid rgba(255,255,255,0.08);
flex-shrink: 0;
color: rgba(255,255,255,0.45);
font-size: 0.74rem;
}  .slide-content { padding: 0 20px; }
.slide-content h1, .slide-content h2 { font-size: 1.4rem; }
.slide-content p { display: none; } .slider-arrow { display: none !important; } .trust-item { flex: 0 0 100%; }
.trust-items { flex-direction: column; } .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.products-grid--5 { grid-template-columns: repeat(2, 1fr); }
.products-grid--6 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }
.woocommerce ul.products li.product a img { height: 160px !important; }
.product-actions { opacity: 1 !important; transform: translateX(0) !important; } .grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; }
.stats-grid { grid-template-columns: repeat(2, 1fr); } .footer-grid { grid-template-columns: 1fr; gap: 28px; }
.footer-bottom-inner { flex-direction: column; text-align: center; }
.cta-btns { flex-direction: column; align-items: stretch; } .live-chat-bar p .desc { display: none; }
.floating-btns {
right: 14px;
bottom: 82px; z-index: 999; }
.fab { width: 46px; height: 46px; }
}
@media (max-width: 480px) {
.products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
.products-grid--5 { grid-template-columns: repeat(2, 1fr); }
.products-grid--6 { grid-template-columns: repeat(2, 1fr); }
.category-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
.slide-bg { height: 260px; }
:root { --banner-h: 240px; }
.mini-banner { min-height: 120px; }
.section-pad { padding: 40px 0; }
.header-action-btn { padding: 6px 8px; }
.header-action-btn span { display: none; }
.floating-btns { right: 12px; bottom: 68px; }
.fab { width: 44px; height: 44px; }
.woocommerce div.product { grid-template-columns: 1fr !important; }
} @keyframes fadeInUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.fade-in-up { animation: fadeInUp 0.5s ease forwards; }
.lazy-loaded { animation: fadeIn 0.4s ease; } .skeleton {
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: skeleton-shimmer 1.5s infinite;
border-radius: var(--radius-sm);
}
@keyframes skeleton-shimmer {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
} .breadcrumb-bar {
background: var(--bg-light);
border-bottom: 1px solid var(--border);
padding: 10px 0;
}
.breadcrumb {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.82rem;
color: var(--text-light);
flex-wrap: wrap;
}
.breadcrumb a { color: var(--primary); }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb .sep { color: var(--border); }  @media (min-width: 769px) {
.header-search-toggle { display: none; }
}
.search-overlay {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 20000;
background: #fff;
box-shadow: 0 6px 32px rgba(0,0,0,0.18);
padding: 14px 0 0;
transform: translateY(-110%);
transition: transform 0.32s cubic-bezier(0.4,0,0.2,1);
max-height: 90vh;
display: flex;
flex-direction: column;
}
.search-overlay.open {
transform: translateY(0);
}
.search-overlay .container {
display: flex;
flex-direction: column;
gap: 0;
flex: 1;
overflow: hidden;
}
.search-overlay-inner {
display: flex;
align-items: center;
gap: 10px;
border: 2.5px solid var(--primary);
border-radius: 30px;
padding: 8px 14px;
background: #f8faf8;
margin-bottom: 10px;
}
.search-overlay-icon {
color: var(--primary);
flex-shrink: 0;
opacity: 0.7;
}
.search-overlay-inner input[type="search"] {
flex: 1;
border: none;
outline: none;
background: transparent;
font-size: 1rem;
color: var(--text-dark);
min-width: 0;
padding: 4px 0;
}
.search-overlay-inner input[type="search"]::placeholder {
color: var(--text-light);
font-size: 0.92rem;
}
.search-overlay-close {
background: none;
border: none;
padding: 6px;
cursor: pointer;
color: var(--text-light);
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: background var(--transition), color var(--transition);
flex-shrink: 0;
}
.search-overlay-close:hover {
background: var(--bg-light);
color: var(--text-dark);
} .search-results-dropdown {
overflow-y: auto;
max-height: calc(90vh - 80px);
-webkit-overflow-scrolling: touch;
padding-bottom: 12px;
}
.search-result-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 11px 0;
border-bottom: 1px solid var(--border);
text-decoration: none;
color: var(--text-dark);
transition: background var(--transition);
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { color: var(--primary); }
.search-result-img {
width: 62px;
height: 62px;
object-fit: cover;
border-radius: var(--radius-sm);
flex-shrink: 0;
background: var(--bg-light);
}
.search-result-no-img {
width: 62px;
height: 62px;
border-radius: var(--radius-sm);
background: var(--bg-light);
flex-shrink: 0;
}
.search-result-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 3px;
}
.search-result-title {
font-weight: 600;
font-size: 0.92rem;
line-height: 1.3; display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.search-result-price {
font-size: 0.88rem;
font-weight: 700;
color: var(--danger);
}
.search-result-excerpt {
font-size: 0.78rem;
color: var(--text-light);
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.search-loading,
.search-no-result {
padding: 20px 0;
text-align: center;
color: var(--text-light);
font-size: 0.9rem;
}
.search-loading::before {
content: '';
display: inline-block;
width: 18px; height: 18px;
border: 2px solid var(--border);
border-top-color: var(--primary);
border-radius: 50%;
animation: spin 0.7s linear infinite;
vertical-align: -4px;
margin-right: 8px;
}
@keyframes spin { to { transform: rotate(360deg); } } .countdown-wrap {
display: flex;
gap: 8px;
align-items: center;
}
.countdown-block {
background: var(--danger);
color: #fff;
border-radius: var(--radius-sm);
padding: 6px 10px;
text-align: center;
min-width: 48px;
}
.countdown-block .num { font-size: 1.2rem; font-weight: 800; line-height: 1; display: block; }
.countdown-block .unit { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.85; }
.countdown-sep { color: var(--danger); font-size: 1.1rem; font-weight: 700; } .toast {
position: fixed;
bottom: 90px;
left: 50%;
transform: translateX(-50%) translateY(20px);
background: var(--text-dark);
color: #fff;
padding: 12px 24px;
border-radius: 30px;
font-size: 0.88rem;
z-index: 99999;
opacity: 0;
pointer-events: none;
transition: all 0.3s ease;
white-space: nowrap;
display: flex;
align-items: center;
gap: 8px;
}
.toast.show {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
.toast.success { background: var(--success); }
.toast.error { background: var(--danger); } @media print {
#top-bar, #main-header, #main-nav, .floating-btns, .live-chat-bar, #site-footer { display: none !important; }
} @media (min-width: 769px) {
#mobile-drawer,
#mobile-drawer-overlay,
.drawer-overlay { display: none !important; visibility: hidden !important; }
}  .blog-archive-banner {
position: relative;
overflow: hidden;
padding: 3rem 0 2.5rem;
color: #fff;
margin-bottom: 0;
}
.blog-archive-banner::before {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,.50);
z-index: 1;
}
.blog-archive-banner__bg {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
opacity: .25;
z-index: 0;
}
.blog-archive-banner .breadcrumb-bar { background: transparent; border-bottom: none; padding: 0; margin-bottom: 1rem; }
.blog-archive-banner .breadcrumb a { color: rgba(255,255,255,0.8); }
.blog-archive-banner .breadcrumb,
.blog-archive-banner .breadcrumb .sep { color: rgba(255,255,255,0.55); }
.blog-archive-banner__inner {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
gap: 1.2rem;
}
.blog-archive-banner__label {
display: inline-block;
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.3);
border-radius: 20px;
padding: 3px 14px;
font-size: 0.78rem;
font-weight: 600;
margin-bottom: 0.5rem;
letter-spacing: 0.5px;
}
.blog-archive-banner__title {
font-size: 2rem;
font-weight: 800;
color: #fff;
line-height: 1.2;
margin: 0;
}
.blog-archive-banner__desc {
color: rgba(255,255,255,0.8);
font-size: 0.95rem;
margin-top: 0.5rem;
max-width: 540px;
}
.blog-archive-banner__badges {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-self: flex-end;
}
.blog-archive-badge {
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.3);
border-radius: 20px;
padding: 5px 14px;
font-size: 0.78rem;
font-weight: 500;
color: #fff;
} .blog-posts-wrap { padding: 2.5rem 0; }
.blog-posts-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 2.5rem;
}
.blog-posts-grid--3 { grid-template-columns: repeat(3, 1fr); } .post-card-blog {
background: #fff;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
border: 1px solid var(--border);
display: flex;
flex-direction: column;
transition: box-shadow 0.22s, transform 0.22s;
}
.post-card-blog:hover {
box-shadow: var(--shadow-md);
transform: translateY(-4px);
}
.post-card-blog__thumb {
display: block;
overflow: hidden;
height: 195px;
position: relative;
}
.post-card-blog__thumb img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.45s ease;
display: block;
}
.post-card-blog:hover .post-card-blog__thumb img { transform: scale(1.06); }
.post-card-blog__cat {
position: absolute;
top: 10px;
left: 10px;
background: var(--primary);
color: #fff;
font-size: 0.72rem;
font-weight: 700;
padding: 3px 10px;
border-radius: 20px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.post-card-blog__body {
padding: 18px 18px 20px;
display: flex;
flex-direction: column;
flex: 1;
}
.post-card-blog__meta {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.75rem;
color: var(--text-light);
margin-bottom: 8px;
}
.post-card-blog__title {
font-size: 1rem;
font-weight: 700;
color: var(--text-dark);
line-height: 1.4;
margin: 0 0 8px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.post-card-blog__title a { color: inherit; }
.post-card-blog__title a:hover { color: var(--primary); }
.post-card-blog__title--sm { font-size: 0.92rem; }
.post-card-blog__date { font-size: 0.75rem; color: var(--text-light); margin-top: 6px; }
.post-card-blog__excerpt {
font-size: 0.85rem;
color: var(--text-medium);
line-height: 1.6;
margin-bottom: 14px;
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.post-card-blog__readmore {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 0.85rem;
font-weight: 700;
color: var(--primary);
margin-top: auto;
transition: color 0.2s, gap 0.2s;
}
.post-card-blog__readmore:hover { color: var(--accent); gap: 10px; } .nav-links {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.nav-links .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 12px;
border-radius: var(--radius-sm);
border: 1px solid var(--border);
font-size: 0.88rem;
color: var(--text-medium);
transition: all 0.2s;
}
.nav-links .page-numbers:hover,
.nav-links .page-numbers.current {
background: var(--primary);
color: #fff;
border-color: var(--primary);
}
.no-posts-msg { padding: 3rem 0; text-align: center; color: var(--text-light); }  .post-hero {
background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
color: #fff;
padding: 2rem 0 5rem;
overflow: visible;
}
.post-hero .breadcrumb-bar {
background: transparent;
border: none;
padding: 10px 0 0;
margin-bottom: 0;
}
.post-hero .breadcrumb-bar .container { padding-bottom: 0; }
.post-hero .breadcrumb a { color: rgba(255,255,255,0.75); }
.post-hero .breadcrumb,
.post-hero .breadcrumb .sep { color: rgba(255,255,255,0.5); } .post-hero__inner {
max-width: 820px;
margin: 0 auto;
padding: 1.5rem 0 0;
text-align: center;
} .post-cover {
max-width: 860px;
margin: -80px auto 0;
padding: 0 24px;
position: relative;
z-index: 2;
}
.post-cover img {
width: 100%;
height: auto;
max-height: 500px;
object-fit: cover;
display: block;
border-radius: var(--radius-md);
box-shadow: 0 12px 50px rgba(0,0,0,0.28);
}
.post-hero__cats { margin-bottom: 0.6rem; }
.post-hero__cats a {
display: inline-block;
background: rgba(255,255,255,0.18);
border: 1px solid rgba(255,255,255,0.35);
border-radius: 20px;
padding: 3px 14px;
font-size: 0.75rem;
font-weight: 700;
color: #fff;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-right: 4px;
}
.post-hero__title {
font-size: 2rem;
font-weight: 800;
color: #fff;
line-height: 1.25;
margin: 0 0 0.8rem;
}
.post-hero__meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
font-size: 0.85rem;
color: rgba(255,255,255,0.8);
}
.post-hero__meta a { color: rgba(255,255,255,0.85); text-decoration: underline; text-decoration-color: transparent; }
.post-hero__meta a:hover { color: #fff; }
.post-hero__sep { color: rgba(255,255,255,0.4); } .post-article-wrap {
background: #fff;
padding-top: 2rem;
}
.post-article {
max-width: 820px;
margin: 0 auto;
padding: 0 24px 2rem;
} .has-post-thumbnail .post-article {
padding-top: 2.5rem;
} .post-article__body {
font-size: 1.05rem;
line-height: 1.85;
color: var(--text-dark);
}
.post-article__body h2 {
font-size: 1.45rem;
font-weight: 800;
color: var(--primary-dark);
margin: 2rem 0 0.8rem;
padding-bottom: 0.4rem;
border-bottom: 2px solid var(--primary-light);
}
.post-article__body h3 {
font-size: 1.2rem;
font-weight: 700;
color: var(--text-dark);
margin: 1.5rem 0 0.6rem;
}
.post-article__body h4 {
font-size: 1rem;
font-weight: 700;
color: var(--text-dark);
margin: 1.2rem 0 0.5rem;
}
.post-article__body p { margin-bottom: 1.1rem; }
.post-article__body ul,
.post-article__body ol {
padding-left: 1.5rem;
margin-bottom: 1.1rem;
}
.post-article__body li { margin-bottom: 0.4rem; }
.post-article__body img {
max-width: 100% !important;
height: auto !important;
border-radius: var(--radius-sm);
margin: 0.8rem 0;
display: block;
}
.post-article__body blockquote {
margin: 1.5rem 0;
padding: 1rem 1.4rem;
background: var(--bg-light);
border-left: 4px solid var(--primary);
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
font-style: italic;
color: var(--text-medium);
}
.post-article__body a { color: var(--primary); text-decoration: underline; }
.post-article__body a:hover { color: var(--accent); }
.post-article__body table { width: 100%; border-collapse: collapse; margin-bottom: 1.1rem; font-size: 0.92rem; }
.post-article__body th,
.post-article__body td { padding: 9px 12px; border: 1px solid var(--border); text-align: left; }
.post-article__body th { background: var(--bg-light); font-weight: 700; color: var(--text-dark); } .post-article__footer {
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid var(--border);
}
.post-tags {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-bottom: 1.2rem;
}
.post-tags__label { font-size: 0.85rem; color: var(--text-light); font-weight: 600; }
.post-tag-link {
display: inline-block;
background: var(--bg-light);
border: 1px solid var(--border);
border-radius: 20px;
padding: 3px 12px;
font-size: 0.78rem;
color: var(--text-medium);
transition: all 0.2s;
}
.post-tag-link:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.post-share {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
}
.post-share__label { font-size: 0.88rem; color: var(--text-light); font-weight: 600; }
.post-share__btns { display: flex; gap: 10px; }
.post-share__btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 18px;
border-radius: 30px;
font-size: 0.85rem;
font-weight: 700;
text-decoration: none;
transition: all 0.2s;
}
.post-share__btn--fb { background: #1877f2; color: #fff; }
.post-share__btn--fb:hover { background: #1056b4; color: #fff; transform: translateY(-2px); }
.post-share__btn--zalo { background: #0068ff; color: #fff; }
.post-share__btn--zalo:hover { background: #0051cc; color: #fff; transform: translateY(-2px); } .post-nav {
margin: 2.5rem 0;
padding: 0;
}
.post-nav .nav-links {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.post-nav .nav-previous,
.post-nav .nav-next {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
transition: all 0.2s;
}
.post-nav .nav-previous:hover,
.post-nav .nav-next:hover { border-color: var(--primary); box-shadow: var(--shadow-sm); }
.post-nav .nav-next { text-align: right; }
.post-nav a {
display: block;
padding: 14px 18px;
color: var(--text-dark);
text-decoration: none;
}
.post-nav__dir {
display: block;
font-size: 0.75rem;
color: var(--primary);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 4px;
}
.post-nav__title {
display: block;
font-size: 0.92rem;
font-weight: 600;
color: var(--text-dark);
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
} .related-posts {
margin: 0 0 2.5rem;
padding: 2rem 0;
border-top: 1px solid var(--border);
}
.related-posts__heading {
font-size: 1.25rem;
font-weight: 800;
color: var(--text-dark);
margin-bottom: 1.2rem;
position: relative;
padding-left: 14px;
}
.related-posts__heading::before {
content: '';
position: absolute;
left: 0; top: 50%;
transform: translateY(-50%);
width: 5px; height: 22px;
background: var(--accent);
border-radius: 3px;
}
.post-card-blog--sm .post-card-blog__thumb { height: 150px; } @media (max-width: 992px) {
.blog-posts-grid { grid-template-columns: repeat(2, 1fr); }
.blog-posts-grid--3 { grid-template-columns: repeat(2, 1fr); }
.post-hero__title { font-size: 1.6rem; }
.post-hero { padding-bottom: 4rem; }
.post-cover { margin-top: -60px; }
.blog-archive-banner__title { font-size: 1.6rem; }
.post-nav .nav-links { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.post-hero { padding-bottom: 3rem; }
.post-cover { margin-top: -40px; }
.post-cover img { max-height: 280px; }
}
@media (max-width: 600px) {
.blog-posts-grid { grid-template-columns: 1fr; }
.blog-posts-grid--3 { grid-template-columns: 1fr; }
.post-hero__title { font-size: 1.3rem; }
.blog-archive-banner__title { font-size: 1.3rem; }
.blog-archive-banner__inner { flex-direction: column; align-items: flex-start; }
.post-article { padding: 1.5rem 16px; }
.post-article__body { font-size: 0.97rem; }
.post-article__body h2 { font-size: 1.2rem; }
.post-share { flex-direction: column; align-items: flex-start; }
.post-cover { margin-top: -30px; padding: 0 16px; }
}.woocommerce ul.products,
.woocommerce-page ul.products {
display: grid !important;
grid-template-columns: repeat(5, 1fr) !important;
gap: 1.25rem !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
float: none !important;
width: 100% !important;
box-sizing: border-box !important;
}
@media (max-width: 992px) {
.woocommerce ul.products,
.woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
.woocommerce ul.products,
.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
margin: 0 !important;
padding: 0 !important;
float: none !important;
width: auto !important;
min-width: 0;
background: #fff;
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
border: 1px solid var(--border);
transition: box-shadow .25s, transform .25s;
position: relative;
overflow: hidden;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-3px);
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
transition: transform .4s ease;
}
.woocommerce ul.products li.product:hover a img {
transform: scale(1.05);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
font-size: 0.95rem;
font-weight: 600;
padding: 0.75rem 1rem 0.25rem;
color: var(--text-dark);
line-height: 1.4;
margin: 0;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
padding: 0 1rem 0.5rem;
display: block;
}
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
text-decoration: none;
font-weight: 700;
font-size: 1.1rem;
color: var(--danger);
}
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
font-size: 0.8rem;
color: var(--text-muted);
margin-left: 4px;
}
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating {
font-size: 0.8rem;
margin: 0 1rem 0.5rem;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
display: block;
margin: 0 1rem 1rem;
background: var(--primary);
color: #fff !important;
border: none;
border-radius: var(--radius-sm);
padding: 0.55rem 1rem;
font-size: 0.9rem;
font-weight: 600;
text-align: center;
cursor: pointer;
transition: background .2s;
text-decoration: none;
width: calc(100% - 2rem);
box-sizing: border-box;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
background: var(--primary-dark);
color: #fff !important;
} .woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
background: var(--danger);
top: 10px;
left: 10px;
right: auto;
border-radius: var(--radius-sm);
font-weight: 700;
font-size: 0.75rem;
padding: 3px 8px;
line-height: 1.2;
} .woocommerce div.product {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: start;
width: 100%;
box-sizing: border-box;
overflow: hidden;
}
@media (max-width: 992px) {
.woocommerce div.product {
grid-template-columns: 1fr;
gap: 1.5rem;
}
}
@media (max-width: 768px) {
.woocommerce div.product {
grid-template-columns: 1fr;
gap: 1.25rem;
overflow: visible;
}
.woocommerce div.product div.images,
.woocommerce div.product .summary {
width: 100%;
max-width: 100%;
box-sizing: border-box;
overflow: hidden;
}
.woocommerce div.product .product_title {
font-size: 1.2rem !important;
}
.woocommerce div.product p.price {
font-size: 1.4rem !important;
}
.woocommerce div.product form.cart {
flex-wrap: wrap;
gap: 0.5rem;
}
.woocommerce div.product form.cart .qty {
width: 70px;
flex-shrink: 0;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
flex: 1;
min-width: 0;
width: auto;
padding: 0.7rem 1rem;
font-size: 0.95rem;
}
.woocommerce-product-gallery {
width: 100% !important;
max-width: 100%;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image {
width: 100% !important;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
width: 100% !important;
height: auto !important;
max-width: 100%;
object-fit: contain !important;
background: #f8f8f8;
}
.woocommerce-product-gallery ol.flex-control-nav {
flex-wrap: wrap;
}
.woocommerce-product-gallery ol.flex-control-nav li img {
width: 60px;
height: 60px;
} .related.products,
.upsells.products {
grid-column: unset;
margin-top: 2rem;
}
.related.products ul.products,
.upsells.products ul.products {
grid-template-columns: repeat(2, 1fr) !important;
}
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
border-radius: var(--radius-md);
width: 100%;
height: auto;
max-height: 520px;
object-fit: contain;
background: #f8f8f8;
}
.woocommerce div.product .summary {
padding: 0;
}
.woocommerce div.product .product_title {
font-size: 1.6rem;
color: var(--text-dark);
border: none;
padding: 0;
margin-bottom: 0.5rem;
line-height: 1.3;
}
.woocommerce div.product .woocommerce-product-rating {
margin-bottom: 1rem;
}
.woocommerce div.product p.price {
font-size: 1.8rem;
color: var(--danger);
font-weight: 700;
margin-bottom: 1rem;
border: none;
padding: 0;
}
.woocommerce div.product p.price del {
font-size: 1rem;
color: var(--text-muted);
font-weight: 400;
margin-left: 8px;
}
.woocommerce div.product .woocommerce-product-details__short-description {
font-size: 0.95rem;
color: var(--text);
line-height: 1.7;
margin-bottom: 1.5rem;
border: none;
padding: 0;
} .woocommerce div.product form.cart {
display: flex;
gap: 0.75rem;
align-items: center;
flex-wrap: wrap;
margin-bottom: 1.5rem;
}
.woocommerce div.product form.cart .qty {
width: 80px;
padding: 0.6rem;
border: 2px solid var(--border);
border-radius: var(--radius-sm);
font-size: 1rem;
text-align: center;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
background: var(--primary);
color: #fff;
border: none;
border-radius: var(--radius-sm);
padding: 0.7rem 2rem;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
transition: background .2s;
flex: 1;
min-width: 160px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
background: var(--primary-dark);
} .woocommerce div.product .product_meta {
font-size: 0.85rem;
color: var(--text-muted);
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--border);
}
.woocommerce div.product .product_meta a {
color: var(--primary);
} .woocommerce div.product .woocommerce-tabs {
grid-column: 1 / -1;
margin-top: 2rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
display: flex;
gap: 0;
border-bottom: 2px solid var(--border);
padding: 0;
margin: 0 0 1.5rem;
list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
margin: 0;
padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
display: block;
padding: 0.75rem 1.5rem;
font-weight: 600;
font-size: 0.95rem;
color: var(--text);
text-decoration: none;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
transition: color .2s, border-color .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
color: var(--primary);
border-bottom-color: var(--primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: none !important; }
.woocommerce div.product .woocommerce-Tabs-panel { padding: 0; } #reviews .woocommerce-Reviews-title { font-size: 1.2rem; margin-bottom: 1.5rem; }
#review_form_wrapper { background: var(--bg-alt); padding: 1.5rem; border-radius: var(--radius-md); }
.woocommerce #review_form #respond p { margin-bottom: 1rem; }
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
border: 2px solid var(--border);
border-radius: var(--radius-sm);
padding: 0.6rem 0.9rem;
font-size: 0.95rem;
width: 100%;
box-sizing: border-box;
}
.woocommerce #review_form #respond input#submit {
background: var(--primary);
color: #fff;
border: none;
border-radius: var(--radius-sm);
padding: 0.65rem 2rem;
font-weight: 700;
cursor: pointer;
} .related.products,
.upsells.products {
grid-column: 1 / -1;
margin-top: 3rem;
}
.related.products h2,
.upsells.products h2 {
font-size: 1.3rem;
color: var(--text-dark);
margin-bottom: 1.5rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--border);
} .woocommerce table.shop_table {
border-collapse: collapse;
width: 100%;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.woocommerce table.shop_table th {
background: var(--primary);
color: #fff;
padding: 1rem;
font-size: 0.9rem;
font-weight: 600;
text-align: left;
}
.woocommerce table.shop_table td {
padding: 1rem;
border-bottom: 1px solid var(--border);
vertical-align: middle;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: none; }
.woocommerce table.shop_table tbody tr:nth-child(even) td { background: var(--bg-alt); }
.woocommerce table.shop_table img {
width: 64px;
height: 64px;
object-fit: cover;
border-radius: var(--radius-sm);
}
.woocommerce table.cart td.actions {
background: var(--bg-alt);
}
.woocommerce table.cart td.actions .coupon input[type="text"] {
border: 2px solid var(--border);
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
padding: 0.55rem 1rem;
font-size: 0.9rem;
width: 180px;
}
.woocommerce table.cart td.actions .coupon .button,
.woocommerce table.cart td.actions .button {
background: var(--primary);
color: #fff;
border: none;
border-radius: var(--radius-sm);
padding: 0.55rem 1.25rem;
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
}
.woocommerce .cart_totals {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.5rem;
box-shadow: var(--shadow-sm);
}
.woocommerce .cart_totals h2 {
font-size: 1.15rem;
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 2px solid var(--border);
}
.woocommerce .cart_totals table {
width: 100%;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
padding: 0.6rem 0;
border: none;
border-bottom: 1px solid var(--border);
font-size: 0.95rem;
}
.woocommerce .cart_totals table tr:last-child th,
.woocommerce .cart_totals table tr:last-child td {
font-weight: 700;
font-size: 1.1rem;
color: var(--danger);
border: none;
}
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
display: block;
background: var(--accent);
color: #fff !important;
text-align: center;
padding: 0.9rem 2rem;
font-size: 1rem;
font-weight: 700;
border-radius: var(--radius-sm);
text-decoration: none;
margin-top: 1rem;
transition: background .2s;
}
.woocommerce a.checkout-button:hover {
background: #e65c00;
} .woocommerce form .form-row {
margin-bottom: 1rem;
}
.woocommerce form .form-row label {
display: block;
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 4px;
color: var(--text-dark);
}
.woocommerce form .form-row label .required {
color: var(--danger);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
width: 100%;
padding: 0.65rem 0.9rem;
border: 2px solid var(--border);
border-radius: var(--radius-sm);
font-size: 0.95rem;
box-sizing: border-box;
transition: border-color .2s;
background: #fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
border-color: var(--primary);
outline: none;
box-shadow: 0 0 0 3px rgba(0, 87, 168, .1);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text {
border-color: var(--danger);
}
#order_review_heading {
font-size: 1.2rem;
margin: 2rem 0 1rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--border);
}
.woocommerce #payment {
background: var(--bg-alt);
border-radius: var(--radius-md);
padding: 1.5rem;
border: 1px solid var(--border);
}
.woocommerce #payment ul.payment_methods {
list-style: none;
padding: 0;
margin: 0 0 1.5rem;
}
.woocommerce #payment ul.payment_methods li {
border-bottom: 1px solid var(--border);
padding: 0.75rem 0;
}
.woocommerce #payment ul.payment_methods li:last-child { border: none; }
.woocommerce #payment ul.payment_methods li label {
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.95rem;
}
.woocommerce #payment .place-order .button {
background: var(--accent);
color: #fff;
border: none;
padding: 1rem 2rem;
font-size: 1.1rem;
font-weight: 700;
border-radius: var(--radius-sm);
width: 100%;
cursor: pointer;
transition: background .2s;
box-shadow: 0 4px 12px rgba(255, 111, 0, .35);
}
.woocommerce #payment .place-order .button:hover { background: #e65c00; } .woocommerce-account .woocommerce-MyAccount-navigation {
width: 220px;
float: left;
margin-right: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-content {
overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
list-style: none;
padding: 0;
margin: 0;
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
display: block;
padding: 0.75rem 1.25rem;
font-size: 0.9rem;
font-weight: 600;
color: var(--text);
text-decoration: none;
border-bottom: 1px solid var(--border);
transition: background .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a { border: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
background: var(--primary);
color: #fff;
} .woocommerce-message,
.woocommerce-info,
.woocommerce-error {
border-left-width: 4px;
border-left-style: solid;
padding: 1rem 1rem 1rem 1.25rem;
border-radius: var(--radius-sm);
margin-bottom: 1.5rem;
font-size: 0.95rem;
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: wrap;
}
.woocommerce-message {
background: #e8f5e9;
border-color: #43a047;
color: #2e7d32;
}
.woocommerce-info {
background: #e3f2fd;
border-color: var(--primary);
color: #01579b;
}
.woocommerce-error {
background: #ffebee;
border-color: var(--danger);
color: #c62828;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
background: var(--primary);
color: #fff;
padding: 0.4rem 1rem;
border-radius: var(--radius-sm);
font-size: 0.85rem;
font-weight: 600;
text-decoration: none;
margin-left: auto;
} .woocommerce-breadcrumb {
font-size: 0.85rem;
color: var(--text-muted);
margin-bottom: 1.5rem;
}
.woocommerce-breadcrumb a {
color: var(--primary);
text-decoration: none;
}
.woocommerce-breadcrumb a:hover { text-decoration: underline; } .shop-layout {
display: block;
width: 100%;
box-sizing: border-box;
}
.shop-main {
width: 100%;
min-width: 0;
}
.shop-sidebar { display: none; }
.shop-sidebar .widget {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.25rem;
margin-bottom: 1.5rem;
box-shadow: var(--shadow-sm);
}
.shop-sidebar .widget-title {
font-size: 1rem;
font-weight: 700;
color: var(--text-dark);
margin: 0 0 1rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--primary);
} .woocommerce .price_slider_wrapper { padding: 0.5rem 0; }
.woocommerce .price_slider { margin: 1rem 0; height: 5px; background: var(--border); border-radius: 5px; }
.woocommerce .price_slider .ui-slider-range { background: var(--primary); height: 5px; }
.woocommerce .price_slider .ui-slider-handle {
width: 18px; height: 18px;
border-radius: 50%;
background: var(--primary);
border: 3px solid #fff;
box-shadow: 0 1px 5px rgba(0,0,0,.2);
cursor: pointer;
top: -7px;
} .woocommerce-ordering select {
border: 2px solid var(--border);
border-radius: var(--radius-sm);
padding: 0.5rem 2rem 0.5rem 0.75rem;
font-size: 0.9rem;
cursor: pointer;
background: #fff;
} .woocommerce-product-gallery__wrapper img {
border-radius: var(--radius-md);
}
.woocommerce-product-gallery .flex-viewport {
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.woocommerce-product-gallery ol.flex-control-nav {
display: flex;
gap: 0.5rem;
margin: 0.75rem 0 0;
padding: 0;
list-style: none;
}
.woocommerce-product-gallery ol.flex-control-nav li img {
width: 70px;
height: 70px;
object-fit: cover;
border-radius: var(--radius-sm);
border: 2px solid var(--border);
cursor: pointer;
transition: border-color .2s;
}
.woocommerce-product-gallery ol.flex-control-nav li .flex-active {
border-color: var(--primary);
} .product-tags-filter {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 1.5rem;
}
.product-tag-pill {
display: inline-flex;
align-items: center;
padding: 0.35rem 0.85rem;
border: 1.5px solid var(--border);
border-radius: 20px;
font-size: 0.82rem;
font-weight: 600;
color: var(--text);
text-decoration: none;
transition: all .2s;
background: #fff;
}
.product-tag-pill:hover,
.product-tag-pill.active {
background: var(--primary);
border-color: var(--primary);
color: #fff;
} @media (max-width: 768px) {
.woocommerce table.shop_table thead { display: none; }
.woocommerce table.shop_table tbody tr { display: block; border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: 1rem; padding: 0.75rem; }
.woocommerce table.shop_table td { display: flex; gap: 0.5rem; align-items: center; padding: 0.4rem 0; border: none; font-size: 0.9rem; }
.woocommerce table.shop_table td::before { content: attr(data-title); font-weight: 700; min-width: 100px; }
.woocommerce .cart_totals { float: none; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; margin: 0 0 2rem; }
}
@media (max-width: 480px) {
.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.woocommerce ul.products li.product a img { height: 160px; }
.woocommerce div.product { grid-template-columns: 1fr; }
} .cat-archive-banner {
position: relative;
overflow: hidden;
padding: 3rem 0 2.5rem;
color: #fff;
}
.cat-archive-banner::before {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,.45);
z-index: 1;
}
.cat-archive-banner__bg {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
opacity: .35;
z-index: 0;
}
.cat-archive-banner__inner {
position: relative;
z-index: 2;
}
.cat-archive-breadcrumb {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: .4rem;
font-size: .82rem;
color: rgba(255,255,255,.8);
margin-bottom: 1rem;
}
.cat-archive-breadcrumb a { color: rgba(255,255,255,.85); text-decoration: none; }
.cat-archive-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.cat-archive-breadcrumb span:last-child { color: #fff; font-weight: 600; }
.cat-archive-banner__content { }
.cat-archive-banner__title {
font-size: 2rem;
font-weight: 800;
color: #fff;
margin: 0 0 .6rem;
text-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.cat-archive-banner__desc {
font-size: .95rem;
color: rgba(255,255,255,.9);
max-width: 620px;
line-height: 1.6;
margin-bottom: .8rem;
}
.cat-archive-banner__meta {
display: flex;
flex-wrap: wrap;
gap: .5rem;
margin-top: .75rem;
}
.cat-archive-badge {
background: rgba(255,255,255,.18);
border: 1px solid rgba(255,255,255,.35);
padding: .25rem .8rem;
border-radius: 20px;
font-size: .8rem;
color: #fff;
font-weight: 600;
backdrop-filter: blur(4px);
} .shop-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 0 .5rem;
border-bottom: 2px solid var(--border);
margin-bottom: 1.5rem;
flex-wrap: wrap;
gap: .75rem;
}
.shop-toolbar .woocommerce-result-count {
font-size: .9rem;
color: var(--text-muted);
margin: 0;
}
.shop-toolbar .woocommerce-ordering select {
border: 2px solid var(--border);
border-radius: var(--radius-sm);
padding: .4rem .9rem;
font-size: .88rem;
background: #fff;
color: var(--text);
cursor: pointer;
} .woocommerce ul.products li.hsvt-product-li {
padding: 0 !important;
margin: 0 !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
border-radius: 0 !important;
overflow: visible !important;
}
.woocommerce ul.products li.hsvt-product-li:hover {
box-shadow: none !important;
transform: none !important;
}
.hsvt-no-products {
text-align: center;
padding: 4rem 1rem;
color: var(--text-muted);
font-size: 1.1rem;
}
.hsvt-no-products .btn { display: inline-block; margin-top: 1rem; }  .sp-breadcrumb-banner {
padding: 1.1rem 0 !important;
}
.sp-breadcrumb-banner .cat-archive-breadcrumb {
margin-bottom: 0;
} .single-product-page .woocommerce div.product,
.single-product-page div.product {
display: block !important;
grid-template-columns: unset !important;
}
.sp-wrap { padding: 2rem 0; }
.sp-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2.5rem;
align-items: start;
margin-bottom: 2rem;
}
.sp-gallery { position: sticky; top: 80px; }
.sp-gallery .woocommerce-product-gallery { margin-top: 0 !important; padding-top: 0 !important; }
.sp-summary { } .single-product-page .woocommerce-product-gallery {
float: none !important;
width: 100% !important;
}
.single-product-page .entry-summary,
.single-product-page .summary {
float: none !important;
width: 100% !important;
padding: 0 !important;
clear: none !important;
} .sp-cat-tag {
margin-bottom: .75rem;
}
.sp-cat-tag a {
display: inline-block;
background: var(--primary-light, #e3f0ff);
color: var(--primary);
border-radius: 20px;
padding: .25rem .9rem;
font-size: .82rem;
font-weight: 600;
text-decoration: none;
}
.sp-cat-tag a:hover { background: var(--primary); color: #fff; } .single-product-page .woocommerce-product-gallery {
position: relative !important;
}
.single-product-page .onsale {
position: absolute !important;
top: 10px !important;
left: 10px !important;
z-index: 9 !important;
background: var(--danger) !important;
border-radius: var(--radius-sm) !important;
font-size: .82rem !important;
font-weight: 700 !important;
padding: 4px 10px !important;
color: #fff !important;
min-height: unset !important;
min-width: unset !important;
line-height: 1.4 !important;
margin: 0 !important;
} .woocommerce-product-gallery__trigger {
position: absolute !important;
top: 10px !important;
right: 10px !important;
z-index: 9 !important;
display: block;
width: 36px;
height: 36px;
background: rgba(255,255,255,.85);
border-radius: 50%;
box-shadow: 0 1px 4px rgba(0,0,0,.2);
text-align: center;
line-height: 36px;
text-indent: -9999px;
overflow: hidden;
}
.woocommerce-product-gallery__trigger::before {
content: '🔍';
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-indent: 0;
font-size: 1rem;
} .woocommerce-product-gallery .flex-viewport {
margin-bottom: .5rem;
}
.woocommerce-product-gallery ol.flex-control-nav {
display: flex;
gap: 6px;
flex-wrap: wrap;
margin: 0;
padding: 0;
list-style: none;
}
.woocommerce-product-gallery ol.flex-control-nav li {
width: 70px;
margin: 0;
}
.woocommerce-product-gallery ol.flex-control-nav li img {
width: 70px;
height: 70px;
object-fit: cover;
border-radius: var(--radius-sm);
border: 2px solid transparent;
cursor: pointer;
transition: border-color .2s;
}
.woocommerce-product-gallery ol.flex-control-nav li img.flex-active {
border-color: var(--primary);
} .sp-trust-badges {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: .5rem;
margin: 1.25rem 0;
padding: 1rem;
background: var(--bg-alt);
border-radius: var(--radius-md);
border: 1px solid var(--border);
}
.sp-trust-item {
display: flex;
align-items: center;
gap: .5rem;
font-size: .85rem;
color: var(--text);
}
.sp-trust-item a { color: var(--primary); text-decoration: none; font-weight: 600; }
.sp-trust-icon { font-size: 1.1rem; } .sp-cta-row {
display: flex;
gap: .75rem;
flex-wrap: wrap;
margin-bottom: 1rem;
}
.sp-cta-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: .4rem;
padding: .65rem 1.4rem;
border-radius: var(--radius-sm);
font-size: .95rem;
font-weight: 700;
text-decoration: none;
transition: opacity .2s, transform .15s;
cursor: pointer;
}
.sp-cta-btn:hover { opacity: .88; transform: translateY(-1px); }
.sp-cta-zalo { background: #0068ff; color: #fff; }
.sp-cta-call  { background: var(--accent); color: #fff; } .sp-share {
display: flex;
align-items: center;
gap: .6rem;
font-size: .85rem;
color: var(--text-muted);
margin-top: .25rem;
}
.sp-share-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 50%;
font-size: .85rem;
font-weight: 700;
text-decoration: none;
color: #fff;
line-height: 1;
}
.sp-share-fb { background: #1877f2; }
.sp-share-zl { background: #0068ff; } .sp-bottom { border-top: 2px solid var(--border); padding-top: 2rem; }
.sp-bottom .woocommerce-tabs { margin-top: 0; } .woocommerce-Tabs-panel img,
.woocommerce-product-details__short-description img,
.entry-content img {
max-width: 100% !important;
height: auto !important;
display: block;
border-radius: var(--radius-sm);
} .woocommerce-Tabs-panel--description img {
max-width: 480px !important;
margin: .75rem auto;
} .sp-bottom .related.products,
.sp-bottom .upsells.products {
grid-column: unset;
margin-top: 2.5rem;
}
.sp-bottom .related.products ul.products {
grid-template-columns: repeat(5, 1fr) !important;
}
.sp-bottom .related.products ul.products li.hsvt-product-li {
padding: 0 !important;
border: none !important;
background: transparent !important;
box-shadow: none !important;
}
.sp-bottom .related.products h2 {
font-size: 1.25rem;
padding-bottom: .5rem;
border-bottom: 2px solid var(--border);
margin-bottom: 1.25rem;
} @media (max-width: 992px) {
.sp-top { grid-template-columns: 1fr; gap: 1.5rem; }
.sp-gallery { position: static; } .sp-gallery {
max-width: 520px;
margin-left: auto;
margin-right: auto;
}
.sp-bottom .related.products ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
.cat-archive-banner { padding: 2rem 0 1.5rem; }
.cat-archive-banner__title { font-size: 1.4rem; }
.sp-trust-badges { grid-template-columns: 1fr; gap: .4rem; }
.sp-cta-row { gap: .5rem; }
.sp-cta-btn { padding: .6rem 1rem; font-size: .88rem; }
.sp-bottom .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
.cat-archive-banner__title { font-size: 1.3rem; }
}
@media (max-width: 480px) {
.sp-gallery {
width: 100%;
max-width: 100%;
margin-left: 0;
margin-right: 0;
}
} .hsvt-gallery {
width: 100%;
} .hsvt-gallery__main {
position: relative;
width: 100%;
background: #f8f8f8;
border-radius: var(--radius-md);
border: 1px solid var(--border, #e0e0e0);
box-shadow: 0 1px 6px rgba(0,0,0,.08);
overflow: hidden; max-height: 460px;
}
.hsvt-gallery__main-img {
width: 100%;
height: auto;
max-height: 460px;
object-fit: contain;
display: block;
transition: opacity .25s;
background: #f8f8f8;
} .hsvt-gallery__badge {
position: absolute;
top: 10px;
left: 10px;
z-index: 9;
background: var(--danger, #e53935);
color: #fff;
font-size: .82rem;
font-weight: 700;
padding: 3px 10px;
border-radius: var(--radius-sm);
line-height: 1.4;
} .hsvt-gallery__thumbs {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 6px;
margin-top: 8px;
padding: 0;
}
.hsvt-gallery__thumb {
aspect-ratio: 1 / 1;
padding: 0;
border: 2px solid var(--border, #e0e0e0);
border-radius: var(--radius-sm);
overflow: hidden;
cursor: pointer;
background: #f8f8f8;
transition: border-color .2s, opacity .2s;
opacity: .55;
}
.hsvt-gallery__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.hsvt-gallery__thumb.active,
.hsvt-gallery__thumb:hover {
border-color: var(--primary, #0057a8);
opacity: 1;
} .hsvt-gallery--no-image img {
width: 100%;
height: auto;
border-radius: var(--radius-md);
} @media (max-width: 768px) {
.hsvt-gallery__main {
max-height: 320px;
}
.hsvt-gallery__main-img {
max-height: 320px;
}
}
@media (max-width: 480px) {
.hsvt-gallery__main {
max-height: 260px;
}
.hsvt-gallery__main-img {
max-height: 260px;
}
} @media (max-width: 768px) { .woocommerce-Tabs-panel table,
.woocommerce-product-details__short-description table,
.entry-content table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
max-width: 100%;
width: 100% !important;
}
.woocommerce-Tabs-panel table td,
.woocommerce-Tabs-panel table th {
min-width: 80px;
} .woocommerce-Tabs-panel img,
.woocommerce-product-details__short-description img,
.entry-content img,
.woocommerce-Tabs-panel iframe,
.entry-content iframe {
max-width: 100% !important;
width: auto !important;
height: auto !important;
} pre, code {
white-space: pre-wrap;
word-break: break-word;
max-width: 100%;
} .container,
.sp-wrap,
.sp-top,
.sp-summary,
.sp-bottom {
max-width: 100%;
overflow-x: hidden;
}
}  body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .entry-page,
body.woocommerce-checkout .content-layout,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .entry-page,
body.woocommerce-cart .content-layout {
max-width: 100% !important;
width: 100% !important;
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce {
max-width: 100%;
width: 100%;
} .hsvt-checkout-wrap {
display: grid;
grid-template-columns: 1fr 420px;
gap: 2rem;
align-items: start;
padding: 2rem 0;
width: 100%;
box-sizing: border-box;
} body.woocommerce-checkout form.woocommerce-checkout:not(.hsvt-checkout-form) {
display: grid;
grid-template-columns: 1fr 420px;
grid-template-rows: auto;
gap: 2rem;
align-items: start;
padding: 2rem 0;
}
body.woocommerce-checkout form.woocommerce-checkout:not(.hsvt-checkout-form) #customer_details {
grid-column: 1;
grid-row: 1 / 3;
}
body.woocommerce-checkout form.woocommerce-checkout:not(.hsvt-checkout-form) #order_review {
grid-column: 2;
grid-row: 1;
}
body.woocommerce-checkout form.woocommerce-checkout:not(.hsvt-checkout-form) .woocommerce-checkout-review-order {
grid-column: 2;
} .hsvt-checkout-form {
display: block !important;
padding: 0;
} .hsvt-checkout-card {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 1.5rem;
margin-bottom: 1.25rem;
box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.hsvt-checkout-card__title {
font-size: 1.05rem;
font-weight: 700;
color: var(--text-dark);
margin: 0 0 1.25rem;
padding-bottom: .75rem;
border-bottom: 2px solid var(--border);
display: flex;
align-items: center;
gap: .5rem;
}
.hsvt-checkout-card__icon { font-size: 1.15rem; } .hsvt-checkout-form .form-row {
margin-bottom: .9rem;
}
.hsvt-checkout-form .form-row label {
display: block;
font-size: .875rem;
font-weight: 600;
margin-bottom: 4px;
color: var(--text-dark);
}
.hsvt-checkout-form .form-row label .required { color: var(--danger); }
.hsvt-checkout-form .form-row input.input-text,
.hsvt-checkout-form .form-row select,
.hsvt-checkout-form .form-row textarea {
width: 100%;
padding: .6rem .85rem;
border: 1.5px solid var(--border);
border-radius: var(--radius-sm);
font-size: .92rem;
box-sizing: border-box;
transition: border-color .2s;
background: #fff;
color: var(--text-dark);
font-family: var(--font-main);
}
.hsvt-checkout-form .form-row input.input-text:focus,
.hsvt-checkout-form .form-row select:focus,
.hsvt-checkout-form .form-row textarea:focus {
border-color: var(--primary);
outline: none;
box-shadow: 0 0 0 3px rgba(0,87,168,.1);
}
.hsvt-checkout-form .form-row.woocommerce-invalid input,
.hsvt-checkout-form .form-row.woocommerce-invalid select {
border-color: var(--danger);
} .hsvt-checkout-form .col2-set {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.hsvt-checkout-form .col2-set .col-1,
.hsvt-checkout-form .col2-set .col-2 { min-width: 0; } .hsvt-checkout-form .woocommerce-billing-fields h3,
.hsvt-checkout-form .woocommerce-shipping-fields h3 {
display: none; }
.hsvt-checkout-form .woocommerce-shipping-fields {
margin-top: .75rem;
}
.hsvt-checkout-form .woocommerce-shipping-fields > h3 {
display: flex !important;
align-items: center;
font-size: .95rem;
font-weight: 700;
margin-bottom: .75rem;
cursor: pointer;
} .hsvt-checkout-card #order_review { margin-top: 0; }
.woocommerce-checkout-review-order-table {
width: 100%;
border-collapse: collapse;
font-size: .9rem;
}
.woocommerce-checkout-review-order-table thead th {
background: var(--primary);
color: #fff;
padding: .6rem .85rem;
text-align: left;
font-weight: 600;
}
.woocommerce-checkout-review-order-table tbody tr td {
padding: .6rem .85rem;
border-bottom: 1px solid var(--border);
vertical-align: middle;
}
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
padding: .5rem .85rem;
font-size: .9rem;
border-top: 1px solid var(--border);
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
font-size: 1.1rem;
font-weight: 700;
color: var(--danger);
border-top: 2px solid var(--border);
}
.woocommerce-checkout-review-order-table .product-name { font-weight: 600; }
.woocommerce-checkout-review-order-table .product-total { text-align: right; } #payment {
background: var(--bg-alt);
border-radius: var(--radius-md);
padding: 1.25rem;
border: 1px solid var(--border);
margin-top: .75rem;
}
#payment .payment_methods {
list-style: none;
padding: 0;
margin: 0 0 1.25rem;
}
#payment .payment_methods li {
padding: .65rem 0;
border-bottom: 1px solid var(--border);
}
#payment .payment_methods li:last-child { border: none; }
#payment .payment_methods label {
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: .5rem;
font-size: .92rem;
}
#payment .payment_box {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
padding: .85rem 1rem;
margin-top: .5rem;
font-size: .88rem;
color: var(--text-muted);
}
#payment .place-order { margin-top: .75rem; }
#payment .place-order .button#place_order {
display: block;
width: 100%;
background: var(--accent, #ff6f00);
color: #fff;
border: none;
padding: .95rem 2rem;
font-size: 1.05rem;
font-weight: 700;
border-radius: var(--radius-sm);
cursor: pointer;
transition: background .2s, transform .15s;
box-shadow: 0 4px 14px rgba(255,111,0,.35);
text-align: center;
letter-spacing: .3px;
}
#payment .place-order .button#place_order:hover {
background: #e65c00;
transform: translateY(-1px);
} .hsvt-checkout-right .hsvt-checkout-card:first-child {
position: sticky;
top: 90px;
} @media (max-width: 900px) {
.hsvt-checkout-wrap,
body.woocommerce-checkout form.woocommerce-checkout {
grid-template-columns: 1fr;
gap: 0;
} .hsvt-checkout-right { order: -1; }
body.woocommerce-checkout form.woocommerce-checkout #order_review {
grid-column: 1;
grid-row: 1;
}
body.woocommerce-checkout form.woocommerce-checkout #customer_details {
grid-column: 1;
grid-row: 2;
}
.hsvt-checkout-card { padding: 1.1rem; }
.hsvt-checkout-right .hsvt-checkout-card:first-child {
position: static;
}
}
@media (max-width: 600px) {
.hsvt-checkout-wrap { padding: 1rem 0; }
.hsvt-checkout-card {
padding: 1rem;
margin-bottom: 1rem;
border-radius: var(--radius-sm);
}
.hsvt-checkout-card__title { font-size: .95rem; } .hsvt-checkout-form .col2-set,
body.woocommerce-checkout form.woocommerce-checkout .col2-set {
grid-template-columns: 1fr;
gap: 0;
} .woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table tbody tr {
display: flex;
flex-direction: column;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
margin-bottom: .5rem;
padding: .5rem .75rem;
}
.woocommerce-checkout-review-order-table tfoot tr {
display: flex;
justify-content: space-between;
padding: .4rem 0;
}
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
padding: .4rem 0;
}
#payment .place-order .button#place_order {
font-size: .95rem;
padding: .85rem 1rem;
}
}@font-face {
font-family: 'th-icon';
src:  url(//haisanvungtau.net/wp-content/plugins/th-advance-product-search/th-icon/fonts/th-icon.eot?stlo25);
src:  url(//haisanvungtau.net/wp-content/plugins/th-advance-product-search/th-icon/fonts/th-icon.eot?stlo25#iefix) format('embedded-opentype'),
url(//haisanvungtau.net/wp-content/plugins/th-advance-product-search/th-icon/fonts/th-icon.ttf?stlo25) format('truetype'),
url(//haisanvungtau.net/wp-content/plugins/th-advance-product-search/th-icon/fonts/th-icon.woff?stlo25) format('woff');
font-weight: normal;
font-style: normal;
font-display: block;
}
.th-icon { font-family: 'th-icon' !important;
speak: never;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.th-icon-th-col:before {
content: "\f00a";
}
.th-icon-th-list:before {
content: "\f00b";
}
.th-icon-home1:before {
content: "\f015";
}
.th-icon-download:before {
content: "\f019";
}
.th-icon-calendar:before {
content: "\f073";
}
.th-icon-twitter:before {
content: "\f099";
}
.th-icon-facebook:before {
content: "\f09a";
}
.th-icon-linkedin:before {
content: "\f0e1";
}
.th-icon-comment-o:before {
content: "\f0e5";
}
.th-icon-comments-o:before {
content: "\f0e6";
}
.th-icon-angle-double-left:before {
content: "\f100";
}
.th-icon-angle-double-right:before {
content: "\f101";
}
.th-icon-angle-double-up:before {
content: "\f102";
}
.th-icon-angle-double-down:before {
content: "\f103";
}
.th-icon-angle-left:before {
content: "\f104";
}
.th-icon-angle-right:before {
content: "\f105";
}
.th-icon-angle-up:before {
content: "\f106";
}
.th-icon-angle-down:before {
content: "\f107";
}
.th-icon-youtube-play:before {
content: "\f16a";
}
.th-icon-instagram:before {
content: "\f16d";
}
.th-icon-tumblr:before {
content: "\f173";
}
.th-icon-dribbble:before {
content: "\f17d";
}
.th-icon-skype:before {
content: "\f17e";
}
.th-icon-stumbleupon:before {
content: "\f1a4";
}
.th-icon-pinterest-p:before {
content: "\f231";
}
.th-icon-whatsapp:before {
content: "\f232";
}
.th-icon-opencart:before {
content: "\f23d";
}
.th-icon-vimeo:before {
content: "\f27d";
}
.th-icon-vector-search:before {
content: "\e92f";
}
.th-icon-home:before {
content: "\e91a";
}
.th-icon-quickview:before {
content: "\e91b";
}
.th-icon-user:before {
content: "\e91c";
}
.th-icon-heartline:before {
content: "\e91d";
}
.th-icon-Interface-Icons-14:before {
content: "\e91e";
}
.th-icon-delete:before {
content: "\e91f";
}
.th-icon-lock1:before {
content: "\e920";
}
.th-icon-lock2:before {
content: "\e921";
}
.th-icon-call:before {
content: "\e922";
}
.th-icon-Photography-Icons-06:before {
content: "\e923";
}
.th-icon-Shopping-Bag-Cart-Icons-01:before {
content: "\e924";
}
.th-icon-Shopping-Bag-Cart-Icons-11:before {
content: "\e925";
}
.th-icon-Shopping-Bag-Cart-Icons-23:before {
content: "\e926";
}
.th-icon-Shopping_icons-01:before {
content: "\e927";
}
.th-icon-Shopping_icons-11:before {
content: "\e928";
}
.th-icon-Shopping_icons-16:before {
content: "\e929";
}
.th-icon-TextEditor-Icons-01:before {
content: "\e92a";
}
.th-icon-TextEditor-Icons-02:before {
content: "\e92b";
}
.th-icon-search1:before {
content: "\e930";
}
.th-icon-clear:before {
content: "\e900";
}
.th-icon-format_align_justify:before {
content: "\e901";
}
.th-icon-format_align_left:before {
content: "\e902";
}
.th-icon-keyboard_arrow_left:before {
content: "\e903";
}
.th-icon-keyboard_arrow_right:before {
content: "\e904";
}
.th-icon-local_grocery_store:before {
content: "\e905";
}
.th-icon-arrow_forward:before {
content: "\e906";
}
.th-icon-check:before {
content: "\e907";
}
.th-icon-cached:before {
content: "\e908";
}
.th-icon-favorite:before {
content: "\e909";
}
.th-icon-favorite_outline:before {
content: "\e90a";
}
.th-icon-arrow-left:before {
content: "\e90b";
}
.th-icon-arrow-right:before {
content: "\e90c";
}
.th-icon-check1:before {
content: "\e90d";
}
.th-icon-chevron-left:before {
content: "\e90e";
}
.th-icon-chevron-right:before {
content: "\e90f";
}
.th-icon-eye:before {
content: "\e910";
}
.th-icon-headphones:before {
content: "\e911";
}
.th-icon-heart1:before {
content: "\e912";
}
.th-icon-lock:before {
content: "\e913";
}
.th-icon-phone:before {
content: "\e914";
}
.th-icon-refresh-ccw:before {
content: "\e915";
}
.th-icon-refresh-cw:before {
content: "\e916";
}
.th-icon-repeat:before {
content: "\e917";
}
.th-icon-search:before {
content: "\e918";
}
.th-icon-shopping-cart:before {
content: "\e919";
}
.th-icon-heart2:before {
content: "\e92c";
}
.th-icon-cart:before {
content: "\e92d";
}
.th-icon-refresh:before {
content: "\e92e";
}
.th-icon-heart:before {
content: "\e9da";
}.thaps-search-box{
max-width:550px;
}
.thaps-search-box {
position: relative;
line-height: 100%;
display: block;
width: 100%;
text-align: left;
margin: 0 auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
align-items: center;
display: flex;
}
.thaps-search-form{
margin: 0;
padding: 0;
width: 100%;
}
.thaps-from-wrap{
display:flex;
background:#fff;
border-radius:4px;
position: relative;
border: 1px solid;
border-color:#e7f5ff;
}
.thaps-search-autocomplete:focus{
outline: 0;
}
#thaps-search-button {
background: #111;
width: 70px;
display: flex;
justify-content: center;
align-items: center;
border-radius:4px;
padding: 0;
border: 0;
margin:0.3rem;
color: #fff;
}
#thaps-search-button:hover{
background:#888;
}
.thaps-search-form .thaps-search-autocomplete {
min-height:35px;
line-height:35px;
border:none!important;
font-size: 14px;
width: 100%;
padding: 0.3rem 0.8rem;
margin: 0;
border-radius: 4px;
}
.thaps-autocomplete-suggestions {border: 1px solid #eee; background: #FFF; overflow: auto; }
.thaps-autocomplete-suggestion { padding: 0.5rem; overflow: hidden;margin:0;}
.thaps-autocomplete-selected { background: #f0f0f166; }
.thaps-autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.thaps-autocomplete-group { padding: 0.5rem; }
.thaps-autocomplete-group strong { display: block; border-bottom: 1px solid #000; 
}
.thaps-autocomplete-suggestion { 
cursor: pointer;
}
.thaps-autocomplete-suggestion{
display:flex;
}
.thaps-autocomplete-suggestion .thaps-img{
width:65px;
margin-right: 1rem;
}
.thaps-autocomplete-suggestion .thaps-img img{
border-radius:3px;
max-width: 100%;
}
.thaps-autocomplete-suggestion .thaps-price{
font-size:0.89rem;
font-weight:500;
}
.thaps-suggestion-heading .thaps-title{
color:#555;
font-size: .875rem;
text-transform: uppercase;
font-weight:normal;
}
.thaps-suggestion-heading{
border-bottom:1px solid #e7f5ff;
margin-bottom: 0.5rem;
pointer-events: none;
}
.thaps-suggestion-taxonomy-post-cat .thaps-title,.thaps-suggestion-taxonomy-product-cat .thaps-title{
font-size:0.89rem;
}
.thaps-suggestion-taxonomy-product-cat,.thaps-suggestion-taxonomy-post-cat{
padding: 0.5rem;
}
.thaps-title{
color:#333;
font-size:0.89rem;
font-weight:bold;
}
.thaps-suggestion-heading .thaps-title strong{
color: #555;
font-size: .875rem;
text-transform: uppercase;
font-weight: normal;
}
.thaps-suggestion-more strong{
color: #333;
font-size: 1rem;
font-weight: bold;
}
.thaps-content-wrapp{
line-height:normal;
}
.thaps-price del{
color:#949494;
margin-right:0.3rem;
opacity: 0.5;
}
.thaps-price ins{
text-decoration:none;
}
.nonce_result_show{
opacity:0.5;
pointer-events: none;
}
.thaps-preloader{
height: 100%;
position: absolute;
right: 0;
top: 0;
width: 45px;
z-index: 1;
background:none;
}
.thaps-loading {
height: 0;
width: 0;
padding: 10px;
border: 3px solid #cccccc6e;
border-right-color: #8888887a;
border-radius: 50%;
-webkit-animation: rotate 1s infinite linear;
position: absolute;
top: 9px;
margin-right: 10px;
}
@-webkit-keyframes rotate { 100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes thaps-loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.submit-no-active .thaps-from-wrap .th-icon, .bar_style .th-icon,
.icon_style .thaps-from-wrap .th-icon{
position:absolute;
left:0.5rem
}
.submit-no-active .thaps-from-wrap .th-icon{
color: #111;  
}
.submit-no-active .thaps-search-autocomplete,
.bar_style .thaps-search-autocomplete,.icon_style .thaps-search-autocomplete{
padding: 0.3rem 0.3rem 0.3rem 2.8rem;
}
.submit-no-active .thaps-from-wrap, .bar_style .thaps-from-wrap,
.icon_style .thaps-from-wrap{
align-items: center;
}
.thaps-search-box.bar_style #thaps-search-button{
width:35px;
height:35px;
line-height:35px;
background:none;
cursor:pointer;
}
.thaps-search-box.bar_style #thaps-search-button .th-icon{
color:#111;
}
.thaps-search-box.bar_style .thaps-search-autocomplete{
padding:0.3rem;
}
#thaps-search-button:focus{
outline:none;
}
.thaps-suggestion-more{
background:#eee;
text-align:center;
margin:0;
}
.thaps-suggestion-more .thaps-content-wrapp {
line-height: normal;
text-align: center;
width: 100%;
}
.thaps-suggestion-more .thaps-title{
font-size:.89rem;
}
.thaps-autocomplete-suggestion .thaps-title{
display:inline-block;
margin-right: 0.6rem;
}
.thaps-autocomplete-suggestion .thaps-price{
display:block;
}
.thaps-sku{
font-size: 0.8rem;
font-weight: 500;
color: #555;
}
.thaps-desc{
font-size:0.8rem;
display:flex;
}
.thaps-content-wrapp {
line-height: normal;
display: flex;
justify-content: space-between;
flex-grow: 2;
align-items: center;
width: 100%;
}
.thaps-suggestion-more .thaps-content-wrapp {
justify-content: center;
}
.icon_style .thaps-search-form {
opacity:0;
display:none;
position: absolute;
left: 0;
top: calc(100% + 8px);
min-width:270px;
z-index: 1;
}
.icon_style.thaps-box-open .thaps-search-form{
opacity:1;
display:block;
}
.icon_style .click-icon{
height: auto;
cursor: pointer;
}
.thaps-box-open .thaps-icon-arrow {
display: block;
position: absolute;
top: calc(100% + 2px);
left: 0;
z-index: 5;
width: 15px;
height: 15px;
background: #fff;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
-webkit-transform: rotate(
45deg
);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(
45deg
);
}
div.thaps-autocomplete-suggestions::-webkit-scrollbar-track
{
background-color: #f1f1f1;
}
div.thaps-autocomplete-suggestions::-webkit-scrollbar
{
width: 10px;
background-color: #E5E6E8;
}
div.thaps-autocomplete-suggestions::-webkit-scrollbar-thumb
{
background-color: #E5E6E8;
}
.thaps-search-box .th-icon{
font-size:1.62rem;
}