/*
Theme Name: Luxe Color Bar
Theme URI: https://luxecolorbar.com
Author: Ensii LLC / Nova
Description: Premium boutique salon theme for Luxe Color Bar, Kennesaw GA. Cream, ink, charcoal and gold palette. Cormorant Garamond serif display font with Jost sans. Elementor-compatible.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: luxe
Tags: salon, beauty, dark, elegant, custom-menu, featured-images, responsive
*/

/* ============================================================
   LUXE COLOR BAR — DESIGN TOKENS
   ============================================================ */
:root {
  --cream:        #f4f1ec;
  --cream-dark:   #ede9e2;
  --white:        #faf9f7;
  --ink:          #1a1814;
  --charcoal:     #111009;
  --obsidian:     #0c0b09;
  --gold:         #c9a96e;
  --gold-lt:      #e8d5b0;
  --gold-dim:     #a8885a;
  --stone:        #6b6660;
  --mist:         #9c9690;
  --border:       rgba(26,24,20,0.11);
  --border-med:   rgba(26,24,20,0.22);
  --border-dk:    rgba(255,255,255,0.08);
  --border-gold:  rgba(201,169,110,0.28);
  --ok-bg:        #eef7f0;
  --ok-text:      #2d7a3f;
  --warn-bg:      #fef8ec;
  --warn-text:    #a06b10;
  --serif:        'Cormorant Garamond', Georgia, serif;
  --sans:         'Jost', system-ui, sans-serif;
  --content:      1100px;
  --pad-x:        2.5rem;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* ============================================================
   LAYOUT HELPERS
   ============================================================ */
.wrap {
  max-width: var(--content);
  margin: 0 auto;
  padding: 0 var(--pad-x);
}
.s { border-bottom: 0.5px solid var(--border); }
.s-cream    { background: var(--cream); }
.s-white    { background: var(--white); }
.s-charcoal { background: var(--charcoal); border-bottom: 0.5px solid rgba(255,255,255,0.05); }
.s-obsidian { background: var(--obsidian); border-bottom: 0.5px solid rgba(255,255,255,0.04); }
.s-ink      { background: var(--ink); border-bottom: 0.5px solid rgba(255,255,255,0.06); }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.eyebrow       { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--stone); font-weight: 400; display: block; margin-bottom: 0.75rem; }
.eyebrow-gold  { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 400; display: block; margin-bottom: 0.75rem; }
.eyebrow-light { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.38); font-weight: 400; display: block; margin-bottom: 0.75rem; }

.h2       { font-family: var(--serif); font-size: clamp(28px,3.5vw,42px); font-weight: 300; line-height: 1.12; }
.h2 em    { font-style: italic; }
.h2-light { font-family: var(--serif); font-size: clamp(28px,3.5vw,42px); font-weight: 300; line-height: 1.12; color: var(--white); }
.h2-light em { color: var(--gold-lt); }

.body       { font-size: 14px; line-height: 1.85; color: var(--stone); }
.body-light { font-size: 14px; line-height: 1.85; color: rgba(255,255,255,0.55); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn { display: inline-block; font-family: var(--sans); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 400; padding: 0.9rem 2.2rem; cursor: pointer; border: none; transition: all 0.18s; }
.btn-ink       { background: var(--ink); color: var(--white); }
.btn-ink:hover { background: var(--charcoal); }
.btn-gold      { background: var(--gold); color: var(--charcoal); font-weight: 500; }
.btn-gold:hover { background: var(--gold-lt); }
.btn-ghost     { background: transparent; color: var(--ink); border: 0.5px solid var(--border-med); }
.btn-ghost:hover { background: var(--cream-dark); }
.btn-ghost-lt  { background: transparent; color: var(--white); border: 0.5px solid var(--border-dk); }
.btn-ghost-lt:hover { background: rgba(255,255,255,0.06); }
.btn-ghost-gold { background: transparent; color: var(--gold); border: 0.5px solid var(--border-gold); }
.btn-ghost-gold:hover { background: rgba(201,169,110,0.07); }
.btn-sm        { padding: 0.6rem 1.4rem; font-size: 10px; }
.btn-row       { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ============================================================
   BADGES
   ============================================================ */
.badge-open    { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; background: var(--ok-bg); color: var(--ok-text); display: inline-block; }
.badge-limited { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; background: var(--warn-bg); color: var(--warn-text); display: inline-block; }
.badge-award   { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; background: rgba(201,169,110,0.12); color: var(--gold-dim); border: 0.5px solid var(--border-gold); display: inline-block; }
.badge-outline { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; border: 0.5px solid var(--border); color: var(--stone); display: inline-block; }

/* ============================================================
   NAVIGATION
   ============================================================ */
#masthead {
  position: sticky; top: 0; z-index: 1000;
  background: var(--cream);
  border-bottom: 0.5px solid var(--border);
}
.nav-inner {
  max-width: var(--content); margin: 0 auto; padding: 1.2rem var(--pad-x);
  display: flex; justify-content: space-between; align-items: center;
}
.site-logo { font-family: var(--serif); font-size: 22px; letter-spacing: 0.14em; font-weight: 300; color: var(--ink); }
.site-logo em { font-style: italic; }
.primary-menu { display: flex; gap: 1.75rem; list-style: none; align-items: center; padding: 0; margin: 0; }
.primary-menu a { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--stone); font-weight: 400; transition: color 0.15s; }
.primary-menu a:hover { color: var(--ink); }
.nav-book { background: var(--ink) !important; color: var(--white) !important; padding: 0.55rem 1.35rem; font-size: 10px !important; letter-spacing: 0.16em !important; }
.nav-book:hover { background: var(--charcoal) !important; }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 1px; background: var(--ink); transition: all 0.2s; }

/* ============================================================
   AWARD STRIP
   ============================================================ */
.award-strip { background: var(--white); border-bottom: 0.5px solid var(--border); }
.award-strip-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: flex; }
.award-item { flex: 1; text-align: center; padding: 1.1rem 1rem; border-right: 0.5px solid var(--border); }
.award-item:last-child { border-right: none; }
.award-num   { font-family: var(--serif); font-size: 28px; font-weight: 300; line-height: 1; display: block; color: var(--gold-dim); }
.award-label { font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; color: var(--stone); margin-top: 4px; display: block; }

/* ============================================================
   HERO
   ============================================================ */
.hero { background: var(--charcoal); border-bottom: 0.5px solid rgba(255,255,255,0.05); position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; top: -20%; left: 50%; transform: translateX(-50%); width: 70%; height: 80%; background: radial-gradient(ellipse, rgba(201,169,110,0.07) 0%, transparent 70%); pointer-events: none; }
.hero::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.015) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.015) 1px, transparent 1px); background-size: 80px 80px; pointer-events: none; }
.hero-inner { max-width: var(--content); margin: 0 auto; padding: 5.5rem var(--pad-x) 5rem; text-align: center; position: relative; z-index: 1; }
.hero-geo  { font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; display: block; }
.hero-h1   { font-family: var(--serif); font-size: clamp(44px, 6.5vw, 80px); font-weight: 300; line-height: 1.03; color: var(--white); margin-bottom: 1rem; letter-spacing: 0.01em; }
.hero-h1 em { font-style: italic; color: var(--gold-lt); }
.hero-sub  { font-size: 15px; color: rgba(255,255,255,0.48); letter-spacing: 0.04em; margin-bottom: 2.75rem; max-width: 500px; margin-left: auto; margin-right: auto; line-height: 1.7; }
.hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* Page hero (inner pages) */
.page-hero { background: var(--charcoal); border-bottom: 0.5px solid rgba(255,255,255,0.05); position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; top: -30%; left: 30%; width: 60%; height: 100%; background: radial-gradient(ellipse, rgba(201,169,110,0.06) 0%, transparent 65%); pointer-events: none; }
.page-hero::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.012) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.012) 1px, transparent 1px); background-size: 80px 80px; pointer-events: none; }
.page-hero-inner { max-width: var(--content); margin: 0 auto; padding: 4rem var(--pad-x) 3.5rem; position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.page-hero-h1 { font-family: var(--serif); font-size: clamp(38px,5.5vw,68px); font-weight: 300; line-height: 1.05; color: var(--white); margin-bottom: 0.75rem; }
.page-hero-h1 em { font-style: italic; color: var(--gold-lt); }
.page-hero-sub { font-size: 14px; color: rgba(255,255,255,0.48); line-height: 1.75; max-width: 420px; }

/* Gold rules */
.gold-rule { height: 1px; background: linear-gradient(to right, transparent, var(--gold-dim), transparent); opacity: 0.4; }
.gold-line { width: 40px; height: 1px; background: var(--gold-dim); margin-bottom: 1.5rem; }

/* ============================================================
   SERVICE STRIP
   ============================================================ */
.svc-strip { background: var(--white); border-bottom: 0.5px solid var(--border); overflow-x: auto; }
.svc-strip-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: flex; }
.svc-item { flex: 1; min-width: 90px; text-align: center; padding: 1.35rem 0.75rem; border-right: 0.5px solid var(--border); color: var(--ink); display: block; transition: background 0.15s; }
.svc-item:last-child { border-right: none; }
.svc-item:hover { background: var(--cream); }
.svc-icon { font-size: 16px; display: block; margin-bottom: 7px; color: var(--gold-dim); }
.svc-name { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--stone); }

/* ============================================================
   TRUST BAR
   ============================================================ */
.trust-bar { background: var(--cream); border-bottom: 0.5px solid var(--border); }
.trust-bar-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: flex; }
.trust-item { flex: 1; text-align: center; padding: 1.5rem 0.5rem; border-right: 0.5px solid var(--border); }
.trust-item:last-child { border-right: none; }
.trust-num   { font-family: var(--serif); font-size: 30px; font-weight: 300; line-height: 1; display: block; }
.trust-label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--stone); margin-top: 5px; display: block; }

/* ============================================================
   NEW CLIENT SECTION
   ============================================================ */
.nc-section { background: var(--white); border-bottom: 0.5px solid var(--border); padding: 4rem 0; }
.nc-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.nc-title { font-family: var(--serif); font-size: clamp(26px,3.2vw,38px); font-weight: 300; margin-bottom: 0.75rem; line-height: 1.15; }
.nc-title em { font-style: italic; }
.nc-body { font-size: 13px; color: var(--stone); line-height: 1.8; margin-bottom: 1.5rem; max-width: 380px; }
.nc-panel { border: 0.5px solid var(--border); padding: 1.5rem; background: var(--cream); }
.nc-panel-label { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--stone); margin-bottom: 1rem; display: block; }
.nc-row { display: flex; justify-content: space-between; align-items: center; padding: 0.65rem 0; border-bottom: 0.5px solid var(--border); font-size: 13px; }
.nc-row:last-child { border-bottom: none; }

/* ============================================================
   IC SPOTLIGHT
   ============================================================ */
.ic-section { background: var(--ink); border-bottom: 0.5px solid rgba(255,255,255,0.06); padding: 4rem 0; }
.ic-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); }
.ic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1.5rem; }
.ic-card { background: rgba(255,255,255,0.03); border: 0.5px solid rgba(255,255,255,0.08); display: flex; gap: 1.25rem; padding: 1.5rem; transition: background 0.18s; }
.ic-card:hover { background: rgba(255,255,255,0.05); }
.ic-initial { width: 58px; height: 58px; flex-shrink: 0; background: rgba(201,169,110,0.1); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 28px; font-weight: 300; color: var(--gold); border: 0.5px solid rgba(201,169,110,0.25); }
.ic-name  { font-size: 15px; font-weight: 500; color: var(--white); margin-bottom: 2px; }
.ic-role  { font-size: 11px; color: rgba(255,255,255,0.38); margin-bottom: 10px; letter-spacing: 0.04em; }
.ic-offer { font-size: 12px; color: rgba(255,255,255,0.45); font-style: italic; margin-bottom: 14px; line-height: 1.5; }
.ic-book  { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); border-bottom: 0.5px solid rgba(201,169,110,0.35); padding-bottom: 1px; }

/* ============================================================
   SPACE / STATS SECTION
   ============================================================ */
.space-section { background: var(--obsidian); border-bottom: 0.5px solid rgba(255,255,255,0.04); padding: 5rem 0; }
.space-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.space-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 0.5px solid rgba(255,255,255,0.07); margin-top: 1.5rem; }
.space-stat { padding: 1.75rem 1rem; text-align: center; border-right: 0.5px solid rgba(255,255,255,0.07); border-bottom: 0.5px solid rgba(255,255,255,0.07); }
.space-stat:nth-child(2n) { border-right: none; }
.space-stat:nth-last-child(-n+2) { border-bottom: none; }
.space-stat-num   { font-family: var(--serif); font-size: 38px; font-weight: 300; display: block; color: var(--gold-lt); line-height: 1; }
.space-stat-label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-top: 6px; display: block; }

.nina-quote-block { padding: 2.25rem; background: rgba(255,255,255,0.03); border: 0.5px solid rgba(201,169,110,0.18); border-top: 2px solid var(--gold-dim); }
.nina-quote-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; display: block; }
.nina-quote-text  { font-family: var(--serif); font-size: clamp(18px,2vw,22px); font-style: italic; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,0.7); margin-bottom: 1.25rem; }
.nina-quote-text::before { content: '\201C'; }
.nina-quote-text::after  { content: '\201D'; }
.nina-quote-attr  { font-size: 12px; color: rgba(255,255,255,0.3); letter-spacing: 0.08em; }

/* ============================================================
   ARTIST GRID
   ============================================================ */
.artists-section { background: var(--cream); border-bottom: 0.5px solid var(--border); padding: 4rem 0; }
.artists-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); }
.artist-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-top: 1.5rem; }
.artist-card { border: 0.5px solid var(--border); background: var(--white); transition: transform 0.18s, box-shadow 0.18s; }
.artist-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(26,24,20,0.08); }
.artist-photo { width: 100%; aspect-ratio: 3/4; background: var(--charcoal); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 52px; font-weight: 300; color: var(--gold); overflow: hidden; }
.artist-photo img { width: 100%; height: 100%; object-fit: cover; }
.artist-card-info { padding: 0.9rem 1rem; border-top: 0.5px solid var(--border); }
.artist-card-name { font-size: 13px; font-weight: 500; margin-bottom: 2px; }
.artist-card-role { font-size: 11px; color: var(--stone); margin-bottom: 10px; }
.artist-card-link { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--stone); }
.artist-card-link:hover { color: var(--ink); }
.artists-cta { text-align: center; margin-top: 2.5rem; }

/* Featured artist card (artists page) */
.featured-card { display: grid; grid-template-columns: 280px 1fr; border: 0.5px solid var(--border); margin-top: 1.5rem; }
.featured-photo { background: var(--charcoal); aspect-ratio: auto; min-height: 320px; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 80px; color: var(--gold); overflow: hidden; }
.featured-photo img { width: 100%; height: 100%; object-fit: cover; }
.featured-info { padding: 2rem; background: var(--white); }
.featured-name { font-family: var(--serif); font-size: clamp(24px,3vw,36px); font-weight: 300; margin-bottom: 0.25rem; }
.featured-role { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--stone); margin-bottom: 1rem; }
.featured-bio  { font-size: 13px; color: var(--stone); line-height: 1.8; margin-bottom: 1.5rem; }

/* Spotlight grid */
.spotlight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1.5rem; }
.spotlight-card { background: rgba(255,255,255,0.03); border: 0.5px solid rgba(255,255,255,0.08); display: flex; gap: 1.25rem; padding: 1.5rem; transition: background 0.18s; }
.spotlight-card:hover { background: rgba(255,255,255,0.05); }

/* ============================================================
   CAREERS
   ============================================================ */
.careers-section { background: var(--charcoal); border-bottom: 0.5px solid rgba(255,255,255,0.05); padding: 5rem 0; }
.careers-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.careers-right { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border: 0.5px solid rgba(255,255,255,0.07); }
.cstat { padding: 1.5rem 1rem; text-align: center; border-right: 0.5px solid rgba(255,255,255,0.07); }
.cstat:last-child { border-right: none; }
.cstat-num   { font-family: var(--serif); font-size: 32px; font-weight: 300; display: block; color: var(--gold-lt); }
.cstat-label { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-top: 4px; display: block; }

/* Careers hero (full page) */
.careers-hero { background: var(--obsidian); position: relative; overflow: hidden; }
.careers-hero::before { content: ''; position: absolute; top: -20%; right: -10%; width: 60%; height: 120%; background: radial-gradient(ellipse, rgba(201,169,110,0.06) 0%, transparent 65%); pointer-events: none; }
.careers-hero::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.01) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.01) 1px, transparent 1px); background-size: 80px 80px; pointer-events: none; }
.careers-hero-inner { max-width: var(--content); margin: 0 auto; padding: 5rem var(--pad-x) 4.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; position: relative; z-index: 1; }
.careers-hero-h1 { font-family: var(--serif); font-size: clamp(42px,6vw,72px); font-weight: 300; line-height: 1.03; color: var(--white); margin-bottom: 1rem; }
.careers-hero-h1 em { font-style: italic; color: var(--gold-lt); }
.careers-hero-sub { font-size: 14px; color: rgba(255,255,255,0.5); line-height: 1.8; margin-bottom: 2rem; max-width: 420px; }

/* ============================================================
   ARTIST BIO PAGE
   ============================================================ */
.bio-hero { background: var(--white); border-bottom: 0.5px solid var(--border); }
.bio-hero-inner { display: grid; grid-template-columns: 360px 1fr; }
.bio-photo { background: var(--charcoal); min-height: 480px; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 100px; color: var(--gold); overflow: hidden; }
.bio-photo img { width: 100%; height: 100%; object-fit: cover; }
.bio-content { padding: 3rem; display: flex; flex-direction: column; justify-content: center; }
.bio-name { font-family: var(--serif); font-size: clamp(32px,4vw,52px); font-weight: 300; margin-bottom: 0.25rem; line-height: 1.05; }
.bio-role { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--stone); margin-bottom: 0.5rem; }
.bio-status { margin-bottom: 1.5rem; }
.bio-body { font-size: 14px; color: var(--stone); line-height: 1.85; margin-bottom: 2rem; max-width: 520px; }
.bio-stats { background: var(--cream-dark); border-bottom: 0.5px solid var(--border); }
.bio-stats-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: flex; }
.bio-stat { flex: 1; text-align: center; padding: 1.25rem; border-right: 0.5px solid var(--border); }
.bio-stat:last-child { border-right: none; }
.bio-stat-num   { font-family: var(--serif); font-size: 26px; font-weight: 300; color: var(--ink); display: block; }
.bio-stat-label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--stone); margin-top: 4px; display: block; }

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.service-category { padding: 3rem 0; border-bottom: 0.5px solid var(--border); }
.service-category:last-child { border-bottom: none; }
.service-cat-header { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; margin-bottom: 2rem; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border: 0.5px solid var(--border); }
.service-item { padding: 1.5rem; border-right: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); }
.service-item:nth-child(3n) { border-right: none; }
.service-item-name  { font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.service-item-price { font-family: var(--serif); font-size: 18px; font-weight: 300; color: var(--gold-dim); }
.service-item-note  { font-size: 11px; color: var(--stone); margin-top: 4px; }
.who-offers { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.who-chip { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 8px; border: 0.5px solid var(--border); color: var(--stone); }

/* ============================================================
   SALON INFO PAGE
   ============================================================ */
.hours-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.hours-grid { margin-top: 1.5rem; border: 0.5px solid rgba(255,255,255,0.07); }
.hours-row { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 0.9rem 1.25rem; border-bottom: 0.5px solid rgba(255,255,255,0.05); font-size: 13px; color: rgba(255,255,255,0.6); }
.hours-row:last-child { border-bottom: none; }
.hours-row.today { background: rgba(201,169,110,0.06); color: var(--gold-lt); }
.hours-closed { color: rgba(255,255,255,0.25); }
.amenities-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 0.5px solid var(--border); margin-top: 1.5rem; }
.amenity-item { padding: 1rem 1.25rem; border-right: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); font-size: 13px; color: var(--stone); display: flex; align-items: center; gap: 0.75rem; }
.amenity-item:nth-child(2n) { border-right: none; }

/* ============================================================
   FOOTER
   ============================================================ */
#colophon { background: var(--obsidian); border-top: 0.5px solid rgba(255,255,255,0.05); padding: 3.5rem 0 2rem; }
.footer-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--pad-x); display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
.footer-brand { font-family: var(--serif); font-size: 20px; font-weight: 300; letter-spacing: 0.12em; color: var(--white); margin-bottom: 0.75rem; }
.footer-info  { font-size: 12px; color: rgba(255,255,255,0.3); line-height: 2.1; }
.footer-col-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.2); margin-bottom: 1rem; display: block; }
.footer-links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.65rem; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,0.4); transition: color 0.15s; }
.footer-links a:hover { color: var(--gold); }
.footer-bottom { max-width: var(--content); margin: 2rem auto 0; padding: 1.25rem var(--pad-x) 0; border-top: 0.5px solid rgba(255,255,255,0.05); font-size: 11px; color: rgba(255,255,255,0.18); letter-spacing: 0.05em; }

/* ============================================================
   ELEMENTOR COMPATIBILITY
   ============================================================ */

/* Ensure Elementor sections use our background classes */
.elementor-section.luxe-bg-cream    { background: var(--cream) !important; }
.elementor-section.luxe-bg-white    { background: var(--white) !important; }
.elementor-section.luxe-bg-charcoal { background: var(--charcoal) !important; }
.elementor-section.luxe-bg-obsidian { background: var(--obsidian) !important; }
.elementor-section.luxe-bg-ink      { background: var(--ink) !important; }

/* Card column style */
.elementor-column.luxe-card > .elementor-widget-wrap {
  border: 0.5px solid var(--border);
  background: var(--white);
  transition: transform 0.18s, box-shadow 0.18s;
}
.elementor-column.luxe-card:hover > .elementor-widget-wrap {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26,24,20,0.08);
}

/* Ensure headings use our fonts */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--serif);
  font-weight: 300;
}
.elementor-widget-text-editor p { color: var(--stone); font-size: 14px; line-height: 1.85; }

/* Button overrides */
.elementor-button.luxe-btn-gold {
  background: var(--gold) !important;
  color: var(--charcoal) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 0.9rem 2.2rem !important;
}
.elementor-button.luxe-btn-ink {
  background: var(--ink) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 0.9rem 2.2rem !important;
}
.elementor-button.luxe-btn-ghost-lt {
  background: transparent !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: 0.5px solid var(--border-dk) !important;
  padding: 0.9rem 2.2rem !important;
}

/* Divider */
.elementor-widget-divider .elementor-divider-separator {
  border-color: var(--border) !important;
}

/* ============================================================
   WORDPRESS SPECIFIC
   ============================================================ */
.aligncenter { text-align: center; }
.alignleft   { float: left; margin-right: 1.5rem; }
.alignright  { float: right; margin-left: 1.5rem; }
.wp-block-image img { display: block; max-width: 100%; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  :root { --pad-x: 1.5rem; }
  .primary-menu { gap: 1.25rem; }
  .nc-inner { grid-template-columns: 1fr; gap: 2rem; }
  .space-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .artist-grid { grid-template-columns: repeat(2,1fr); }
  .featured-card { grid-template-columns: 1fr; }
  .bio-hero-inner { grid-template-columns: 1fr; }
  .bio-photo { min-height: 320px; }
  .careers-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .careers-hero-inner { grid-template-columns: 1fr; }
  .hours-inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-cat-header { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  :root { --pad-x: 1.25rem; }
  .primary-menu { display: none; }
  .primary-menu.is-open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--cream);
    z-index: 999;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 2rem;
  }
  .primary-menu.is-open li { list-style: none; }
  .primary-menu.is-open a {
    font-size: 1.5rem !important;
    letter-spacing: 0.08em !important;
    color: var(--ink) !important;
    font-family: var(--serif) !important;
    font-weight: 300 !important;
  }
  .primary-menu.is-open .nav-book {
    background: var(--ink) !important;
    color: var(--white) !important;
    padding: 0.75rem 2rem !important;
    font-size: 0.875rem !important;
    font-family: var(--sans) !important;
    letter-spacing: 0.15em !important;
  }
  .hamburger { display: flex; z-index: 1000; position: relative; }
  .hero-h1 { font-size: 36px; }
  .ic-grid { grid-template-columns: 1fr; }
  .artist-grid { grid-template-columns: 1fr 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-item:nth-child(n) { border-right: none; }
  .careers-right { grid-template-columns: 1fr; }
  .bio-stats-inner { flex-wrap: wrap; }
  .bio-stat { min-width: 50%; }
}