*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --navy: #1b2d73;
    --navy-deep: #152260;
    --gold: #c5a44e;
    --gold-light: #e8d5a3;
    --cream: #f8f4ed;
    --cream-dark: #f0ead9;
    --white: #fff;
    --text-dark: #1a1a1a;
    --text-mid: #3d3d3d;
    --text-muted: #6b6b6b;
    --border: rgba(27, 45, 115, 0.11);
    --serif: "Cormorant Garamond", Georgia, serif;
    --sans: "Nunito Sans", sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--sans);
    background: var(--cream);
    color: var(--text-dark);
    line-height: 1.7;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

body,
body p,
body a,
body span,
body div {
    font-family: var(--sans) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body.checkout-wc h3,
main.checkoutwc h3 {
    font-family: var(--serif) !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
}

.inner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 40px;
}

nav {
    background: rgba(248, 244, 237, 0.97);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0px;
    z-index: 300
}

.nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 64px
}

.nav-logo {
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 500;
    color: var(--navy);
    text-decoration: none
}

.nav-logo em {
    color: var(--gold);
    font-style: italic
}

.nav-links {
    display: flex;
    gap: 28px;
    list-style: none;
    align-items: center
}

.nav-links a {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--text-muted);
    text-decoration: none;
    transition: color .2s
}

.nav-links a:hover {
    color: var(--navy)
}

.nav-cta {
    background: var(--navy) !important;
    color: var(--white) !important;
    padding: 10px 20px;
    border-radius: 2px
}

h2 {
    font-family: var(--serif);
    font-size: 42px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.18;
    margin-bottom: 26px
}

h2 em {
    color: var(--gold);
    font-style: italic
}

h3 {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 12px;
    line-height: 1.3
}

p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.8;
    margin-bottom: 18px
}

p:last-child {
    margin-bottom: 0
}

.section-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
    display: block
}



ul.list-text {
    padding: 0 0 16px 20px;
}

ul.list-text.pb-0 {
    padding: 0 0 0 20px;
}


.cfw-logo .logo {
    background-size: 220px !important;
    background-color: transparent;
}

.cfw-order-bump.cfw-module {
    display: flex;
    flex-direction: column-reverse
}

.cfw-order-bump-header {
    border-top: 1px solid #eee;
}

#cfw #cfw-breadcrumb li.tab.active a {
    color: var(--navy) !important;
    border-bottom-color: var(--navy) !important;
}

body.checkout-wc a,
main.checkoutwc a {
    color: var(--navy) !important;
}

.cfw-hide-shipping #cfw-customer-info .cfw-continue-to-payment-btn {
    padding: 16px 32px !important;
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    color: var(--white) !important;
    background: var(--navy) !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: center !important;
}

.container.context-checkout.checkoutwc {
    min-height: 90vh;
}

#cfw-header {
    background: var(--navy);
}

#cfw-footer {
    background: var(--navy);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 24px 40px;
    text-align: center;
    min-height: initial;
}

#cfw-footer .cfw-footer-inner {
    padding: 0;
}

#cfw-footer .cfw-footer-inner p {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.22) !important;
    text-decoration: none;
    transition: color .2s;
}

.cfw_cart_item_after_data {
    display: none !important;
}