/* ===== TỔNG KHO NGÓI — MAIN STYLESHEET ===== */
/* Version: 1.0.0 */

/* ---- CSS VARIABLES ---- */
:root {
    --clay: #C13219;
    --clay-2: #E54530;
    --terracotta: #8B1F10;
    --dark: #182027;
    --muted: #667085;
    --cream: #FFF6EC;
    --sand: #F5E3D2;
    --line: #E9D7C7;
    --green: #2F8F64;
    --gold: #D69B36;
    --white: #fff;
    --shadow: 0 22px 70px rgba(67,38,20,.12);
    --radius: 26px;
    --font: 'Be Vietnam Pro', sans-serif;
    --transition: .25s ease;
}

/* ---- RESET & BASE ---- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: var(--font);
    color: var(--dark);
    background: #fff;
    line-height: 1.6;
    font-size: 16px;
    overflow-x: hidden;
}
a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}
img {
    max-width: 100%;
    display: block;
    height: auto;
}
ul, ol {
    list-style: none;
}
button, input, select, textarea {
    font-family: inherit;
}

/* ---- LAYOUT ---- */
.container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}
.section-pad {
    padding: 72px 0;
}
.section-pad-sm {
    padding: 48px 0;
}

/* ---- TYPOGRAPHY ---- */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    font-weight: 800;
    color: var(--dark);
}
h1 { font-size: clamp(32px, 5vw, 56px); letter-spacing: -1.5px; }
h2 { font-size: clamp(26px, 3.5vw, 38px); letter-spacing: -0.8px; }
h3 { font-size: clamp(20px, 2.5vw, 24px); }
p { margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }

/* ---- BUTTONS ---- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    padding: 13px 24px;
    font-family: var(--font);
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
    line-height: 1.3;
}
.btn-primary {
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    color: #fff;
    box-shadow: 0 14px 34px rgba(193,50,25,.28);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(193,50,25,.36);
    color: #fff;
}
.btn-light {
    background: #fff;
    color: var(--clay);
    border: 1.5px solid #f0d4bf;
}
.btn-light:hover {
    background: var(--cream);
    border-color: var(--clay);
}
.btn-outline {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,.4);
}
.btn-outline:hover {
    background: rgba(255,255,255,.1);
}
.btn-sm {
    padding: 9px 18px;
    font-size: 13px;
}
.btn-lg {
    padding: 16px 32px;
    font-size: 16px;
}

/* ---- SECTION HEADER ---- */
.section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}
.section-head .left h2 {
    margin-bottom: 8px;
}
.section-head .left p {
    color: var(--muted);
    max-width: 580px;
    margin: 0;
    font-size: 15px;
}
.link-more {
    font-weight: 900;
    color: var(--clay);
    white-space: nowrap;
    font-size: 14px;
}
.link-more:hover {
    color: var(--terracotta);
}
.eyebrow {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    background: #fff;
    border: 1px solid #f0d6c2;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 800;
    color: var(--clay);
    box-shadow: 0 8px 28px rgba(67,38,20,.07);
    margin-bottom: 16px;
}

/* ---- TOPBAR ---- */
.topbar {
    background: #241812;
    color: #fff;
    font-size: 13px;
}
.topbar .inner {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.topbar span {
    opacity: .85;
}
.topbar b {
    color: #FFB36B;
}
.topbar a {
    color: #FFB36B;
}

/* ---- HEADER ---- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid #f0e0d2;
    transition: box-shadow var(--transition);
}
.site-header.scrolled {
    box-shadow: 0 4px 28px rgba(67,38,20,.1);
}
.header-inner {
    height: 78px;
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
}

/* Logo */
.site-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 900;
    font-size: 21px;
    color: var(--terracotta);
    white-space: nowrap;
    flex-shrink: 0;
    align-self: stretch;
    padding: 4px 0;
    box-sizing: border-box;
}
.logo-mark {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    display: grid;
    place-items: center;
    color: #fff;
    box-shadow: 0 10px 28px rgba(193,50,25,.3);
    flex-shrink: 0;
}
.logo-mark svg {
    width: 26px;
    height: 26px;
}
.logo-img,
.custom-logo {
    height: 100% !important;
    width: auto !important;
    max-width: none;
    display: block;
    object-fit: contain;
}
.custom-logo-link {
    display: flex;
    align-items: center;
    line-height: 0;
    height: 100%;
}
.logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.logo-text span {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
}

/* Navigation */
.main-nav {
    display: flex;
    gap: 0;
    align-items: center;
    flex: 1;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow: hidden;
    padding-left: 8px;
}
.main-nav a {
    padding: 7px 11px;
    font-size: 13.5px;
    font-weight: 700;
    color: #344054;
    border-radius: 10px;
    transition: var(--transition);
    white-space: nowrap;
}
.main-nav a:hover,
.main-nav a.current-menu-item {
    color: var(--clay);
    background: #fff0e8;
}

/* Header Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.header-search {
    width: 220px;
    height: 42px;
    border: 1.5px solid #ead7c7;
    background: #fff7ef;
    border-radius: 999px;
    padding: 0 16px;
    font-weight: 600;
    color: var(--muted);
    font-size: 13px;
    transition: var(--transition);
}
.header-search:focus {
    outline: none;
    border-color: var(--clay);
    background: #fff;
}
.hotline-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
    font-size: 14px;
    color: var(--terracotta);
    padding: 8px 16px;
    background: #fff3ec;
    border-radius: 999px;
    border: 1px solid #f0d4bf;
}
.hotline-badge svg {
    width: 16px;
    height: 16px;
    color: var(--clay);
    flex-shrink: 0;
}

/* Mobile Toggle */
.mobile-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1.5px solid #ead7c7;
    background: #fff;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: var(--transition);
}
.mobile-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--dark);
    border-radius: 2px;
    transition: var(--transition);
}
.mobile-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.mobile-toggle.active span:nth-child(2) {
    opacity: 0;
}
.mobile-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Nav */
.mobile-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(24,32,39,.5);
    z-index: 200;
    opacity: 0;
    transition: opacity var(--transition);
}
.mobile-nav.open {
    opacity: 1;
}
.mobile-nav-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(340px, 90vw);
    background: #fff;
    padding: 28px 24px;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow-y: auto;
}
.mobile-nav.open .mobile-nav-panel {
    transform: translateX(0);
}
.mobile-nav-close {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 24px;
}
.mobile-nav-close button {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1.5px solid var(--line);
    background: #fff;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 20px;
    color: var(--dark);
}
.mobile-nav ul {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 24px;
}
.mobile-nav ul li a {
    display: block;
    padding: 12px 16px;
    font-weight: 700;
    font-size: 15px;
    color: var(--dark);
    border-radius: 14px;
    transition: var(--transition);
}
.mobile-nav ul li a:hover {
    background: #fff0e8;
    color: var(--clay);
}
.mobile-nav-hotline {
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    border-radius: var(--radius);
    padding: 20px;
    color: #fff;
    margin-top: 16px;
}
.mobile-nav-hotline p {
    font-size: 13px;
    opacity: .85;
    margin-bottom: 6px;
}
.mobile-nav-hotline a {
    font-size: 22px;
    font-weight: 900;
    color: #fff;
    display: block;
}

/* ---- HERO ---- */
.hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at top left, #FFE1C7 0, #FFF8F2 38%, #fff 70%);
    padding: 66px 0 52px;
}
.hero::before {
    content: "";
    position: absolute;
    right: -160px;
    top: -160px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(229,69,48,.15), transparent 70%);
    pointer-events: none;
}
.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}
.hero-eyebrow {
    margin-bottom: 18px;
}
.hero h1 {
    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.05;
    margin-bottom: 18px;
    color: #17110d;
}
.hero h1 span {
    color: var(--clay);
}
.hero-lead {
    font-size: 17px;
    color: #5d4033;
    margin-bottom: 28px;
    max-width: 520px;
    line-height: 1.7;
}
.hero-cta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

/* Hero Stats */
.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    align-items: stretch;
}
.stat-card {
    --stat-accent: #B9331C;
    --stat-soft: #FFF3EA;
    position: relative;
    overflow: hidden;
    min-height: 142px;
    border: 1px solid rgba(234, 203, 181, .78);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,249,244,.88)),
        var(--stat-soft);
    padding: 18px 16px 17px;
    box-shadow:
        0 18px 42px rgba(67,38,20,.08),
        inset 0 1px 0 rgba(255,255,255,.85);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.stat-card:nth-child(2) {
    --stat-accent: #8A5A16;
    --stat-soft: #FFF7DE;
}
.stat-card:nth-child(3) {
    --stat-accent: #306F62;
    --stat-soft: #EFFAF5;
}
.stat-card:nth-child(4) {
    --stat-accent: #4B5565;
    --stat-soft: #F2F5F8;
}
.stat-card:nth-child(4) strong {
    font-size: clamp(25px, 2vw, 30px);
}
.stat-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 86% 10%, color-mix(in srgb, var(--stat-accent) 20%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--stat-accent) 8%, transparent), transparent 48%);
    pointer-events: none;
}
.stat-card::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, var(--stat-accent), color-mix(in srgb, var(--stat-accent) 30%, #fff));
    opacity: .78;
}
.stat-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--stat-accent) 38%, #ead7c7);
    box-shadow:
        0 24px 58px rgba(67,38,20,.13),
        inset 0 1px 0 rgba(255,255,255,.9);
}
.stat-card strong {
    position: relative;
    z-index: 1;
    display: block;
    width: min-content;
    min-width: 100%;
    font-size: clamp(26px, 2.4vw, 34px);
    line-height: 1.05;
    font-weight: 900;
    color: var(--stat-accent);
    margin-bottom: 12px;
    letter-spacing: 0;
}
.stat-card span {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 130px;
    font-size: 12.5px;
    font-weight: 800;
    color: #5f6b7a;
    line-height: 1.65;
}

/* Hero Card */
.hero-card {
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    min-height: 530px;
    background: linear-gradient(160deg, #4A2418, #BA4E27);
    box-shadow: var(--shadow);
}
.roof-pattern {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08) 25%, transparent 25%) 0 0 / 48px 48px,
        linear-gradient(225deg, rgba(255,255,255,.06) 25%, transparent 25%) 0 0 / 48px 48px;
    opacity: .5;
}
.hero-img {
    position: absolute;
    inset: 28px 28px 136px;
    border-radius: 26px;
    background: url('../images/roofing/hero-japanese-villa-roof.png') center/cover;
    box-shadow: inset 0 -80px 100px rgba(0,0,0,.22);
}
.hero-quote {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    background: rgba(255,255,255,.95);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 18px 50px rgba(35,18,9,.2);
}
.hero-quote h3 {
    font-size: 17px;
    margin-bottom: 8px;
    line-height: 1.4;
}
.hero-quote p {
    color: #695447;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 14px;
}
.chip-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.chip {
    font-size: 12px;
    font-weight: 800;
    border-radius: 999px;
    padding: 7px 12px;
    background: #fff3e8;
    color: var(--clay);
    border: 1px solid #f5d8c0;
}

/* ---- CATEGORIES ---- */
.cat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.cat-card {
    position: relative;
    min-height: 210px;
    border-radius: var(--radius);
    overflow: hidden;
    padding: 22px;
    color: #fff;
    background: #333;
    box-shadow: var(--shadow);
    display: block;
    transition: transform var(--transition);
}
.cat-card:hover {
    transform: translateY(-4px);
}
.cat-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.72));
    z-index: 1;
}
.cat-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.cat-card:hover img {
    transform: scale(1.05);
}
.cat-card .cat-content {
    position: relative;
    z-index: 2;
    margin-top: 84px;
}
.cat-card h3 {
    color: #fff;
    font-size: 19px;
    margin-bottom: 6px;
}
.cat-card p {
    font-size: 13px;
    opacity: .9;
    margin: 0;
}

/* ---- PRODUCTS ---- */
.bg-cream {
    background: #FFF8F2;
}
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* List view */
.product-grid--list {
    grid-template-columns: 1fr;
    gap: 14px;
}
.product-grid--list .product-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-radius: 20px;
}
.product-grid--list .product-thumb {
    height: 100%;
    min-height: 140px;
    border-radius: 20px 0 0 20px;
}
.product-grid--list .product-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 22px;
}
.product-grid--list .product-body h3 {
    font-size: 17px;
    margin-bottom: 8px;
}
.product-grid--list .product-body .product-meta {
    flex: 1;
}
.product-grid--list .product-body .btn {
    align-self: flex-start;
    margin-top: 12px;
}
.product-card {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(67,38,20,.08);
    transition: transform var(--transition), box-shadow var(--transition);
}
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 64px rgba(67,38,20,.14);
}
.product-thumb {
    height: 182px;
    background: #f5e8da;
    position: relative;
    overflow: hidden;
}
.product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.product-card:hover .product-thumb img {
    transform: scale(1.06);
}
.product-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #fff;
    color: var(--green);
    font-size: 11px;
    font-weight: 900;
    padding: 6px 12px;
    border-radius: 999px;
    z-index: 2;
    box-shadow: 0 4px 14px rgba(0,0,0,.1);
}
.product-badge.hot {
    color: var(--clay);
}
.product-body {
    padding: 18px;
}
.product-body h3 {
    font-size: 16px;
    line-height: 1.45;
    margin-bottom: 12px;
    color: var(--dark);
}
.product-meta {
    display: grid;
    gap: 5px;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 14px;
}
.product-meta b {
    color: #30241d;
    font-weight: 700;
}
.product-body .btn {
    width: 100%;
    padding: 11px 14px;
    font-size: 13px;
}

/* ---- ADVISOR / QUIZ ---- */
.bg-dark {
    background: #211610;
    color: #fff;
}
.advisor-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}
.advisor-left h2 {
    color: #fff;
    font-size: clamp(26px, 3vw, 40px);
    margin-bottom: 14px;
}
.advisor-left p {
    color: #f0cdb8;
    font-size: 15px;
    line-height: 1.7;
}
.quiz-card {
    background: #fff;
    color: var(--dark);
    border-radius: 32px;
    padding: 28px;
    box-shadow: 0 24px 80px rgba(0,0,0,.3);
}
.quiz-field {
    margin-bottom: 20px;
}
.quiz-field label {
    display: block;
    font-weight: 900;
    font-size: 14px;
    margin-bottom: 10px;
    color: var(--dark);
}
.pill-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.pill {
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff6ef;
    border: 1.5px solid #f1d8c5;
    font-size: 13px;
    font-weight: 800;
    color: #6a4737;
    cursor: pointer;
    transition: var(--transition);
}
.pill:hover,
.pill.active {
    background: var(--clay);
    color: #fff;
    border-color: var(--clay);
}

/* ---- WHY US ---- */
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.why-card {
    border: 1px solid #f0ddcc;
    border-radius: 26px;
    padding: 26px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(67,38,20,.06);
    transition: transform var(--transition), box-shadow var(--transition);
}
.why-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 54px rgba(67,38,20,.12);
}
.why-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: #fff0e4;
    color: var(--clay);
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 16px;
    margin-bottom: 16px;
}
.why-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
}
.why-card p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* ---- BRANDS ---- */
.brand-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}
.brand-card {
    height: 86px;
    border: 1.5px solid #f0ddcc;
    border-radius: 22px;
    background: #fffdf9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    color: #6d4331;
    box-shadow: 0 10px 28px rgba(67,38,20,.05);
    transition: var(--transition);
    padding: 12px;
    text-align: center;
}
.brand-card:hover {
    border-color: var(--clay);
    color: var(--clay);
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(193,50,25,.1);
}
.brand-card img {
    max-height: 44px;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
}

/* ---- PROJECTS ---- */
.project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.project-card {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #f0ddcc;
    box-shadow: var(--shadow);
    transition: transform var(--transition), box-shadow var(--transition);
}
.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 72px rgba(67,38,20,.16);
}
.project-img {
    height: 230px;
    overflow: hidden;
}
.project-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.project-card:hover .project-img img {
    transform: scale(1.06);
}
.project-body {
    padding: 22px;
}
.project-body h3 {
    font-size: 17px;
    margin-bottom: 8px;
    line-height: 1.45;
}
.project-body p {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 14px;
}
.project-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.project-tag {
    font-size: 11px;
    font-weight: 900;
    background: #fff0e6;
    color: var(--clay);
    border-radius: 999px;
    padding: 6px 10px;
}

/* ---- PRICE TABLE ---- */
.price-table-wrap {
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid #f0ddcc;
    box-shadow: var(--shadow);
    overflow-x: auto;
}
table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    min-width: 600px;
}
th {
    text-align: left;
    padding: 18px 20px;
    background: #2A1810;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}
td {
    text-align: left;
    padding: 16px 20px;
    border-bottom: 1px solid #f2e4d8;
    color: #5c4a40;
    font-weight: 600;
    font-size: 14px;
}
tr:last-child td {
    border-bottom: 0;
}
tr:hover td {
    background: #fffbf7;
}
.price-cta {
    margin-top: 20px;
    background: #fff5ec;
    border: 1px solid #f0ddcc;
    border-radius: 24px;
    padding: 22px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.price-cta strong {
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
}
.price-cta span {
    font-size: 14px;
    color: var(--muted);
}

/* ---- BLOG ---- */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.post-card {
    border: 1px solid #f0ddcc;
    border-radius: 26px;
    padding: 24px;
    background: #fff;
    transition: transform var(--transition), box-shadow var(--transition);
}
.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(67,38,20,.1);
}
.post-card .post-cat {
    font-size: 11px;
    font-weight: 900;
    color: var(--clay);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
    display: block;
}
.post-card h3 {
    font-size: 17px;
    line-height: 1.45;
    margin-bottom: 10px;
}
.post-card p {
    font-size: 13px;
    color: var(--muted);
    margin: 0;
    line-height: 1.65;
}
.post-card .post-img {
    height: 180px;
    overflow: hidden;
    border-radius: 18px;
    margin-bottom: 16px;
}
.post-card .post-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.post-card:hover .post-img img {
    transform: scale(1.05);
}

/* ---- CONTACT FORM ---- */
.bg-quote {
    background: linear-gradient(135deg, #FFF1E4, #FFFFFF);
}
.form-wrap {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 32px;
    align-items: stretch;
}
.contact-card {
    background: #2A1810;
    color: #fff;
    border-radius: 34px;
    padding: 36px;
    position: relative;
    overflow: hidden;
}
.contact-card::before {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -100px;
    width: 280px;
    height: 280px;
    background: rgba(229,69,48,.2);
    border-radius: 50%;
    pointer-events: none;
}
.contact-card h2 {
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.2;
    margin-bottom: 14px;
    color: #fff;
}
.contact-card > p {
    color: #f0cdb8;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 28px;
}
.contact-list {
    display: grid;
    gap: 12px;
}
.contact-item {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 14px 16px;
    font-size: 14px;
}
.contact-item b {
    display: block;
    color: #FFB36B;
    font-size: 12px;
    margin-bottom: 4px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.contact-form-card {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 34px;
    padding: 32px;
    box-shadow: var(--shadow);
}
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}
.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.form-group.full {
    grid-column: 1 / -1;
}
.form-group label {
    font-size: 12px;
    font-weight: 800;
    color: #5c4a40;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    border: 1.5px solid #ead7c7;
    border-radius: 14px;
    padding: 13px 15px;
    font-size: 14px;
    font-weight: 600;
    color: #3b302a;
    background: #fffdfb;
    transition: var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--clay);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(193,50,25,.08);
}
.form-group textarea {
    min-height: 110px;
    resize: vertical;
}
.form-submit .btn {
    width: 100%;
    padding: 15px;
    font-size: 15px;
}
.form-message {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    display: none;
}
.form-message.success {
    background: #e6f7ef;
    color: #1a7c4b;
    border: 1px solid #b0e0c8;
    display: block;
}
.form-message.error {
    background: #fef2f0;
    color: #b91c1c;
    border: 1px solid #fcc;
    display: block;
}

/* ---- BREADCRUMB ---- */
.breadcrumb {
    padding: 14px 0;
    font-size: 13px;
    color: var(--muted);
}
.breadcrumb a {
    color: var(--muted);
}
.breadcrumb a:hover {
    color: var(--clay);
}
.breadcrumb span {
    color: var(--clay);
    font-weight: 700;
}

/* ---- SINGLE PRODUCT ---- */
.product-single-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
.product-gallery {
    position: sticky;
    top: 100px;
}
.gallery-main {
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 12px;
    background: #f5e8da;
    height: 380px;
}
.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-thumbs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.gallery-thumb {
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--transition);
}
.gallery-thumb.active,
.gallery-thumb:hover {
    border-color: var(--clay);
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-info {}
.product-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 900;
    color: var(--green);
    background: #e6f7ef;
    border-radius: 999px;
    padding: 6px 14px;
    margin-bottom: 14px;
}
.product-info h1 {
    font-size: clamp(24px, 3vw, 34px);
    margin-bottom: 16px;
    line-height: 1.25;
}
.specs-quick {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 24px;
    padding: 20px;
    background: #fff8f2;
    border-radius: 20px;
    border: 1px solid var(--line);
}
.spec-item {
    font-size: 13px;
}
.spec-item .label {
    font-weight: 700;
    color: var(--muted);
    display: block;
    margin-bottom: 2px;
}
.spec-item .value {
    font-weight: 800;
    color: var(--dark);
}
.product-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.product-actions .btn {
    flex: 1;
    min-width: 140px;
}

/* ---- ARCHIVE ---- */
.archive-banner {
    background: linear-gradient(135deg, #FFF1E4, #FFF8F2);
    padding: 48px 0;
    margin-bottom: 0;
}
.archive-banner h1 {
    font-size: clamp(28px, 4vw, 44px);
    margin-bottom: 10px;
}
.archive-banner p {
    color: var(--muted);
    max-width: 600px;
    margin: 0;
}
.archive-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    padding: 48px 0;
    align-items: start;
}
.archive-sidebar {
    position: sticky;
    top: 100px;
}
.filter-box {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 16px;
}
.filter-box h4 {
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 14px;
    color: var(--dark);
}
.filter-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.filter-list a {
    font-size: 13px;
    font-weight: 700;
    color: var(--muted);
    padding: 8px 12px;
    border-radius: 10px;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.filter-list a:hover,
.filter-list a.active {
    color: var(--clay);
    background: #fff0e8;
}
.filter-list a .count {
    font-size: 11px;
    background: #f5e3d2;
    color: var(--clay);
    border-radius: 999px;
    padding: 2px 8px;
    font-weight: 900;
}
.archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Pagination */
.pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    padding-top: 40px;
    flex-wrap: wrap;
}
.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 14px;
    border: 1.5px solid var(--line);
    background: #fff;
    color: var(--dark);
    transition: var(--transition);
}
.pagination a:hover,
.pagination span.current {
    background: var(--clay);
    color: #fff;
    border-color: var(--clay);
}

/* ---- FOOTER ---- */
.site-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 0%, rgba(193,50,25,.22), transparent 34%),
        radial-gradient(circle at 88% 20%, rgba(214,155,54,.14), transparent 28%),
        linear-gradient(180deg, #1b120e 0%, #130c09 100%);
    color: #fff;
    padding: 68px 0 0;
}
.site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px);
    opacity: .45;
}
.site-footer .container {
    position: relative;
    z-index: 1;
}
.footer-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.35fr) repeat(3, minmax(160px, .62fr));
    gap: clamp(28px, 4vw, 56px);
    padding-bottom: 54px;
}
.footer-brand {
    max-width: 430px;
}
.footer-brand .site-logo {
    color: #fff;
    margin-bottom: 18px;
}
.footer-brand p {
    color: #ead8cb;
    font-size: 15px;
    line-height: 1.78;
    margin-bottom: 18px;
}
.footer-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
}
.footer-trust span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid rgba(255, 179, 107, .22);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: #f2d2bd;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 800;
}
.footer-hotline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 179, 107, .24);
    border-radius: 999px;
    background: rgba(255, 179, 107, .08);
    padding: 10px 14px;
    font-weight: 900;
    font-size: 18px;
    color: #FFB36B;
}
.footer-hotline a {
    color: inherit;
}
.footer-col h4 {
    position: relative;
    width: fit-content;
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    margin-bottom: 18px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.footer-col h4::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffb36b, rgba(255,179,107,.12));
}
.footer-col a {
    position: relative;
    display: flex;
    align-items: center;
    width: fit-content;
    color: #d9c6ba;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.45;
    padding: 7px 0 7px 14px;
    transition: color .2s ease, transform .2s ease;
}
.footer-col a::before {
    content: "";
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,179,107,.55);
    transition: background .2s ease, transform .2s ease;
}
.footer-col a:hover {
    color: #FFB36B;
    transform: translateX(3px);
}
.footer-col a:hover::before {
    background: #FFB36B;
    transform: scale(1.35);
}
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 22px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: #cbb5a8;
}

/* ---- PAGE LAYOUTS ---- */
.page-hero {
    background: linear-gradient(135deg, #FFF1E4, #FFF8F2);
    padding: 60px 0;
    text-align: center;
}
.page-hero h1 {
    margin-bottom: 12px;
}
.page-hero p {
    color: var(--muted);
    max-width: 580px;
    margin: 0 auto;
    font-size: 16px;
}
.page-content {
    padding: 60px 0;
}
.page-content-inner {
    max-width: 780px;
    margin: 0 auto;
}
.page-content-inner h2 {
    font-size: 26px;
    margin: 32px 0 14px;
    color: var(--dark);
}
.page-content-inner h3 {
    font-size: 20px;
    margin: 24px 0 10px;
}
.page-content-inner p {
    font-size: 15px;
    line-height: 1.8;
    color: #3f3028;
    margin-bottom: 16px;
}
.page-content-inner ul,
.page-content-inner ol {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 16px;
}
.page-content-inner li {
    font-size: 15px;
    color: #3f3028;
    line-height: 1.8;
    margin-bottom: 6px;
}

/* ---- SINGLE POST ---- */
.post-hero {
    padding: 48px 0 0;
}
.post-meta-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.post-category-tag {
    font-size: 12px;
    font-weight: 900;
    color: var(--clay);
    background: #fff0e8;
    padding: 6px 14px;
    border-radius: 999px;
}
.post-date {
    font-size: 13px;
    color: var(--muted);
}
.post-read-time {
    font-size: 13px;
    color: var(--muted);
}
.post-title {
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.15;
    margin-bottom: 20px;
}
.post-featured {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 28px;
    margin-bottom: 40px;
}
.post-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 16px;
}
.post-body {
    font-size: 16px;
    line-height: 1.85;
    color: #3a2e27;
}
.post-body h2 {
    font-size: 26px;
    margin: 36px 0 16px;
}
.post-body h3 {
    font-size: 21px;
    margin: 28px 0 12px;
}
.post-body p {
    margin-bottom: 18px;
}
.post-body ul,
.post-body ol {
    padding-left: 22px;
    margin-bottom: 18px;
}
.post-body ul { list-style: disc; }
.post-body ol { list-style: decimal; }
.post-body li {
    margin-bottom: 8px;
    line-height: 1.75;
}
.post-body img {
    border-radius: 16px;
    margin: 20px 0;
}
.post-body blockquote {
    border-left: 4px solid var(--clay);
    padding-left: 20px;
    margin: 28px 0;
    color: #6b4e3d;
    font-style: italic;
    font-size: 17px;
}
.post-sidebar {
    position: sticky;
    top: 100px;
}
.sidebar-widget {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 22px;
    margin-bottom: 18px;
}
.sidebar-widget h4 {
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}
.toc-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.toc-list a {
    font-size: 13px;
    color: var(--muted);
    font-weight: 700;
    padding: 6px 8px;
    border-radius: 8px;
    transition: var(--transition);
    display: block;
}
.toc-list a:hover {
    color: var(--clay);
    background: #fff0e8;
}
.related-posts {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.related-post-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.related-post-item img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}
.related-post-item h5 {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--dark);
}
.related-post-item h5:hover {
    color: var(--clay);
}
.related-post-item span {
    font-size: 11px;
    color: var(--muted);
}

/* ---- CTA BANNER ---- */
.cta-banner {
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    border-radius: var(--radius);
    padding: 48px;
    text-align: center;
    color: #fff;
    margin: 48px 0;
}
.cta-banner h2 {
    color: #fff;
    font-size: 30px;
    margin-bottom: 12px;
}
.cta-banner p {
    color: rgba(255,255,255,.85);
    margin-bottom: 24px;
    font-size: 15px;
}
.cta-banner .btn-white {
    background: #fff;
    color: var(--clay);
    font-weight: 900;
}

/* ---- SEARCH ---- */
.search-page {
    padding: 48px 0 72px;
}
.search-form-large {
    display: flex;
    gap: 0;
    max-width: 600px;
    margin-bottom: 40px;
}
.search-form-large input {
    flex: 1;
    border: 1.5px solid var(--line);
    border-right: 0;
    border-radius: 14px 0 0 14px;
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 600;
}
.search-form-large input:focus {
    outline: none;
    border-color: var(--clay);
}
.search-form-large button {
    border-radius: 0 14px 14px 0;
    padding: 14px 24px;
    font-weight: 900;
}

/* ---- 404 ---- */
.error-404-wrap {
    padding: 58px 0 82px;
}
.error-404 {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .62fr);
    gap: 28px;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(233, 215, 199, .92);
    border-radius: 28px;
    background:
        radial-gradient(circle at 86% 18%, rgba(214,155,54,.14), transparent 32%),
        linear-gradient(135deg, #fff 0%, #fff8f1 58%, #fff0e6 100%);
    box-shadow: 0 30px 90px rgba(67, 38, 20, .12);
    padding: clamp(28px, 5vw, 56px);
}
.error-404::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(135deg, rgba(193,50,25,.055) 0 1px, transparent 1px 18px);
    opacity: .55;
}
.error-404__content,
.error-404__panel {
    position: relative;
    z-index: 1;
}
.error-404__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 16px;
    border: 1px solid #f0d8c8;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    padding: 8px 14px;
    color: var(--clay);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.error-404__title {
    max-width: 760px;
    margin-bottom: 16px;
    color: #121a22;
    font-size: clamp(34px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: 0;
}
.error-404__desc {
    max-width: 680px;
    margin-bottom: 28px;
    color: #5f6b7a;
    font-size: clamp(16px, 1.45vw, 20px);
    line-height: 1.75;
}
.error-404__search form {
    display: flex;
    width: min(100%, 560px);
    overflow: hidden;
    border: 1px solid #ecd8c6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(67,38,20,.07);
}
.error-404__search label,
.error-404__search .screen-reader-text {
    flex: 1;
}
.error-404__search input[type="search"],
.error-404__search input[type="text"] {
    width: 100%;
    min-height: 54px;
    border: 0;
    background: transparent;
    padding: 0 18px;
    color: var(--dark);
    font-size: 15px;
    font-weight: 700;
}
.error-404__search input:focus {
    outline: none;
}
.error-404__search input[type="submit"],
.error-404__search button {
    min-height: 54px;
    border: 0;
    background: var(--clay);
    color: #fff;
    padding: 0 22px;
    font-weight: 900;
    cursor: pointer;
}
.error-404__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.error-404__links .btn {
    min-height: 48px;
    padding-inline: 22px;
}
.error-404__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 24px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 22px 55px rgba(67,38,20,.08);
    padding: 28px;
}
.error-404__code {
    margin-bottom: 12px;
    color: rgba(193,50,25,.14);
    font-size: clamp(76px, 10vw, 132px);
    font-weight: 900;
    line-height: .86;
}
.error-404__panel h2 {
    margin-bottom: 18px;
    font-size: 22px;
    letter-spacing: 0;
}
.error-404__panel .tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.error-404__panel .tag-pill {
    padding: 9px 13px;
    border: 1px solid #f3ddcc;
    background: #fff7f0;
    font-size: 13px;
    font-weight: 800;
}
.error-404__hotline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    background: #21140f;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

/* ---- ALERTS / NOTICES ---- */
.notice-acf {
    background: #fef9f0;
    border: 1.5px solid #f6d072;
    border-radius: 14px;
    padding: 14px 18px;
    font-size: 14px;
    color: #7c5e10;
    margin: 16px 0;
    font-weight: 700;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1280px) {
    .hotline-badge { display: none; }
}
@media (max-width: 1200px) {
    .hero-stats { grid-template-columns: repeat(2, 1fr); }
    .cat-grid { grid-template-columns: repeat(4, 1fr); }
    .footer-grid { grid-template-columns: 1.25fr 1fr 1fr; }
}

@media (max-width: 1024px) {
    .topbar { display: none; }
    .main-nav, .header-search { display: none; }
    .mobile-toggle { display: flex; }
    .hero-grid, .advisor-grid, .form-wrap, .product-single-grid { grid-template-columns: 1fr; }
    .cat-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-stats { grid-template-columns: repeat(4, 1fr); }
    .brand-grid { grid-template-columns: repeat(3, 1fr); }
    .archive-layout { grid-template-columns: 1fr; }
    .archive-sidebar { position: static; }
    .archive-grid { grid-template-columns: repeat(2, 1fr); }
    .post-layout { grid-template-columns: 1fr; }
    .post-sidebar { position: static; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
    .error-404 { grid-template-columns: 1fr; }
    .policy-content--terms,
    .terms-summary { grid-template-columns: 1fr; }
    .warehouse-archive-hero__grid { grid-template-columns: 1fr; }
    .warehouse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .hero { padding: 40px 0; }
    .hero h1 { font-size: 34px; }
    .hero-stats { grid-template-columns: repeat(2, 1fr); }
    .hero-card { min-height: 420px; }
    .cat-grid { grid-template-columns: repeat(2, 1fr); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .why-grid { grid-template-columns: repeat(2, 1fr); }
    .project-grid { grid-template-columns: 1fr; }
    .blog-grid { grid-template-columns: 1fr; }
    .section-head { flex-direction: column; gap: 12px; }
    .section-head .right { width: 100%; }
    .form-wrap { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .price-cta { flex-direction: column; }
    .price-cta .btn { width: 100%; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .error-404-wrap { padding: 32px 0 54px; }
    .error-404 { border-radius: 22px; padding: 24px; }
    .error-404__search form { flex-direction: column; border-radius: 14px; }
    .error-404__search input[type="submit"],
    .error-404__search button { width: 100%; }
    .error-404__links .btn { width: 100%; }
    .error-404__panel { padding: 22px; }
    .warehouse-archive-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .warehouse-archive-head { display: block; }
    .warehouse-archive-head p { margin-top: 10px; }
}

@media (max-width: 600px) {
    .topbar .inner { height: auto; padding: 8px 0; flex-direction: column; gap: 4px; text-align: center; }
    .header-inner { height: 66px; }
    .site-logo { font-size: 17px; }
    #header-quote-btn { display: none; }
    .hero h1 { font-size: 30px; }
    .hero-lead { font-size: 15px; }
    .hero-stats { grid-template-columns: repeat(2, 1fr); }
    .hero-cta { flex-direction: column; }
    .hero-cta .btn { width: 100%; text-align: center; }
    .cat-grid { grid-template-columns: 1fr 1fr; }
    .product-grid { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: 1fr; }
    .brand-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-banner { padding: 32px 20px; }
    .footer-grid { grid-template-columns: 1fr; }
    .specs-quick { grid-template-columns: 1fr; }
    .product-actions { flex-direction: column; }
    .product-actions .btn { width: 100%; }
    .archive-grid { grid-template-columns: 1fr; }
    .warehouse-grid { grid-template-columns: 1fr; }
    .warehouse-archive-hero__actions .btn,
    .warehouse-card__cta .btn { width: 100%; }
    .warehouse-card__cta { align-items: stretch; flex-direction: column; }
}

@media (max-width: 360px) {
    .hero h1 { font-size: 26px; }
    .cat-grid { grid-template-columns: 1fr; }
}

/* ---- UTILITIES ---- */
.text-center { text-align: center; }
.text-clay { color: var(--clay); }
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mb-8 { margin-bottom: 8px; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.mb-32 { margin-bottom: 32px; }
.hidden { display: none !important; }

/* Loading spinner */
.spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .7s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .5s ease, transform .5s ease;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ========================================================
   HOMEPAGE — DEMO-MATCHED SECTION STYLES
   ======================================================== */

/* Base section padding for all homepage sections */
section {
    padding: 72px 0;
}
/* Override hero (has its own padding) */
section.hero {
    padding: 66px 0 52px;
}
/* Archive/single page sections that need different handling */
.archive-banner,
.page-hero,
.post-hero {
    padding: 48px 0;
}

/* Section head — works with both .left wrapper and direct div child */
.section-head > div > h2,
.section-head > div h2 {
    margin-bottom: 8px;
}
.section-head > div > p,
.section-head > div p {
    color: var(--muted);
    max-width: 580px;
    margin: 0;
    font-size: 15px;
}

/* ---- ADVISOR (dark section) ---- */
.advisor {
    background: #211610;
    color: #fff;
}
.advisor .advisor-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 28px;
    align-items: center;
}
.advisor .advisor-grid > div:first-child h2 {
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.12;
    color: #fff;
    margin-bottom: 14px;
}
.advisor .advisor-grid > div:first-child p {
    color: #f0cdb8;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}
.advisor-eyebrow {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(255,255,255,.2) !important;
    color: #FFB36B !important;
    margin-bottom: 16px;
}

/* ---- PRODUCTS section (cream bg) ---- */
section.products {
    background: #FFF8F2;
}

/* ---- PROJECTS section (cream bg) ---- */
section.projects {
    background: #FFF8F2;
}

/* ---- QUOTE SECTION (gradient bg) ---- */
section.quote-section {
    background: linear-gradient(135deg, #FFF1E4, #FFFFFF);
}

/* ---- WHY cards (numbered icon variant) ---- */
.why {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(158, 111, 78, .18);
    border-radius: 26px;
    padding: 28px 30px 30px;
    background: linear-gradient(145deg, var(--why-bg-1, #fff), var(--why-bg-2, #fff8f2));
    box-shadow: 0 16px 46px rgba(67,38,20,.07);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.why::before {
    content: "";
    position: absolute;
    right: -34px;
    top: -42px;
    width: 142px;
    height: 142px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--why-accent, #c13219) 13%, transparent);
    z-index: -1;
}
.why::after {
    content: "";
    position: absolute;
    inset: auto 24px 0;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--why-accent, #c13219) 42%, transparent), transparent);
    opacity: .75;
}
.why:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--why-accent, #c13219) 26%, #ffffff);
    box-shadow: 0 24px 62px rgba(67,38,20,.13);
}
.icon {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.42)),
        color-mix(in srgb, var(--why-accent, #c13219) 14%, #fff);
    color: var(--why-accent, var(--clay));
    display: grid;
    place-items: center;
    font-weight: 950;
    font-size: 26px;
    line-height: 1;
    margin-bottom: 18px;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.78),
        0 12px 28px color-mix(in srgb, var(--why-accent, #c13219) 17%, transparent);
}
.why h3 {
    font-size: 18px;
    margin-bottom: 8px;
}
.why p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}
.why:nth-child(1) { --why-bg-1: #fff8f1; --why-bg-2: #fffdf9; --why-accent: #c13219; }
.why:nth-child(2) { --why-bg-1: #f1f7ff; --why-bg-2: #fbfdff; --why-accent: #2d6cdf; }
.why:nth-child(3) { --why-bg-1: #f2fbf6; --why-bg-2: #fcfffd; --why-accent: #238a5b; }
.why:nth-child(4) { --why-bg-1: #fff8df; --why-bg-2: #fffef7; --why-accent: #bd7a10; }
.why:nth-child(5) { --why-bg-1: #f6f2ff; --why-bg-2: #fdfbff; --why-accent: #7b54c8; }
.why:nth-child(6) { --why-bg-1: #fff1f5; --why-bg-2: #fffbfd; --why-accent: #c64275; }

/* ---- BRAND STRIP ---- */
section#thuong-hieu {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #fff 0%, #fffaf5 48%, #fff4ec 100%);
}
section#thuong-hieu::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(193,50,25,.05), transparent 24%, transparent 76%, rgba(214,155,54,.07)),
        repeating-linear-gradient(135deg, rgba(139,31,16,.035) 0 1px, transparent 1px 18px);
    pointer-events: none;
}
section#thuong-hieu .container {
    position: relative;
    z-index: 1;
}
section#thuong-hieu .section-head {
    align-items: flex-start;
    margin-bottom: 36px;
}
section#thuong-hieu .section-head > div {
    position: relative;
    max-width: 720px;
    padding-left: 22px;
}
section#thuong-hieu .section-head > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 5px;
    height: 72px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--clay), var(--gold));
    box-shadow: 0 12px 28px rgba(193,50,25,.18);
}
section#thuong-hieu .section-head h2 {
    max-width: 560px;
    margin-bottom: 10px;
}
section#thuong-hieu .section-head p {
    max-width: 640px;
    font-size: 16px;
    color: #6f5d52;
}
.brand-strip {
    counter-reset: brand-counter;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    padding: 26px;
    border: 1px solid rgba(193,50,25,.14);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,246,236,.78)),
        rgba(255,255,255,.7);
    box-shadow: 0 24px 70px rgba(67,38,20,.09);
}
.brand-strip .brand {
    counter-increment: brand-counter;
    position: relative;
    min-height: 104px;
    border: 1px solid rgba(117,73,48,.16);
    border-radius: 22px;
    background:
        linear-gradient(145deg, #ffffff, #fffaf4);
    display: flex;
    flex-direction: column;
    place-items: center;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 900;
    font-size: 16px;
    color: #573225;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 14px 32px rgba(67,38,20,.055);
    text-align: center;
    padding: 22px 18px 18px;
    text-decoration: none;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), color var(--transition);
}
.brand-strip .brand::before {
    content: "0" counter(brand-counter);
    position: absolute;
    top: 12px;
    left: 14px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    color: rgba(193,50,25,.72);
}
.brand-strip .brand::after {
    content: "";
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--clay), var(--gold));
    opacity: .55;
    transition: width var(--transition), opacity var(--transition);
}
.brand-strip .brand:hover {
    border-color: rgba(193,50,25,.34);
    color: var(--clay);
    transform: translateY(-5px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.92),
        0 24px 54px rgba(67,38,20,.13);
}
.brand-strip .brand:hover::after {
    width: 58px;
    opacity: .95;
}
.brand-strip .brand img {
    max-height: 46px;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
}

/* ---- PROJECT card (homepage list variant) ---- */
.project {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #f0ddcc;
    box-shadow: var(--shadow);
    transition: transform var(--transition), box-shadow var(--transition);
}
.project:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 72px rgba(67,38,20,.16);
}
.project > img {
    height: 230px;
    width: 100%;
    object-fit: cover;
    transition: transform .5s ease;
    display: block;
}
.project:hover > img {
    transform: scale(1.04);
}
.project .project-body {
    padding: 20px;
}
.project .project-body h3 {
    font-size: 17px;
    margin-bottom: 8px;
    line-height: 1.45;
}
.project .project-body h3 a {
    color: var(--dark);
}
.project .project-body h3 a:hover {
    color: var(--clay);
}
.project .project-body p {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 14px;
}
.project .project-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.project .project-tags span {
    font-size: 11px;
    font-weight: 900;
    background: #fff0e6;
    color: var(--clay);
    border-radius: 999px;
    padding: 6px 10px;
}

/* ---- PRICE TABLE (outer wrapper class) ---- */
.price-table {
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid #f0ddcc;
    box-shadow: var(--shadow);
    overflow-x: auto;
    margin-bottom: 0;
}
.price-table table {
    min-width: 560px;
}
.price-note {
    margin-top: 24px;
    background: linear-gradient(120deg, #8B1F10 0%, #C13219 55%, #E54530 100%);
    border-radius: 28px;
    padding: 28px 36px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    box-shadow: 0 12px 40px rgba(193,50,25,.28);
    position: relative;
    overflow: hidden;
}
.price-note::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}
.price-note b {
    display: block;
    font-size: 17px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px;
}
.price-note span {
    font-size: 14px;
    color: rgba(255,255,255,.78);
}
.price-note .btn-primary {
    background: #fff !important;
    color: var(--clay) !important;
    border-color: #fff !important;
    font-weight: 800;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
}
.price-note .btn-primary:hover {
    background: #fff5ec !important;
    color: var(--terracotta) !important;
}

/* ---- POST card (homepage blog variant) ---- */
.post {
    border: 1px solid #f0ddcc;
    border-radius: 26px;
    padding: 20px;
    background: #fff;
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition);
}
.post:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(67,38,20,.1);
}
.post-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
    background: #fff3e8;
    margin-bottom: 16px;
}
.post-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}
.post:hover .post-thumb img {
    transform: scale(1.05);
}
.post .date {
    font-size: 12px;
    font-weight: 900;
    color: var(--clay);
    display: block;
    margin-bottom: 8px;
}
.post h3 {
    font-size: 19px;
    line-height: 1.4;
    margin-bottom: 10px;
}
.post h3 a {
    color: var(--dark);
}
.post h3 a:hover {
    color: var(--clay);
}
.post p {
    font-size: 14px;
    color: var(--muted);
    margin: 0;
    line-height: 1.65;
}

/* ========================================================
   HOMEPAGE RESPONSIVE OVERRIDES
   ======================================================== */
@media (max-width: 1024px) {
    .advisor .advisor-grid { grid-template-columns: 1fr; }
    .brand-strip { grid-template-columns: repeat(3, 1fr); }
    .project-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    section { padding: 52px 0; }
    section.hero { padding: 40px 0; }
    .advisor .advisor-grid { gap: 24px; }
    .project-grid { grid-template-columns: 1fr; }
    .blog-grid { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: repeat(2, 1fr); }
    .brand-strip { grid-template-columns: repeat(2, 1fr); }
    .price-note { flex-direction: column; align-items: flex-start; }
    .price-note .btn { width: 100%; }
}

@media (max-width: 600px) {
    section { padding: 40px 0; }
    section.hero { padding: 36px 0; }
    .advisor .advisor-grid > div:first-child h2 { font-size: 26px; }
    .why-grid { grid-template-columns: 1fr; }
    .brand-strip { grid-template-columns: repeat(2, 1fr); }
    .blog-grid { grid-template-columns: 1fr; }
    .hero-cta { flex-direction: column; }
    .hero-cta .btn { width: 100%; text-align: center; justify-content: center; }
}

/* ========================================================
   VISUAL IMPROVEMENTS & FALLBACK FIXES
   ======================================================== */

/* Cat card — branded fallback background when no image is assigned */
.cat-card {
    background: linear-gradient(145deg, #5C2415, #A23B20);
}

/* Ensure why-grid displays correctly */
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* Section head spacing when no link sibling (why us, brands) */
.section-head:only-child > div,
.section-head > div:only-child {
    max-width: 720px;
}

/* Fix brand strip: ensure anchor tags behave as grid items */
.brand-strip a.brand,
.brand-strip div.brand {
    display: grid;
    place-items: center;
}

/* Product card placeholder text */
.product-thumb > div {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5e8da;
    color: #c08060;
    font-weight: 700;
    font-size: 13px;
}

/* Price table border-radius fix — outer div already rounded, inner table corners need reset */
.price-table table {
    border-radius: 0;
}

/* Contact card hotline links */
.contact-card .contact-item a {
    color: #FFB36B;
    font-weight: 800;
}
.contact-card .contact-item a:hover {
    color: #fff;
}

/* Form group input wrapper in contact-form-card */
.contact-form-card .form-group input,
.contact-form-card .form-group select,
.contact-form-card .form-group textarea {
    font-size: 14px;
}

/* Ensure section tag padding doesn't break site-main div wrappers */
.site-main {
    padding: 0;
}

@media (max-width: 1024px) {
    .why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .cat-grid { grid-template-columns: 1fr 1fr; }
    .brand-strip { grid-template-columns: repeat(2, 1fr); }
    .why-grid { grid-template-columns: 1fr; }
}

/* =============================================
   ARCHIVE — BLOG / CATEGORY PAGE
   ============================================= */

/* =============================================
   COMMENTS SECTION
   ============================================= */
#comments {
    margin-top: 48px;
    padding-top: 40px;
    border-top: 2px solid #f0ddcc;
}
.comments-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--dark);
    margin-bottom: 28px;
}
.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.comment-list .comment {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 20px;
    padding: 20px 22px;
    box-shadow: 0 4px 16px rgba(67,38,20,.05);
}
.comment-list .bypostauthor > .comment-body {
    border-left: 3px solid var(--clay);
    padding-left: 14px;
}
.comment-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.comment-author img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 2px solid #f0ddcc;
    flex-shrink: 0;
}
.comment-author .fn {
    font-size: 15px;
    font-weight: 800;
    color: var(--dark);
    font-style: normal;
}
.comment-metadata {
    font-size: 12px;
    color: var(--muted);
    margin-top: 2px;
}
.comment-metadata a { color: var(--muted); text-decoration: none; }
.comment-content p {
    font-size: 14px;
    line-height: 1.75;
    color: #4a4a4a;
    margin: 0 0 8px;
}
.comment-content p:last-child { margin: 0; }
.reply { margin-top: 10px; }
.comment-reply-link {
    font-size: 12px;
    font-weight: 700;
    color: var(--clay);
    text-decoration: none;
    padding: 4px 12px;
    border: 1px solid var(--clay);
    border-radius: 50px;
    transition: all .2s;
}
.comment-reply-link:hover { background: var(--clay); color: #fff; }

/* Comment form */
#respond { margin-top: 40px; }
.comment-reply-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--dark);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.comment-reply-title::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 22px;
    background: var(--clay);
    border-radius: 3px;
}
/* ── Table of Contents ── */
.article-toc {
    background: #fffbf7;
    border: 1.5px solid #f0ddcc;
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 28px;
}
.article-toc__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--clay);
    margin-bottom: 14px;
}
.article-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.article-toc__list li a {
    font-size: 14px;
    color: var(--dark);
    text-decoration: none;
    line-height: 1.5;
    display: flex;
    gap: 8px;
    align-items: baseline;
    transition: color .15s;
}
.article-toc__list li a::before {
    content: '›';
    color: var(--clay);
    font-weight: 700;
    flex-shrink: 0;
}
.article-toc__list li a:hover { color: var(--clay); }
.article-toc__list li.toc-sub a {
    padding-left: 20px;
    font-size: 13px;
    color: var(--muted);
}
.article-toc__list li.toc-sub a::before { content: '–'; color: #c0a090; }

/* ── Comments Section ── */
.comments-section { margin-top: 36px; }
.comments-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--dark);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0e8df;
}

/* Comment list */
.comment-list { list-style: none; margin: 0 0 32px; padding: 0; }
.comment-list .children { list-style: none; padding-left: 48px; margin-top: 12px; }

.tkn-comment { margin-bottom: 16px; }
.tkn-comment__body {
    display: flex;
    gap: 14px;
    background: #fffaf7;
    border: 1px solid #f0e8df;
    border-radius: 16px;
    padding: 16px 20px;
}
.tkn-comment__avatar img { border-radius: 50%; width: 48px; height: 48px; object-fit: cover; }
.tkn-comment__content { flex: 1; min-width: 0; }
.tkn-comment__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.tkn-comment__author { font-size: 14px; font-weight: 700; color: var(--dark); }
.tkn-comment__date { font-size: 12px; color: var(--muted); }
.tkn-comment__text { font-size: 14px; line-height: 1.75; color: #444; }
.tkn-comment__text p { margin: 0 0 8px; }
.tkn-comment__reply a { font-size: 12px; color: var(--clay); font-weight: 600; text-decoration: none; margin-top: 8px; display: inline-block; }
.tkn-comment__pending { font-size: 13px; color: var(--muted); margin-bottom: 6px; }

/* New comment form */
.comment-respond { margin-top: 8px; }
.comment-reply-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--dark);
    margin-bottom: 20px;
    padding-left: 14px;
    border-left: 4px solid var(--clay);
}
.tkn-comment-form {
    background: #fff;
    border: 1.5px solid #f0ddcc;
    border-radius: 20px;
    padding: 28px;
}
.tcf-group { margin-bottom: 16px; }
.tcf-group label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    margin-bottom: 6px;
}
.tcf-group label .required { color: var(--clay); }
.tkn-comment-form input[type="text"],
.tkn-comment-form input[type="email"],
.tkn-comment-form input[type="tel"],
.tkn-comment-form input[type="number"],
.tkn-comment-form textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #e8d5c4;
    border-radius: 12px;
    font-size: 14px;
    font-family: inherit;
    background: #fffaf7;
    color: var(--dark);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box;
}
.tkn-comment-form input:focus,
.tkn-comment-form textarea:focus {
    border-color: var(--clay);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(193,50,25,.08);
}
.tkn-comment-form textarea { resize: vertical; min-height: 130px; }
.tcf-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 14px;
}
.tcf-group--antispam {
    background: #fffbf5;
    border: 1px solid #f0ddcc;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.tcf-group--antispam label {
    text-transform: none;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    letter-spacing: 0;
}
.tcf-group--antispam label strong { color: var(--clay); }
.tcf-group--antispam input[type="number"] { max-width: 160px; margin-top: 8px; }
.tcf-hint { font-size: 11px; color: var(--muted); margin-top: 6px; display: block; }
.tcf-submit { margin-top: 4px; }
.btn-comment-submit {
    background: var(--clay);
    color: #fff;
    border: none;
    padding: 13px 32px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s, transform .15s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
}
.btn-comment-submit:hover { background: #a33a1a; transform: translateY(-1px); }
.required { color: var(--clay); }
.comment-closed { font-size: 14px; color: var(--muted); margin-top: 16px; }
.comment-password { font-size: 14px; color: var(--muted); }

@media (max-width: 768px) {
    .tcf-row { grid-template-columns: 1fr; }
    .tkn-comment-form { padding: 20px 16px; }
    .comment-list .children { padding-left: 24px; }
}

/* Blog archive hero header */
.blog-archive-hero {
    background: linear-gradient(135deg, #FFF1E4 0%, #fff 70%);
    border: 1px solid #f0ddcc;
    border-radius: 28px;
    padding: 36px 40px;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
}
.blog-archive-hero::after {
    content: '';
    position: absolute;
    right: -40px;
    top: -40px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(193,50,25,.08) 0%, transparent 70%);
    pointer-events: none;
}
.blog-archive-hero__label {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--clay);
    background: rgba(193,50,25,.1);
    border-radius: 50px;
    padding: 4px 14px;
    margin-bottom: 12px;
}
.blog-archive-hero__title {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 900;
    color: var(--dark);
    margin: 0 0 10px;
    line-height: 1.15;
    letter-spacing: -.5px;
}
.blog-archive-hero__desc {
    font-size: 15px;
    color: var(--muted);
    line-height: 1.7;
    max-width: 500px;
    margin: 0 0 14px;
}
.blog-archive-hero__count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 50px;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--clay);
}
.blog-archive-hero__count::before {
    content: '📝';
    font-size: 14px;
}

/* Category tabs bar — full width above blog grid */
.blog-cat-tabs-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 22px;
    margin-bottom: 24px;
    box-shadow: 0 4px 16px rgba(67,38,20,.05);
}
.blog-cat-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    color: #6d4331;
    background: #fffaf7;
    border: 1.5px solid #e8d5c4;
    text-decoration: none;
    transition: all .18s;
    white-space: nowrap;
}
.blog-cat-tab:hover {
    border-color: var(--clay);
    color: var(--clay);
    background: #fff5ec;
}
.blog-cat-tab.active {
    background: var(--clay);
    border-color: var(--clay);
    color: #fff;
}
.blog-cat-tab__count {
    font-size: 11px;
    font-weight: 900;
    background: rgba(0,0,0,.1);
    border-radius: 50px;
    padding: 1px 7px;
}
.blog-cat-tab.active .blog-cat-tab__count {
    background: rgba(255,255,255,.25);
}

/* Blog sidebar layout: main wide left, sidebar narrow right
   Use chained selector (.layout-sidebar.layout-sidebar--blog) to beat
   the later .layout-sidebar rule (260px 1fr) in the cascade. */
.layout-sidebar.layout-sidebar--blog {
    grid-template-columns: 1fr 300px;
}
.layout-sidebar--blog .layout-sidebar__sidebar { order: 2; }
.layout-sidebar--blog .layout-main { order: 1; }

/* Blog archive header */
.blog-archive-header {
    padding-bottom: 24px;
    border-bottom: 1px solid #f0ddcc;
    margin-bottom: 28px;
}
.blog-archive-header__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
}
.blog-post-count {
    flex-shrink: 0;
    background: #fff5ec;
    border: 1px solid #f0ddcc;
    border-radius: 50px;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--clay);
    white-space: nowrap;
}

/* Blog list — horizontal cards */
.blog-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.post-card--list {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 20px;
    transition: transform .2s, box-shadow .2s;
}
.post-card--list:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 48px rgba(67,38,20,.11);
}
.post-card__img-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 210px;
}
.post-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
    display: block;
}
.post-card--list:hover .post-card__img-wrap img {
    transform: scale(1.05);
}
.post-card__cat {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--clay);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 50px;
    letter-spacing: .04em;
    text-transform: uppercase;
    z-index: 2;
}
.post-card__body {
    padding: 26px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.post-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--muted);
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.post-card__meta time { color: var(--clay); }
.post-card__title {
    font-size: 19px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 12px;
    letter-spacing: -.3px;
}
.post-card__title a {
    color: var(--dark);
    text-decoration: none;
    transition: color .2s;
}
.post-card__title a:hover { color: var(--clay); }
.post-card__excerpt {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.75;
    margin: 0 0 18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.post-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
    color: var(--clay);
    text-decoration: none;
    letter-spacing: .02em;
    transition: gap .2s, color .2s;
    margin-top: auto;
    width: fit-content;
    padding: 8px 18px;
    border: 1.5px solid var(--clay);
    border-radius: 50px;
}
.post-card__read-more:hover {
    background: var(--clay);
    color: #fff;
}

/* Blog sidebar widgets */
.blog-sidebar { display: flex; flex-direction: column; gap: 20px; }
.blog-widget {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 22px;
    padding: 22px 20px;
    box-shadow: 0 4px 16px rgba(67,38,20,.05);
}
.blog-widget__title {
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--dark);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--clay);
    display: inline-block;
}

/* Categories — horizontal pill tabs */
.blog-widget--cats-tabs {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 22px;
    box-shadow: 0 4px 16px rgba(67,38,20,.05);
}
.blog-widget__cats {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.blog-widget__cats li { margin: 0; }
.blog-widget__cat-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    color: #6d4331;
    background: #fffaf7;
    border: 1.5px solid #e8d5c4;
    text-decoration: none;
    transition: all .18s;
    white-space: nowrap;
}
.blog-widget__cat-link:hover {
    background: #fff5ec;
    border-color: var(--clay);
    color: var(--clay);
}
.blog-widget__cat-link.active {
    background: var(--clay);
    border-color: var(--clay);
    color: #fff;
}
.blog-widget__cat-count {
    font-size: 11px;
    font-weight: 900;
    background: rgba(0,0,0,.12);
    border-radius: 50px;
    padding: 1px 7px;
    line-height: 1.6;
}
.blog-widget__cat-link.active .blog-widget__cat-count {
    background: rgba(255,255,255,.25);
}
.blog-widget__recent {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #f5e8dc;
    text-decoration: none;
    transition: opacity .2s;
}
.blog-widget__recent:last-child { border-bottom: none; padding-bottom: 0; }
.blog-widget__recent:hover { opacity: .75; }
.blog-widget__recent img,
.blog-widget__recent-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
    background: #f5e8da;
}
.blog-widget__recent div { flex: 1; }
.blog-widget__recent p {
    font-size: 13px;
    font-weight: 700;
    color: var(--dark);
    margin: 0 0 4px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-widget__recent time {
    font-size: 11px;
    color: var(--muted);
    font-weight: 600;
}
.blog-widget--cta {
    background: linear-gradient(135deg, #5C2415 0%, #A23B20 100%);
    border-color: transparent;
    text-align: center;
}
.blog-widget--cta h3 {
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    margin: 0 0 10px;
}
.blog-widget--cta p {
    font-size: 13px;
    color: rgba(255,255,255,.78);
    line-height: 1.6;
    margin: 0 0 16px;
}
.blog-widget--cta .btn--primary {
    background: #fff;
    color: var(--clay);
    font-weight: 800;
}
.blog-widget--cta .btn--primary:hover {
    background: #fff5ec;
}

/* Search widget */
.blog-widget--search { padding: 14px 16px; }
.blog-search-form {
    display: flex;
    align-items: center;
    gap: 0;
    background: #fffaf7;
    border: 1.5px solid #e8d5c4;
    border-radius: 50px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}
.blog-search-form:focus-within {
    border-color: var(--clay);
    box-shadow: 0 0 0 3px rgba(193,50,25,.08);
}
.blog-search-input {
    flex: 1;
    border: none;
    background: none;
    padding: 10px 16px;
    font-size: 14px;
    font-family: inherit;
    color: var(--dark);
    outline: none;
}
.blog-search-input::placeholder { color: #b0917c; }
.blog-search-btn {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    background: var(--clay);
    border: none;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    margin: 3px;
    transition: background .2s;
}
.blog-search-btn:hover { background: var(--terracotta); }

/* WP default widgets inside blog-sidebar — hide duplicates, style the rest */
.blog-sidebar .widget_search,
.blog-sidebar .widget_recent_entries { display: none; } /* we have custom versions */

.blog-sidebar .widget {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 22px;
    padding: 22px 20px;
    box-shadow: 0 4px 16px rgba(67,38,20,.05);
}
.blog-sidebar .widget-title,
.blog-sidebar .widgettitle {
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--dark);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--clay);
    display: inline-block;
}

/* Recent Comments widget */
.blog-sidebar .widget_recent_comments ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.blog-sidebar .widget_recent_comments li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid #f5e8dc;
    font-size: 13px;
    color: var(--muted);
    line-height: 1.5;
}
.blog-sidebar .widget_recent_comments li:last-child { border-bottom: none; padding-bottom: 0; }
.blog-sidebar .widget_recent_comments li::before {
    content: '';
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f5e8da, #e8c9b0);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C13219' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    margin-top: 2px;
}
.blog-sidebar .widget_recent_comments li a {
    color: var(--clay);
    font-weight: 700;
    text-decoration: none;
}
.blog-sidebar .widget_recent_comments li a:hover { text-decoration: underline; }

/* Blog archive responsive */
@media (max-width: 1024px) {
    .layout-sidebar.layout-sidebar--blog { grid-template-columns: 1fr 260px; }
    .post-card--list { grid-template-columns: 220px 1fr; }
}
@media (max-width: 768px) {
    .layout-sidebar.layout-sidebar--blog { grid-template-columns: 1fr; }
    .layout-sidebar--blog .layout-sidebar__sidebar { order: 1; }
    .layout-sidebar--blog .layout-main { order: 2; }
    .post-card--list { grid-template-columns: 1fr; }
    .post-card__img-wrap { min-height: 200px; height: 200px; }
    .post-card__body { padding: 18px 20px; }
}

/* =============================================
   ARCHIVE — PRICE LIST PAGE
   ============================================= */

/* Filter bar */
.price-filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 18px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
.price-filter-bar .filter-select {
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}
.btn--sm {
    padding: 8px 20px;
    font-size: 13px;
    border-radius: 50px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    border: none;
    transition: all .2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.btn--primary.btn--sm { background: var(--clay); color: #fff; }
.btn--primary.btn--sm:hover { background: var(--terracotta); }
.btn--ghost { background: none; border: 1.5px solid #e8d5c4 !important; color: var(--muted); }
.btn--ghost:hover { border-color: var(--clay) !important; color: var(--clay); background: #fff5ec; }

/* Price group */
.price-group {
    margin-bottom: 40px;
}
.price-group__title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 900;
    color: var(--dark);
    margin-bottom: 14px;
    padding: 8px 20px 8px 0;
    border-bottom: 3px solid var(--clay);
    position: relative;
}
.price-group__title::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 22px;
    background: var(--clay);
    border-radius: 3px;
    flex-shrink: 0;
}

/* Price table wrapper — scrollable */
.price-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 20px;
    border: 1px solid #f0ddcc;
    box-shadow: 0 8px 32px rgba(67,38,20,.08);
}
.price-table-wrap table,
.price-table-wrap .price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 600px;
}

/* Table header */
.price-table-wrap table thead tr,
.price-table-wrap .price-table thead tr {
    background: linear-gradient(90deg, #8B1F10, #C13219);
}
.price-table-wrap table thead th,
.price-table-wrap .price-table thead th {
    padding: 14px 16px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: rgba(255,255,255,.9);
    white-space: nowrap;
    border: none;
}
.price-table-wrap table thead th:first-child,
.price-table-wrap .price-table thead th:first-child {
    border-radius: 20px 0 0 0;
    width: 48px;
    text-align: center;
}
.price-table-wrap table thead th:last-child,
.price-table-wrap .price-table thead th:last-child {
    border-radius: 0 20px 0 0;
}

/* Table body rows */
.price-table-wrap table tbody tr,
.price-table-wrap .price-table tbody tr {
    border-bottom: 1px solid #f5e8dc;
    transition: background .15s;
}
.price-table-wrap table tbody tr:last-child,
.price-table-wrap .price-table tbody tr:last-child { border-bottom: none; }
.price-table-wrap table tbody tr:nth-child(even),
.price-table-wrap .price-table tbody tr:nth-child(even) { background: #fffaf7; }
.price-table-wrap table tbody tr:hover,
.price-table-wrap .price-table tbody tr:hover { background: #fff5ec; }

.price-table-wrap table td,
.price-table-wrap .price-table td {
    padding: 13px 16px;
    color: var(--dark);
    vertical-align: middle;
}
.price-table-wrap table td:first-child,
.price-table-wrap .price-table td:first-child {
    text-align: center;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    width: 48px;
}

/* Price column highlight */
.price-cell strong {
    font-size: 15px;
    font-weight: 800;
    color: var(--clay);
}
.price-call {
    font-style: normal;
    font-weight: 700;
    color: var(--clay-2);
    font-size: 13px;
}

/* Archive price note — paragraphs style (different from homepage .price-note) */
.price-group + .price-note,
.price-group ~ .price-note {
    background: #fffbf5;
    border: 1px solid #f0ddcc;
    border-left: 4px solid var(--clay-2);
    border-radius: 16px;
    padding: 18px 22px;
    margin-bottom: 40px;
}
.price-group + .price-note p,
.price-group ~ .price-note p {
    font-size: 14px;
    color: var(--muted);
    margin: 0 0 6px;
    line-height: 1.65;
}
.price-group + .price-note p:last-child,
.price-group ~ .price-note p:last-child { margin: 0; }
.price-group + .price-note strong,
.price-group ~ .price-note strong { color: var(--dark); }

/* Quote section at bottom of price page */
.section--quote { margin-top: 40px; }
.quote-wrap {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 32px;
    align-items: start;
    background: linear-gradient(135deg, #FFF1E4 0%, #fff 60%);
    border: 1px solid #f0ddcc;
    border-radius: 28px;
    padding: 36px;
}
.quote__content h2 {
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 900;
    color: var(--dark);
    margin-bottom: 10px;
}
.quote__content p {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.7;
}
.quote__form-wrap .tkn-quote-form {
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    border: 1px solid #f0ddcc;
    box-shadow: 0 4px 20px rgba(67,38,20,.06);
}

@media (max-width: 768px) {
    .quote-wrap { grid-template-columns: 1fr; padding: 24px; }
    .price-filter-bar { flex-direction: column; align-items: stretch; }
    .price-filter-bar .filter-select { max-width: 100%; }
}

/* =============================================
   ARCHIVE — PROJECT LISTING PAGE
   ============================================= */
.project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 8px;
}
.project-card {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(67,38,20,.07);
    transition: transform .2s, box-shadow .2s;
}
.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 56px rgba(67,38,20,.13);
}
.project-card__img-wrap {
    display: block;
    position: relative;
    height: 220px;
    overflow: hidden;
}
.project-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
    display: block;
}
.project-card:hover .project-card__img-wrap img {
    transform: scale(1.06);
}
.project-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(90,28,10,.65) 0%, transparent 55%);
    display: flex;
    align-items: flex-end;
    padding: 16px 18px;
    opacity: 0;
    transition: opacity .25s;
}
.project-card:hover .project-card__overlay {
    opacity: 1;
}
.project-card__view {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}
.project-card__body {
    padding: 18px 20px 20px;
}
.project-card__title {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
    margin: 0 0 10px;
}
.project-card__title a {
    color: var(--dark);
    text-decoration: none;
}
.project-card__title a:hover { color: var(--clay); }
.project-card__meta {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.project-card__meta li {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--muted);
    font-weight: 500;
}
.project-card__meta li span { font-size: 14px; flex-shrink: 0; }

@media (max-width: 1024px) {
    .project-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .project-grid { grid-template-columns: 1fr; }
}

/* =============================================
   ARCHIVE — BRAND LISTING PAGE
   ============================================= */
.archive-desc {
    color: var(--muted);
    font-size: 15px;
    margin: 6px 0 0;
}
.brand-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 8px;
}
.brand-archive-card {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(67,38,20,.06);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.brand-archive-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(67,38,20,.12);
    border-color: var(--clay-2);
}
.brand-archive-card > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.brand-archive-card__logo {
    height: 140px;
    background: #fffaf7;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    border-bottom: 1px solid #f5e8dc;
}
.brand-archive-card__logo img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}
.brand-archive-card__name {
    height: 140px;
    background: linear-gradient(135deg, #5C2415, #A23B20);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.5px;
    border-bottom: 1px solid #f5e8dc;
}
.brand-archive-card__info {
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.brand-archive-card__info h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 4px;
    line-height: 1.3;
}
.brand-archive-card__info span {
    font-size: 13px;
    color: var(--muted);
    font-weight: 500;
}
.brand-archive-card__view {
    margin-top: auto;
    padding-top: 10px;
    color: var(--clay) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
.brand-archive-card:hover .brand-archive-card__view {
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .brand-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .brand-archive-grid { grid-template-columns: 1fr; }
}

/* =============================================
   ARCHIVE — PRODUCT LISTING PAGE
   ============================================= */
.archive-header {
    padding: 28px 0 20px;
    border-bottom: 1px solid #f0ddcc;
    margin-bottom: 28px;
}
.archive-title {
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 900;
    color: var(--dark);
    margin: 0 0 6px;
    line-height: 1.2;
}
.archive-count {
    font-size: 14px;
    color: var(--muted);
    font-weight: 500;
}

/* Two-column layout: sidebar + main */
.layout-sidebar {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 28px;
    align-items: start;
}
.layout-sidebar__sidebar {
    position: sticky;
    top: 90px;
}

/* Filter panel card */
.filter-panel {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 22px;
    padding: 22px 20px;
    box-shadow: 0 4px 20px rgba(67,38,20,.07);
}
.filter-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f5e8dc;
}
.filter-panel__header h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--dark);
    margin: 0;
}
.filter-reset {
    font-size: 12px;
    color: var(--clay);
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}
.filter-reset:hover { color: var(--terracotta); }

/* Filter groups */
.filter-group { margin-bottom: 14px; }
.filter-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--muted);
    margin-bottom: 5px;
}
.filter-input,
.filter-select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #e8d5c4;
    border-radius: 12px;
    font-size: 13px;
    font-family: inherit;
    background: #fffaf7;
    color: var(--dark);
    outline: none;
    transition: border-color .2s, background .2s;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.filter-input:focus,
.filter-select:focus {
    border-color: var(--clay);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(193,50,25,.08);
}
.filter-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C13219' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}

/* Submit button */
.filter-form .btn--primary,
.filter-form .btn-primary {
    width: 100%;
    justify-content: center;
    margin-top: 6px;
    background: var(--clay);
    color: #fff;
    border: none;
    padding: 11px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: background .2s;
    text-decoration: none;
}
.filter-form .btn--primary:hover,
.filter-form .btn-primary:hover { background: var(--terracotta); }
.btn--primary {
    background: var(--clay);
    color: #fff;
    border: none;
    padding: 11px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s, transform .15s;
    text-decoration: none;
}
.btn--primary:hover { background: var(--terracotta); transform: translateY(-1px); }
.btn--block { width: 100%; justify-content: center; text-align: center; }
.btn--lg { padding: 16px 32px; font-size: 16px; }
.btn--outline-clay {
    background: transparent;
    color: var(--clay);
    border: 2px solid var(--clay);
    border-radius: 50px;
    padding: 11px 24px;
    font-weight: 700;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s, color .2s;
    text-decoration: none;
}
.btn--outline-clay:hover { background: var(--clay); color: #fff; }

/* Hide default WP sidebar widgets (Archive, Categories) that don't belong here */
.filter-extra-widgets { display: none; }

/* Pill filter — replace dropdowns */
.filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}
.filter-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border: 1.5px solid #e8d5c4;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: #6d4331;
    background: #fffaf7;
    cursor: pointer;
    transition: all .18s;
    user-select: none;
    line-height: 1.4;
}
.filter-pill input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.filter-pill:hover {
    border-color: var(--clay);
    color: var(--clay);
    background: #fff5ec;
}
.filter-pill.active {
    background: var(--clay);
    border-color: var(--clay);
    color: #fff;
}

/* Sort bar */
.archive-sort-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 18px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 14px;
    margin-bottom: 20px;
}
.archive-sort-bar__found {
    font-size: 13px;
    color: var(--muted);
    font-weight: 500;
}
.archive-view-toggle { display: flex; gap: 6px; }
.view-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #e8d5c4;
    background: #fffaf7;
    border-radius: 10px;
    font-size: 16px;
    cursor: pointer;
    display: grid;
    place-items: center;
    color: var(--muted);
    transition: all .2s;
}
.view-btn.active { background: var(--clay); border-color: var(--clay); color: #fff; }

/* Pagination */
.pagination {
    margin-top: 36px;
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #f0ddcc;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    background: #fff;
    text-decoration: none;
    transition: all .2s;
    white-space: nowrap;
}
.pagination .page-numbers:hover { border-color: var(--clay); color: var(--clay); }
.pagination .page-numbers.current { background: var(--clay); border-color: var(--clay); color: #fff; }
.pagination .page-numbers.dots { border: none; background: none; color: var(--muted); }

/* No results */
.no-results { text-align: center; padding: 72px 24px; }
.no-results__icon { font-size: 48px; margin-bottom: 16px; }
.no-results h3 { font-size: 20px; font-weight: 800; margin-bottom: 8px; color: var(--dark); }
.no-results p { color: var(--muted); margin-bottom: 24px; }

/* Archive responsive */
@media (max-width: 1024px) {
    .layout-sidebar { grid-template-columns: 220px 1fr; gap: 20px; }
}
@media (max-width: 768px) {
    .layout-sidebar { grid-template-columns: 1fr; }
    .layout-sidebar__sidebar { position: static; }
    .filter-panel { border-radius: 16px; padding: 16px; }
    .archive-sort-bar { border-radius: 12px; }
}

/* =============================================
   SEO CONTENT SECTION
   ============================================= */
.archive-seo-section {
    background: #fff;
    border-top: 1px solid #f0ddcc;
    margin-top: 40px;
    padding: 36px 0 28px;
}
.seo-content-wrap {
    max-width: 860px;
}
.seo-content-title {
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 800;
    color: var(--dark);
    margin-bottom: 18px;
}
.seo-content-body {
    max-height: 88px;
    overflow: hidden;
    position: relative;
    transition: max-height .4s ease;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
}
.seo-content-body.expanded {
    max-height: 1000px;
}
.seo-content-body:not(.expanded)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, transparent, #fff);
    pointer-events: none;
}
.seo-content-body p { margin-bottom: 14px; }
.seo-content-body strong { color: var(--dark); font-weight: 700; }
.seo-read-more {
    margin-top: 10px;
    background: none;
    border: 1.5px solid #e8d5c4;
    border-radius: 50px;
    padding: 7px 20px;
    font-size: 13px;
    font-weight: 700;
    color: var(--clay);
    cursor: pointer;
    font-family: inherit;
    transition: all .2s;
}
.seo-read-more:hover {
    background: #fff5ec;
    border-color: var(--clay);
}

/* =============================================
   FAQ SECTION
   ============================================= */
.archive-faq-section {
    background: #FFF8F2;
    border: 1px solid #f0ddcc;
    border-radius: 24px;
    padding: 32px 28px 36px;
    margin-top: 12px;
}
.faq-heading {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 900;
    color: var(--dark);
    margin-bottom: 28px;
}
.faq-list {
    max-width: 860px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.faq-item {
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 18px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}
.faq-item.open {
    border-color: var(--clay);
    box-shadow: 0 6px 24px rgba(193,50,25,.10);
}
.faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    color: var(--dark);
    text-align: left;
    line-height: 1.4;
    transition: color .2s;
}
.faq-item.open .faq-q { color: var(--clay); }
.faq-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #e8d5c4;
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 400;
    color: var(--clay);
    transition: transform .25s, background .2s, border-color .2s;
    line-height: 1;
}
.faq-item.open .faq-icon {
    transform: rotate(45deg);
    background: var(--clay);
    border-color: var(--clay);
    color: #fff;
}
.faq-a {
    padding: 0 22px 18px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--muted);
}
.faq-a p { margin: 0; }

/* ==============================================
   SINGLE POST
   ============================================== */
.single-post {
    margin-bottom: 32px;
}
.single-post__header {
    padding: 24px 0 20px;
}
.single-post__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--clay);
    background: #fdf0e8;
    border-radius: 20px;
    padding: 5px 14px;
    margin-bottom: 16px;
    text-decoration: none;
    transition: background .2s;
}
.single-post__cat:hover { background: #f5dcc8; }
.single-post__title {
    font-size: clamp(22px, 3.5vw, 34px);
    font-weight: 900;
    color: var(--dark);
    line-height: 1.25;
    margin: 0 0 16px;
}
.single-post__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--muted);
    flex-wrap: wrap;
}
.single-post__meta strong { color: var(--dark); }
.single-post__meta-dot { opacity: .4; }

.single-post__thumb {
    width: 100%;
    aspect-ratio: 16/7;
    overflow: hidden;
    border-radius: 16px;
}
.single-post__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.single-post__content {
    padding: 28px 0 8px;
}
.entry-content h2 { font-size: 22px; font-weight: 800; color: var(--dark); margin: 32px 0 14px; }
.entry-content h3 { font-size: 18px; font-weight: 700; color: var(--dark); margin: 24px 0 12px; }
.entry-content h4 { font-size: 16px; font-weight: 700; color: var(--dark); margin: 20px 0 10px; }
.entry-content p { font-size: 15.5px; line-height: 1.85; color: #333; margin-bottom: 18px; }
.entry-content ul, .entry-content ol { margin: 0 0 18px 22px; }
.entry-content li { font-size: 15px; line-height: 1.8; color: #333; margin-bottom: 6px; }
.entry-content a { color: var(--clay); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { opacity: .8; }
.entry-content strong { font-weight: 700; color: var(--dark); }
.entry-content blockquote {
    border-left: 4px solid var(--clay);
    padding: 14px 20px;
    margin: 24px 0;
    background: #fdf6ef;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: var(--muted);
    font-size: 15px;
}
.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 16px 0;
}
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: 20px 0;
}
.entry-content th { background: var(--clay); color: #fff; padding: 10px 14px; text-align: left; }
.entry-content td { padding: 9px 14px; border-bottom: 1px solid #f0e8df; color: #444; }
.entry-content tr:nth-child(even) td { background: #fdf6ef; }
.entry-content hr { border: none; border-top: 2px solid #f0e8df; margin: 32px 0; }
.entry-content .post-toc,
.entry-content .advice-highlight,
.entry-content .advice-note-box,
.entry-content .advice-consult-box,
.entry-content .post-cta {
    position: relative;
    overflow: hidden;
    border: 1px solid #efd9c8;
    border-radius: 18px;
    background: linear-gradient(145deg, #fffaf5, #fff);
    box-shadow: 0 14px 38px rgba(67,38,20,.06);
    padding: 20px 22px;
    margin: 26px 0;
}
.entry-content .post-toc strong,
.entry-content .advice-highlight strong {
    display: block;
    margin-bottom: 10px;
    color: var(--dark);
    font-size: 15px;
    font-weight: 900;
}
.entry-content .post-toc ol,
.entry-content .advice-highlight ul {
    margin: 0;
    padding-left: 20px;
}
.entry-content .post-toc li,
.entry-content .advice-highlight li {
    margin-bottom: 7px;
    color: #4b5563;
    font-size: 14.5px;
    line-height: 1.65;
}
.entry-content .advice-note-box {
    border-left: 5px solid #d69b36;
    background: linear-gradient(145deg, #fff8e8, #fff);
}
.entry-content .advice-consult-box {
    border-left: 5px solid var(--clay);
    background: linear-gradient(145deg, #fff2ea, #fff);
}
.entry-content .advice-note-box h3,
.entry-content .advice-consult-box h3,
.entry-content .post-cta h2 {
    margin-top: 0;
    letter-spacing: 0;
}
.entry-content .post-faq {
    display: grid;
    gap: 12px;
    margin: 18px 0 26px;
}
.entry-content .post-faq h3 {
    margin: 0;
    border-top: 1px solid #f0e2d6;
    padding-top: 14px;
    font-size: 17px;
}
.entry-content .post-faq p {
    margin-bottom: 0;
}
.entry-content .advice-related-note {
    margin: 28px 0;
    padding: 24px 26px;
    border: 1px solid #ead6c4;
    border-radius: 18px;
    background: #fffaf6;
}
.entry-content .advice-related-note p {
    margin-bottom: 10px;
}
.entry-content .advice-related-note p:last-child {
    margin-bottom: 0;
}
.entry-content .post-cta {
    background:
        radial-gradient(circle at 90% 10%, rgba(255,179,107,.18), transparent 34%),
        linear-gradient(135deg, #24140e, #7b2417);
    color: #fff;
}
.entry-content .post-cta h2,
.entry-content .post-cta p {
    color: #fff;
}
.entry-content .post-cta .btn {
    margin: 8px 8px 0 0;
    text-decoration: none;
}
.entry-content .post-cta .btn-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #e43d22, #c92f18);
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.entry-content .post-cta .btn-outline {
    color: #fff !important;
    border-color: rgba(255,255,255,.58);
}
.entry-content .post-cta .btn-primary:hover,
.entry-content .post-cta .btn-outline:hover {
    color: #fff !important;
}

.single-post__tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 20px 0 24px;
    border-top: 1px solid #f5ede4;
    margin-top: 8px;
}
.single-post__tags-label { font-size: 13px; font-weight: 700; color: var(--muted); }
.tag-pill {
    font-size: 12px;
    font-weight: 600;
    color: var(--clay);
    background: #fdf0e8;
    border-radius: 20px;
    padding: 4px 12px;
    text-decoration: none;
    transition: background .2s;
}
.tag-pill:hover { background: #f5dcc8; }

.single-post__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 20px 0 28px;
    border-top: 1px solid #f5ede4;
}
.post-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 18px;
    background: #fdf6ef;
    border-radius: 12px;
    text-decoration: none;
    transition: background .2s;
}
.post-nav:hover { background: #f5e8d5; }
.post-nav--next { text-align: right; }
.post-nav__label { font-size: 11px; font-weight: 700; color: var(--clay); text-transform: uppercase; letter-spacing: .08em; }
.post-nav__title { font-size: 13px; font-weight: 600; color: var(--dark); line-height: 1.4; }

/* Related posts */
.related-posts {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 32px;
}
.related-posts__title {
    font-size: 18px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid #f0e8df;
}
.related-posts__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.related-post-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #f0e8df;
    transition: box-shadow .2s, border-color .2s;
}
.related-post-card:hover { box-shadow: 0 6px 24px rgba(193,50,25,.12); border-color: #e8c9b0; }
.related-post-card__img { aspect-ratio: 16/9; overflow: hidden; background: #f0e8df; }
.related-post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.related-post-card:hover .related-post-card__img img { transform: scale(1.04); }
.related-post-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #f0ddcc, #e8c9b0); }
.related-post-card__body { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.related-post-card__cat { font-size: 11px; font-weight: 700; color: var(--clay); text-transform: uppercase; letter-spacing: .08em; }
.related-post-card__title { font-size: 14px; font-weight: 700; color: var(--dark); line-height: 1.4; margin: 0; }
.related-post-card__date { font-size: 12px; color: var(--muted); margin-top: auto; }

/* Sidebar category list */
.sidebar-cat-list { display: flex; flex-direction: column; gap: 4px; }
.sidebar-cat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 12px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
    text-decoration: none;
    transition: background .2s, color .2s;
}
.sidebar-cat-item span {
    font-size: 12px;
    color: var(--muted);
    background: #f5ede4;
    border-radius: 12px;
    padding: 2px 9px;
    font-weight: 600;
}
.sidebar-cat-item:hover { background: #fdf0e8; color: var(--clay); }
.sidebar-cat-item.active { background: var(--clay); color: #fff; }
.sidebar-cat-item.active span { background: rgba(255,255,255,.25); color: #fff; }

/* Hide unwanted default WP widgets in blog sidebar */
.blog-sidebar .widget_search,
.blog-sidebar .widget_recent_entries,
.blog-sidebar .widget_recent_comments,
.blog-sidebar .widget_meta,
.blog-sidebar .widget_archives,
.blog-sidebar .widget_categories { display: none !important; }

/* ==============================================
   STATIC PAGE HERO (shared across all page templates)
   ============================================== */
.static-page-hero {
    padding: 72px 0 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.static-page-hero--about {
    background: linear-gradient(135deg, #fdf6ef 0%, #f5e6d5 60%, #efe0cc 100%);
}
.static-page-hero--dealer {
    background: linear-gradient(135deg, #8B1F10 0%, #C13219 55%, #E54530 100%);
}
.static-page-hero--dealer .sph-eyebrow { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.static-page-hero--dealer .sph-title,
.static-page-hero--dealer .sph-lead { color: #fff; }
.static-page-hero--policy {
    background: linear-gradient(135deg, #f5f5f5 0%, #ede8e3 100%);
}
.static-page-hero--guide {
    background: linear-gradient(135deg, #1a3a2e 0%, #2d6a4f 55%, #52b788 100%);
}
.static-page-hero--guide .sph-eyebrow { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.static-page-hero--guide .sph-title,
.static-page-hero--guide .sph-lead { color: #fff; }
.sph-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--clay);
    border: 1.5px solid var(--clay);
    border-radius: 20px;
    padding: 5px 16px;
    margin-bottom: 20px;
}
.sph-title {
    font-size: clamp(26px, 4vw, 42px);
    font-weight: 900;
    color: var(--dark);
    line-height: 1.2;
    margin: 0 auto 20px;
    max-width: 760px;
}
.sph-lead {
    font-size: 17px;
    color: var(--muted);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.7;
}

/* ==============================================
   ABOUT PAGE
   ============================================== */
.about-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 32px rgba(0,0,0,.07);
    overflow: hidden;
    margin: 40px 0 60px;
}
.about-stat {
    flex: 1 1 140px;
    padding: 28px 20px;
    text-align: center;
    border-right: 1px solid #f0e8df;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
}
.about-stat:last-child { border-right: none; }
.about-stat__num {
    font-size: 32px;
    font-weight: 900;
    color: var(--clay);
    line-height: 1;
}
.about-stat__label {
    font-size: 13px;
    color: var(--muted);
    font-weight: 500;
}

.about-section {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: center;
    padding: 48px 0;
    border-top: 1px solid #f0e8df;
}
.about-section__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--clay);
    margin-bottom: 12px;
}
.about-section__content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 16px;
}
.about-section__content p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--muted);
    margin-bottom: 14px;
}
.about-section__visual {
    border-radius: 20px;
    height: 300px;
    background: linear-gradient(135deg, #f0ddcc 0%, #e8c9b0 100%);
}
.about-section__visual--story {
    background: linear-gradient(135deg, #e8c9b0 0%, #c97b4b 100%);
}

.about-values { padding: 60px 0; border-top: 1px solid #f0e8df; }
.about-values__head {
    text-align: center;
    margin-bottom: 40px;
}
.about-values__head h2 { font-size: 28px; font-weight: 800; color: var(--dark); margin: 8px 0 0; }
.about-values__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.about-value-card {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 18px;
    padding: 28px 24px;
    transition: box-shadow .2s, border-color .2s;
}
.about-value-card:hover { box-shadow: 0 8px 32px rgba(193,50,25,.10); border-color: #e8c9b0; }
.about-value-card__icon { font-size: 28px; margin-bottom: 14px; }
.about-value-card h3 { font-size: 16px; font-weight: 700; color: var(--dark); margin: 0 0 10px; }
.about-value-card p { font-size: 14px; line-height: 1.75; color: var(--muted); margin: 0; }

.about-area {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 60px;
    align-items: start;
    padding: 60px 0;
    border-top: 1px solid #f0e8df;
}
.about-area__text h2 { font-size: 26px; font-weight: 800; color: var(--dark); margin: 8px 0 14px; }
.about-area__text p { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 12px; }
.about-area__list { list-style: none; padding: 0; margin: 0 0 4px; }
.about-area__list li {
    font-size: 14px;
    color: var(--dark);
    padding: 8px 0;
    border-bottom: 1px solid #f5ede4;
    display: flex;
    align-items: center;
    gap: 10px;
}
.about-area__list li::before { content: '→'; color: var(--clay); font-weight: 700; flex-shrink: 0; }
.about-map-placeholder {
    background: linear-gradient(135deg, #f0ddcc 0%, #e8c9b0 100%);
    border-radius: 20px;
    height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    padding: 24px;
}
.about-map-placeholder span { font-size: 40px; }
.about-map-placeholder p { font-size: 15px; font-weight: 700; color: var(--dark); margin: 0; }
.about-map-placeholder small { font-size: 13px; color: var(--muted); }

.about-cta {
    background: linear-gradient(120deg, #8B1F10 0%, #C13219 55%, #E54530 100%);
    border-radius: 24px;
    padding: 48px 40px;
    text-align: center;
    margin: 0 0 60px;
    color: #fff;
}
.about-cta h2 { font-size: 26px; font-weight: 800; color: #fff; margin: 0 0 12px; }
.about-cta p { font-size: 16px; color: rgba(255,255,255,.85); margin: 0 0 28px; line-height: 1.7; }
.about-cta__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.about-cta .btn-outline-clay {
    border-color: rgba(255,255,255,.6) !important;
    color: #fff !important;
}
.about-cta .btn-outline-clay:hover {
    background: rgba(255,255,255,.15) !important;
}

/* ==============================================
   CONTACT PAGE
   ============================================== */
.contact-page-hero {
    text-align: center;
    padding: 48px 0 36px;
}
.contact-page-hero h1 { font-size: clamp(24px, 3.5vw, 36px); font-weight: 900; color: var(--dark); margin: 0 0 12px; }
.contact-page-hero p { font-size: 16px; color: var(--muted); max-width: 560px; margin: 0 auto; line-height: 1.7; }

.contact-page-grid {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 40px;
    align-items: start;
    padding-bottom: 60px;
}
.contact-info-card {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 20px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.contact-info-block {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 0;
    border-bottom: 1px solid #f5ede4;
}
.contact-info-block:last-child { border-bottom: none; }
.contact-info-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.contact-info-block strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
.contact-info-main {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--dark);
    text-decoration: none;
    margin-bottom: 4px;
}
a.contact-info-main:hover { color: var(--clay); }
.contact-info-block small { font-size: 12px; color: var(--muted); }

.contact-quick-links {
    background: #fdf6ef;
    border-radius: 16px;
    padding: 20px;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contact-quick-links__label { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px; }
.contact-quick-links a {
    font-size: 14px;
    font-weight: 600;
    color: var(--clay);
    text-decoration: none;
    transition: opacity .2s;
}
.contact-quick-links a:hover { opacity: .75; }

.contact-form-wrapper {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 20px;
    padding: 36px 32px;
}
.contact-form-wrapper h2 { font-size: 22px; font-weight: 800; color: var(--dark); margin: 0 0 8px; }
.contact-form-wrapper > p { font-size: 14px; color: var(--muted); margin: 0 0 24px; line-height: 1.6; }

/* ==============================================
   DEALER PAGE
   ============================================== */
.dealer-section { padding: 60px 0 0; }
.section-head { display: flex; align-items: flex-start; margin-bottom: 40px; }
.section-head h2 { font-size: 26px; font-weight: 800; color: var(--dark); margin: 0 0 8px; }
.section-head p { font-size: 15px; color: var(--muted); margin: 0; }

.dealer-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}
.dealer-benefit {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 18px;
    padding: 28px 24px;
    transition: box-shadow .2s, border-color .2s;
}
.dealer-benefit:hover { box-shadow: 0 8px 32px rgba(193,50,25,.10); border-color: #e8c9b0; }
.dealer-benefit__num {
    font-size: 36px;
    font-weight: 900;
    color: #f0ddcc;
    line-height: 1;
    margin-bottom: 14px;
    font-family: inherit;
}
.dealer-benefit h3 { font-size: 16px; font-weight: 700; color: var(--dark); margin: 0 0 10px; }
.dealer-benefit p { font-size: 14px; line-height: 1.75; color: var(--muted); margin: 0; }

.dealer-who {
    background: #fdf6ef;
    border-radius: 24px;
    padding: 48px 40px;
    margin-bottom: 48px;
}
.dealer-who h2 { font-size: 24px; font-weight: 800; color: var(--dark); margin: 0 0 28px; }
.dealer-who__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.dealer-who__card {
    background: #fff;
    border-radius: 16px;
    padding: 22px 18px;
    text-align: center;
    border: 1px solid #f0e8df;
    transition: box-shadow .2s;
}
.dealer-who__card:hover { box-shadow: 0 6px 24px rgba(193,50,25,.10); }
.dealer-who__card span { font-size: 30px; display: block; margin-bottom: 10px; }
.dealer-who__card strong { display: block; font-size: 14px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
.dealer-who__card p { font-size: 13px; color: var(--muted); line-height: 1.6; margin: 0; }

.dealer-requirements {
    padding: 40px 0;
    border-top: 1px solid #f0e8df;
    margin-bottom: 48px;
}
.dealer-requirements h2 { font-size: 22px; font-weight: 800; color: var(--dark); margin: 0 0 20px; }
.dealer-req-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.dealer-req-list li {
    font-size: 15px;
    color: var(--dark);
    padding: 14px 18px 14px 46px;
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 12px;
    position: relative;
    line-height: 1.5;
}
.dealer-req-list li::before {
    content: '✓';
    position: absolute;
    left: 16px;
    top: 14px;
    color: #2d9f5d;
    font-weight: 800;
    font-size: 15px;
}

.dealer-cta-section {
    background: linear-gradient(135deg, #fdf6ef 0%, #f5e8d5 100%);
    border-radius: 24px;
    padding: 48px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 60px;
}
.dealer-cta-text h2 { font-size: 24px; font-weight: 800; color: var(--dark); margin: 0 0 14px; }
.dealer-cta-text p { font-size: 15px; color: var(--muted); line-height: 1.7; margin-bottom: 10px; }
.dealer-cta-text a { color: var(--clay); font-weight: 700; }

/* ==============================================
   POLICY PAGES (Privacy + Terms)
   ============================================== */
.policy-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding: 18px 0 56px;
}
.policy-toc { position: sticky; top: 100px; }
.policy-toc__inner {
    border: 1px solid #efd9c8;
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 8%, rgba(193,50,25,.1), transparent 34%),
        linear-gradient(145deg, #fffaf5, #fff3ea);
    box-shadow: 0 18px 42px rgba(67,38,20,.07);
    padding: 20px;
}
.policy-toc__inner strong { display: block; font-size: 13px; font-weight: 900; color: var(--dark); margin-bottom: 14px; text-transform: uppercase; letter-spacing: .06em; }
.policy-toc ol { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; counter-reset: policy-toc; list-style: none; }
.policy-toc ol li { counter-increment: policy-toc; font-size: 13px; }
.policy-toc a {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 8px;
    align-items: center;
    border-radius: 12px;
    color: #6a3b2c;
    padding: 8px 9px;
    text-decoration: none;
    font-weight: 750;
    transition: background .2s, color .2s, transform .2s;
}
.policy-toc a::before {
    content: counter(policy-toc, decimal-leading-zero);
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(193,50,25,.08);
    color: var(--clay);
    font-size: 10px;
    font-weight: 900;
}
.policy-toc a:hover {
    background: #fff;
    color: var(--clay);
    transform: translateX(2px);
}

.policy-updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    border: 1px solid #efd9c8;
    border-radius: 999px;
    background: #fff8f1;
    color: #7a4a38;
    font-size: 12px;
    font-weight: 800;
    margin: 0 0 14px;
    padding: 8px 13px;
}
.policy-content {
    display: grid;
    gap: 14px;
}
.policy-section {
    position: relative;
    overflow: hidden;
    border: 1px solid #f0ded0;
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255,249,244,.84), rgba(255,255,255,.98)),
        #fff;
    box-shadow: 0 16px 44px rgba(67,38,20,.055);
    padding: 22px 24px;
}
.policy-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--clay), #e4a23f);
    opacity: .88;
}
.policy-section h2 { font-size: 21px; font-weight: 900; color: var(--dark); margin: 0 0 12px; letter-spacing: 0; }
.policy-section p { font-size: 15px; line-height: 1.68; color: #3f4650; margin-bottom: 10px; }
.policy-section ul, .policy-section ol { margin: 0 0 12px; padding: 0; list-style: none; }
.policy-section li {
    position: relative;
    font-size: 15px;
    line-height: 1.62;
    color: #3f4650;
    margin-bottom: 8px;
    padding-left: 22px;
}
.policy-section li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--clay);
    box-shadow: 0 0 0 4px rgba(193,50,25,.08);
}
.policy-section a { color: var(--clay); font-weight: 600; }

.policy-purpose-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 12px 0 10px;
}
.policy-purpose-item {
    border: 1px solid #f0ded0;
    background: #fff8f1;
    border-radius: 14px;
    padding: 14px 16px;
}
.policy-purpose-item strong { display: block; font-size: 14px; font-weight: 900; color: var(--dark); margin-bottom: 5px; }
.policy-purpose-item p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.55; }

.policy-rights-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 12px 0 0;
}
.policy-right {
    background: #fff;
    border: 1px solid #f0ded0;
    border-radius: 14px;
    padding: 14px 16px;
}
.policy-right strong { display: block; font-size: 14px; font-weight: 900; color: var(--dark); margin-bottom: 5px; }
.policy-right p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.55; }

.policy-steps { margin: 0 0 16px; padding-left: 20px; }
.policy-steps li { font-size: 14.5px; color: #444; line-height: 1.7; margin-bottom: 8px; }

.policy-contact-box {
    background: linear-gradient(135deg, #fff6ed, #fff);
    border: 1px solid #f0ded0;
    border-left: 5px solid var(--clay);
    border-radius: 16px;
    padding: 18px 20px;
    margin-top: 10px;
}
.policy-contact-box strong { display: block; font-size: 16px; font-weight: 900; color: var(--dark); margin-bottom: 10px; }
.policy-contact-box p { font-size: 14px; color: #444; margin: 0 0 6px; }
.policy-contact-box a { color: var(--clay); font-weight: 600; text-decoration: none; }

.policy-layout--terms {
    grid-template-columns: 260px minmax(0, 1fr);
}
.policy-content--terms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.policy-content--terms .policy-updated,
.policy-content--terms .terms-summary,
.policy-content--terms #dieu1,
.policy-content--terms #dieu4,
.policy-content--terms #dieu10 {
    grid-column: 1 / -1;
}
.terms-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.terms-summary__item {
    position: relative;
    overflow: hidden;
    min-height: 118px;
    border: 1px solid #f0ded0;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(193,50,25,.13), transparent 36%),
        linear-gradient(145deg, #fff8f1, #fff);
    box-shadow: 0 14px 36px rgba(67,38,20,.055);
    padding: 18px;
}
.terms-summary__item::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, var(--clay), #d69b36);
    opacity: .72;
}
.terms-summary__item strong {
    display: block;
    margin-bottom: 8px;
    color: var(--dark);
    font-size: 15px;
    font-weight: 900;
}
.terms-summary__item span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
}
.policy-content--terms .policy-section {
    min-height: 100%;
}
.policy-content--terms .policy-section h2 {
    font-size: 19px;
}
.policy-content--terms #dieu2,
.policy-content--terms #dieu3,
.policy-content--terms #dieu5,
.policy-content--terms #dieu6,
.policy-content--terms #dieu7,
.policy-content--terms #dieu8,
.policy-content--terms #dieu9 {
    padding: 20px 22px;
}

/* ==============================================
   GUIDE PAGE (Tư vấn chọn ngói)
   ============================================== */
.guide-steps-section { padding: 48px 0; }
.guide-steps-head { text-align: center; margin-bottom: 40px; }
.guide-steps-head h2 { font-size: 28px; font-weight: 800; color: var(--dark); margin: 0 0 8px; }
.guide-steps-head p { font-size: 15px; color: var(--muted); margin: 0; }

.guide-steps { display: flex; flex-direction: column; gap: 32px; }
.guide-step {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 28px;
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 20px;
    padding: 32px 28px;
    align-items: start;
    transition: box-shadow .2s;
}
.guide-step:hover { box-shadow: 0 8px 32px rgba(193,50,25,.09); }
.guide-step__num {
    font-size: 48px;
    font-weight: 900;
    color: #f0ddcc;
    line-height: 1;
    text-align: center;
}
.guide-step__body h3 { font-size: 18px; font-weight: 800; color: var(--dark); margin: 0 0 12px; }
.guide-step__body p { font-size: 14.5px; line-height: 1.8; color: var(--muted); margin-bottom: 12px; }
.guide-step__body ul { margin: 0 0 12px; padding-left: 18px; }
.guide-step__body li { font-size: 14px; color: #444; line-height: 1.75; margin-bottom: 6px; }
.guide-step__body a { color: var(--clay); font-weight: 600; }

.guide-step__table {
    margin-top: 16px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #f0e8df;
}
.gst-row {
    display: grid;
    grid-template-columns: 140px 1fr 1fr;
    gap: 0;
    border-bottom: 1px solid #f0e8df;
}
.gst-row:last-child { border-bottom: none; }
.gst-row span {
    padding: 10px 14px;
    font-size: 13px;
    color: #444;
    border-right: 1px solid #f0e8df;
    line-height: 1.5;
}
.gst-row span:last-child { border-right: none; }
.gst-row--head { background: var(--clay); }
.gst-row--head span { color: #fff; font-weight: 700; }

.guide-formula {
    background: #fdf6ef;
    border-radius: 14px;
    padding: 20px 24px;
    margin: 14px 0 14px;
}
.guide-formula__eq {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.guide-formula__label { font-weight: 700; color: var(--dark); font-size: 14px; }
.guide-formula__sign { font-size: 18px; font-weight: 900; color: var(--clay); }
.guide-formula__val { font-size: 14px; color: var(--clay); font-weight: 700; }
.guide-formula__note { font-size: 12px; color: var(--muted); margin: 0; }

.guide-style-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 14px;
}
.guide-style-card {
    background: #fdf6ef;
    border-radius: 12px;
    padding: 16px 18px;
}
.guide-style-card strong { display: block; font-size: 13px; font-weight: 700; color: var(--dark); margin-bottom: 6px; }
.guide-style-card p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.6; }

.guide-compare-section { padding: 60px 0; border-top: 1px solid #f0e8df; }
.guide-compare-section h2 { font-size: 26px; font-weight: 800; color: var(--dark); margin: 0 0 28px; text-align: center; }
.guide-compare-table-wrap { overflow-x: auto; }
.guide-compare-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.guide-compare-table thead { background: linear-gradient(90deg, #8B1F10, #C13219); }
.guide-compare-table thead th {
    padding: 14px 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
}
.guide-compare-table tbody tr { background: #fff; border-bottom: 1px solid #f0e8df; }
.guide-compare-table tbody tr:nth-child(even) { background: #fdf6ef; }
.guide-compare-table tbody td {
    padding: 12px 16px;
    font-size: 13.5px;
    color: #444;
    vertical-align: top;
    line-height: 1.5;
}
.guide-compare-table tbody td:first-child { font-weight: 700; color: var(--dark); }
.guide-td--good { color: #1e7e44 !important; font-weight: 600 !important; }
.guide-td--mid { color: #856404 !important; }
.guide-td--warn { color: #721c24 !important; }

.guide-faq-section { padding: 60px 0; border-top: 1px solid #f0e8df; }
.guide-faq-section h2 { font-size: 26px; font-weight: 800; color: var(--dark); margin: 0 0 28px; text-align: center; }

.guide-cta {
    background: linear-gradient(120deg, #1a3a2e 0%, #2d6a4f 60%, #52b788 100%);
    border-radius: 24px;
    padding: 48px 40px;
    margin: 0 0 60px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
}
.guide-cta__text h2 { font-size: 24px; font-weight: 800; color: #fff; margin: 0 0 10px; }
.guide-cta__text p { font-size: 15px; color: rgba(255,255,255,.85); margin: 0; line-height: 1.7; }
.guide-cta__actions { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.guide-cta .btn-outline-clay {
    border-color: rgba(255,255,255,.6) !important;
    color: #fff !important;
}
.guide-cta .btn-outline-clay:hover { background: rgba(255,255,255,.15) !important; }

/* ==============================================
   FAQ PAGE
   ============================================== */
.static-page-hero--faq {
    background: linear-gradient(135deg, #1a2f5a 0%, #2c4a8e 55%, #4a6fc4 100%);
}
.static-page-hero--faq .sph-eyebrow { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.static-page-hero--faq .sph-title,
.static-page-hero--faq .sph-lead { color: #fff; }

.faq-page-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 36px 0 32px;
}
.faq-tab {
    padding: 9px 22px;
    border-radius: 24px;
    border: 1.5px solid #e8d5c4;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
    font-family: inherit;
    transition: all .2s;
}
.faq-tab:hover { border-color: var(--clay); color: var(--clay); }
.faq-tab.active { background: var(--clay); border-color: var(--clay); color: #fff; }

.faq-page-group { margin-bottom: 48px; }
.faq-page-group .faq-list { display: flex; flex-direction: column; gap: 10px; }

.faq-page-cta {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    background: #fdf6ef;
    border-radius: 20px;
    padding: 36px 32px;
    margin: 48px 0 60px;
}
.faq-page-cta__icon { font-size: 40px; flex-shrink: 0; }
.faq-page-cta h2 { font-size: 22px; font-weight: 800; color: var(--dark); margin: 0 0 8px; }
.faq-page-cta p { font-size: 15px; color: var(--muted); margin: 0 0 20px; }
.faq-page-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ==============================================
   SHIPPING POLICY PAGE
   ============================================== */
.static-page-hero--shipping {
    background: linear-gradient(135deg, #0d3d2b 0%, #1a6644 55%, #2d9f6a 100%);
}
.static-page-hero--shipping .sph-eyebrow { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.static-page-hero--shipping .sph-title,
.static-page-hero--shipping .sph-lead { color: #fff; }

.shipping-section-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 28px;
    padding-top: 48px;
    border-top: 1px solid #f0e8df;
}
.shipping-zones { padding-bottom: 0; }
.shipping-zones .shipping-section-title { border-top: none; padding-top: 36px; }

.shipping-zone-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 48px;
}
.shipping-zone-card {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 18px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .2s;
}
.shipping-zone-card--primary {
    background: linear-gradient(135deg, #fdf6ef, #f5e8d5);
    border-color: #e8c9b0;
}
.shipping-zone-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.shipping-zone-card__icon { font-size: 28px; }
.shipping-zone-card__body strong { display: block; font-size: 15px; font-weight: 700; color: var(--dark); margin-bottom: 3px; }
.shipping-zone-card__body p { font-size: 13px; color: var(--muted); margin: 0 0 8px; line-height: 1.5; }
.shipping-zone-card__time { display: inline-block; background: var(--clay); color: #fff; font-size: 13px; font-weight: 700; padding: 4px 14px; border-radius: 20px; }
.shipping-zone-card small { font-size: 12px; color: var(--muted); }

.shipping-cost-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 32px;
    align-items: start;
    margin-bottom: 8px;
}
.shipping-cost-content p { font-size: 14.5px; line-height: 1.8; color: var(--muted); margin-bottom: 16px; }
.shipping-cost-table {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #f0e8df;
}
.sct-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 1px solid #f0e8df;
}
.sct-row:last-child { border-bottom: none; }
.sct-row span { padding: 11px 14px; font-size: 13px; color: #444; border-right: 1px solid #f0e8df; }
.sct-row span:last-child { border-right: none; }
.sct-row--head { background: var(--clay); }
.sct-row--head span { color: #fff; font-weight: 700; }

.shipping-note-card {
    background: #fdf6ef;
    border-radius: 16px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.shipping-note-card__icon { font-size: 28px; }
.shipping-note-card strong { font-size: 15px; font-weight: 700; color: var(--dark); }
.shipping-note-card ul { padding-left: 16px; margin: 0; }
.shipping-note-card li { font-size: 13px; color: var(--muted); line-height: 1.7; margin-bottom: 4px; }

.shipping-process-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #f0e8df;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 8px;
}
.shipping-process-step {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 20px;
    align-items: start;
    padding: 22px 24px;
    border-bottom: 1px solid #f0e8df;
    background: #fff;
    transition: background .2s;
}
.shipping-process-step:last-child { border-bottom: none; }
.shipping-process-step:hover { background: #fdf6ef; }
.sps-num {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--clay);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.sps-body strong { display: block; font-size: 15px; font-weight: 700; color: var(--dark); margin-bottom: 4px; }
.sps-body p { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.7; }

.shipping-notes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 8px;
}
.shipping-note-item {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 16px;
    padding: 22px 20px;
}
.shipping-note-item strong { display: block; font-size: 15px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
.shipping-note-item p { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.7; }

.shipping-cta {
    text-align: center;
    padding: 48px 40px;
    background: linear-gradient(135deg, #0d3d2b 0%, #1a6644 60%, #2d9f6a 100%);
    border-radius: 24px;
    margin: 48px 0 60px;
    color: #fff;
}
.shipping-cta h2 { font-size: 24px; font-weight: 800; color: #fff; margin: 0 0 10px; }
.shipping-cta p { font-size: 15px; color: rgba(255,255,255,.85); margin: 0 0 24px; }
.shipping-cta__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.shipping-cta .btn-outline-clay { border-color: rgba(255,255,255,.6) !important; color: #fff !important; }
.shipping-cta .btn-outline-clay:hover { background: rgba(255,255,255,.15) !important; }
.shipping-cta__links { font-size: 13px; color: rgba(255,255,255,.7); margin: 0; }
.shipping-cta__links a { color: rgba(255,255,255,.9); text-decoration: underline; }

/* ==============================================
   WAREHOUSE ARCHIVE
   ============================================== */
.warehouse-archive-hero {
    position: relative;
    overflow: hidden;
    padding: 38px 0 42px;
    background:
        radial-gradient(circle at 12% 16%, rgba(193,50,25,.14), transparent 34%),
        radial-gradient(circle at 88% 6%, rgba(214,155,54,.16), transparent 28%),
        linear-gradient(180deg, #fff7ef 0%, #fff 100%);
    border-bottom: 1px solid #f0dfd1;
}
.warehouse-archive-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(135deg, rgba(193,50,25,.045) 0 1px, transparent 1px 22px);
}
.warehouse-archive-hero .container {
    position: relative;
    z-index: 1;
}
.warehouse-archive-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 32px;
    align-items: stretch;
    margin-top: 18px;
}
.warehouse-archive-hero__content {
    max-width: 780px;
}
.warehouse-archive-hero__eyebrow {
    display: inline-flex;
    margin-bottom: 14px;
    border: 1px solid #f0d6c5;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--clay);
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.warehouse-archive-hero h1 {
    max-width: 740px;
    margin-bottom: 16px;
    color: #141b22;
    font-size: clamp(36px, 4.6vw, 62px);
    line-height: 1.04;
    letter-spacing: 0;
}
.warehouse-archive-hero p {
    max-width: 690px;
    color: #5d6674;
    font-size: 17px;
    line-height: 1.78;
}
.warehouse-archive-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.warehouse-archive-panel {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 26px;
    background:
        linear-gradient(145deg, rgba(36,20,14,.94), rgba(116,37,22,.9)),
        #21140f;
    color: #fff;
    box-shadow: 0 28px 80px rgba(67,38,20,.18);
    padding: 28px;
}
.warehouse-archive-panel::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -60px;
    top: -60px;
    border-radius: 50%;
    background: rgba(255,179,107,.18);
}
.warehouse-archive-panel__top,
.warehouse-archive-panel__list {
    position: relative;
    z-index: 1;
}
.warehouse-archive-panel__top span {
    display: block;
    margin-bottom: 6px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.warehouse-archive-panel__top strong {
    display: block;
    color: #ffb36b;
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
}
.warehouse-archive-panel__list {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}
.warehouse-archive-panel__list span {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.065);
    padding: 11px 12px;
    color: #f4dfd1;
    font-size: 13px;
    font-weight: 750;
}
.warehouse-archive-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px;
}
.warehouse-archive-stats div {
    border: 1px solid #efd9c8;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 12px 36px rgba(67,38,20,.06);
    padding: 18px;
}
.warehouse-archive-stats strong {
    display: block;
    color: var(--clay);
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 8px;
}
.warehouse-archive-stats span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}
.warehouse-archive-main {
    padding: 48px 0 72px;
    background: #fff;
}
.warehouse-archive-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}
.warehouse-archive-head span {
    display: block;
    margin-bottom: 5px;
    color: var(--clay);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.warehouse-archive-head h2 {
    font-size: clamp(26px, 3vw, 38px);
    letter-spacing: 0;
}
.warehouse-archive-head p {
    max-width: 520px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}
.warehouse-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.warehouse-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid #eedccc;
    border-radius: 22px;
    background:
        linear-gradient(180deg, #fffaf5 0%, #fff 46%),
        #fff;
    box-shadow: 0 18px 50px rgba(67,38,20,.065);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.warehouse-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, var(--clay), #d69b36);
}
.warehouse-card:hover {
    transform: translateY(-4px);
    border-color: #e9c7b0;
    box-shadow: 0 26px 68px rgba(67,38,20,.11);
}
.warehouse-card__header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 24px 22px 14px;
}
.warehouse-card__province {
    display: inline-flex;
    margin-bottom: 8px;
    border-radius: 999px;
    background: #fff0e8;
    color: var(--clay);
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 900;
}
.warehouse-card__title {
    margin: 0;
    color: #141b22;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0;
}
.warehouse-card__status {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #e8f7ef;
    color: #27744f;
    padding: 6px 9px;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}
.warehouse-card__body {
    display: grid;
    gap: 11px;
    padding: 0 22px 18px;
}
.warehouse-card__row {
    border-top: 1px solid #f3e6da;
    padding-top: 11px;
}
.warehouse-card__row span {
    display: block;
    margin-bottom: 3px;
    color: #8a5a46;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.warehouse-card__row p {
    color: #4f5965;
    font-size: 13.5px;
    font-weight: 650;
    line-height: 1.58;
}
.warehouse-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.warehouse-card__meta span {
    border-radius: 999px;
    background: #f7f2ee;
    color: #6b5c54;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 850;
}
.warehouse-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    border-top: 1px solid #f3e6da;
    background: #fff8f1;
    padding: 16px 22px;
}
.warehouse-card__phone {
    color: var(--clay);
    font-size: 14px;
    font-weight: 900;
}

/* ==============================================
   WAREHOUSE PAGE
   ============================================== */
.static-page-hero--warehouse {
    background: linear-gradient(135deg, #2c2415 0%, #5a4420 55%, #8b6914 100%);
}
.static-page-hero--warehouse .sph-eyebrow { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.static-page-hero--warehouse .sph-title,
.static-page-hero--warehouse .sph-lead { color: #fff; }

.warehouse-stats {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 32px rgba(0,0,0,.07);
    overflow: hidden;
    margin: 40px 0 0;
}
.warehouse-stat {
    flex: 1 1 140px;
    padding: 28px 20px;
    text-align: center;
    border-right: 1px solid #f0e8df;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
}
.warehouse-stat:last-child { border-right: none; }
.warehouse-stat__num { font-size: 32px; font-weight: 900; color: var(--clay); line-height: 1; }
.warehouse-stat__label { font-size: 13px; color: var(--muted); font-weight: 500; }

.warehouse-intro {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 60px;
    align-items: center;
    padding: 60px 0 48px;
    border-top: 1px solid #f0e8df;
    margin-top: 48px;
}
.warehouse-intro__text h2 { font-size: 26px; font-weight: 800; color: var(--dark); margin: 8px 0 16px; }
.warehouse-intro__text p { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 12px; }
.warehouse-intro__visual {
    height: 280px;
    border-radius: 20px;
    background: linear-gradient(135deg, #e8c9b0, #c97b4b);
}

.warehouse-stock-section { padding-bottom: 48px; border-top: 1px solid #f0e8df; }
.warehouse-stock-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 16px;
}
.warehouse-stock-item {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 16px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.warehouse-stock-item__brand { font-size: 16px; font-weight: 800; color: var(--dark); }
.warehouse-stock-item ul { list-style: none; padding: 0; margin: 0; flex: 1; }
.warehouse-stock-item li { font-size: 13px; color: var(--muted); padding: 5px 0; border-bottom: 1px solid #f5ede4; line-height: 1.5; }
.warehouse-stock-item li:last-child { border-bottom: none; }
.warehouse-stock-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 14px; border-radius: 20px; }
.warehouse-stock-badge--in { background: #d4edda; color: #155724; }
.warehouse-stock-badge--order { background: #fff3cd; color: #856404; }
.warehouse-stock-note { font-size: 13px; color: var(--muted); font-style: italic; margin: 0; }

.warehouse-mgmt-section { padding: 0 0 48px; border-top: 1px solid #f0e8df; }
.warehouse-mgmt-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.warehouse-mgmt-step {
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 16px;
    padding: 24px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    transition: box-shadow .2s;
}
.warehouse-mgmt-step:hover { box-shadow: 0 6px 24px rgba(193,50,25,.10); }
.wms-icon { font-size: 32px; }
.warehouse-mgmt-step strong { font-size: 15px; font-weight: 700; color: var(--dark); }
.warehouse-mgmt-step p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.6; }

.warehouse-visit {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 60px;
    align-items: start;
    padding: 48px 0;
    border-top: 1px solid #f0e8df;
}
.warehouse-visit__text h2 { font-size: 24px; font-weight: 800; color: var(--dark); margin: 8px 0 14px; }
.warehouse-visit__text p { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 12px; }

.warehouse-quicklinks { padding: 0 0 60px; border-top: 1px solid #f0e8df; }
.warehouse-quicklinks h2 { font-size: 24px; font-weight: 800; color: var(--dark); margin: 48px 0 24px; }
.warehouse-ql-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.warehouse-ql-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
    border: 1px solid #f0e8df;
    border-radius: 16px;
    padding: 22px 18px;
    text-decoration: none;
    transition: box-shadow .2s, border-color .2s;
}
.warehouse-ql-card:hover { box-shadow: 0 6px 24px rgba(193,50,25,.10); border-color: #e8c9b0; }
.warehouse-ql-card span { font-size: 28px; }
.warehouse-ql-card strong { font-size: 14px; font-weight: 700; color: var(--dark); }
.warehouse-ql-card p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }

/* ==============================================
   RESPONSIVE — static pages
   ============================================== */
@media (max-width: 1024px) {
    .about-section { grid-template-columns: 1fr; gap: 32px; }
    .about-section__visual { height: 200px; }
    .about-area { grid-template-columns: 1fr; gap: 32px; }
    .about-values__grid { grid-template-columns: 1fr 1fr; }
    .dealer-who__grid { grid-template-columns: 1fr 1fr; }
    .contact-page-grid { grid-template-columns: 1fr; }
    .dealer-cta-section { grid-template-columns: 1fr; gap: 28px; }
    .policy-layout { grid-template-columns: 1fr; }
    .policy-toc { position: static; }
    .guide-cta { grid-template-columns: 1fr; text-align: center; }
    .guide-cta__actions { flex-direction: row; justify-content: center; }
    /* Shipping */
    .shipping-zone-grid { grid-template-columns: 1fr 1fr; }
    .shipping-cost-layout { grid-template-columns: 1fr; }
    .sct-row { grid-template-columns: 1fr 1fr; }
    .sct-row span:last-child { display: none; }
    .sct-row--head span:last-child { display: none; }
    /* Warehouse */
    .warehouse-intro { grid-template-columns: 1fr; gap: 32px; }
    .warehouse-intro__visual { height: 200px; }
    .warehouse-stock-grid { grid-template-columns: 1fr 1fr; }
    .warehouse-mgmt-steps { grid-template-columns: 1fr 1fr; }
    .warehouse-visit { grid-template-columns: 1fr; gap: 32px; }
    .warehouse-ql-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .about-stats { flex-wrap: wrap; }
    .about-stat { flex: 1 1 calc(50% - 1px); }
    .about-values__grid { grid-template-columns: 1fr; }
    .dealer-benefits { grid-template-columns: 1fr; }
    .dealer-who__grid { grid-template-columns: 1fr 1fr; }
    .guide-step { grid-template-columns: 1fr; gap: 12px; }
    .guide-step__num { font-size: 36px; text-align: left; }
    .gst-row { grid-template-columns: 110px 1fr; }
    .gst-row span:last-child { display: none; }
    .gst-row--head span:last-child { display: none; }
    .guide-style-grid { grid-template-columns: 1fr; }
    .policy-purpose-grid { grid-template-columns: 1fr; }
    .policy-rights-list { grid-template-columns: 1fr; }
    .dealer-cta-section { padding: 28px 20px; }
    .about-cta { padding: 32px 24px; }
    .guide-cta { padding: 32px 24px; }
    /* FAQ */
    .faq-page-cta { flex-direction: column; gap: 16px; padding: 28px 20px; }
    /* Shipping */
    .shipping-zone-grid { grid-template-columns: 1fr; }
    .shipping-notes-grid { grid-template-columns: 1fr; }
    .shipping-process-step { grid-template-columns: 44px 1fr; }
    .shipping-cta { padding: 32px 20px; }
    /* Warehouse */
    .warehouse-stats { flex-wrap: wrap; }
    .warehouse-stat { flex: 1 1 calc(50% - 1px); }
    .warehouse-stock-grid { grid-template-columns: 1fr; }
    .warehouse-mgmt-steps { grid-template-columns: 1fr 1fr; }
    .warehouse-ql-grid { grid-template-columns: 1fr 1fr; }
}

/* ════════════════════════════════════════
   SINGLE SẢN PHẨM NGÓI
════════════════════════════════════════ */
.product-single {
    padding-bottom: 56px;
}

/* 2-col layout: gallery | info */
.product-single__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px;
}
.product-single__gallery {
    position: sticky;
    top: 96px;
}
.gallery-main {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 12px;
    background: #f9f2ee;
    aspect-ratio: 4/3;
}
.gallery-main__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gallery-thumbs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.gallery-thumb {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color .2s;
    flex-shrink: 0;
}
.gallery-thumb.active,
.gallery-thumb:hover { border-color: var(--clay); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Product info column */
.product-single__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}
.product-single__cat-link {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--clay);
    background: #fdf0ee;
    border-radius: 20px;
    padding: 4px 12px;
    text-decoration: none;
    transition: background .15s;
}
.product-single__cat-link:hover { background: #fae0dc; }
.product-single__title {
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 900;
    color: var(--dark);
    line-height: 1.25;
    margin: 0 0 10px;
}
.product-single__sku-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.product-single__sku {
    font-size: 13px;
    color: var(--muted);
}
.product-single__sku strong { color: var(--dark); font-weight: 700; }
.product-single__stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    border-radius: 999px;
    padding: 5px 14px;
}
.product-single__stock.in-stock { color: var(--green); background: #e8f7ef; }
.product-single__stock.out-stock { color: #c0392b; background: #fdecea; }
.product-single__excerpt {
    font-size: 15px;
    color: #555;
    line-height: 1.75;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0e8df;
}

/* Specs table inside info column */
.product-single__specs-quick {
    background: #fff9f7;
    border: 1.5px solid #f0e8df;
    border-radius: 16px;
    padding: 4px 16px;
    margin-bottom: 24px;
}
.product-single__specs-quick .spec-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f5ede8;
    font-size: 13.5px;
}
.product-single__specs-quick .spec-row:last-child { border-bottom: none; }
.product-single__specs-quick .spec-label { color: var(--muted); font-weight: 600; white-space: nowrap; }
.product-single__specs-quick .spec-val { color: var(--dark); font-weight: 700; text-align: right; }

/* CTA buttons */
.product-single__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.product-single__ctas .btn--primary,
.product-single__ctas .btn--lg { flex: 1; justify-content: center; text-align: center; }

/* Guarantees */
.product-single__guarantees {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #f9fdf9;
    border: 1px solid #d4edda;
    border-radius: 14px;
}
.guarantee-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #2d6a4f;
    font-weight: 600;
}
.guarantee-item span { color: var(--green); font-weight: 900; font-size: 15px; }

/* Gallery badge */
.gallery-main { position: relative; }
.product-badge--new  { position: absolute; top: 14px; left: 14px; background: var(--green); color: #fff; font-size: 11px; font-weight: 800; padding: 4px 12px; border-radius: 20px; }
.product-badge--hot  { position: absolute; top: 14px; left: 14px; background: var(--clay); color: #fff; font-size: 11px; font-weight: 800; padding: 4px 12px; border-radius: 20px; }
.product-badge--oos  { position: absolute; top: 14px; left: 14px; background: #888; color: #fff; font-size: 11px; font-weight: 800; padding: 4px 12px; border-radius: 20px; }

/* Tabs */
.product-tabs {
    margin-bottom: 48px;
    background: #fff;
    border: 1.5px solid #f0e8df;
    border-radius: 20px;
    overflow: hidden;
}
.tab-nav {
    display: flex;
    border-bottom: 1.5px solid #f0e8df;
    overflow-x: auto;
    scrollbar-width: none;
}
.tab-nav::-webkit-scrollbar { display: none; }
.tab-btn {
    padding: 14px 22px;
    font-size: 14px;
    font-weight: 700;
    color: var(--muted);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: color .2s, border-color .2s;
    font-family: inherit;
}
.tab-btn:hover { color: var(--clay); }
.tab-btn.active { color: var(--clay); border-bottom-color: var(--clay); }
.tab-panel { display: none; padding: 28px 32px; }
.tab-panel.active { display: block; }

/* Quote section */
.product-single__quote-section {
    background: #fff9f7;
    border: 1.5px solid #f0ddcc;
    border-radius: 20px;
    padding: 32px;
    margin-bottom: 48px;
}
.product-single__quote-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--dark);
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid #f0e8df;
}

/* Responsive */
@media (max-width: 900px) {
    .product-single__layout { grid-template-columns: 1fr; gap: 24px; }
    .product-single__gallery { position: static; }
    .tab-panel { padding: 20px; }
}
@media (max-width: 600px) {
    .product-single__ctas { flex-direction: column; }
    .product-single__ctas .btn--lg { width: 100%; }
    .product-single__quote-section { padding: 20px 16px; }
}

/* ════════════════════════════════════════
   QUOTE POPUP
════════════════════════════════════════ */
.quote-popup {
    position: fixed;
    inset: 0;
    z-index: 600;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.quote-popup.open { display: flex; }
.quote-popup__bd {
    position: absolute;
    inset: 0;
    background: rgba(20,10,5,.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.quote-popup__box {
    position: relative;
    background: #fff;
    border-radius: 24px;
    padding: 36px 32px 28px;
    width: min(460px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 32px 80px rgba(0,0,0,.22);
    animation: qp-in .25s cubic-bezier(.22,.68,0,1.2);
}
@keyframes qp-in {
    from { transform: scale(.94) translateY(14px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}
.quote-popup__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 1.5px solid #f0e0d0;
    background: #fff;
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 20px;
    color: var(--muted);
    line-height: 1;
    transition: background .15s;
}
.quote-popup__close:hover { background: #fdf0e8; color: var(--clay); }
.quote-popup__head {
    text-align: center;
    margin-bottom: 24px;
}
.quote-popup__icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    margin: 0 auto 14px;
    box-shadow: 0 8px 24px rgba(193,50,25,.28);
}
.quote-popup__head h2 {
    font-size: 22px;
    font-weight: 900;
    color: var(--dark);
    margin: 0 0 6px;
}
.quote-popup__head p {
    font-size: 14px;
    color: var(--muted);
    margin: 0;
    line-height: 1.6;
}
.quote-popup__head p strong { color: var(--clay); }
.qpf-group { margin-bottom: 14px; }
.qpf-group label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    margin-bottom: 6px;
}
.qpf-group label .required { color: var(--clay); }
.qpf-group input,
.qpf-group textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #e8d5c4;
    border-radius: 12px;
    font-size: 14px;
    font-family: inherit;
    background: #fffaf7;
    color: var(--dark);
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}
.qpf-group input:focus,
.qpf-group textarea:focus {
    border-color: var(--clay);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(193,50,25,.08);
}
.qpf-group textarea { resize: none; }
.quote-popup__hotline {
    text-align: center;
    font-size: 13px;
    color: var(--muted);
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #f0e8df;
}
.quote-popup__hotline a {
    color: var(--clay);
    font-weight: 900;
    font-size: 16px;
}

/* ════════════════════════════════════════
   SINGLE CÔNG TRÌNH
════════════════════════════════════════ */
.project-single {
    padding: 0 0 48px;
}

/* Header */
.project-single__header {
    padding: 28px 0 20px;
    border-bottom: 2px solid #f0e8df;
    margin-bottom: 24px;
}
.project-single__title {
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 900;
    color: var(--dark);
    line-height: 1.2;
    margin: 0 0 16px;
}
.project-single__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.project-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #5a3e30;
    background: #fdf0e8;
    border: 1px solid #f0ddcc;
    border-radius: 20px;
    padding: 5px 14px;
}

/* Hero image */
.project-single__hero-img {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 16/7;
    margin-bottom: 20px;
}
.project-single__hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Gallery */
.project-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 36px;
}
.project-gallery__item {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/3;
}
.project-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.project-gallery__item:hover img { transform: scale(1.05); }

/* Content + Sidebar */
.project-single__content {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 32px;
    align-items: start;
    margin-bottom: 48px;
}
.project-single__desc { min-width: 0; }

/* Spec box */
.project-spec-box {
    background: #fff;
    border: 1.5px solid #f0ddcc;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 20px;
}
.project-spec-box h3 {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--clay);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1.5px solid #f0e8df;
}
.spec-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #f8f0ea;
    font-size: 13.5px;
}
.spec-row:last-child { border-bottom: none; }
.spec-label { color: var(--muted); font-weight: 600; white-space: nowrap; }
.spec-val { color: var(--dark); font-weight: 700; text-align: right; }

/* CTA box */
.project-spec-box--cta {
    background: linear-gradient(145deg,#fdf0e8,#fff8f3);
    border-color: #e8c9b0;
    text-align: center;
}
.project-spec-box--cta h3 {
    color: var(--dark);
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0;
    border-color: #f0ddcc;
}
.project-spec-box--cta p {
    font-size: 13px;
    color: var(--muted);
    margin: 0 0 16px;
    line-height: 1.6;
}
.project-spec-box--cta .btn--block { margin-bottom: 10px; }

/* Related products */
.related-block { margin-top: 8px; }
.related-block__title {
    font-size: 20px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0e8df;
}

/* Responsive */
@media (max-width: 900px) {
    .project-single__content { grid-template-columns: 1fr; }
    .project-gallery { grid-template-columns: repeat(2, 1fr); }
    .project-single__sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .project-spec-box { margin-bottom: 0; }
}
@media (max-width: 600px) {
    .project-gallery { grid-template-columns: repeat(2, 1fr); }
    .project-single__sidebar { grid-template-columns: 1fr; }
    .project-single__hero-img { aspect-ratio: 16/9; }
}

/* ════════════════════════════════════════
   SINGLE THƯƠNG HIỆU (BRAND DETAIL)
════════════════════════════════════════ */
.brand-single { padding-bottom: 56px; }

.brand-single__header {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 32px;
    background: #fff;
    border: 1.5px solid #f0e8df;
    border-radius: 20px;
    margin-bottom: 36px;
}
.brand-single__logo {
    flex-shrink: 0;
    width: 140px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    border-radius: 16px;
    border: 1px solid #f0e8df;
    padding: 12px;
}
.brand-single__logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.brand-single__title-wrap { flex: 1; min-width: 0; }
.brand-single__title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 900;
    color: var(--dark);
    margin: 0 0 10px;
    line-height: 1.2;
}
.brand-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.brand-single__meta span {
    font-size: 13px;
    color: var(--muted);
    background: #f5f0eb;
    border-radius: 20px;
    padding: 4px 12px;
    font-weight: 500;
}

/* Main content area */
.brand-single__content { margin-bottom: 48px; }
.brand-single__main .entry-content {
    font-size: 15.5px;
    line-height: 1.85;
    color: #444;
}
.brand-advantages,
.brand-warranty {
    margin-top: 28px;
    padding: 24px 28px;
    border-radius: 16px;
    border-left: 4px solid var(--clay);
    background: #fff9f7;
}
.brand-advantages h3,
.brand-warranty h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--dark);
    margin: 0 0 14px;
}

/* ════════════════════════════════════════
   STAR RATING & PRODUCT REVIEWS
════════════════════════════════════════ */

/* Tab badge (review count) */
.tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--clay);
    color: #fff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 4px;
    vertical-align: middle;
}

/* Star display (read-only) — used in summary & cards */
.star-display { display: inline-flex; gap: 1px; line-height: 1; font-size: 16px; }
.star-display .s-full  { color: #f4a000; }
.star-display .s-half  { color: #f4a000; opacity: .6; }
.star-display .s-empty { color: #d0d0d0; }

/* ── Review section ── */
.rv-section { padding: 4px 0; }
.rv-section__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.rv-section__title { font-size: 19px; font-weight: 800; color: var(--dark); margin: 0; }
.rv-write-btn {
    background: none;
    border: none;
    color: var(--clay);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
    transition: color .15s;
}
.rv-write-btn:hover { color: var(--terracotta); }

/* 2-col layout: summary | list */
.rv-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    margin-bottom: 28px;
}

/* Left: summary card */
.rv-summary {
    background: linear-gradient(160deg, #fff5f3 0%, #fff0ee 100%);
    border: 1.5px solid #f0d4cc;
    border-radius: 20px;
    padding: 24px 20px;
    text-align: center;
}
.rv-summary__score {
    font-size: 52px;
    font-weight: 900;
    color: var(--clay);
    line-height: 1;
    margin-bottom: 6px;
    letter-spacing: -1px;
}
.rv-summary__stars { margin-bottom: 6px; font-size: 22px; }
.rv-summary__count { font-size: 12px; color: #555; margin-bottom: 18px; }
.rv-bars { text-align: left; }
.rv-bar-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    font-size: 12px;
    color: #666;
}
.rv-bar-label { width: 22px; }
.rv-bar-track { flex: 1; height: 7px; background: #f5d5ce; border-radius: 4px; overflow: hidden; }
.rv-bar-fill { height: 100%; background: var(--clay); border-radius: 4px; transition: width .4s; }
.rv-bar-count { width: 14px; text-align: right; }

/* Right: review cards */
.rv-list { display: flex; flex-direction: column; gap: 12px; }
.rv-card {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 16px;
    padding: 18px 20px;
    transition: box-shadow .2s;
}
.rv-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.rv-card__head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.rv-card__avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-family: inherit;
}
.rv-card__info { flex: 1; min-width: 0; }
.rv-card__name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 3px; }
.rv-card__name-row strong { font-size: 14px; color: var(--dark); }
.rv-verified {
    font-size: 11px; font-weight: 700;
    color: var(--clay);
    background: #fff0ee;
    border-radius: 999px;
    padding: 2px 8px;
}
.rv-unverified {
    font-size: 11px; font-weight: 600;
    color: #999;
    background: #f5f5f5;
    border-radius: 999px;
    padding: 2px 8px;
}
.rv-card__date { font-size: 12px; color: #aaa; }
.rv-card__stars { color: #f4a000; font-size: 15px; letter-spacing: 1px; margin-left: auto; flex-shrink: 0; }
.rv-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.rv-card__tag {
    font-size: 12px; color: #555;
    background: #f5f5f5;
    border-radius: 20px;
    padding: 3px 10px;
}
.rv-card__text { font-size: 14px; color: #444; line-height: 1.75; }
.rv-pending { font-size: 13px; color: #999; font-style: italic; margin-bottom: 6px; }
.rv-empty { padding: 40px 20px; text-align: center; color: var(--muted); font-size: 15px; }

/* Write review form */
.rv-form-wrap { display: none; margin-top: 4px; }
.rv-form-card {
    background: #fff;
    border: 1.5px solid #f0e8df;
    border-radius: 20px;
    padding: 28px 32px;
}
.rv-form-card__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0ebe5;
}
.rv-form-card__head h4 { font-size: 17px; font-weight: 800; color: var(--dark); margin: 0; }
.rv-form-close {
    background: none; border: none; font-size: 18px;
    color: #bbb; cursor: pointer; line-height: 1; padding: 4px;
}
.rv-form-close:hover { color: #555; }

/* Quick tag pills */
.rv-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.rv-tag {
    border: 1.5px solid #ddd;
    background: none;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
    color: #555;
}
.rv-tag:hover { border-color: var(--clay); color: var(--clay); }
.rv-tag.active { border-color: var(--clay); background: #fff0ec; color: var(--clay); font-weight: 600; }

/* Textarea */
.rv-form__field { margin-bottom: 0; }
.rv-form__field textarea {
    width: 100%; box-sizing: border-box;
    border: 1.5px solid #e0e0e0;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    outline: none;
    color: var(--dark);
}
.rv-form__field textarea:focus { border-color: var(--clay); }

/* Horizontal star rating */
.rv-star-row {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 18px 0;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    margin: 16px 0;
}
.rv-star-label { font-size: 13px; font-weight: 700; color: var(--dark); line-height: 1.6; min-width: 150px; }
.rv-star-label small { font-weight: 400; color: var(--muted); display: block; }
.rv-star-options { display: flex; gap: 20px; }
.rv-star-opt { display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; }
.rv-star-opt input[type="radio"] { display: none; }
.rv-star-icon { font-size: 30px; color: #d0d0d0; transition: color .12s; line-height: 1; }
.rv-star-text { font-size: 11px; color: #aaa; transition: color .12s; }
.rv-star-opt.hovered .rv-star-icon,
.rv-star-opt.selected .rv-star-icon { color: #f4a000; }
.rv-star-opt.hovered .rv-star-text,
.rv-star-opt.selected .rv-star-text { color: var(--clay); font-weight: 600; }

/* Input row */
.rv-info-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
.rv-info-row input {
    border: 1.5px solid #e0e0e0;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    color: var(--dark);
}
.rv-info-row input:focus { border-color: var(--clay); }

/* Note */
.rv-note {
    font-size: 12px;
    color: var(--clay);
    background: #fff5f3;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 14px;
}

/* Anti-spam inline */
.rv-antispam {
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
}
.rv-antispam label { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rv-antispam input[type="number"] {
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    width: 80px;
}
.rv-antispam input[type="number"]:focus { border-color: var(--clay); }

/* Submit button */
.rv-submit-btn {
    background: linear-gradient(135deg, var(--clay), var(--clay-2));
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 14px 36px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .06em;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s, transform .15s;
    box-shadow: 0 8px 24px rgba(193,50,25,.3);
}
.rv-submit-btn:hover { background: var(--terracotta); transform: translateY(-1px); }

/* Responsive */
@media (max-width: 900px) {
    .rv-layout { grid-template-columns: 1fr; }
    .rv-summary { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 0 16px; text-align: left; }
    .rv-summary__score { grid-row: 1/3; font-size: 40px; }
    .rv-summary__stars { align-self: end; }
    .rv-summary__count { grid-column: 2; }
    .rv-bars { grid-column: 1/-1; margin-top: 14px; }
    .rv-star-row { flex-direction: column; align-items: flex-start; gap: 14px; }
    .rv-info-row { grid-template-columns: 1fr 1fr; }
    .rv-form-card { padding: 20px; }
}
@media (max-width: 600px) {
    .rv-info-row { grid-template-columns: 1fr; }
    .rv-star-options { gap: 12px; }
    .rv-star-icon { font-size: 24px; }
    .rv-star-text { font-size: 10px; }
}

/* Sub-term pills (taxonomy archive child terms) */
.sub-terms-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.sub-term-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: #fff;
    border: 1.5px solid #e8d5c4;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
    text-decoration: none;
    transition: border-color .2s, background .2s, color .2s;
}
.sub-term-pill:hover { border-color: var(--clay); color: var(--clay); background: #fff5ec; }
.sub-term-count {
    font-size: 11px;
    font-weight: 700;
    background: #f0e4dc;
    color: var(--clay);
    border-radius: 999px;
    padding: 1px 7px;
}

/* Responsive */
@media (max-width: 768px) {
    .brand-single__header { flex-direction: column; align-items: flex-start; gap: 20px; padding: 20px; }
    .brand-single__logo { width: 100px; height: 72px; }
    .brand-advantages, .brand-warranty { padding: 18px 20px; }
}

/* Brand detail refresh */
.brand-single-page {
    background: linear-gradient(180deg, #fffaf6 0, #fff 280px);
}
.brand-single__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: stretch;
    margin: 18px 0 32px;
}
.brand-single__identity {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 34px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #f0ddcc;
    box-shadow: 0 18px 48px rgba(67,38,20,.08);
}
.brand-single__logo {
    width: 132px;
    height: 132px;
    border-radius: 22px;
    background: linear-gradient(145deg, #fff7ef, #f1dfcf);
    border: 1px solid #eed6c4;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    flex-shrink: 0;
}
.brand-single__logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.brand-single__logo span {
    font-size: 58px;
    font-weight: 900;
    color: var(--clay);
}
.brand-single__eyebrow {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 900;
    color: var(--clay);
    text-transform: uppercase;
}
.brand-single__title {
    margin: 0;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 900;
    color: var(--dark);
}
.brand-single__lead {
    margin: 14px 0 0;
    max-width: 720px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--muted);
}
.brand-single__summary {
    display: grid;
    gap: 12px;
}
.brand-single__summary div {
    padding: 22px 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #f0ddcc;
    box-shadow: 0 12px 32px rgba(67,38,20,.06);
}
.brand-single__summary strong {
    display: block;
    font-size: 24px;
    font-weight: 900;
    color: var(--clay);
    margin-bottom: 4px;
}
.brand-single__summary span {
    font-size: 13px;
    line-height: 1.55;
    color: var(--muted);
}
.brand-single__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
    margin-bottom: 42px;
}
.brand-single__main {
    display: grid;
    gap: 16px;
}
.brand-info-block,
.brand-single__aside {
    padding: 24px;
    background: #fff;
    border: 1px solid #f0ddcc;
    border-radius: 18px;
}
.brand-info-block span {
    display: block;
    margin-bottom: 10px;
    color: var(--clay);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.brand-info-block p,
.brand-info-block .entry-content {
    margin: 0;
    color: #4f5b6b;
    font-size: 15px;
    line-height: 1.8;
}
.brand-single__aside {
    position: sticky;
    top: 96px;
}
.brand-single__aside h2 {
    margin: 0 0 10px;
    font-size: 20px;
    color: var(--dark);
}
.brand-single__aside p {
    margin: 0 0 18px;
    color: var(--muted);
    line-height: 1.7;
}
.brand-single__aside .btn {
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}
.brand-products {
    margin-top: 16px;
}
@media (max-width: 1024px) {
    .brand-single__hero,
    .brand-single__content {
        grid-template-columns: 1fr;
    }
    .brand-single__summary {
        grid-template-columns: repeat(3, 1fr);
    }
    .brand-single__aside {
        position: static;
    }
}
@media (max-width: 700px) {
    .brand-single__identity {
        grid-template-columns: 1fr;
        padding: 24px;
    }
    .brand-single__logo {
        width: 112px;
        height: 112px;
    }
    .brand-single__summary {
        grid-template-columns: 1fr;
    }
}
