/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Stars Tent design system (rebuild)
 Author:       Stars Tent
 Template:     bricks
 Version:      1.2
 Text Domain:  bricks
*/

/* ===== Stars Tent design tokens ===== */
:root {
  --st-ink: #1a1f1c;
  --st-ink-soft: #3d453f;
  --st-muted: #6b726c;
  --st-cream: #f4f0e7;
  --st-cream-deep: #e8e0d2;
  --st-paper: #fbfaf6;
  --st-forest: #17251f;
  --st-forest-mid: #2a3a30;
  --st-gold: #b9a77d;
  --st-gold-soft: #c5b797;
  --st-line: rgba(26, 31, 28, 0.12);
  --st-line-light: rgba(244, 240, 231, 0.22);
  --st-radius: 2px;
  --st-pad: clamp(1.25rem, 4vw, 3.5rem);
  --st-max: 1180px;
  --st-font-sans: "Helvetica Neue", Arial, sans-serif;
  --st-font-serif: Georgia, "Times New Roman", serif;
  --st-space-1: 0.5rem;
  --st-space-2: 1rem;
  --st-space-3: 1.5rem;
  --st-space-4: 2.5rem;
  --st-space-5: 4rem;
}

/* Base rhythm on Bricks frontend */
body.brx-body {
  color: var(--st-ink);
  background: var(--st-paper);
  font-family: var(--st-font-sans);
  line-height: 1.65;
}

body.brx-body h1,
body.brx-body h2,
body.brx-body h3 {
  font-family: var(--st-font-serif);
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--st-ink);
}

/* Shared layout helpers used across pages */
.st-wrap {
  width: min(100% - (var(--st-pad) * 2), var(--st-max));
  margin-inline: auto;
}

.st-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.35rem;
  background: var(--st-cream-deep);
  color: var(--st-forest) !important;
  text-decoration: none !important;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  border: 1px solid transparent;
  transition: opacity 0.15s ease;
}
.st-btn:hover { opacity: 0.85; }

.st-btn-ghost {
  background: transparent;
  color: var(--st-cream) !important;
  border-color: var(--st-gold-soft);
}

.st-overline {
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--st-gold);
  margin: 0 0 1rem;
}

.st-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 900px) {
  .st-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .st-card-grid { grid-template-columns: 1fr; }
}

.st-card {
  background: var(--st-paper);
  border: 1px solid var(--st-line);
  overflow: hidden;
}
.st-card img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.st-card-body {
  padding: 1rem 1.1rem 1.25rem;
}
.st-card-body h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
}

/* Site footer baseline (pairs with Bricks footer template) */
.st-site-footer {
  background: var(--st-forest);
  color: var(--st-cream);
  padding: 3rem var(--st-pad);
}
.st-site-footer a {
  color: inherit;
  text-decoration: none;
  opacity: 0.85;
}
.st-site-footer a:hover { opacity: 1; }
