/* ChairShare — warm luxe brand tokens
   Palette option 3: rich terracotta + antique gold on warm cream
*/

:root {
  /* Backgrounds */
  --cs-cream: #F4EDE0;          /* base canvas */
  --cs-cream-2: #EFE5D2;        /* hover / inset */
  --cs-cream-3: #E8DCC4;        /* divider, subtle border */
  --cs-bone: #FBF7EF;            /* card surface */
  --cs-paper: #FFFDF9;           /* form fields, modal surface */

  /* Foregrounds */
  --cs-ink: #2A211A;             /* primary text — deep cocoa */
  --cs-ink-2: #4A3F36;           /* secondary text */
  --cs-ink-3: #7A6E62;           /* tertiary / placeholder */
  --cs-ink-4: #A89C8E;           /* disabled, hairlines on light */

  /* Accents */
  --cs-rose: #C18B7E;            /* dusty rose */
  --cs-rose-deep: #A86F62;
  --cs-rose-soft: #E8D2CB;
  --cs-gold: #A88947;            /* antique brass */
  --cs-gold-deep: #8A6F36;
  --cs-gold-soft: #DCC79A;

  /* Semantic */
  --cs-ok: #6B7E5A;
  --cs-warn: #B68642;
  --cs-err: #B5523F;

  /* Lines */
  --cs-line: rgba(42, 33, 26, 0.10);
  --cs-line-2: rgba(42, 33, 26, 0.18);

  /* Type */
  --cs-serif: "Fraunces", "Cormorant Garamond", Georgia, serif;
  --cs-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --cs-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Radii */
  --cs-r-sm: 4px;
  --cs-r: 8px;
  --cs-r-lg: 14px;
  --cs-r-xl: 22px;

  /* Shadows */
  --cs-shadow-sm: 0 1px 2px rgba(42, 33, 26, 0.06), 0 1px 1px rgba(42, 33, 26, 0.04);
  --cs-shadow: 0 6px 20px -8px rgba(74, 48, 30, 0.18), 0 2px 4px rgba(42, 33, 26, 0.05);
  --cs-shadow-lg: 0 20px 60px -20px rgba(74, 48, 30, 0.28), 0 6px 16px -8px rgba(42, 33, 26, 0.10);
}

/* Reset within artboards */
.cs * { box-sizing: border-box; }
.cs {
  font-family: var(--cs-sans);
  color: var(--cs-ink);
  background: var(--cs-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11";
  line-height: 1.5;
}
.cs h1, .cs h2, .cs h3, .cs h4, .cs .serif {
  font-family: var(--cs-serif);
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--cs-ink);
}
.cs .serif-it { font-family: var(--cs-serif); font-style: italic; font-weight: 400; }
.cs .mono { font-family: var(--cs-mono); }
.cs .eyebrow {
  font-family: var(--cs-sans);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  font-weight: 500;
  color: var(--cs-ink-3);
}

.cs button { font-family: inherit; cursor: pointer; }
.cs input, .cs textarea, .cs select {
  font-family: var(--cs-sans) !important;
  font-size: 14px;
  font-weight: 400;
  color: var(--cs-ink);
  background: var(--cs-bone);
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 14px 20px;
  outline: none;
  width: 100%;
  transition: border-color .15s, box-shadow .15s, background .15s;
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.4;
  box-shadow: inset 0 0 0 1px var(--cs-line);
}
.cs textarea { border-radius: 22px; resize: vertical; min-height: 84px; padding: 14px 20px; }
.cs select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%237A6E62' stroke-width='1.5' stroke-linecap='round'><path d='M2 2l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
.cs input::placeholder, .cs textarea::placeholder { color: var(--cs-ink-3); font-style: normal; }
.cs input:hover, .cs textarea:hover, .cs select:hover { box-shadow: inset 0 0 0 1px var(--cs-ink-3); background: var(--cs-cream-2); }
.cs input:focus, .cs textarea:focus, .cs select:focus {
  background: var(--cs-paper);
  box-shadow: inset 0 0 0 1px var(--cs-gold-deep), 0 0 0 4px rgba(168, 137, 71, 0.18);
}
.cs label { display: block; }

/* Buttons */
.cs .btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  font-family: var(--cs-sans);
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 13px 22px;
  transition: transform .12s, background .15s, border-color .15s, color .15s;
  white-space: nowrap;
}
.cs .btn:active { transform: translateY(1px); }
.cs .btn-primary { background: var(--cs-ink); color: var(--cs-cream); }
.cs .btn-primary:hover { background: #15110D; }
.cs .btn-gold { background: var(--cs-gold); color: var(--cs-bone); }
.cs .btn-gold:hover { background: var(--cs-gold-deep); }
.cs .btn-ghost { background: var(--cs-bone); color: var(--cs-ink); border-color: var(--cs-line-2); }
.cs .btn-ghost:hover { background: var(--cs-cream-2); border-color: var(--cs-ink-3); }
/* Soft warm-fill for inline / row Book buttons — never flat grey */
.cs .btn-soft { background: var(--cs-rose-soft); color: var(--cs-rose-deep); border-color: transparent; }
.cs .btn-soft:hover { background: #DDB9AF; }
.cs .btn-soft-gold { background: var(--cs-gold-soft); color: var(--cs-gold-deep); border-color: transparent; }
.cs .btn-soft-gold:hover { background: #CAB179; }
.cs .btn-danger { background: var(--cs-err); color: var(--cs-bone); }
.cs .btn-link { background: transparent; color: var(--cs-ink-2); padding: 6px 0; border-radius: 0; border-bottom: 1px solid var(--cs-line-2); }
.cs .btn-block { width: 100%; }
.cs .btn-lg { padding: 16px 28px; font-size: 15px; }
.cs .btn-sm { padding: 9px 16px; font-size: 13px; border-radius: 999px; }
.cs .btn, .cs .btn-lg, .cs .btn-sm { border-radius: 999px; }
/* Field block — gentle pill-soft labels */
.cs .field label { font-family: var(--cs-sans); }

/* Pills */
.cs .pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  background: var(--cs-cream-2);
  color: var(--cs-ink-2);
  border: 1px solid var(--cs-line);
}
.cs .pill-gold { background: rgba(168,137,71,.14); color: var(--cs-gold-deep); border-color: rgba(168,137,71,.25); }
.cs .pill-rose { background: rgba(193,139,126,.14); color: var(--cs-rose-deep); border-color: rgba(193,139,126,.25); }

/* Card */
.cs .card {
  background: var(--cs-bone);
  border: 1px solid var(--cs-line);
  border-radius: var(--cs-r-lg);
}

/* Striped placeholder */
.cs .ph {
  position: relative;
  background:
    repeating-linear-gradient(135deg,
      rgba(42,33,26,0.045) 0 1px,
      transparent 1px 11px),
    linear-gradient(180deg, var(--cs-cream-2), var(--cs-cream-3));
  border: 1px solid var(--cs-line);
  border-radius: var(--cs-r);
  display: flex; align-items: center; justify-content: center;
  color: var(--cs-ink-3);
  font-family: var(--cs-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 12px;
  overflow: hidden;
}
.cs .ph[data-tone="rose"] {
  background:
    repeating-linear-gradient(135deg, rgba(193,139,126,0.10) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, #ECD8D1, #E0C4BB);
  color: var(--cs-rose-deep);
  border-color: rgba(193,139,126,0.25);
}
.cs .ph[data-tone="gold"] {
  background:
    repeating-linear-gradient(135deg, rgba(168,137,71,0.10) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, #E5D5AB, #D5C194);
  color: var(--cs-gold-deep);
  border-color: rgba(168,137,71,0.25);
}
.cs .ph[data-tone="ink"] {
  background:
    repeating-linear-gradient(135deg, rgba(255,253,249,0.06) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, #2A211A, #3D332B);
  color: rgba(255,253,249,0.6);
  border-color: rgba(0,0,0,0.2);
}

/* Avatar */
.cs .avatar {
  border-radius: 999px;
  background: var(--cs-rose-soft);
  color: var(--cs-rose-deep);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--cs-serif);
  font-style: italic;
  flex-shrink: 0;
}

/* Hairlines */
.cs hr.hair { border: 0; border-top: 1px solid var(--cs-line); margin: 0; }
.cs .divider-or {
  display:flex; align-items:center; gap:12px; color: var(--cs-ink-3); font-size: 12px;
}
.cs .divider-or::before, .cs .divider-or::after {
  content: ""; flex: 1; height: 1px; background: var(--cs-line);
}

/* Field block */
.cs .field { display: flex; flex-direction: column; gap: 6px; }
.cs .field label { font-size: 12px; font-weight: 500; color: var(--cs-ink-2); letter-spacing: 0.02em; }

/* Status dots */
.cs .dot { width: 6px; height: 6px; border-radius: 999px; display: inline-block; }
.cs .dot-ok { background: var(--cs-ok); }
.cs .dot-warn { background: var(--cs-warn); }
.cs .dot-err { background: var(--cs-err); }

/* Mobile bezel */
.cs.mobile {
  border-radius: 36px;
}

/* Tags / chips selectable */
.cs .chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 13px;
  background: var(--cs-bone);
  border: 1px solid var(--cs-line-2);
  color: var(--cs-ink);
  cursor: pointer;
  transition: all .15s;
}
.cs .chip:hover { border-color: var(--cs-ink-3); }
.cs .chip-active { background: var(--cs-ink); color: var(--cs-cream); border-color: var(--cs-ink); }

/* Keep links visually quiet */
.cs a { color: inherit; text-decoration: none; }
.cs a.u { text-decoration: underline; text-underline-offset: 3px; }

/* Fancy initial-cap drop for editorial feel */
.cs .drop::first-letter {
  font-family: var(--cs-serif);
  font-style: italic;
  font-size: 3.4em;
  float: left;
  line-height: 0.85;
  margin: 0.05em 0.08em 0 0;
  color: var(--cs-gold-deep);
}

/* ── Phone bezel for mobile artboards (optional) ── */
.cs-phone {
  position: relative;
  background: #1a140f;
  border-radius: 44px;
  padding: 12px;
  box-shadow: var(--cs-shadow-lg), inset 0 0 0 2px rgba(255,253,249,0.05);
}
.cs-phone-inner {
  border-radius: 32px;
  overflow: hidden;
  background: var(--cs-cream);
  position: relative;
  height: 100%;
}
.cs-statusbar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 22px 6px;
  font-family: var(--cs-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--cs-ink);
}
