:root {
    --vn-burgundy: #4a0e1b;
    --vn-burgundy-dark: #2a0810;
    --vn-black: #1a1a1a;
    --vn-white: #ffffff;
    --vn-cream: #f9f6f0;
    --vn-cream-dark: #e8e3da;
    --vn-gray: #666666;
    --vn-gray-light: #dddddd;
    
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;
    
    --transition: all 0.3s ease;
}

/* Team introduction page */
.team-page { background: #f8f4ef; color: var(--vn-black); }
.team-page .container { max-width: 1180px; }
.team-eyebrow { color: var(--vn-burgundy); font-size: .7rem; font-weight: 600; letter-spacing: 2.4px; margin: 0 0 18px; }
.team-hero { background: #171717; color: #fff; padding: 92px 20px 100px; text-align: center; }
.team-hero-inner { margin: 0 auto; max-width: 760px !important; }
.team-hero h1 { color: #fff; font-family: var(--font-heading); font-size: clamp(3.2rem, 6vw, 5.7rem); font-weight: 400; line-height: 1; margin: 0 0 28px; }
.team-hero p:last-child { color: #c9c4bf; font-size: 1.08rem; line-height: 1.8; margin: 0 auto; max-width: 660px; }
.team-hero .team-eyebrow { color: #c8a77a; }
.team-intro { padding: 120px 20px; }
.team-intro-grid, .team-collaboration-grid { align-items: center; display: grid; gap: 90px; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); }
.team-intro-image { aspect-ratio: 4 / 5; background: #e9e0d6; overflow: hidden; }
.team-intro-image img, .team-collaboration-image img { height: 100%; object-fit: cover; object-position: center top; width: 100%; }
.team-intro-copy h2, .team-section-heading h2, .team-collaboration-copy h2, .team-values-heading h2, .team-closing h2 { font-family: var(--font-heading); font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 400; line-height: 1.08; margin: 0 0 28px; }
.team-intro-copy > p:not(.team-eyebrow), .team-collaboration-copy > p:not(.team-eyebrow) { color: #615d59; font-size: 1rem; line-height: 1.9; margin: 0 0 18px; }
.team-groups-section { background: #171717; color: #fff; padding: 110px 20px 120px; }
.team-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 58px; }
.team-section-heading h2 { color: #fff; margin-bottom: 0; }
.team-section-heading > p { color: #aaa4a0; line-height: 1.7; margin: 0; max-width: 390px; }
.team-groups-grid { border-left: 1px solid #3c3835; display: grid; grid-template-columns: repeat(4, 1fr); }
.team-group-card { border-right: 1px solid #3c3835; padding: 12px 28px 30px; }
.team-group-card > span { color: #c8a77a; display: block; font-family: var(--font-heading); font-size: 1rem; margin-bottom: 55px; }
.team-group-card h3 { color: #fff; font-family: var(--font-heading); font-size: 1.7rem; font-weight: 400; margin: 0 0 22px; }
.team-group-card p { color: #aaa4a0; font-size: .88rem; line-height: 1.8; margin: 0; }
.team-collaboration { background: #fff; padding: 120px 20px; }
.team-collaboration-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1fr); }
.team-collaboration-image { aspect-ratio: 4 / 4.6; overflow: hidden; }
.team-collaboration-copy blockquote { border-left: 2px solid var(--vn-burgundy); color: var(--vn-black); font-family: var(--font-heading); font-size: 1.45rem; line-height: 1.5; margin: 38px 0 0; padding-left: 25px; }
.team-values-section { padding: 110px 20px 120px; }
.team-values-heading { margin-bottom: 55px; text-align: center; }
.team-values-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.team-values-grid article { background: #fff; border-top: 3px solid var(--vn-burgundy); min-height: 230px; padding: 42px 38px; }
.team-values-grid h3 { font-family: var(--font-heading); font-size: 1.65rem; font-weight: 400; margin: 0 0 18px; }
.team-values-grid p { color: #696460; line-height: 1.8; margin: 0; }
.team-closing { background: #350711; color: #fff; padding: 105px 20px; text-align: center; }
.team-closing-inner { margin: 0 auto; max-width: 760px !important; }
.team-closing .team-eyebrow { color: #d5b58a; }
.team-closing h2 { color: #fff; }
.team-closing p:not(.team-eyebrow) { color: #d5c9c4; line-height: 1.8; margin: 0 auto 34px; max-width: 600px; }
.team-button { border: 1px solid #fff; color: #fff; display: inline-block; font-size: .72rem; letter-spacing: 1.6px; padding: 17px 28px; transition: .25s ease; }
.team-button:hover { background: #fff; color: #350711; }
@media (max-width: 900px) {
    .team-intro, .team-collaboration, .team-values-section { padding-bottom: 80px; padding-top: 80px; }
    .team-intro-grid, .team-collaboration-grid { gap: 45px; grid-template-columns: 1fr; }
    .team-collaboration-image { grid-row: 1; }
    .team-groups-grid { grid-template-columns: repeat(2, 1fr); }
    .team-group-card { border-bottom: 1px solid #3c3835; }
}
@media (max-width: 600px) {
    .team-hero { padding: 72px 18px 78px; }
    .team-section-heading { align-items: start; flex-direction: column; gap: 20px; }
    .team-groups-grid, .team-values-grid { grid-template-columns: 1fr; }
    .team-group-card > span { margin-bottom: 28px; }
    .team-intro-image, .team-collaboration-image { aspect-ratio: 4 / 5; }
}

/* Returns & Exchanges */
.returns-page { background: #fff; color: var(--vn-black); }
.returns-page h1, .returns-page h2, .returns-page h3 { font-weight: 400; }
.returns-eyebrow { color: #a67b42; font-size: .68rem; font-weight: 600; letter-spacing: 2.4px; margin: 0 0 16px; }
.returns-hero { background: #171717; color: #fff; padding: 100px 0; text-align: center; }
.returns-hero-inner { max-width: 820px; }
.returns-hero h1 { font-size: clamp(2.8rem, 5vw, 4.6rem); margin: 0 0 22px; }
.returns-hero p:last-child { color: #c9c4be; font-size: 1rem; line-height: 1.8; margin: 0 auto; max-width: 680px; }
.returns-intro { padding: 96px 0; }
.returns-intro-grid, .returns-exceptions-grid { align-items: start; display: grid; gap: 80px; grid-template-columns: .8fr 1.2fr; }
.returns-intro h2, .returns-eligibility h2, .returns-exceptions h2, .returns-faq h2, .returns-contact h2 { font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.15; margin: 0; }
.returns-intro-copy p, .returns-exceptions-grid > div:last-child p { color: #666; font-size: .95rem; line-height: 1.9; margin: 0 0 16px; }
.returns-highlights { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 64px; }
.returns-highlights article { background: #f5f0ea; min-height: 190px; padding: 34px; }
.returns-highlights span { color: var(--vn-burgundy); display: block; font-family: var(--font-heading); font-size: 2.4rem; margin-bottom: 20px; }
.returns-highlights h3 { font-size: 1.15rem; margin: 0 0 9px; }
.returns-highlights p { color: #716d68; font-size: .78rem; line-height: 1.6; margin: 0; }
.returns-eligibility { background: #f7f3ee; padding: 96px 0; }
.returns-eligibility-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr); }
.returns-eligibility article { min-height: 430px; padding: 54px; }
.returns-eligible-card { background: #fff; }
.returns-excluded-card { background: #211f20; color: #fff; }
.returns-eligibility h2 { font-size: 2.2rem; margin-bottom: 30px; }
.returns-eligibility ul { list-style: none; margin: 0; padding: 0; }
.returns-eligibility li { border-top: 1px solid rgba(120,110,100,.2); color: #666; font-size: .86rem; line-height: 1.6; padding: 14px 0 14px 24px; position: relative; }
.returns-eligibility li::before { color: var(--vn-burgundy); content: '✓'; left: 0; position: absolute; }
.returns-excluded-card li { border-color: rgba(255,255,255,.12); color: #c8c3be; }
.returns-excluded-card li::before { color: #cba66e; content: '×'; }
.returns-legal-note { color: #8f8984; font-size: .68rem; line-height: 1.6; margin: 22px 0 0; }
.returns-process { padding: 100px 0; }
.returns-section-heading { margin: 0 auto 54px; max-width: 680px; text-align: center; }
.returns-section-heading h2 { font-size: clamp(2.2rem, 3.5vw, 3.5rem); margin: 0 0 16px; }
.returns-section-heading > p:last-child { color: #777; font-size: .9rem; line-height: 1.7; }
.returns-steps { display: grid; gap: 28px; grid-template-columns: repeat(4, 1fr); }
.returns-steps article { border-top: 1px solid #cdbca7; padding-top: 24px; }
.returns-steps span { color: #b18a55; font-family: var(--font-heading); font-size: 1.5rem; }
.returns-steps h3 { font-size: 1.2rem; margin: 24px 0 12px; }
.returns-steps p { color: #777; font-size: .76rem; line-height: 1.7; margin: 0; }
.returns-details { background: #171717; color: #fff; padding: 100px 0; }
.returns-section-heading-light { margin-left: 0; text-align: left; }
.returns-policy-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); }
.returns-policy-grid article { background: #201f1f; border: 1px solid #302e2e; padding: 38px; }
.returns-policy-grid h3 { color: #d1aa73; font-size: 1.35rem; margin: 0 0 14px; }
.returns-policy-grid p { color: #b5b0ab; font-size: .8rem; line-height: 1.75; margin: 0; }
.returns-exceptions { padding: 96px 0; }
.returns-faq { background: #f7f3ee; padding: 96px 0; }
.returns-faq-grid { display: grid; gap: 90px; grid-template-columns: .75fr 1.25fr; }
.returns-faq-grid > div:first-child > p:not(.returns-eyebrow) { color: #777; font-size: .84rem; line-height: 1.7; }
.returns-faq-grid a { color: var(--vn-burgundy); display: inline-block; font-size: .72rem; letter-spacing: 1.5px; margin-top: 18px; }
.returns-accordion details { border-top: 1px solid #d8cfc5; padding: 20px 0; }
.returns-accordion details:last-child { border-bottom: 1px solid #d8cfc5; }
.returns-accordion summary { cursor: pointer; font-family: var(--font-heading); font-size: 1.15rem; list-style: none; padding-right: 30px; position: relative; }
.returns-accordion summary::after { content: '+'; position: absolute; right: 4px; }
.returns-accordion details[open] summary::after { content: '−'; }
.returns-accordion details p { color: #777; font-size: .78rem; line-height: 1.75; margin: 16px 40px 0 0; }
.returns-contact { background: var(--vn-burgundy-dark); color: #fff; padding: 80px 0; }
.returns-contact-inner { align-items: center; display: flex; gap: 50px; justify-content: space-between; }
.returns-contact h2 { margin-bottom: 14px; }
.returns-contact-inner > div > p:last-child { color: #c8bfc0; font-size: .82rem; line-height: 1.7; margin: 0; max-width: 650px; }
.returns-contact-button { background: #fff; color: var(--vn-black); flex: 0 0 auto; font-size: .68rem; letter-spacing: 1.4px; padding: 17px 24px; }

@media (max-width: 900px) {
    .returns-intro-grid, .returns-exceptions-grid, .returns-faq-grid { gap: 36px; grid-template-columns: 1fr; }
    .returns-highlights, .returns-steps { grid-template-columns: repeat(2, 1fr); }
    .returns-contact-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
    .returns-hero, .returns-intro, .returns-eligibility, .returns-process, .returns-details, .returns-exceptions, .returns-faq { padding: 68px 0; }
    .returns-highlights, .returns-eligibility-grid, .returns-steps, .returns-policy-grid { grid-template-columns: 1fr; }
    .returns-eligibility article { min-height: 0; padding: 34px 26px; }
    .returns-highlights article, .returns-policy-grid article { padding: 28px; }
}

/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    color: var(--vn-black);
    background-color: var(--vn-cream);
    line-height: 1.6;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 1rem;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--vn-burgundy);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Typography Helpers */
.text-center { text-align: center; }
.text-uppercase { text-transform: uppercase; letter-spacing: 1px; }
.text-small { font-size: 0.85rem; }

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 32px;
    font-family: var(--font-body);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: var(--transition);
    text-align: center;
}

.btn-primary {
    background-color: var(--vn-burgundy);
    color: var(--vn-white);
}

.btn-primary:hover {
    background-color: var(--vn-burgundy-dark);
    color: var(--vn-white);
}

.btn-outline {
    background-color: transparent;
    color: var(--vn-white);
    border-color: var(--vn-white);
}

.btn-outline:hover {
    background-color: var(--vn-white);
    color: var(--vn-black);
}

.btn-outline-dark {
    background-color: transparent;
    color: var(--vn-black);
    border-color: var(--vn-black);
}

.btn-outline-dark:hover {
    background-color: var(--vn-black);
    color: var(--vn-white);
}

.btn-block {
    display: block;
    width: 100%;
}

/* Layout */
.container {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 0 60px; /* Safety margin for full-bleed layout */
}

/* Homepage refinement */
.home-section {
    position: relative;
}

.section-eyebrow {
    color: var(--vn-burgundy);
    font-size: 0.68rem;
    letter-spacing: 2.5px;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.section-intro {
    color: var(--vn-gray);
    font-size: 0.92rem;
    margin: 0 auto 34px;
    max-width: 440px;
}

.centered-header {
    margin-bottom: 34px;
    text-align: center;
}

.section-link {
    border-bottom: 1px solid currentColor;
    padding-bottom: 4px;
}

.section-link:hover {
    color: var(--vn-burgundy) !important;
}

.category-card {
    position: relative;
}

.category-card .category-image {
    background-color: #f4f0ea !important;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.category-card:hover .category-image {
    box-shadow: 0 18px 38px rgba(42, 8, 16, 0.12);
    transform: translateY(-6px);
}

.category-card h3 {
    font-size: 0.9rem !important;
    letter-spacing: 1.5px !important;
}

.empty-products {
    border: 1px solid #e7e0d7;
    margin: 0 auto;
    max-width: 760px;
    padding: 48px 30px;
    text-align: center;
}

.empty-products-mark {
    color: var(--vn-burgundy);
    display: block;
    font-size: 1.5rem;
    margin-bottom: 12px;
}

.empty-products p {
    color: var(--vn-gray);
    margin-bottom: 18px;
}

.moodboard-frame {
    background: var(--vn-white);
    box-shadow: 0 24px 60px rgba(42, 8, 16, 0.12);
    margin: 0 auto;
    max-width: 860px;
    padding: 12px;
}

.moodboard-frame img {
    height: auto;
    width: 100%;
}

/* Commerce homepage layout */
.homepage-reference-layout,
.homepage-reference-layout ~ .categories-section,
.homepage-reference-layout ~ .trending-section,
.homepage-reference-layout ~ .twin-banners-section,
.homepage-reference-layout ~ .features-section,
.homepage-reference-layout ~ .moodboard-section,
.homepage-reference-layout ~ .gallery-section { display: none; }

.commerce-home-layout { background: #f7f3ef; color: var(--vn-black); }
.commerce-category-strip { padding: 28px 0 46px; }
.commerce-products-section { background: #f3ede7; padding: 64px 0 78px; }
.commerce-instagram, .commerce-notes { padding: 18px 0 34px; }
.commerce-products-empty { border-top: 1px solid #d8d0c9; color: #756e68; font-family: var(--font-heading); font-size: 1.25rem; margin: 6px 0 0; padding: 28px 0 10px; }
.commerce-products-section .commerce-section-heading { align-items: end; border-bottom: 1px solid #cfc2b8; margin-bottom: 20px; padding-bottom: 18px; }
.commerce-products-section .commerce-section-heading h2 { color: #241a1c; font-family: var(--font-heading); font-size: clamp(1.75rem, 2.4vw, 2.35rem); font-weight: 400; letter-spacing: .09em; line-height: 1; }
.commerce-products-section .commerce-section-heading h2::before { color: #8c6c64; content: 'THE CURATED EDIT'; display: block; font-family: var(--font-body); font-size: .62rem; font-weight: 600; letter-spacing: .24em; margin-bottom: 13px; }
.commerce-products-section .commerce-section-heading a { border-bottom: 1px solid #7b4a55; color: #562031; font-size: .66rem; font-weight: 600; letter-spacing: .13em; padding-bottom: 6px; }
.commerce-product-filters { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; }
.commerce-product-filters button { background: transparent; border: 1px solid #cbbdb4; color: #67575a; cursor: pointer; font-family: var(--font-body); font-size: .63rem; font-weight: 600; letter-spacing: .12em; min-height: 36px; padding: 0 16px; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.commerce-product-filters button:hover,
.commerce-product-filters button:focus-visible { border-color: #6b2637; color: #4d1725; outline: none; }
.commerce-product-filters button.is-active { background: #4d1725; border-color: #4d1725; color: #fff; }
.commerce-products-section .woocommerce ul.products { display: grid !important; gap: 38px 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 !important; }
.commerce-products-section .woocommerce ul.products::before,
.commerce-products-section .woocommerce ul.products::after { display: none !important; }
.commerce-products-section .woocommerce ul.products li.product { display: flex; float: none !important; flex-direction: column; margin: 0 !important; min-width: 0; position: relative; width: auto !important; }
.commerce-products-section .woocommerce ul.products li.product[hidden] { display: none !important; }
.commerce-products-section .woocommerce ul.products li.product .woocommerce-LoopProduct-link { color: #211719; display: flex; flex: 1; flex-direction: column; min-width: 0; }
.commerce-products-section .woocommerce ul.products li.product img { aspect-ratio: 1; background: #e9dfd6; border: 1px solid rgba(92, 61, 55, .1); height: auto; margin: 0 0 16px !important; object-fit: contain; transition: box-shadow .35s ease, transform .35s ease; width: 100%; }
.commerce-products-section .woocommerce ul.products li.product:hover img { box-shadow: 0 22px 44px rgba(55, 30, 34, .13); transform: translateY(-4px); }
.commerce-products-section .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #211719; font-family: var(--font-heading); font-size: clamp(.98rem, 1.15vw, 1.2rem); font-weight: 400; line-height: 1.3; margin: 0; min-height: 2.7em; padding: 0 2px 8px; }
.commerce-products-section .woocommerce ul.products li.product .price { color: #5b1b2b; font-family: var(--font-body); font-size: .82rem; font-weight: 600; letter-spacing: .02em; margin: auto 0 0; padding: 0 3px; }
.commerce-products-section .woocommerce ul.products li.product .button { align-items: center; align-self: stretch; background: transparent; border: 1px solid #6b2637; border-radius: 0; color: #4d1725; display: flex; font-size: .62rem; font-weight: 600; justify-content: space-between; letter-spacing: .12em; margin: 15px 0 0; min-height: 42px; padding: 0 13px; text-transform: uppercase; transition: background .25s ease, color .25s ease; }
.commerce-products-section .woocommerce ul.products li.product .button::after { content: '\2192'; font-family: var(--font-body); font-size: 1rem; font-weight: 400; }
.commerce-products-section .woocommerce ul.products li.product .button:hover { background: #541727; color: #fff; }
@media (max-width: 1200px) {
    .commerce-products-section .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .commerce-products-section { padding: 58px 0 68px; }
    .commerce-products-section .woocommerce ul.products { gap: 38px 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .commerce-product-filters { flex-wrap: nowrap; margin-left: calc(var(--vn-mobile-gutter, 18px) * -1); margin-right: calc(var(--vn-mobile-gutter, 18px) * -1); overflow-x: auto; padding: 0 var(--vn-mobile-gutter, 18px) 4px; scrollbar-width: none; }
    .commerce-product-filters::-webkit-scrollbar { display: none; }
    .commerce-product-filters button { flex: 0 0 auto; }
    .commerce-products-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .commerce-products-section { padding: 52px 0 62px; }
    .commerce-products-section .commerce-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 28px; }
    .commerce-products-section .woocommerce ul.products { gap: 34px 12px; }
    .commerce-products-section .woocommerce ul.products li.product img { margin-bottom: 15px !important; }
    .commerce-products-section .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .98rem; min-height: 3.8em; padding-bottom: 8px; }
    .commerce-products-section .woocommerce ul.products li.product .price { font-size: .72rem; }
    .commerce-products-section .woocommerce ul.products li.product .button { font-size: .6rem; letter-spacing: .09em; margin-top: 14px; min-height: 44px; padding: 0 10px; }
}
.commerce-edit-section { background: #24191c; color: #fff; padding: 74px 0; }
.commerce-edit-heading { margin: 0 auto 34px; max-width: 720px; text-align: center; }
.commerce-edit-heading>p { color: #c8929d; font-size: .63rem; font-weight: 600; letter-spacing: .24em; margin: 0 0 12px; text-transform: uppercase; }
.commerce-edit-heading h2 { color: #fff; font-size: clamp(2rem, 3.4vw, 3.3rem); font-weight: 400; line-height: 1.08; margin: 0; }
.commerce-edit-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.commerce-edit-card { background: #f3ebe4; color: #2b1d20; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-width: 0; text-decoration: none; }
.commerce-edit-card figure { align-self: stretch; background: #e8ddd4; margin: 0; min-height: 310px; overflow: hidden; }
.commerce-edit-card figure img { display: block; height: 100%; object-fit: contain; width: 100%; }
.commerce-edit-card>div { align-self: center; padding: 34px 30px; }
.commerce-edit-card span { color: #8d5663; display: block; font-size: .62rem; font-weight: 600; letter-spacing: .2em; margin-bottom: 12px; text-transform: uppercase; }
.commerce-edit-card h3 { color: #2b1d20; font-size: clamp(1.55rem, 2.2vw, 2.25rem); font-weight: 400; line-height: 1.08; margin: 0 0 14px; }
.commerce-edit-card p { color: #6e6060; font-size: .8rem; line-height: 1.65; margin: 0 0 25px; }
.commerce-edit-card strong { border-bottom: 1px solid #7a3142; color: #5c1c2d; display: inline-block; font-size: .61rem; letter-spacing: .13em; padding-bottom: 5px; }
@media (max-width: 900px) {
    .commerce-edit-grid { grid-template-columns: 1fr; }
    .commerce-edit-card figure { min-height: 270px; }
}
@media (max-width: 520px) {
    .commerce-edit-section { padding: 58px 0; }
    .commerce-edit-heading { margin-bottom: 26px; }
    .commerce-edit-card { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
    .commerce-edit-card figure { min-height: 230px; }
    .commerce-edit-card>div { padding: 24px 18px; }
    .commerce-edit-card h3 { font-size: 1.35rem; }
    .commerce-edit-card p { font-size: .72rem; margin-bottom: 18px; }
}
.commerce-category-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); }
.commerce-category-card { color: #fff; min-height: 250px; overflow: hidden; padding: 132px 24px 22px; position: relative; }
.commerce-category-card::after { background: linear-gradient(transparent, rgba(20,0,0,.72)); content: ''; inset: 0; position: absolute; }
.commerce-category-card img { height: 100%; inset: 0; object-fit: cover; object-position: center top; position: absolute; transition: transform .5s ease; width: 100%; }
.commerce-category-card:hover img { transform: scale(1.06); }
.commerce-category-card span, .commerce-category-card small { position: relative; z-index: 1; }
.commerce-category-card span { display: block; font-family: var(--font-heading); font-size: 1.7rem; }
.commerce-category-card small { font-size: .68rem; letter-spacing: 1px; }
.commerce-section-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.commerce-section-heading h2 { font-size: 1rem; letter-spacing: 3px; margin: 0; }
.commerce-section-heading a, .commerce-section-heading span { color: var(--vn-gray); font-size: .68rem; letter-spacing: 1px; }
.commerce-product-grid { display: grid; gap: 12px; grid-template-columns: repeat(6, 1fr); }
.commerce-product-card h3 { font-family: var(--font-body); font-size: .72rem; font-weight: 400; margin: 8px 0 3px; }
.commerce-product-card p { font-size: .72rem; margin: 0; }
.commerce-product-image { aspect-ratio: 4/5; background: #eee5dc; overflow: hidden; position: relative; }
.commerce-product-image img { height: 100%; object-fit: cover; width: 100%; }
.commerce-heart { color: #fff; font-size: 1.5rem; position: absolute; right: 10px; top: 5px; }
.commerce-stars { font-size: .65rem; letter-spacing: 1px; margin-top: 4px; }
.commerce-stars span { color: var(--vn-gray); letter-spacing: 0; }
.commerce-promo-section { padding: 10px 0 28px; }
.commerce-promo-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); }
.commerce-promo { background-position: center; background-size: cover; color: #fff; min-height: 230px; padding: 32px; position: relative; }
.commerce-promo::before { background: linear-gradient(90deg, rgba(20,0,0,.72), rgba(20,0,0,.08)); content: ''; inset: 0; position: absolute; }
.commerce-promo > * { position: relative; }
.commerce-promo span { font-size: .65rem; letter-spacing: 2px; }
.commerce-promo h2 { font-size: 2rem; margin: 12px 0 8px; }
.commerce-promo p { font-size: .82rem; line-height: 1.6; margin-bottom: 20px; }
.commerce-promo a { background: #fff; color: var(--vn-black); display: inline-block; font-size: .62rem; letter-spacing: 1px; padding: 10px 14px; }
.commerce-benefits { background: #fff; border-bottom: 1px solid #e5ded7; border-top: 1px solid #e5ded7; padding: 28px 0; }
.commerce-benefits-grid { display: grid; gap: 20px; grid-template-columns: repeat(5, 1fr); }
.commerce-benefits-grid > div { border-right: 1px solid #e5ded7; padding-right: 14px; }
.commerce-benefits-grid > div:last-child { border: 0; }
.commerce-benefits b { color: var(--vn-burgundy); display: block; font-size: 1.6rem; font-weight: 400; }
.commerce-benefits h3 { font-family: var(--font-body); font-size: .65rem; letter-spacing: 1px; margin: 8px 0 3px; }
.commerce-benefits p { color: var(--vn-gray); font-size: .68rem; margin: 0; }
.commerce-notes { background: #f2eae5; }
.commerce-notes-heading > div:first-child { align-items: baseline; display: flex; gap: 24px; }
.commerce-notes-viewport { overflow: hidden; }
.commerce-notes-track { display: flex; gap: 10px; transition: transform .6s ease; }
.commerce-note { background: #fff; border: 1px solid #e1d7d0; display: flex; flex: 0 0 calc((100% - 20px) / 3); flex-direction: column; min-height: 180px; padding: 22px; }
.commerce-note > strong { letter-spacing: 2px; }
.commerce-note > p { flex: 1; font-family: var(--font-heading); font-size: 1.05rem; line-height: 1.45; margin: 14px 0 18px; }
.commerce-note footer { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px; }
.commerce-note footer b { font-size: .72rem; font-weight: 600; }
.commerce-note footer small { color: var(--vn-gray); font-size: .7rem; }
.commerce-note footer small::before { content: '— '; }
.commerce-notes-dots { align-items: center; display: flex; gap: 5px; justify-content: center; margin-top: 18px; }
.commerce-notes-dots button { background: transparent; border: 0; cursor: pointer; height: 20px; padding: 0; position: relative; width: 20px; }
.commerce-notes-dots button::before { background: #b9aaa1; border-radius: 50%; content: ''; height: 7px; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: background .2s ease, transform .2s ease; width: 7px; }
.commerce-notes-dots button.is-active::before { background: var(--vn-burgundy); transform: translate(-50%, -50%) scale(1.35); }
.commerce-notes-dots button:focus-visible { outline: 1px solid var(--vn-burgundy); outline-offset: 1px; }
.commerce-instagram { background: #fff; }
.commerce-instagram-grid { display: grid; gap: 6px; grid-template-columns: repeat(7, 1fr); }
.commerce-instagram-grid div { aspect-ratio: 1; overflow: hidden; }
.commerce-instagram-grid img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.commerce-instagram-grid > div:nth-child(6) img { object-position: center top; }
.commerce-instagram-grid div:hover img { transform: scale(1.06); }
.commerce-newsletter { background: var(--vn-black); color: #fff; padding: 28px 0; }
.commerce-newsletter-inner { align-items: center; display: flex; justify-content: space-between; }
.commerce-newsletter h2 { font-size: 1rem; letter-spacing: 3px; margin: 0 0 6px; }
.commerce-newsletter p { color: #aaa; font-size: .75rem; margin: 0; }
.commerce-newsletter form { display: flex; max-width: 480px; width: 100%; }
.commerce-newsletter input { background: transparent; border: 1px solid #777; color: #fff; font-size: .75rem; padding: 12px; }
.commerce-newsletter button { background: var(--vn-burgundy); border: 0; color: #fff; font-size: .65rem; letter-spacing: 1px; padding: 0 20px; }

@media (max-width: 992px) {
    .commerce-product-grid { grid-template-columns: repeat(3, 1fr); }
    .commerce-benefits-grid { grid-template-columns: repeat(3, 1fr); }
    .commerce-benefits-grid > div:nth-child(3) { border-right: 0; }
    .commerce-instagram-grid { grid-template-columns: repeat(4, 1fr); }
    .commerce-note { flex-basis: calc((100% - 10px) / 2); }
}

/* Order tracking */
.order-track-page { background: #f4eee8; color: #241a1c; }
.order-track-hero { background: #171717; color: #fff; padding: 74px 0 70px; }
.order-track-hero__inner { align-items: end; display: grid; gap: 70px; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); }
.order-track-eyebrow { color: #a97869; font-size: .65rem; font-weight: 600; letter-spacing: .24em; margin: 0 0 17px; text-transform: uppercase; }
.order-track-hero h1 { color: #fff; font-family: var(--font-heading); font-size: clamp(3.4rem, 6vw, 5.8rem); font-weight: 400; letter-spacing: -.025em; line-height: .95; margin: 0 0 22px; }
.order-track-hero__inner > div:first-child > p:last-child { color: #bdb6b2; font-size: .95rem; margin: 0; }
.order-track-hero__note { border-left: 1px solid #554d49; padding: 4px 0 4px 28px; }
.order-track-hero__note span { color: #d7b28f; font-size: .62rem; font-weight: 600; letter-spacing: .2em; }
.order-track-hero__note p { color: #aaa29e; font-size: .78rem; line-height: 1.75; margin: 12px 0 0; }
.order-track-lookup { padding: 92px 0 100px; }
.order-track-lookup__grid { align-items: start; display: grid; gap: clamp(55px, 8vw, 125px); grid-template-columns: minmax(0, .85fr) minmax(480px, 1.15fr); }
.order-track-intro h2, .order-track-steps h2 { color: #211719; font-family: var(--font-heading); font-size: clamp(2.15rem, 3vw, 3.25rem); font-weight: 400; line-height: 1.08; margin: 0 0 25px; }
.order-track-intro > p:not(.order-track-eyebrow) { color: #766d68; font-size: .9rem; line-height: 1.9; margin: 0; max-width: 480px; }
.order-track-assurance { border-top: 1px solid #d8cbc2; margin-top: 38px; }
.order-track-assurance > div { align-items: center; border-bottom: 1px solid #d8cbc2; display: flex; gap: 18px; padding: 15px 0; }
.order-track-assurance strong { color: #7a3342; font-family: var(--font-heading); font-size: 1rem; font-weight: 400; }
.order-track-assurance span { color: #453d3a; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.order-track-card { background: #fff; box-shadow: 0 24px 70px rgba(56, 33, 32, .1); padding: 38px 42px 42px; }
.order-track-card__heading { align-items: center; border-bottom: 1px solid #e2d8d1; display: flex; justify-content: space-between; margin-bottom: 30px; padding-bottom: 20px; }
.order-track-card__heading span { color: #4d1725; font-size: .68rem; font-weight: 700; letter-spacing: .18em; }
.order-track-card__heading small { color: #99908b; font-size: .68rem; }
.order-track-form .woocommerce-form-track-order > p:first-child { color: #756c67; font-size: .82rem; line-height: 1.7; margin: 0 0 26px; }
.order-track-form .form-row { float: none !important; margin: 0 0 18px !important; padding: 0 !important; width: 100% !important; }
.order-track-form .form-row label { color: #372d2f; display: block; font-size: .66rem; font-weight: 700; letter-spacing: .11em; margin-bottom: 9px; text-transform: uppercase; }
.order-track-form .form-row input.input-text { background: #fbf9f7; border: 1px solid #d7cbc4; border-radius: 0; color: #241a1c; font-size: .85rem; height: 52px; padding: 0 16px; width: 100%; }
.order-track-form .form-row input.input-text:focus { border-color: #6a2838; box-shadow: 0 0 0 1px #6a2838; outline: 0; }
.order-track-form button.button { background: #541727 !important; border: 1px solid #541727 !important; border-radius: 0 !important; color: #fff !important; font-size: .68rem !important; font-weight: 700 !important; letter-spacing: .16em; min-height: 52px; padding: 0 28px !important; text-transform: uppercase; width: 100%; }
.order-track-form button.button:hover { background: #2d1018 !important; }
.order-track-steps { background: #fff; padding: 92px 0 100px; }
.order-track-steps__heading { max-width: 620px; }
.order-track-steps__grid { border-bottom: 1px solid #ddd1c9; border-top: 1px solid #ddd1c9; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; }
.order-track-steps__grid article { min-height: 230px; padding: 33px 40px 34px 0; }
.order-track-steps__grid article + article { border-left: 1px solid #ddd1c9; padding-left: 40px; }
.order-track-steps__grid article > span { color: #a97869; font-family: var(--font-heading); font-size: .9rem; }
.order-track-steps__grid h3 { color: #261c1e; font-family: var(--font-heading); font-size: 1.55rem; font-weight: 400; margin: 35px 0 12px; }
.order-track-steps__grid p { color: #817772; font-size: .78rem; line-height: 1.75; margin: 0; max-width: 280px; }
.order-track-support { align-items: center; background: #24191c; color: #fff; display: flex; justify-content: space-between; margin-top: 80px; padding: 42px 48px; }
.order-track-support h2 { color: #fff; font-size: clamp(1.65rem, 2.3vw, 2.35rem); margin: 0; }
.order-track-support a { border-bottom: 1px solid #d7b28f; color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .16em; padding-bottom: 8px; }
.order-track-support a span { margin-left: 18px; }
@media (max-width: 900px) {
    .order-track-hero__inner, .order-track-lookup__grid { gap: 45px; grid-template-columns: 1fr; }
    .order-track-hero__note { max-width: 520px; }
    .order-track-lookup { padding: 72px 0 80px; }
    .order-track-steps__grid article { padding-right: 25px; }
    .order-track-steps__grid article + article { padding-left: 25px; }
}
@media (max-width: 640px) {
    .order-track-hero { padding: 58px 0 54px; }
    .order-track-hero h1 { font-size: clamp(3rem, 16vw, 4.3rem); }
    .order-track-lookup { padding: 58px 0 68px; }
    .order-track-card { margin: 0 -4px; padding: 28px 22px 30px; }
    .order-track-card__heading { align-items: flex-start; flex-direction: column; gap: 6px; }
    .order-track-steps { padding: 64px 0 70px; }
    .order-track-steps__grid { grid-template-columns: 1fr; margin-top: 38px; }
    .order-track-steps__grid article { min-height: 0; padding: 28px 0; }
    .order-track-steps__grid article + article { border-left: 0; border-top: 1px solid #ddd1c9; padding-left: 0; }
    .order-track-steps__grid h3 { margin-top: 18px; }
    .order-track-support { align-items: flex-start; flex-direction: column; gap: 30px; margin-top: 50px; padding: 34px 26px; }
}

@media (max-width: 768px) {
    .commerce-category-grid, .commerce-promo-grid { grid-template-columns: repeat(2, 1fr); }
    .commerce-product-grid { grid-template-columns: repeat(2, 1fr); }
    .commerce-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .commerce-benefits-grid > div:nth-child(2), .commerce-benefits-grid > div:nth-child(4) { border-right: 0; }
    .commerce-newsletter-inner { align-items: flex-start; flex-direction: column; gap: 18px; }
    .commerce-newsletter form { max-width: none; }
    .commerce-notes-heading { align-items: flex-end; }
    .commerce-notes-heading > div:first-child { align-items: flex-start; flex-direction: column; gap: 5px; }
    .commerce-note { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .commerce-notes-track { transition: none; }
}

/* WooCommerce product detail content */
.product-details-section { border-top: 1px solid #e1d7d0; margin-top: 72px; padding: 72px 0 40px; }
.product-details-section > h2 { font-size: 2.4rem; font-weight: 400; margin: 0 0 28px; }
.vn-product-story { color: #5e5752; line-height: 1.8; margin-bottom: 56px; max-width: 860px; }
.vn-product-story > p { font-family: var(--font-heading); font-size: 1.25rem; }
.vn-product-story h2 { color: var(--vn-black); font-size: 1.45rem; font-weight: 400; margin: 38px 0 16px; }
.vn-product-story ul { padding-left: 20px; }
.vn-product-specs { border-top: 1px solid #e1d7d0; margin: 0; }
.vn-product-specs > div { border-bottom: 1px solid #e1d7d0; display: grid; gap: 20px; grid-template-columns: 160px 1fr; padding: 12px 0; }
.vn-product-specs dt { color: var(--vn-black); font-weight: 600; }
.vn-product-specs dd { margin: 0; }
.vn-product-detail-images { display: grid; gap: 18px; }
.vn-product-detail-images img { display: block; height: auto; margin: 0 auto; max-width: 1100px; width: 100%; }

@media (max-width: 768px) {
    .single-product .product-top { flex-direction: column; }
    .single-product .product-images { flex-direction: column-reverse; }
    .single-product .product-thumbnails { flex-direction: row !important; overflow-x: auto; width: 100% !important; }
    .single-product .product-thumbnail { flex: 0 0 72px; height: 88px !important; }
    .single-product .product-main-image { height: 460px !important; }
    .product-details-section { margin-top: 48px; padding-top: 48px; }
    .vn-product-specs > div { grid-template-columns: 1fr; gap: 2px; }
}

/* Editorial homepage layout below the unchanged hero */
.homepage-reference-layout ~ .categories-section,
.homepage-reference-layout ~ .trending-section,
.homepage-reference-layout ~ .twin-banners-section,
.homepage-reference-layout ~ .features-section,
.homepage-reference-layout ~ .moodboard-section,
.homepage-reference-layout ~ .gallery-section {
    display: none;
}

.home-editorial-section {
    background: var(--vn-cream);
    padding: 88px 0;
}

.story-grid, .mission-grid, .detail-grid {
    align-items: center;
    display: grid;
    gap: 80px;
    grid-template-columns: 0.9fr 1.1fr;
}

.mission-section, .detail-section {
    background: var(--vn-white);
}

.mission-grid {
    grid-template-columns: 1.05fr 0.95fr;
}

.detail-grid {
    grid-template-columns: 0.95fr 1.05fr;
}

.story-copy h2, .mission-copy h2, .detail-copy h2, .gallery-heading h2, .collection-callout h2 {
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.05;
    margin-bottom: 24px;
}

.story-copy h2 em, .collection-callout h2 em {
    color: var(--vn-burgundy);
    font-style: italic;
}

.story-copy > p:not(.section-eyebrow), .mission-copy > p:not(.section-eyebrow):not(.signature-line), .detail-copy > p:not(.section-eyebrow) {
    color: var(--vn-gray);
    font-size: 1rem;
    line-height: 1.9;
    margin-bottom: 28px;
    max-width: 470px;
}

.story-image, .mission-image, .detail-image {
    overflow: hidden;
}

.story-image img, .mission-image img, .detail-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.story-image { aspect-ratio: 1.15; }
.mission-image { aspect-ratio: 1.25; }
.detail-image { aspect-ratio: 0.95; }

.signature-line {
    color: var(--vn-burgundy);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-style: italic;
    margin-top: 34px;
}

.editorial-categories {
    background: var(--vn-white);
    padding-bottom: 78px;
    padding-top: 78px;
}

.editorial-categories-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 34px;
}

.editorial-categories-heading h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin: 0;
}

.editorial-categories-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, 1fr);
}

.editorial-category-card { color: var(--vn-black); }
.editorial-category-image { aspect-ratio: 1; background: #f4f0ea; overflow: hidden; }
.editorial-category-image img { height: 100%; object-fit: contain; transition: transform .45s ease; width: 100%; }
.editorial-category-card:hover .editorial-category-image img { transform: scale(1.04); }
.editorial-category-title { align-items: center; display: flex; justify-content: space-between; padding-top: 14px; }
.editorial-category-title h3 { font-family: var(--font-body); font-size: .9rem; letter-spacing: 1px; margin: 0; }
.editorial-category-title span { font-size: 1.25rem; }

.values-band {
    background: var(--vn-black);
    color: var(--vn-white);
    padding: 48px 0;
}

.values-grid {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(4, 1fr);
}

.values-grid > div {
    border-right: 1px solid rgba(255,255,255,0.2);
    padding-right: 28px;
}

.values-grid > div:last-child { border-right: 0; }
.value-number { color: #c4a77d; font-size: 0.7rem; letter-spacing: 2px; }
.values-grid h3 { font-size: 1.1rem; margin: 12px 0 4px; }
.values-grid p { color: #aaa; font-size: 0.82rem; margin: 0; }

.detail-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin-top: 30px;
}

.detail-list li { color: var(--vn-gray); font-size: 0.85rem; }
.detail-list li::before { color: var(--vn-burgundy); content: '✦'; margin-right: 8px; }

.editorial-gallery-section {
    background: var(--vn-cream);
    padding: 88px 0;
}

.gallery-heading { margin-bottom: 32px; }
.gallery-heading h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); }

.editorial-gallery-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
}

.editorial-gallery-image { aspect-ratio: 1; overflow: hidden; }
.editorial-gallery-image img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.editorial-gallery-image:hover img { transform: scale(1.04); }

.collection-callout { background: var(--vn-burgundy-dark); color: var(--vn-white); padding: 64px 0; }
.collection-callout-inner { align-items: center; display: flex; justify-content: space-between; }
.collection-callout h2 { margin: 0; }
.collection-callout .section-eyebrow { color: #d7b88c; }

@media (max-width: 768px) {
    .story-grid, .mission-grid, .detail-grid { gap: 36px; grid-template-columns: 1fr; }
    .mission-grid .mission-image { order: 2; }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .values-grid > div:nth-child(2) { border-right: 0; }
    .values-grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 20px; }
    .editorial-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .editorial-categories-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .editorial-categories-grid { grid-template-columns: repeat(2, 1fr); }
    .collection-callout-inner { align-items: flex-start; flex-direction: column; gap: 28px; }
}

@media (max-width: 768px) {
    .home-section {
        padding-bottom: 48px !important;
        padding-top: 58px !important;
    }

    .home-section-header {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 18px;
    }

    .home-section-header h2 {
        font-size: 1.65rem !important;
    }
}

/* Header */
.site-footer .footer-contact { max-width:340px; margin:22px 0 0; padding:0; border:0; font-family:var(--font-body,Inter,sans-serif); }
.site-footer .footer-contact h4 { margin:0 0 10px; color:#c8ab92; font-family:inherit; font-size:10px; font-weight:500; line-height:1.6; letter-spacing:.12em; }
.footer-contact-dot, .footer-contact-arrow, .footer-contact-icon { display:none; }
.site-footer .footer-contact-item { display:block; padding:5px 0; color:#e7ded5; text-decoration:none; border:0; }
.footer-contact-copy { display:flex; align-items:baseline; gap:14px; min-width:0; }
.footer-contact-label { flex:0 0 68px; color:#948a83; font-size:10px; font-weight:400; letter-spacing:.06em; line-height:1.7; }
.footer-contact-value { color:#d9d0c8; font-size:13px; font-weight:400; line-height:1.7; overflow-wrap:anywhere; }
.site-footer .footer-contact-item:hover .footer-contact-value { color:#e6bd98; text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-contact-item:focus-visible { outline:2px solid #c5a78c; outline-offset:4px; }
.site-footer > .container:not(.footer-bottom) { max-width:1320px; grid-template-columns:minmax(300px,1.65fr) repeat(3,minmax(0,1fr))!important; gap:64px!important; margin-left:auto; margin-right:auto; }
.site-footer .footer-brand > h3 { margin-bottom:16px!important; }
.site-footer .footer-brand > p { max-width:310px!important; font-size:13px; line-height:1.8!important; margin-bottom:0!important; color:#a69b93!important; }
.site-footer .footer-links > h4 { font-size:11px!important; letter-spacing:.14em!important; margin-bottom:20px!important; color:#dfd4cb; }
.site-footer .footer-links li { font-size:13px; line-height:2.25; }
@media (max-width:1100px) and (min-width:769px) { .site-footer > .container:not(.footer-bottom) { gap:32px!important; grid-template-columns: minmax(280px,1.6fr) repeat(3,minmax(0,1fr))!important; } }
@media (max-width:768px) { .site-footer > .container:not(.footer-bottom) { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:32px!important; } .site-footer .footer-brand { grid-column:1/-1; } }
@media (max-width:480px) { .site-footer > .container:not(.footer-bottom) { gap:28px!important; } .footer-contact-copy { gap:8px; } }
.site-header {
    background-color: var(--vn-black);
    color: var(--vn-white);
}
/* Top Bar */
.top-bar {
    background-color: var(--vn-burgundy-dark); /* Using dark burgundy to match mockup closely */
    color: var(--vn-white);
    font-size: 0.68rem;
    padding: 8px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.top-bar a {
    color: var(--vn-white);
    text-decoration: none;
    margin: 0 12px;
}

/* Menu Toggle (Mobile) */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--vn-white);
    padding: 10px;
}

/* Header Main */
.header-main {
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(70px, 1fr) auto minmax(320px, 1fr);
    align-items: center;
    min-height: 88px;
    padding: 16px 40px;
    max-width: 1920px;
    margin: 0 auto;
}

.site-branding {
    justify-self: start;
    line-height: 0;
}

.site-logo {
    align-items: center;
    display: inline-flex;
    font-family: var(--font-heading);
    font-size: 1.8rem;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.site-logo img {
    display: block;
    height: 54px;
    object-fit: contain;
    width: 54px;
}

.custom-logo-link { display: inline-flex; line-height: 0; }
.custom-logo-link img { display: block; height: 54px; object-fit: contain; width: 54px; }

.main-navigation {
    display: flex;
    justify-self: center;
    justify-content: center;
    min-width: 0;
}

.main-navigation ul {
    display: flex;
    gap: 30px;
}

.main-navigation a {
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 1.7px;
    color: #e8e3da;
}
.main-navigation a:hover {
    color: var(--vn-white);
}

.header-actions {
    display: flex;
    gap: 10px;
    justify-self: end;
    justify-content: flex-end;
    align-items: center;
}

.header-actions .icon {
    cursor: pointer;
    display: block;
    flex: 0 0 auto;
}

.header-actions .search-wrap,
.header-actions .account-wrap {
    align-items: center;
    display: flex;
}

.header-action-control {
    align-items: center;
    border: 1px solid rgba(232, 227, 218, .25);
    box-sizing: border-box;
    color: #f5f1eb;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.header-action-control--icon {
    border-radius: 50%;
    width: 36px;
}

.header-action-control--account {
    border-radius: 999px;
    gap: 8px;
    padding: 0 13px 0 11px;
}

.header-action-control--label {
    border-radius: 999px;
    gap: 8px;
    padding: 0 13px 0 11px;
}

.header-action-control--account .text-small,
.header-action-control--label .text-small {
    font-size: .66rem;
    letter-spacing: 1.15px;
    line-height: 1;
}

.header-action-control:hover,
.header-action-control:focus-visible {
    background: rgba(201, 165, 111, .12);
    border-color: #c9a56f;
    color: #e1bd87;
    outline: none;
    transform: translateY(-1px);
}

@media (min-width: 993px) and (max-width: 1366px) {
    .header-main { gap: 24px; grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 76px; padding: 12px 26px; }
    .header-main .site-logo img, .header-main .custom-logo-link img { width: 48px; height: 48px; }
    .main-navigation { width: 100%; }
    .main-navigation ul { gap: 21px; }
    .main-navigation a { white-space: nowrap; }
    .header-actions .wishlist-wrap { display: none; }
}

@media (min-width: 993px) and (max-width: 1180px) {
    .header-main { gap: 18px; grid-template-columns: 48px minmax(0, 1fr) auto; padding-left: 22px; padding-right: 22px; }
    .main-navigation ul { gap: 16px; }
    .main-navigation a { font-size: .68rem; letter-spacing: 1.25px; }
    .header-actions .account-wrap { display: none; }
}

/* Search Overlay */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-close {
    position: absolute;
    top: 40px;
    right: 40px;
    background: none;
    border: none;
    color: white;
    font-size: 2.5rem;
    cursor: pointer;
    transition: transform 0.3s;
}

.search-close:hover {
    transform: rotate(90deg);
}

.search-overlay-content {
    width: 100%;
    max-width: 800px;
    padding: 0 20px;
    text-align: center;
}

.search-form {
    display: flex;
    border-bottom: 2px solid white;
    padding-bottom: 10px;
}

.search-field {
    width: 100%;
    background: transparent;
    border: none;
    color: white;
    font-size: 2rem;
    font-family: var(--font-body);
    outline: none;
}

.search-field::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.search-submit {
    background: transparent;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Footer */
.site-footer {
    background-color: var(--vn-black);
    color: var(--vn-white);
    padding: 60px 0 20px;
    margin-top: 60px;
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.widget-title {
    font-size: 1rem;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-nav-list li {
    margin-bottom: 10px;
}

.footer-nav-list a {
    color: #a8a8a8;
    font-size: 0.9rem;
    transition: color 0.3s;
}

.footer-nav-list a:hover {
    color: var(--vn-white);
}

.newsletter-form {
    display: flex;
    margin-top: 15px;
}

.newsletter-form input {
    padding: 10px;
    border: 1px solid #333;
    background: transparent;
    color: var(--vn-white);
    flex-grow: 1;
}

.newsletter-form button {
    padding: 10px 20px;
    background: var(--vn-burgundy);
    color: var(--vn-white);
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.8rem;
}

.footer-bottom {
    border-top: 1px solid #333;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: #aaa;
}

/* Form Elements */
input[type="text"], input[type="email"], input[type="password"], select, textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--vn-gray-light);
    background: transparent;
    font-family: var(--font-body);
}

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--vn-black);
}

/* WooCommerce Overrides */
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt {
    background-color: var(--vn-burgundy);
    color: var(--vn-white);
    border-radius: 0;
    font-family: var(--font-body);
    text-transform: uppercase;
    font-weight: normal;
}

.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce input.button.alt:hover {
    background-color: var(--vn-burgundy-dark);
}

.woocommerce-message, .woocommerce-info {
    border-top-color: var(--vn-burgundy);
    background-color: var(--vn-cream-dark);
    color: var(--vn-black);
}

.woocommerce-message::before, .woocommerce-info::before {
    color: var(--vn-burgundy);
}

/* Checkout 2-column layout */
.woocommerce-checkout form.checkout {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
#customer_details {
    flex: 2;
    min-width: 300px;
}
#order_review_heading, #order_review {
    flex: 1;
    min-width: 300px;
}
#order_review {
    background: #fafafa;
    padding: 20px;
    border: 1px solid #eee;
}

/* =========================================
   Basic Page Content Styling
   ========================================= */
.entry-content h2 {
    font-family: var(--font-heading);
    font-size: 2rem;
    color: var(--vn-black);
    margin: 40px 0 20px;
}

.entry-content h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--vn-black);
    margin: 30px 0 15px;
}

.entry-content p {
    margin-bottom: 20px;
}

.entry-content a {
    color: var(--vn-burgundy);
    text-decoration: underline;
}

/* =========================================
   Mobile Responsiveness (Media Queries)
   ========================================= */

@media (max-width: 992px) {
    /* Hero typography and layout */
    .hero-section h1, .page-header h1 {
        font-size: 2.5rem !important;
    }
    
    .hero-section {
        justify-content: center !important;
        padding: 60px 20px !important;
        min-height: 500px !important;
    }
    .hero-section .hero-text {
        background: rgba(0,0,0,0.5); /* Add readable box on mobile */
        padding: 30px !important;
        border-radius: 8px;
    }
    
    /* Grids & Flex Layouts */
    .categories-grid, .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Splits & Two-columns */
    .mission-section .container, 
    .split-section .container,
    .collection-section .row {
        flex-direction: column !important;
        gap: 30px !important;
    }

    .mission-image, .split-image, .col-images {
        width: 100%;
        height: 400px !important;
        margin-top: 0 !important;
    }

    /* WooCommerce Product & Shop */
    .product-top {
        flex-direction: column !important;
    }
    
    .shop-sidebar {
        width: 100% !important;
        margin-bottom: 30px;
    }

    .container[style*="gap: 40px"] {
        flex-direction: column !important;
    }

    /* Checkout */
    .woocommerce-checkout form.checkout {
        flex-direction: column;
    }
    #customer_details, #order_review_heading, #order_review {
        flex: none;
        width: 100%;
    }

    /* Mobile Menu Toggle Logic */
    .header-main {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 15px 20px !important;
        min-height: 70px;
    }

    .menu-toggle {
        display: block;
        position: absolute;
        left: 20px;
        order: unset;
        padding: 0;
    }

    .site-branding {
        flex: none;
        text-align: center;
    }
    
    .site-logo {
        font-size: 1.3rem;
        letter-spacing: 2px;
        white-space: nowrap;
    }

    .site-logo img,
    .custom-logo-link img {
        height: 52px;
        width: 52px;
    }

    .header-actions {
        position: absolute;
        right: 20px;
        gap: 20px;
    }

    .header-actions .icon {
        font-size: 1.2rem;
    }
    
    .header-actions .text-small {
        display: none; /* Hide text on mobile */
    }
    
    .account-wrap, .wishlist-wrap {
        display: none; /* Hide non-essential icons on mobile for a cleaner look */
    }

    .main-navigation {
        display: flex !important; /* Always render so it can be animated */
        position: fixed;
        top: 0;
        right: -100vw; /* Hide off-screen to the right by default */
        left: auto;
        width: 100vw;
        height: 100vh;
        z-index: 99998; /* Just below the toggle button */
        background-color: var(--vn-black);
        padding: 120px 40px 60px 40px; /* Top padding clears the header visually */
        overflow-y: auto;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1); /* Silky smooth high-end animation */
    }

    .main-navigation.toggled {
        right: 0; /* Slide in smoothly */
    }

    .main-navigation ul {
        flex-direction: column;
        align-items: center;
        gap: 30px !important; /* More breathing room */
    }

    .main-navigation ul li a {
        font-size: 1.2rem;
        color: #e8e3da;
        letter-spacing: 2px;
        transition: color 0.3s;
    }

    .main-navigation ul li a:hover,
    .main-navigation ul li.current-menu-item a {
        color: var(--vn-white);
        opacity: 0.8;
    }
    
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(-10px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

@media (max-width: 768px) {
    /* Layout */
    .container {
        padding: 0 15px;
    }

    /* Top Bar */
    .top-bar {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 10px 15px;
    }
    
    .newsletter-bar {
        padding: 40px 15px !important;
    }

    /* Grids & Typography */
    .categories-grid, .products-grid, .values-grid {
        grid-template-columns: 1fr !important;
    }

    .banner-section h2 {
        font-size: 2rem !important;
    }

    /* Footer */
    .site-footer .container {
        grid-template-columns: 1fr !important;
        text-align: center;
    }

    .site-footer .social-links, 
    .site-footer .footer-newsletter form {
        justify-content: center;
    }
    
    .site-footer .footer-brand p {
        margin: 0 auto 20px;
    }
}
