:root {
  --naidoo-ink: #171714;
  --naidoo-muted: #68655f;
  --naidoo-gold: #b88a31;
  --naidoo-gold-dark: #8b641e;
  --naidoo-cream: #f6f1e7;
  --naidoo-sand: #e8dcc5;
  --naidoo-white: #ffffff;
  --naidoo-border: rgba(23, 23, 20, .12);
  --naidoo-radius: 22px;
  --naidoo-shadow: 0 18px 55px rgba(29, 24, 16, .10);
}

.naidoo-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.naidoo-announcement { background: var(--naidoo-ink); color: #fff; font-size: 12px; letter-spacing: .055em; text-transform: uppercase; }
.naidoo-announcement .naidoo-shell { min-height: 36px; display: flex; align-items: center; justify-content: center; gap: 36px; }
.naidoo-announcement span + span::before { content: "•"; margin-right: 36px; color: var(--naidoo-gold); }

.ast-primary-header-bar { border: 0 !important; box-shadow: 0 8px 26px rgba(0,0,0,.045); }
.main-header-menu > .menu-item > .menu-link { font-weight: 650; letter-spacing: .01em; }
.site-primary-footer-wrap, .site-below-footer-wrap, .site-footer, footer.elementor-location-footer { display: none !important; }
.naidoo-managed-page .entry-header { display: none !important; }
.naidoo-managed-page .entry-content { margin: 0 !important; }
.naidoo-home-v2 .site-content > .ast-container { width: 100%; max-width: none; padding: 0; }
.naidoo-home-v2 .content-area, .naidoo-home-v2 .site-main { width: 100%; margin: 0; }
.naidoo-home-v2 .site-main > article { margin: 0; padding: 0; }

.naidoo-home, .naidoo-legal { color: var(--naidoo-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.naidoo-home h1, .naidoo-home h2, .naidoo-home h3, .naidoo-legal h1, .naidoo-legal h2 { color: var(--naidoo-ink); font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.naidoo-eyebrow { margin: 0 0 16px; color: var(--naidoo-gold-dark); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.naidoo-hero { position: relative; overflow: hidden; background: linear-gradient(130deg, #f8f3e9 0%, #efe5d2 100%); }
.naidoo-hero::before { content: ""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(184,138,49,.22); border-radius: 50%; left: -210px; top: -160px; }
.naidoo-hero-grid { min-height: 650px; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 55px; }
.naidoo-hero-copy { padding: 76px 0; position: relative; z-index: 2; }
.naidoo-hero h1 { margin: 0 0 22px; font-size: clamp(54px, 6.4vw, 92px); line-height: .93; }
.naidoo-hero-copy > p:not(.naidoo-eyebrow) { max-width: 580px; color: #504b43; font-size: 19px; line-height: 1.72; }
.naidoo-actions { display: flex; flex-wrap: wrap; gap: 13px; margin: 32px 0; }
.naidoo-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 25px; border: 1px solid var(--naidoo-ink); border-radius: 999px; font-size: 14px; font-weight: 800; text-decoration: none !important; transition: transform .2s ease, background .2s ease, color .2s ease; }
.naidoo-button:hover { transform: translateY(-2px); }
.naidoo-button-primary { background: var(--naidoo-ink); color: #fff !important; }
.naidoo-button-ghost { color: var(--naidoo-ink) !important; }
.naidoo-button-light { border-color: #fff; color: #fff !important; }
.naidoo-hero-points { display: flex; flex-wrap: wrap; gap: 11px 20px; color: #5c574f; font-size: 13px; font-weight: 650; }
.naidoo-hero-points span::before { content: "✓"; color: var(--naidoo-gold-dark); margin-right: 6px; }
.naidoo-hero-art { align-self: stretch; min-height: 650px; position: relative; display: flex; align-items: flex-end; justify-content: center; }
.naidoo-hero-art::before { content: ""; position: absolute; inset: 54px 0 0; border-radius: 260px 260px 0 0; background: #d9c39d; }
.naidoo-hero-art img { position: relative; z-index: 1; width: min(620px, 100%); max-height: 620px; object-fit: contain; object-position: bottom; filter: saturate(.92); }
.naidoo-hero-badge { position: absolute; z-index: 3; right: 2%; bottom: 10%; width: 140px; height: 140px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--naidoo-ink); color: #fff; text-align: center; box-shadow: var(--naidoo-shadow); transform: rotate(5deg); }
.naidoo-hero-badge strong { font-family: Georgia, serif; font-size: 25px; }
.naidoo-hero-badge span { max-width: 92px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

.naidoo-section { padding: 90px 0; }
.naidoo-section-soft { background: #f8f7f3; }
.naidoo-section-heading { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.naidoo-section-heading h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); }
.naidoo-link { color: var(--naidoo-ink) !important; font-weight: 750; text-decoration: none !important; }
.naidoo-link:hover { color: var(--naidoo-gold-dark) !important; }

.naidoo-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.naidoo-category { min-width: 0; color: var(--naidoo-ink) !important; text-decoration: none !important; }
.naidoo-category img { width: 100%; aspect-ratio: .82; border-radius: 150px 150px 18px 18px; object-fit: cover; background: var(--naidoo-cream); transition: transform .25s ease; }
.naidoo-category:hover img { transform: translateY(-5px); }
.naidoo-category span { display: block; padding: 14px 4px; }
.naidoo-category strong { display: block; font-family: Georgia, serif; font-size: 18px; }
.naidoo-category small { display: block; margin-top: 3px; color: var(--naidoo-muted); }

.naidoo-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.naidoo-product-card { overflow: hidden; border: 1px solid var(--naidoo-border); border-radius: var(--naidoo-radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.naidoo-product-card:hover { transform: translateY(-5px); box-shadow: var(--naidoo-shadow); }
.naidoo-product-image { position: relative; display: block; overflow: hidden; background: #eee9df; }
.naidoo-product-image img { display: block; width: 100%; aspect-ratio: .86; object-fit: cover; transition: transform .35s ease; }
.naidoo-product-card:hover .naidoo-product-image img { transform: scale(1.025); }
.naidoo-sale { position: absolute; left: 13px; top: 13px; padding: 7px 11px; border-radius: 999px; background: var(--naidoo-ink); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.naidoo-product-copy { padding: 20px; }
.naidoo-product-copy h3 { min-height: 50px; margin: 0 0 10px; font-family: inherit; font-size: 16px; line-height: 1.45; letter-spacing: -.01em; }
.naidoo-product-copy h3 a { color: var(--naidoo-ink); text-decoration: none; }
.naidoo-price { font-size: 18px; font-weight: 850; }
.naidoo-price del { color: #8a867f; font-size: 14px; font-weight: 500; }
.naidoo-price ins { text-decoration: none; }
.naidoo-tax-note, .naidoo-product-tax { color: var(--naidoo-muted); font-size: 12px; }
.naidoo-product-copy .naidoo-link { display: inline-block; margin-top: 10px; font-size: 13px; }

.naidoo-promise-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.naidoo-promise-grid > div { padding-right: 22px; border-right: 1px solid var(--naidoo-border); }
.naidoo-promise-grid > div:last-child { border-right: 0; }
.naidoo-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--naidoo-cream); color: var(--naidoo-gold-dark); font-size: 22px; }
.naidoo-promise-grid h3 { margin: 16px 0 8px; font-family: inherit; font-size: 17px; letter-spacing: -.01em; }
.naidoo-promise-grid p { margin: 0; color: var(--naidoo-muted); font-size: 14px; line-height: 1.7; }

.naidoo-story { padding: 90px 0; background: #8f6a2a; color: #fff; }
.naidoo-story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.naidoo-story .naidoo-eyebrow, .naidoo-story h2 { color: #fff; }
.naidoo-story h2 { margin: 0; font-size: clamp(46px, 6vw, 78px); }
.naidoo-story p:not(.naidoo-eyebrow) { margin: 0 0 28px; font-size: 19px; line-height: 1.8; }

.naidoo-footer { padding: 72px 0 28px; background: #161612; color: #d9d5cb; font-size: 14px; line-height: 1.65; }
.naidoo-footer-grid { display: grid; grid-template-columns: 1.65fr repeat(3, 1fr); gap: 50px; }
.naidoo-footer-brand { margin: 0 0 14px; color: #fff; font-family: Georgia, serif; font-size: 31px; letter-spacing: .15em; }
.naidoo-footer h2 { margin: 0 0 16px; color: #fff; font-family: inherit; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.naidoo-footer a { display: block; margin: 6px 0; color: #d9d5cb; text-decoration: none; }
.naidoo-footer a:hover { color: #fff; }
.naidoo-statutory { margin-top: 50px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.13); }
.naidoo-statutory p { margin: 5px 0; }
.naidoo-statutory p:nth-child(4) a { display: inline; }
.naidoo-small { opacity: .74; font-size: 12px; }

.naidoo-legal { width: min(930px, calc(100% - 40px)); margin: 0 auto; padding: 70px 0 90px; }
.naidoo-legal > header { margin-bottom: 42px; padding: 48px; border-radius: var(--naidoo-radius); background: var(--naidoo-cream); }
.naidoo-legal > header h1 { margin: 0 0 12px; font-size: clamp(42px, 6vw, 70px); line-height: 1; }
.naidoo-legal > header > p:last-child { margin: 0; color: var(--naidoo-muted); }
.naidoo-legal article { font-size: 16px; line-height: 1.8; }
.naidoo-legal article h2 { margin: 40px 0 10px; font-size: 30px; }
.naidoo-legal article ul, .naidoo-legal article ol { margin: 12px 0 20px 24px; }
.naidoo-legal dl { display: grid; grid-template-columns: 240px 1fr; gap: 10px 20px; }
.naidoo-legal dt { font-weight: 800; }
.naidoo-contact-card { margin-top: 44px; padding: 30px; border: 1px solid var(--naidoo-border); border-radius: var(--naidoo-radius); background: #faf9f6; }
.naidoo-contact-card h2 { margin-top: 0 !important; }

.naidoo-product-assurance { margin: 18px 0; padding: 18px; display: grid; gap: 6px; border: 1px solid var(--naidoo-border); border-radius: 14px; background: #faf8f2; font-size: 13px; }
.naidoo-product-assurance span::before { content: "✓"; margin-right: 7px; color: var(--naidoo-gold-dark); }
.single-product form.cart .quantity, .woocommerce-cart-form .product-quantity .quantity { display: none !important; }
.naidoo-retail-summary { margin: 0 0 8px; color: #4f4a42; line-height: 1.65; }
.naidoo-product-details { display: grid; gap: 12px; color: var(--naidoo-ink); }
.naidoo-product-details section { padding: 24px 0; border-bottom: 1px solid var(--naidoo-border); }
.naidoo-product-details section:last-child { border-bottom: 0; }
.naidoo-product-details h2 { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: -.02em; }
.naidoo-product-details p, .naidoo-product-details li { line-height: 1.75; }
.naidoo-product-details dl { display: grid; grid-template-columns: minmax(180px, .7fr) 1.3fr; gap: 0; margin: 0; border: 1px solid var(--naidoo-border); border-radius: 12px; overflow: hidden; }
.naidoo-product-details dt, .naidoo-product-details dd { margin: 0; padding: 11px 14px; border-bottom: 1px solid var(--naidoo-border); }
.naidoo-product-details dt { background: #faf8f2; font-weight: 750; }
.naidoo-product-details dt:last-of-type, .naidoo-product-details dd:last-of-type { border-bottom: 0; }
.naidoo-account-intro { margin-bottom: 22px; padding: 18px; border: 1px solid var(--naidoo-border); border-radius: 12px; background: #faf8f2; }
.naidoo-account-intro p { margin: 6px 0 0; }
.naidoo-invoice-hsn, .naidoo-email-legal { font-size: 12px; }
#billing_phone_field .optional { display: none !important; }
#billing_phone_field label.required_field::after { content: " *"; color: #b32d2e; }

@media (max-width: 980px) {
  .naidoo-hero-grid { grid-template-columns: 1fr; }
  .naidoo-hero-art { min-height: 480px; }
  .naidoo-category-grid { grid-template-columns: repeat(3, 1fr); }
  .naidoo-product-grid { grid-template-columns: repeat(2, 1fr); }
  .naidoo-promise-grid { grid-template-columns: repeat(2, 1fr); }
  .naidoo-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  .naidoo-shell { width: min(100% - 24px, 1180px); }
  .naidoo-announcement .naidoo-shell { min-height: 32px; justify-content: center; }
  .naidoo-announcement span { display: none; }
  .naidoo-announcement span:nth-child(2) { display: inline; }
  .naidoo-announcement span + span::before { display: none; }
  .naidoo-hero-grid { min-height: 0; gap: 0; }
  .naidoo-hero-copy { padding: 58px 0 34px; }
  .naidoo-hero h1 { font-size: 54px; }
  .naidoo-hero-copy > p:not(.naidoo-eyebrow) { font-size: 16px; }
  .naidoo-hero-art { min-height: 360px; }
  .naidoo-hero-art::before { inset: 30px 0 0; }
  .naidoo-hero-badge { width: 106px; height: 106px; right: 0; bottom: 4%; }
  .naidoo-hero-badge strong { font-size: 20px; }
  .naidoo-section { padding: 64px 0; }
  .naidoo-section-heading { align-items: start; flex-direction: column; }
  .naidoo-category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .naidoo-product-grid, .naidoo-promise-grid, .naidoo-story-grid, .naidoo-footer-grid { grid-template-columns: 1fr; }
  .naidoo-product-grid { gap: 15px; }
  .naidoo-promise-grid > div { padding: 0 0 22px; border-right: 0; border-bottom: 1px solid var(--naidoo-border); }
  .naidoo-story-grid { gap: 28px; }
  .naidoo-footer-grid { gap: 28px; }
  .naidoo-legal { width: min(100% - 24px, 930px); padding: 45px 0 65px; }
  .naidoo-legal > header { padding: 30px 24px; }
  .naidoo-legal dl { grid-template-columns: 1fr; }
  .naidoo-legal dd { margin: -6px 0 12px; }
  .naidoo-product-details dl { grid-template-columns: 1fr; }
  .naidoo-product-details dt, .naidoo-product-details dd { border-bottom: 0; }
  .naidoo-product-details dd { padding-top: 0; border-bottom: 1px solid var(--naidoo-border); }
}
