﻿/*
Theme Name: Flatsome Child
Theme URI: http://flatsome.uxthemes.com
Template: flatsome
Author: UX-Themes
Author URI: https://uxthemes.com
Description: Multi-Purpose Responsive WooCommerce Theme
Version: 3.20.8.1791018600
Updated: 2026-10-03 10:10:00

*/

.sago-company-info {
    display: grid;
    gap: 12px;
    margin: 32px 0 24px;
    padding: 22px 24px;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #b91c1c;
    border-radius: 10px;
    background: #fffafa;
    color: #1f2937;
    font-style: normal;
}

/* PCCC VNP palette: fire red is dominant, technical blue is secondary. */
:root {
    --primary-color: #b91c1c;
    --fs-color-primary: #b91c1c;
    --fs-color-secondary: #b91c1c;
    --fs-color-success: #627d47;
    --fs-color-alert: #d60000;
    --fs-color-base: #4a4a4a;
    --fs-experimental-link-color: #9f1717;
    --fs-experimental-link-color-hover: #7f1d1d;
    --vnp-red: #b91c1c;
    --vnp-red-dark: #7f1d1d;
    --vnp-red-light: #fff1f1;
    --vnp-blue: #b91c1c;
}

/* Primary brand surfaces */
.vnp-hero {
    background: linear-gradient(135deg, #681313 0%, var(--vnp-red) 58%, #dc2626 100%);
}

.vnp-cta,
.vnp-contact-strip {
    background: var(--vnp-red-dark);
}

.vnp-title h2,
.vnp-about-card,
.vnp-feature-card i,
.vnp-product-catalogue .header-title,
.vnp-solution-body h3,
.vnp-project-card h3 {
    color: var(--vnp-red);
}

.vnp-about-card,
.vnp-faq-note {
    border-left-color: var(--vnp-red);
}

.vnp-title small,
.vnp-icon-row i,
.vnp-contact-item i,
.vnp-share-item i {
    color: var(--vnp-red);
}

.vnp-btn-primary {
    background: var(--vnp-red);
    color: #fff;
}

.vnp-product-band {
    background: #fff7f7;
}

.vnp-faq-note {
    background: var(--vnp-red-light);
}

/* Blue is intentionally limited to secondary actions and technical metadata. */
.vnp-btn-light,
.vnp-news-body span {
    color: var(--vnp-blue);
}

.vnp-home .secondary,
.vnp-home .button.secondary {
    background: var(--vnp-blue);
}

.vnp-site-footer a:hover {
    color: var(--vnp-red);
}

.sago-company-info__name,
.sago-company-info__row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
}

.sago-company-info__name {
    color: #991b1b;
    font-size: 1.05em;
    line-height: 1.5;
}

.sago-company-info i {
    color: #b91c1c;
    font-size: 20px;
    line-height: 1.5;
}

.sago-company-info a {
    color: inherit;
    text-decoration: none;
}

.sago-company-info a:hover {
    color: #b91c1c;
    text-decoration: underline;
}

@media (max-width: 549px) {
    .sago-company-info {
        padding: 18px;
    }
}


/* VNP home builder styles */
:root{--primary-color:#b91c1c;--fs-color-primary:#b91c1c;--fs-color-secondary:#d96b2b;--fs-color-success:#5e7d3a;--fs-color-alert:#d60000;--fs-color-base:#4a4a4a;--fs-experimental-link-color:#b91c1c;--fs-experimental-link-color-hover:#7f1d1d}.vnp-home{color:#3f3333}.vnp-home .section-title-main,.vnp-home h1,.vnp-home h2,.vnp-home h3{letter-spacing:0}.vnp-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#681313 0%,#b91c1c 56%,#dc2626 100%)}.vnp-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.17),transparent 28%),linear-gradient(90deg,rgba(2,23,42,.42),rgba(2,23,42,.08));pointer-events:none}.vnp-hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(255,255,255,.28);border-radius:4px;color:#fff;font-size:13px;font-weight:700;text-transform:uppercase}.vnp-hero h1{color:#fff;font-size:42px;line-height:1.13;margin:18px 0 14px;text-transform:uppercase}.vnp-hero p{color:rgba(255,255,255,.9);font-size:16px;line-height:1.7;max-width:650px}.vnp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.vnp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 20px;border-radius:4px;font-weight:700;text-transform:uppercase}.vnp-btn-primary{background:#d96b2b;color:#fff}.vnp-btn-light{background:#fff;color:#b91c1c}.vnp-hero-image{background:#fff;border-radius:8px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.vnp-hero-image img{display:block;width:100%;height:auto;border-radius:6px}.vnp-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.vnp-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:14px;color:#fff}.vnp-stat strong{display:block;font-size:24px;line-height:1}.vnp-stat span{display:block;margin-top:6px;font-size:13px;color:rgba(255,255,255,.82)}.vnp-title{margin-bottom:22px}.vnp-title small{display:inline-block;color:#d96b2b;font-weight:700;text-transform:uppercase}.vnp-title h2{margin:5px 0 0;color:#b91c1c;font-size:30px}.vnp-title p{max-width:760px;color:#716565}.vnp-about-card{height:100%;border-left:4px solid #b91c1c;background:#fff;border-radius:6px;padding:26px;box-shadow:0 8px 24px rgba(15,37,64,.08)}.vnp-icon-list{display:grid;gap:14px;margin-top:20px}.vnp-icon-row{display:flex;gap:12px;align-items:flex-start}.vnp-icon-row i{font-size:24px;color:#b91c1c;line-height:1}.vnp-feature-card{height:100%;background:#fff;border:1px solid #f0e5e5;border-radius:6px;padding:24px;text-align:left;transition:.2s ease}.vnp-feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(15,37,64,.1)}.vnp-feature-card i{font-size:36px;color:#b91c1c}.vnp-feature-card h3{font-size:18px;margin:12px 0 8px;color:#2d2424}.vnp-feature-card p{font-size:14px;color:#746868}.vnp-cta{background:#b91c1c;color:#fff;border-radius:8px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.vnp-cta h2{color:#fff;margin:0;font-size:27px}.vnp-cta p{margin:6px 0 0;color:rgba(255,255,255,.86)}.vnp-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.vnp-product-catalogue .box-category{border:1px solid #eee3e3;background:#fff;border-radius:6px;overflow:hidden}.vnp-product-catalogue .box-text{padding:13px 10px}.vnp-product-catalogue .header-title{color:#b91c1c;font-size:15px;line-height:1.3;margin:0;text-transform:none}.vnp-product-catalogue .box-image{background:#fffafa}.vnp-solution-card,.vnp-project-card,.vnp-news-card{display:block;height:100%;background:#fff;border:1px solid #f1e7e7;border-radius:7px;overflow:hidden;color:#3f3333;transition:.2s ease}.vnp-solution-card:hover,.vnp-news-card:hover{box-shadow:0 12px 30px rgba(15,37,64,.12);transform:translateY(-3px)}.vnp-solution-card img,.vnp-news-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff8f8}.vnp-solution-body{padding:16px}.vnp-solution-body h3{font-size:17px;margin:0 0 8px;color:#b91c1c}.vnp-solution-body p{font-size:14px;color:#756969;margin:0}.vnp-product-band{background:#fff7f7}.vnp-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.vnp-news-body{padding:15px}.vnp-news-body h3{font-size:16px;line-height:1.35;margin:0 0 8px;color:#2d2424}.vnp-news-body span{font-size:13px;color:#b91c1c;font-weight:700}.vnp-share-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.vnp-share-item{display:flex;gap:14px;padding:16px;border:1px solid #f0e5e5;border-radius:6px;background:#fff;color:#3f3333}.vnp-share-item i{font-size:24px;color:#d96b2b}.vnp-project-card{padding:22px}.vnp-project-card h3{font-size:18px;color:#b91c1c;margin:0 0 8px}.vnp-project-card p{font-size:14px;color:#756969}.vnp-faq-note{background:#fff1f1;border-left:4px solid #b91c1c;border-radius:6px;padding:18px;color:#554545}.vnp-home .accordion-title{font-weight:700;color:#392828}.vnp-home .accordion-inner{color:#706565}.vnp-contact-strip{background:#7f1d1d;color:#fff}.vnp-contact-strip h2{color:#fff}.vnp-contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vnp-contact-item{display:flex;gap:12px;align-items:flex-start;color:#fff}.vnp-contact-item i{font-size:25px;color:#d96b2b}.vnp-contact-item strong{display:block;color:#fff}.vnp-contact-item span{color:rgba(255,255,255,.85);font-size:14px}@media(max-width:849px){.vnp-hero h1{font-size:30px}.vnp-stat-grid,.vnp-card-grid,.vnp-news-grid,.vnp-share-list,.vnp-contact-list{grid-template-columns:1fr 1fr}.vnp-cta{display:block}.vnp-cta .vnp-btn{margin-top:14px}}@media(max-width:549px){.vnp-hero h1{font-size:25px}.vnp-stat-grid,.vnp-card-grid,.vnp-news-grid,.vnp-share-list,.vnp-contact-list{grid-template-columns:1fr}.vnp-title h2{font-size:24px}}
/* End VNP home builder styles */

/* VNP footer builder styles */
.vnp-site-footer {
    color: #211b1b;
}

.vnp-site-footer a {
    color: inherit;
    text-decoration: none;
}

.vnp-site-footer a:hover {
    color: #b91c1c;
}

.vnp-footer-brand-row {
    margin-bottom: 22px;
}

.vnp-footer-logo {
    display: flex;
    width: 66px;
    height: 48px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 2px;
    line-height: 1;
    box-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.vnp-footer-logo strong {
    color: #b91c1c;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0;
}

.vnp-footer-logo span {
    color: #d96b2b;
    font-size: 10px;
    font-weight: 800;
    margin-top: 3px;
}

.vnp-footer-slogan {
    border-left: 3px solid #111;
    padding-left: 16px;
    line-height: 1.35;
}

.vnp-footer-slogan-main {
    color: #b91c1c;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}

.vnp-footer-slogan-sub {
    color: #000;
    font-size: 15px;
    font-weight: 600;
}

.vnp-footer-desc {
    max-width: 610px;
    margin: 0 0 18px;
    color: #111;
    font-size: 14px;
    line-height: 1.65;
}

.vnp-footer-contact-title {
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
}

.vnp-footer-contact {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 8px 0;
    font-size: 14px;
}

.vnp-footer-contact i {
    color: #b91c1c;
    font-size: 18px;
    line-height: 1.3;
}

.vnp-footer-follow-wrap {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 16px;
}

.vnp-footer-follow-wrap .social-icons {
    display: inline-flex;
    gap: 10px;
    margin: 0;
}

.vnp-footer-follow-wrap .button.icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    margin: 0;
    line-height: 34px;
}

.vnp-footer-follow-wrap .button.icon.facebook {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}

.vnp-footer-follow-wrap .button.icon.youtube {
    background: #d60000 !important;
    border-color: #d60000 !important;
    color: #fff !important;
}

.vnp-footer-zalo {
    display: inline-flex;
    width: 36px;
    height: 36px;
    min-width: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #dc2626;
    color: #fff !important;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}

.vnp-footer-ux-menu {
    margin-top: 16px;
}

.vnp-footer-ux-menu .ux-menu-title {
    min-height: auto;
    margin: 0 0 15px !important;
    padding: 0;
    color: #000;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.vnp-footer-ux-menu .ux-menu-link {
    position: relative;
    margin: 0 0 13px !important;
    padding-left: 20px;
    color: #111;
    font-size: 14px;
    line-height: 1.45;
}

.vnp-footer-ux-menu .ux-menu-link::before {
    content: "\00BB";
    position: absolute;
    top: -1px;
    left: 0;
    color: #b91c1c;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

.vnp-footer-ux-menu .ux-menu-link__link {
    min-height: auto;
    padding: 0;
    border: 0;
    color: inherit;
}

.vnp-footer-ux-menu .ux-menu-link__text {
    line-height: 1.45;
}

.vnp-footer-bottom {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(0,0,0,.08);
    color: #444;
    font-size: 13px;
}

@media (max-width: 849px) {
    .vnp-footer-slogan-main {
        font-size: 16px;
    }

    .vnp-footer-ux-menu {
        margin-top: 24px;
    }
}
/* End VNP footer builder styles */

/* Hide Flatsome default absolute footer; VNP footer is built with UX Block ID 1287. */
.footer-wrapper .absolute-footer,
.absolute-footer {
    display: none !important;
}

/* VNP archive and single styles */
.vnp-shell {
    width: min(1296px, calc(100% - 96px));
    margin: 0 auto;
}

.vnp-shell-wide {
    width: min(1062px, calc(100% - 160px));
    margin: 0 auto;
}

.vnp-shell-content {
    width: min(1062px, calc(100% - 160px));
    margin: 0 auto;
}

.vnp-breadcrumb-wrap {
    background: #fff;
    border-bottom: 1px solid #f4eeee;
    color: #777;
    font-size: 13px;
}

.vnp-breadcrumb-wrap .vnp-shell {
    min-height: 48px;
    display: flex;
    align-items: center;
}

.vnp-breadcrumb-wrap a {
    color: #666;
}

.vnp-breadcrumb-wrap a:hover {
    color: #b91c1c;
}

.vnp-archive-hero {
    position: relative;
    min-height: 250px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #fff9f9 0%, #fff2f2 100%);
    overflow: hidden;
}

.vnp-archive-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 78% 28%, rgba(11,79,138,.12), transparent 28%);
    pointer-events: none;
}

.vnp-archive-hero .vnp-shell {
    position: relative;
    z-index: 1;
}

.vnp-archive-hero h1 {
    max-width: 720px;
    margin: 0;
    color: #2f2525;
    font-size: 54px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.vnp-archive-hero p {
    max-width: 560px;
    margin: 14px 0 0;
    color: #7d7272;
    font-size: 16px;
    line-height: 1.55;
}

.vnp-archive-content {
    padding: 104px 0 72px;
    background: #fff;
}

.vnp-featured-news {
    display: grid;
    grid-template-columns: minmax(0, 1.32fr) minmax(360px, 1fr);
    gap: 40px;
    margin-bottom: 118px;
}

.vnp-card {
    background: #fff;
}

.vnp-card a {
    color: inherit;
    text-decoration: none;
}

.vnp-card-image {
    display: block;
    overflow: hidden;
    background: #f7eeee;
    border-radius: 22px;
}

.vnp-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.vnp-card:hover .vnp-card-image img {
    transform: scale(1.035);
}

.vnp-card-placeholder {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #b91c1c, #7f1d1d);
    color: #fff;
    font-weight: 800;
}

.vnp-card-cat {
    margin-bottom: 8px;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 700;
}

.vnp-card-title {
    margin: 0;
    color: #2c2424;
    font-weight: 800;
    letter-spacing: -.015em;
}

.vnp-card-title a:hover {
    color: #b91c1c;
}

.vnp-card-excerpt {
    margin: 12px 0 0;
    color: #786c6c;
    font-size: 15px;
    line-height: 1.65;
}

.vnp-card-meta {
    margin-top: 14px;
    color: #8d8383;
    font-size: 13px;
}

.vnp-card-large .vnp-card-image {
    aspect-ratio: 1.62 / 1;
}

.vnp-card-large .vnp-card-body {
    padding-top: 26px;
}

.vnp-card-large .vnp-card-title {
    font-size: 34px;
    line-height: 1.2;
}

.vnp-featured-side {
    display: grid;
    gap: 22px;
}

.vnp-card-mini {
    display: grid;
    grid-template-columns: 174px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.vnp-card-mini .vnp-card-image {
    aspect-ratio: 1.38 / 1;
    border-radius: 16px;
}

.vnp-card-mini .vnp-card-title {
    font-size: 19px;
    line-height: 1.32;
}

.vnp-card-mini .vnp-card-meta {
    margin-top: 10px;
}

.vnp-archive-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 0 0 42px;
}

.vnp-archive-tab {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid #e3dada;
    border-radius: 999px;
    background: #fff;
    color: #6b7280;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: .2s ease;
}

.vnp-archive-tab:hover,
.vnp-archive-tab.is-active {
    border-color: #b91c1c;
    color: #b91c1c;
    box-shadow: 0 6px 16px rgba(11,79,138,.08);
}

.vnp-post-grid,
.vnp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.vnp-card-grid .vnp-card-image {
    aspect-ratio: 1.34 / 1;
    border-radius: 18px;
}

.vnp-card-grid .vnp-card-body {
    padding-top: 18px;
}

.vnp-card-grid .vnp-card-title {
    font-size: 19px;
    line-height: 1.32;
}

.vnp-card-grid .vnp-card-excerpt {
    font-size: 14px;
}

.vnp-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}

.vnp-pagination .page-numbers {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9e1e1;
    border-radius: 999px;
    color: #4b5563;
    font-weight: 700;
}

.vnp-pagination .page-numbers.current,
.vnp-pagination .page-numbers:hover {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #fff;
}

.vnp-empty-state {
    padding: 48px;
    border-radius: 20px;
    background: #fff8f8;
    color: #766b6b;
    text-align: center;
}

.vnp-single-page {
    background: #fff;
}

.vnp-single-header {
    max-width: 860px;
    padding: 76px 0 28px;
    text-align: center;
}

.vnp-single-cat {
    margin-bottom: 8px;
    color: #b91c1c;
    font-size: 15px;
    font-weight: 800;
}

.vnp-single-header h1 {
    margin: 0;
    color: #111827;
    font-size: 54px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.vnp-single-meta {
    display: flex;
    gap: 26px;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    color: #898080;
    font-size: 14px;
}

.vnp-single-share {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.vnp-single-share a {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff5f5;
    color: #b91c1c;
}

.vnp-single-share a:hover {
    background: #b91c1c;
    color: #fff;
}

.vnp-single-featured {
    margin-top: 22px;
    margin-bottom: 34px;
}

.vnp-single-featured img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: cover;
    border-radius: 24px;
}

.vnp-single-content {
    color: #403535;
    font-size: 17px;
    line-height: 1.78;
}

.vnp-single-content > *:first-child {
    margin-top: 0;
}

.vnp-single-content p,
.vnp-single-content ul,
.vnp-single-content ol {
    margin-bottom: 1.2em;
}

.vnp-single-content h2,
.vnp-single-content h3,
.vnp-single-content h4 {
    margin-top: 1.7em;
    margin-bottom: .7em;
    color: #111827;
    font-weight: 800;
    line-height: 1.25;
}

.vnp-single-content h2 {
    font-size: 30px;
}

.vnp-single-content h3 {
    font-size: 24px;
}

.vnp-single-content img {
    height: auto;
    border-radius: 18px;
}

.vnp-single-content blockquote {
    margin: 28px 0;
    padding: 22px 26px;
    border-left: 4px solid #b91c1c;
    border-radius: 0 16px 16px 0;
    background: #fff7f7;
    color: #4a4141;
}

.vnp-related-posts {
    padding: 96px 0 72px;
}

.vnp-related-posts h2 {
    margin: 0 0 36px;
    color: #111827;
    font-size: 36px;
    font-weight: 850;
    line-height: 1.25;
}

@media (max-width: 1024px) {
    .vnp-shell,
    .vnp-shell-wide,
    .vnp-shell-content {
        width: calc(100% - 48px);
    }

    .vnp-featured-news {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 70px;
    }

    .vnp-featured-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vnp-card-mini {
        grid-template-columns: 132px minmax(0, 1fr);
    }

    .vnp-post-grid,
    .vnp-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 849px) {
    .vnp-shell,
    .vnp-shell-wide,
    .vnp-shell-content {
        width: calc(100% - 32px);
    }

    .vnp-breadcrumb-wrap .vnp-shell {
        min-height: 32px;
        overflow-x: auto;
        white-space: nowrap;
    }

    .vnp-archive-hero {
        min-height: 244px;
    }

    .vnp-archive-hero h1 {
        font-size: 34px;
    }

    .vnp-archive-hero p {
        font-size: 14px;
    }

    .vnp-archive-content {
        padding: 64px 0 48px;
    }

    .vnp-card-large .vnp-card-title {
        font-size: 25px;
    }

    .vnp-featured-side {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vnp-card-mini {
        grid-template-columns: 122px minmax(0, 1fr);
        gap: 14px;
    }

    .vnp-card-mini .vnp-card-title {
        font-size: 16px;
    }

    .vnp-card-cat,
    .vnp-card-meta {
        font-size: 12px;
    }

    .vnp-archive-tabs {
        justify-content: flex-start;
        gap: 8px;
        margin-bottom: 28px;
    }

    .vnp-archive-tab {
        min-height: 35px;
        padding: 0 18px;
        font-size: 14px;
    }

    .vnp-post-grid,
    .vnp-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .vnp-card-grid .vnp-card-image {
        border-radius: 14px;
    }

    .vnp-card-grid .vnp-card-title {
        font-size: 15px;
    }

    .vnp-card-grid .vnp-card-excerpt {
        display: none;
    }

    .vnp-single-header {
        padding: 48px 0 24px;
        text-align: left;
    }

    .vnp-single-header h1 {
        font-size: 32px;
    }

    .vnp-single-meta {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 14px;
    }

    .vnp-single-content {
        font-size: 16px;
        line-height: 1.72;
    }

    .vnp-single-content h2 {
        font-size: 24px;
    }

    .vnp-single-content h3 {
        font-size: 20px;
    }

    .vnp-related-posts {
        padding: 64px 0 48px;
    }

    .vnp-related-posts h2 {
        font-size: 28px;
        margin-bottom: 24px;
    }
}

@media (max-width: 480px) {
    .vnp-card-mini {
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .vnp-post-grid,
    .vnp-related-grid {
        gap: 14px;
    }
}

.vnp-post-grid > .vnp-card-grid,
.vnp-related-grid > .vnp-card-grid {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

.vnp-post-grid > .vnp-card-grid .vnp-card-image,
.vnp-related-grid > .vnp-card-grid .vnp-card-image {
    width: 100%;
}

@media (min-width: 1200px) {
    .vnp-archive-page .vnp-shell,
    .vnp-single-page .vnp-shell {
        max-width: 1220px;
        width: 1220px;
    }

    .vnp-archive-page .vnp-shell-wide,
    .vnp-archive-page .vnp-shell-content,
    .vnp-single-page .vnp-shell-wide,
    .vnp-single-page .vnp-shell-content {
        max-width: 1062px;
        width: 1062px;
    }

    .vnp-single-page .vnp-single-header {
        max-width: 860px;
        width: 860px;
    }
}
/* End VNP archive and single styles */

/* VNP WooCommerce product archive and single styles */
body.woocommerce-shop,
body.tax-product_cat,
body.single-product {
    background: #fff;
}

body.woocommerce-shop .shop-container,
body.tax-product_cat .shop-container,
body.single-product .product-main,
body.single-product .product-footer {
    --vnp-blue: #b91c1c;
    --vnp-blue-dark: #7f1d1d;
    --vnp-orange: #d96b2b;
    --vnp-border: #eee3e3;
    --vnp-soft: #fff7f7;
    --vnp-text: #2c2424;
}

body.woocommerce-shop .shop-page-title,
body.tax-product_cat .shop-page-title,
body.single-product .woocommerce-breadcrumb {
    color: #6b7280;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
}

body.woocommerce-shop .shop-page-title .page-title-inner,
body.tax-product_cat .shop-page-title .page-title-inner {
    min-height: 68px;
}

body.woocommerce-shop .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.single-product .woocommerce-breadcrumb a {
    color: #667085;
    font-weight: 500;
}

body.woocommerce-shop .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.single-product .woocommerce-breadcrumb a:hover {
    color: #b91c1c;
}

body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff1f1;
    color: #574747;
    font-size: 13px;
    font-weight: 600;
}

body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select {
    min-height: 40px;
    border: 1px solid #e8dddd;
    border-radius: 999px;
    background-color: #fff;
    color: #3f3333;
    font-size: 14px;
    box-shadow: 0 8px 22px rgba(15,37,64,.05);
}

body.woocommerce-shop #shop-sidebar,
body.tax-product_cat #shop-sidebar {
    padding-right: 30px;
}

body.woocommerce-shop #shop-sidebar .widget,
body.tax-product_cat #shop-sidebar .widget {
    padding: 26px 24px;
    border: 1px solid var(--vnp-border);
    border-radius: 22px;
    background: linear-gradient(180deg, #fff 0%, #fffafa 100%);
    box-shadow: 0 14px 38px rgba(15,37,64,.07);
}

body.woocommerce-shop #shop-sidebar .widget-title,
body.tax-product_cat #shop-sidebar .widget-title {
    display: block;
    margin: 0;
    color: #2c2424;
    font-size: 17px;
    font-weight: 850;
    letter-spacing: .02em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.woocommerce-shop #shop-sidebar .is-divider,
body.tax-product_cat #shop-sidebar .is-divider {
    width: 44px;
    height: 3px;
    margin: 14px 0 16px;
    background: #b91c1c;
    opacity: 1;
}

body.woocommerce-shop #shop-sidebar .product-categories,
body.tax-product_cat #shop-sidebar .product-categories {
    margin: 0;
    padding: 0;
}

body.woocommerce-shop #shop-sidebar .product-categories li,
body.tax-product_cat #shop-sidebar .product-categories li {
    position: relative;
    margin: 0;
    border: 0;
    list-style: none;
}

body.woocommerce-shop #shop-sidebar .product-categories > li + li,
body.tax-product_cat #shop-sidebar .product-categories > li + li {
    border-top: 1px solid #ece2e2;
}

body.woocommerce-shop #shop-sidebar .product-categories a,
body.tax-product_cat #shop-sidebar .product-categories a {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: space-between;
    padding: 9px 0;
    color: #b91c1c;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
}

body.woocommerce-shop #shop-sidebar .product-categories a:hover,
body.tax-product_cat #shop-sidebar .product-categories a:hover,
body.woocommerce-shop #shop-sidebar .product-categories .current-cat > a,
body.tax-product_cat #shop-sidebar .product-categories .current-cat > a,
body.woocommerce-shop #shop-sidebar .product-categories .current-cat-parent > a,
body.tax-product_cat #shop-sidebar .product-categories .current-cat-parent > a {
    color: #d96b2b;
}

body.woocommerce-shop #shop-sidebar .children,
body.tax-product_cat #shop-sidebar .children {
    margin: 0 0 12px;
    padding: 4px 0 6px 14px;
    border-left: 2px solid #eee3e3;
}

body.woocommerce-shop #shop-sidebar .children a,
body.tax-product_cat #shop-sidebar .children a {
    min-height: 34px;
    padding: 6px 0;
    color: #665757;
    font-size: 14px;
    font-weight: 500;
}

body.woocommerce-shop #shop-sidebar .cat-parent > a::after,
body.tax-product_cat #shop-sidebar .cat-parent > a::after {
    content: "\2304";
    color: #908585;
    font-size: 16px;
    line-height: 1;
}

body.woocommerce-shop .products.row,
body.tax-product_cat .products.row {
    align-items: stretch;
}

body.woocommerce-shop .product-small,
body.tax-product_cat .product-small {
    padding-bottom: 26px;
}

body.woocommerce-shop .product-small .col-inner,
body.tax-product_cat .product-small .col-inner,
body.single-product .related .product-small .col-inner {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--vnp-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15,37,64,.06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.woocommerce-shop .product-small .col-inner:hover,
body.tax-product_cat .product-small .col-inner:hover,
body.single-product .related .product-small .col-inner:hover {
    transform: translateY(-4px);
    border-color: rgba(11,79,138,.28);
    box-shadow: 0 18px 44px rgba(15,37,64,.12);
}



body.woocommerce-shop .product-small .box-image img,
body.tax-product_cat .product-small .box-image img,
body.single-product .related .product-small .box-image img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: 18px;
}

body.woocommerce-shop .product-small .box-text,
body.tax-product_cat .product-small .box-text,
body.single-product .related .product-small .box-text {
    padding: 16px 18px 18px;
}

body.woocommerce-shop .product-small .category,
body.tax-product_cat .product-small .category,
body.single-product .related .product-small .category {
    color: #b91c1c;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .02em;
    opacity: 1;
    text-transform: uppercase;
}

body.woocommerce-shop .product-small .name,
body.tax-product_cat .product-small .name,
body.single-product .related .product-small .name {
    margin-top: 7px;
    color: #2c2424;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.42;
}

body.woocommerce-shop .product-small .name a:hover,
body.tax-product_cat .product-small .name a:hover,
body.single-product .related .product-small .name a:hover {
    color: #b91c1c;
}

body.woocommerce-shop .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination {
    margin-top: 12px;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li > span,
body.woocommerce-shop .woocommerce-pagination .page-numbers li > a,
body.tax-product_cat .woocommerce-pagination .page-numbers li > span,
body.tax-product_cat .woocommerce-pagination .page-numbers li > a {
    border-radius: 999px;
    border: 1px solid #ece2e2;
    color: #4b5563;
    font-weight: 700;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li > .current,
body.woocommerce-shop .woocommerce-pagination .page-numbers li > a:hover,
body.tax-product_cat .woocommerce-pagination .page-numbers li > .current,
body.tax-product_cat .woocommerce-pagination .page-numbers li > a:hover {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #fff;
}

body.single-product .product-main {
    padding: 40px 0 44px;
    background: linear-gradient(180deg, #fff 0%, #fffafa 100%);
}

body.single-product .product-main .content-row {
    align-items: flex-start;
}

body.single-product .product-gallery {
    padding-right: 28px;
}

body.single-product .product-gallery .product-images {
    overflow: hidden;
    border: 1px solid var(--vnp-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15,37,64,.08);
}

body.single-product .product-gallery .woocommerce-product-gallery__image img {
    object-fit: contain;
    padding: 28px;
    background: linear-gradient(180deg, #fff 0%, #fff8f8 100%);
}

body.single-product .product-summary {
    padding: 28px 32px;
    border: 1px solid var(--vnp-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15,37,64,.08);
}

body.single-product .product-summary .woocommerce-breadcrumb {
    margin-bottom: 14px;
}

body.single-product .product-title {
    margin: 0;
    color: #2f2525;
    font-size: 32px;
    font-weight: 850;
    line-height: 1.22;
    letter-spacing: -.02em;
}

body.single-product .product-summary .is-divider {
    width: 58px;
    height: 3px;
    margin: 18px 0 20px;
    background: #b91c1c;
    opacity: 1;
}

body.single-product .product-short-description {
    margin: 18px 0 22px;
    padding: 18px 20px;
    border-left: 4px solid #b91c1c;
    border-radius: 0 16px 16px 0;
    background: #fff1f1;
    color: #514141;
    font-size: 15px;
    line-height: 1.7;
}

body.single-product .product-short-description p:last-child {
    margin-bottom: 0;
}

body.single-product .product_meta {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eee3e3;
    color: #667085;
    font-size: 14px;
}

body.single-product .product_meta > span {
    display: block;
}

body.single-product .product_meta a {
    color: #b91c1c;
    font-weight: 650;
}

body.single-product .product_meta a:hover {
    color: #d96b2b;
}

body.single-product .product-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    border: 0;
}

body.single-product .product-tabs > li > a {
    min-height: 42px;
    padding: 0 22px;
    border: 1px solid #e8dddd;
    border-radius: 999px;
    color: #667085;
    font-size: 14px;
    font-weight: 800;
    line-height: 42px;
}

body.single-product .product-tabs > li.active > a,
body.single-product .product-tabs > li > a:hover {
    border-color: #b91c1c;
    color: #b91c1c;
}

body.single-product .woocommerce-tabs {
    padding: 36px 0 0;
}

body.single-product .woocommerce-tabs .tab-panels {
    padding: 34px 38px;
    border: 1px solid var(--vnp-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15,37,64,.06);
}

body.single-product .woocommerce-Tabs-panel {
    color: #403535;
    font-size: 16px;
    line-height: 1.75;
}

body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3 {
    margin-top: 1.4em;
    margin-bottom: .65em;
    color: #2f2525;
    font-weight: 850;
    line-height: 1.25;
}

body.single-product .woocommerce-Tabs-panel h2:first-child,
body.single-product .woocommerce-Tabs-panel h3:first-child {
    margin-top: 0;
}

body.single-product .woocommerce-Tabs-panel ul {
    margin-left: 0;
    padding-left: 0;
}

body.single-product .woocommerce-Tabs-panel li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 24px;
    list-style: none;
}

body.single-product .woocommerce-Tabs-panel li::before {
    content: "";
    position: absolute;
    top: .72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #b91c1c;
}

body.single-product .related,
body.single-product .upsells {
    padding-top: 48px;
}

body.single-product .related > h3,
body.single-product .related > h2,
body.single-product .upsells > h3,
body.single-product .upsells > h2 {
    margin-bottom: 26px;
    color: #2f2525;
    font-size: 30px;
    font-weight: 850;
    line-height: 1.25;
}

@media (max-width: 849px) {
    body.woocommerce-shop #shop-sidebar,
    body.tax-product_cat #shop-sidebar {
        padding-right: 15px;
        padding-left: 15px;
        margin-bottom: 26px;
    }

    body.woocommerce-shop #shop-sidebar .widget,
    body.tax-product_cat #shop-sidebar .widget {
        padding: 20px 18px;
        border-radius: 18px;
    }

    body.woocommerce-shop .woocommerce-result-count,
    body.tax-product_cat .woocommerce-result-count {
        margin-bottom: 10px;
    }

    body.single-product .product-gallery {
        padding-right: 15px;
    }

    body.single-product .product-summary {
        margin-top: 20px;
        padding: 22px 20px;
        border-radius: 20px;
    }

    body.single-product .product-title {
        font-size: 25px;
    }

    body.single-product .woocommerce-tabs .tab-panels {
        padding: 24px 20px;
        border-radius: 20px;
    }

    body.single-product .product-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    body.single-product .product-tabs > li {
        flex: 0 0 auto;
    }
}

body.woocommerce-shop .product-small .box-image,
body.tax-product_cat .product-small .box-image,
body.single-product .related .product-small .box-image {
    background: #fff;
}

body.woocommerce-shop #shop-sidebar .product-categories .toggle,
body.tax-product_cat #shop-sidebar .product-categories .toggle {
    display: none !important;
}

body.woocommerce-shop #shop-sidebar .cat-parent > a,
body.tax-product_cat #shop-sidebar .cat-parent > a {
    padding-right: 22px;
}

body.woocommerce-shop #shop-sidebar .cat-parent > a::after,
body.tax-product_cat #shop-sidebar .cat-parent > a::after {
    position: absolute;
    right: 0;
}

body.single-product .product-tabs::before,
body.single-product .product-tabs::after,
body.single-product .woocommerce-tabs::before,
body.single-product .woocommerce-tabs::after,
body.single-product .product-footer .container::before,
body.single-product .product-footer .container::after {
    display: none !important;
    content: none !important;
}

body.single-product .product-tabs,
body.single-product .product-tabs > li,
body.single-product .product-tabs > li > a,
body.single-product .woocommerce-tabs,
body.single-product .tabbed-content,
body.single-product .tab-panels {
    border-top: 0 !important;
}

body.woocommerce-shop #shop-sidebar .product-categories .cat-parent::after,
body.woocommerce-shop #shop-sidebar .product-categories .cat-parent > .toggle,
body.woocommerce-shop #shop-sidebar .product-categories .cat-parent > i,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent::after,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent > .toggle,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent > i {
    display: none !important;
    content: none !important;
}

body.woocommerce-shop #shop-sidebar .cat-parent > a::after,
body.tax-product_cat #shop-sidebar .cat-parent > a::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-shop #shop-sidebar .cat-parent > a,
body.tax-product_cat #shop-sidebar .cat-parent > a {
    padding-right: 0 !important;
}

body.woocommerce-shop #shop-sidebar .cat-parent .toggle,
body.woocommerce-shop #shop-sidebar .cat-parent .toggle i,
body.woocommerce-shop #shop-sidebar .cat-parent .toggle::before,
body.woocommerce-shop #shop-sidebar .cat-parent .toggle::after,
body.tax-product_cat #shop-sidebar .cat-parent .toggle,
body.tax-product_cat #shop-sidebar .cat-parent .toggle i,
body.tax-product_cat #shop-sidebar .cat-parent .toggle::before,
body.tax-product_cat #shop-sidebar .cat-parent .toggle::after {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    content: none !important;
}

body.woocommerce-shop #shop-sidebar .product-categories .cat-parent,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent {
    font-size: 0 !important;
}

body.woocommerce-shop #shop-sidebar .product-categories .cat-parent > a,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent > a {
    font-size: 15px !important;
}

body.woocommerce-shop #shop-sidebar .product-categories .cat-parent .children,
body.tax-product_cat #shop-sidebar .product-categories .cat-parent .children {
    font-size: 14px !important;
}
/* End VNP WooCommerce product archive and single styles */

/* VNP policy page styles */
.vnp-policy-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #eee3e3;
}

.vnp-policy-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 78% 20%, rgba(11,79,138,.12), transparent 26%);
    pointer-events: none;
}

.vnp-policy-hero .section-content {
    position: relative;
    z-index: 1;
}

.vnp-policy-kicker {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 7px 13px;
    border: 1px solid rgba(11,79,138,.2);
    border-radius: 999px;
    background: #fff;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.vnp-policy-title {
    max-width: 780px;
    margin: 0;
    color: #2f2525;
    font-size: 46px;
    font-weight: 850;
    line-height: 1.14;
    letter-spacing: -.02em;
}

.vnp-policy-lead {
    max-width: 760px;
    margin: 16px 0 0;
    color: #776b6b;
    font-size: 16px;
    line-height: 1.75;
}

.vnp-policy-page {
    background: #fff;
}

.vnp-policy-card {
    border: 1px solid #eee3e3;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15,37,64,.07);
}

.vnp-policy-main {
    padding: 34px 38px;
    color: #403535;
    font-size: 16px;
    line-height: 1.76;
}

.vnp-policy-main h2 {
    margin: 0 0 12px;
    color: #2f2525;
    font-size: 24px;
    font-weight: 850;
    line-height: 1.28;
}

.vnp-policy-main h2:not(:first-child) {
    margin-top: 34px;
}

.vnp-policy-main p,
.vnp-policy-main ul {
    margin-bottom: 16px;
}

.vnp-policy-main ul {
    margin-left: 0;
    padding-left: 0;
}

.vnp-policy-main li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 25px;
    list-style: none;
}

.vnp-policy-main li::before {
    content: "";
    position: absolute;
    top: .72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #b91c1c;
}

.vnp-policy-contact {
    position: sticky;
    top: 110px;
    padding: 28px 26px;
    background: linear-gradient(180deg, #fff 0%, #fffafa 100%);
}

.vnp-policy-contact h2 {
    margin: 0 0 14px;
    color: #2f2525;
    font-size: 22px;
    font-weight: 850;
}

.vnp-policy-contact p {
    color: #514141;
    line-height: 1.65;
}

.vnp-policy-contact ul {
    margin: 18px 0;
    padding: 0;
}

.vnp-policy-contact li {
    display: grid;
    gap: 4px;
    padding: 13px 0;
    border-top: 1px solid #ece2e2;
    color: #403535;
    list-style: none;
    line-height: 1.5;
}

.vnp-policy-contact li span {
    color: #b91c1c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.vnp-policy-contact a {
    color: #2f2525;
    font-weight: 750;
}

.vnp-policy-contact a:hover {
    color: #b91c1c;
}

.vnp-policy-note {
    margin: 18px 0 0;
    padding: 16px 18px;
    border-left: 4px solid #b91c1c;
    border-radius: 0 14px 14px 0;
    background: #fff1f1;
    font-size: 14px;
}

@media (max-width: 849px) {
    .vnp-policy-title {
        font-size: 32px;
    }

    .vnp-policy-lead {
        font-size: 15px;
    }

    .vnp-policy-main,
    .vnp-policy-contact {
        padding: 24px 20px;
        border-radius: 20px;
    }

    .vnp-policy-main h2 {
        font-size: 21px;
    }

    .vnp-policy-contact {
        position: static;
    }
}
/* End VNP policy page styles */

/* VNP WooCommerce final tab/widget fixes */
body.single-product .woocommerce-tabs,
body.single-product .woocommerce-tabs::before,
body.single-product .woocommerce-tabs::after,
body.single-product .woocommerce-tabs .nav-line,
body.single-product .woocommerce-tabs .product-tabs,
body.single-product .woocommerce-tabs .product-tabs::before,
body.single-product .woocommerce-tabs .product-tabs::after,
body.single-product .woocommerce-tabs .tabs,
body.single-product .woocommerce-tabs .tabs::before,
body.single-product .woocommerce-tabs .tabs::after,
body.single-product .woocommerce-tabs .nav,
body.single-product .woocommerce-tabs .nav::before,
body.single-product .woocommerce-tabs .nav::after {
    border-top: 0 !important;
    box-shadow: none !important;
}

body.single-product .woocommerce-tabs .product-tabs > li,
body.single-product .woocommerce-tabs .tabs > li {
    border-top: 0 !important;
}



/* ==========================================================================
   Mobile sticky call/Zalo bar (vnp-mobile-cta-bar)
   ========================================================================== */
.vnp-mobile-cta-bar {
    display: none;
}

@media (max-width: 768px) {
    body.has-vnp-cta-bar {
        padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    }

    .vnp-mobile-cta-bar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;
        height: 58px;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        box-shadow: 0 -2px 10px rgba(16, 35, 59, 0.18);
    }

    .vnp-mobile-cta-bar__btn {
        flex: 1 1 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        height: 58px;
        color: #fff !important;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none !important;
        letter-spacing: 0.2px;
    }

    .vnp-mobile-cta-bar__btn i {
        font-size: 20px;
        line-height: 1;
    }

    .vnp-mobile-cta-bar__btn--call {
        background: #b91c1c;
        background: linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%);
    }

    .vnp-mobile-cta-bar__btn--zalo {
        background: #d96b2b;
        background: linear-gradient(180deg, #d96b2b 0%, #b8571f 100%);
    }

    .vnp-mobile-cta-bar__divider {
        width: 1px;
        background: rgba(255, 255, 255, 0.35);
        flex: 0 0 1px;
    }
}

/* Final palette overrides - keep this block last. */
:root {
    --primary-color: #b91c1c;
    --fs-color-primary: #b91c1c;
    --fs-color-secondary: #b91c1c;
    --fs-color-success: #627d47;
    --fs-color-alert: #d60000;
    --fs-color-base: #4a4a4a;
    --fs-experimental-link-color: #9f1717;
    --fs-experimental-link-color-hover: #7f1d1d;
}

.vnp-hero { background: linear-gradient(135deg, #681313 0%, #b91c1c 58%, #dc2626 100%); }
.vnp-cta, .vnp-contact-strip { background: #7f1d1d; }
.vnp-title h2, .vnp-feature-card i, .vnp-product-catalogue .header-title,
.vnp-solution-body h3, .vnp-project-card h3 { color: #b91c1c; }
.vnp-about-card, .vnp-faq-note { border-left-color: #b91c1c; }
.vnp-title small, .vnp-icon-row i, .vnp-contact-item i, .vnp-share-item i { color: #b91c1c; }
.vnp-btn-primary { background: #b91c1c; color: #fff; }
.vnp-product-band { background: #fff7f7; }
.vnp-faq-note { background: #fff1f1; }
.vnp-btn-light, .vnp-news-body span { color: #b91c1c; }
.vnp-home .secondary, .vnp-home .button.secondary { background: #b91c1c; }
.vnp-site-footer a:hover { color: #b91c1c; }
.vnp-mobile-cta-bar__btn--call {
    background: linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%);
}
.vnp-mobile-cta-bar__btn--zalo {
    background: linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%);
}

.vnp-activity-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 24px 0 32px;
}

.vnp-activity-gallery figure {
    margin: 0;
}

.vnp-activity-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.vnp-activity-gallery figcaption {
    padding: 10px 2px 0;
    color: #665757;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 549px) {
    .vnp-activity-gallery {
        grid-template-columns: 1fr;
    }
}




/* Homepage hero polish: compact facts and clearer action hierarchy. */
.vnp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.vnp-hero-actions .vnp-btn{min-height:42px;margin:0;border:1px solid transparent;box-shadow:0 7px 18px rgba(50,9,9,.18)}
.vnp-hero-actions .vnp-btn-call{background:#fff;color:#8f1717}
.vnp-hero-actions .vnp-btn-zalo{background:#f59e0b;color:#231b12}
.vnp-hero-actions .vnp-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(50,9,9,.24)}
.vnp-stat-grid{gap:10px;margin-top:18px}
.vnp-stat{min-width:0;padding:11px 12px}
.vnp-stat:nth-child(1){background:rgba(255,255,255,.16)}
.vnp-stat:nth-child(2){background:rgba(35,27,27,.42);border-color:rgba(255,255,255,.2)}
.vnp-stat:nth-child(3){background:rgba(245,158,11,.2);border-color:rgba(255,209,102,.48)}
.vnp-stat strong{font-size:21px}
.vnp-stat span{display:block;margin-top:5px;color:rgba(255,255,255,.88);font-size:12px;line-height:1.25}

@media(max-width:768px){
.header-main .header-inner{min-height:58px;gap:6px}
.header-main .logo{margin:0 6px}
.header-main .logo img{width:auto;max-width:124px;max-height:48px;object-fit:contain}
.vnp-hero{padding-top:24px!important;padding-bottom:32px!important}
.vnp-hero .row{margin-bottom:0}
.vnp-hero-kicker{padding:5px 8px;font-size:10px;line-height:1.25}
.vnp-hero h1{margin:12px 0 9px;font-size:24px;line-height:1.12}
.vnp-hero p{font-size:13px;line-height:1.55}
.vnp-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}
.vnp-hero-actions .vnp-btn{min-height:38px;padding:0 9px;font-size:11px;white-space:nowrap}
.vnp-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.vnp-stat{min-height:62px;padding:8px 7px;border-radius:5px}
.vnp-stat strong{font-size:17px}
.vnp-stat span{margin-top:4px;font-size:9px;line-height:1.2}
.vnp-mobile-cta-bar{background:#fff;border-top:1px solid rgba(17,24,39,.12);box-shadow:0 -5px 18px rgba(17,24,39,.16)}
.vnp-mobile-cta-bar__btn--call{background:linear-gradient(180deg,#343434 0%,#171717 100%)}
.vnp-mobile-cta-bar__btn--zalo{background:linear-gradient(180deg,#f59e0b 0%,#c97505 100%);color:#21180c!important}
.vnp-mobile-cta-bar__divider{background:#fff}
}
