/* ============================================================
   Theme: PLAIN  -  utilitarian, almost-no-decoration barbershop
   ------------------------------------------------------------
   For: shops that want the price list on the door visible from
   the street. System sans, near-zero colour: black on white,
   one hairline. No Google Font import, no shadows, square
   corners, no flourishes. The lowest-impact look in the set.
   ============================================================ */

.theme-plain {
  /* -------- Surfaces (pure white, near-white alt) ------- */
  --bg:        #FFFFFF;
  --bg-2:      #F5F5F5;
  --surface:   #FFFFFF;

  /* -------- Text (near-black on white) ------------------ */
  --fg:            #111111;
  --fg-muted:      #555555;
  --heading-color: #111111;

  /* -------- Accent (black as accent) -------------------- */
  --accent:        #111111;
  --accent-bright: #000000;
  --accent-hover:  #333333;
  --accent-2:      #111111;
  --on-accent:     #FFFFFF;

  --hairline:   rgba(17, 17, 17, 0.14);
  --hairline-2: rgba(17, 17, 17, 0.26);

  /* -------- Hero (heavy black veil, no colour) ---------- */
  --hero-ink: #FFFFFF;
  --hero-min-h: 78vh;
  --hero-overlay:
    radial-gradient(120% 95% at 50% 40%, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.62) 66%, rgba(0,0,0,0.88) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.48) 0%, rgba(0,0,0,0.38) 42%, rgba(0,0,0,0.92) 100%);

  /* -------- Footer (pure black) ------------------------- */
  --footer-bg:     #111111;
  --footer-fg:     rgba(255, 255, 255, 0.72);
  --footer-strong: #FFFFFF;
  --footer-head:   #999999;

  /* -------- Type (system sans, no import) --------------- */
  --font-display: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-body:    system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --fs-hero: clamp(2.2rem, 5vw + 1rem, 4rem);
  --heading-weight: 600;
  --heading-tracking: -0.01em;
  --eyebrow-tracking: 0.14em;

  /* -------- Square corners, hairline rules -------------- */
  --radius-1: 0;
  --radius-2: 0;
  --radius-3: 0;
  --radius-pill: 0;
  --radius-btn: 0;         /* hard square - utilitarian */
  --rule-width: 32px;
  --rule-height: 1px;
  --rule-color: var(--fg);

  --shadow-1: none;
  --shadow-2: none;
}

/* ---- Structural personality: utilitarian, no flourish ---- */

.theme-plain h1,
.theme-plain h2,
.theme-plain h3,
.theme-plain .hero__title,
.theme-plain .footer__wordmark {
  letter-spacing: -0.01em;
  font-weight: 600;
}

.theme-plain .rule { height: 1px; width: 32px; }

.theme-plain .menu-group {
  background: var(--surface);
  border: 1px solid var(--hairline);
  box-shadow: none;
}
.theme-plain .menu-group__title { border-bottom: 1px solid var(--fg); }
.theme-plain .menu-row__price {
  color: var(--fg);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.theme-plain .btn {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
  font-weight: 500;
}
.theme-plain .btn:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--on-accent);
}

.theme-plain .btn--ghost {
  background: transparent;
  color: var(--hero-ink);
  border: 1px solid var(--hero-ink);
}
.theme-plain .btn--ghost:hover {
  background: var(--hero-ink);
  color: var(--accent);
  border-color: var(--hero-ink);
}

.theme-plain .link-quiet:hover { color: var(--accent); border-color: currentColor; }

.theme-plain .socials a { border-color: var(--hairline-2); color: var(--fg); }
.theme-plain .socials a:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

.theme-plain .hours-table .badge,
.theme-plain .map__open { background: var(--accent); color: var(--on-accent); }
.theme-plain .map__open:hover { background: var(--accent-hover); color: var(--on-accent); }
