/* ─── REHAUS Togo — base ─────────────────────────────────────── */
:root {
  --ink: #361801;
  --ink-80: #361801cc;
  --ink-60: #36180199;
  --ink-40: #36180166;
  --ink-20: #36180133;
  --ink-10: #3618011a;
  --ink-05: #3618010d;
  --paper: #F1EAE6;
  --paper-warm: #E8DFD8;
  --paper-cool: #F5F2EE;
  --paper-deep: #DCD2CA;
  --cocoa: #9B4D1A;
  --amber: #FCA227;
  --gold: #BC821D;
  --line: #361801;
  /* status */
  --status-available: #4a6b3a;
  --status-basket: #9B4D1A;
  --status-checkout: #B23A1A;
  --status-client: #6E5540;
  --status-soon: #7A7066;
}
* { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Albert Sans', system-ui, sans-serif;
  color: var(--ink);
  background: #0f0b08;
}
.serif { font-family: 'Albert Sans', system-ui, sans-serif; font-weight: 500; font-style: normal; letter-spacing: -0.02em; }
.serif-display { font-family: 'Albert Sans', system-ui, sans-serif; font-weight: 600; letter-spacing: -0.035em; }
.editorial { font-family: 'Instrument Serif', serif; font-weight: 400; letter-spacing: -0.01em; }
.mono  { font-family: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace; font-weight: 400; }
.sans  { font-family: 'Albert Sans', system-ui, sans-serif; }

/* numeric micro label */
.kicker {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-60);
}
.rule { height: 1px; background: var(--ink); opacity: 0.5; }
.rule-faint { height: 1px; background: var(--ink); opacity: 0.15; }

/* scrollbar hide for horizontal carousels */
.noscroll::-webkit-scrollbar { display: none; }
.noscroll { scrollbar-width: none; }

button { font-family: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }

/* animated shimmer for in-checkout tiles */
@keyframes pulse-dot {
  0%, 100% { opacity: 0.9; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}
.pulse-dot { animation: pulse-dot 1.4s ease-in-out infinite; }

/* fabric swatch textures */
.tex-wool { background-image: repeating-linear-gradient(45deg, rgba(0,0,0,0.06) 0 1px, transparent 1px 3px); }
.tex-velvet { background-image: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.15), transparent 70%); }
.tex-cord { background-image: repeating-linear-gradient(90deg, rgba(0,0,0,0.08) 0 2px, transparent 2px 6px); }
.tex-boucle { background-image: radial-gradient(circle at 20% 30%, rgba(0,0,0,0.08) 0 1.5px, transparent 2px), radial-gradient(circle at 60% 70%, rgba(0,0,0,0.06) 0 1.5px, transparent 2px); background-size: 6px 6px, 8px 8px; }
.tex-leather { background-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.15), transparent 80%); }

/* pebble photo placeholder */
.photo-ph {
  position: relative;
  background: var(--paper-deep);
  overflow: hidden;
}
.photo-ph::after {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 30% 70%, rgba(54,24,1,0.08), transparent 60%),
    repeating-linear-gradient(45deg, rgba(54,24,1,0.02) 0 1px, transparent 1px 6px);
  pointer-events: none;
}
