/* Penelope's Lil' Cafe — Standard tier custom demo */
/* Thesis: A diner placemat from a homestyle cafe — slab-serif menu type,
   oatmeal paper, a chalkboard wall for the specials, and one tomato-red
   accent for "open." */

:root {
  --oatmeal:     #f4ecd8;      /* dominant — placemat paper */
  --oatmeal-2:   #ece2c4;      /* secondary surface, slight shadow */
  --oatmeal-3:   #e2d5b1;      /* deepest cream */
  --chalkboard:  #1f3a2a;      /* deep sage chalkboard surface */
  --chalkboard-2:#16291e;      /* darkest chalkboard / footer */
  --chalk:       #efe7d3;      /* chalk-on-board text */
  --chalk-soft:  #c6bca0;      /* chalk-on-board secondary */
  --coffee:      #3a2418;      /* near-black ink, warm */
  --coffee-soft: #6b4f3e;      /* secondary ink */
  --diner-red:   #d83a2c;      /* single saturated accent */
  --diner-red-deep:#a82b20;
  --crust:       #c89b59;      /* warm wheat / golden hairline */
  --line:        #c5b585;      /* hairline on oatmeal */
  --line-chalk:  #3d5e4b;      /* hairline on chalkboard */
}

html { scroll-behavior: smooth; color-scheme: light; }
body {
  background: var(--oatmeal);
  color: var(--coffee);
  font-family: 'Karla', system-ui, -apple-system, sans-serif;
  font-weight: 500;
  font-feature-settings: "kern" 1, "liga" 1, "ss01" 1;
}

::selection { background: var(--diner-red); color: var(--oatmeal); }

/* Display + utility */
.font-display { font-family: 'Domine', Georgia, 'Times New Roman', serif; font-weight: 600; }
.font-display-heavy { font-family: 'Domine', Georgia, serif; font-weight: 700; }
.font-body    { font-family: 'Karla', system-ui, sans-serif; }

/* Kicker — uppercase Karla tracking, brown-on-cream legible */
.kicker {
  font-family: 'Karla', sans-serif;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--coffee-soft);
}
.kicker-red { color: var(--diner-red); }
.kicker-chalk { color: var(--chalk-soft); }

/* Chalkboard surfaces */
.chalkboard {
  background: var(--chalkboard);
  color: var(--chalk);
  position: relative;
}
.chalkboard h1, .chalkboard h2, .chalkboard h3 { color: var(--chalk); }
.chalkboard a:not([class*="btn-"]) { color: var(--chalk); }
.chalkboard .kicker { color: var(--chalk-soft); }

/* Rules */
.rule-coffee       { border: 0; border-top: 2px solid var(--coffee); height: 0; }
.rule-coffee-thin  { border: 0; border-top: 1px solid var(--line); height: 0; }
.rule-chalk-thin   { border: 0; border-top: 1px solid var(--line-chalk); height: 0; }
.rule-crust        { border: 0; border-top: 2px dashed var(--crust); height: 0; }

/* Buttons — diner placemat, soft-cornered (radius 4px max) */
.btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 0.96rem;
  letter-spacing: 0.04em;
  background: var(--diner-red);
  color: var(--oatmeal);
  padding: 14px 24px;
  border-radius: 4px;
  border: 0;
  transition: background 0.15s ease, transform 0.12s ease;
}
.btn-primary:hover { background: var(--diner-red-deep); transform: translateY(-1px); }

.btn-secondary {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 0.96rem;
  letter-spacing: 0.04em;
  background: transparent;
  color: var(--coffee);
  padding: 14px 22px;
  border-radius: 4px;
  border: 2px solid var(--coffee);
  transition: background 0.15s ease, color 0.15s ease;
}
.btn-secondary:hover { background: var(--coffee); color: var(--oatmeal); }

/* On chalkboard surfaces, invert secondary button colors */
.chalkboard .btn-secondary {
  color: var(--chalk);
  border-color: var(--chalk);
}
.chalkboard .btn-secondary:hover { background: var(--chalk); color: var(--chalkboard); }

/* Placemat checkered border — single ornament at top/bottom of page */
.checker-stripe {
  height: 16px;
  background-image:
    repeating-linear-gradient(90deg, var(--diner-red) 0 24px, var(--oatmeal) 24px 48px);
  border-top: 2px solid var(--coffee);
  border-bottom: 2px solid var(--coffee);
}

/* Daily-specials chalkboard card */
.specials-card {
  background: var(--chalkboard);
  color: var(--chalk);
  border: 2px solid var(--crust);
  padding: 32px 36px;
  position: relative;
}
.specials-card::before {
  content: '';
  position: absolute;
  inset: 6px;
  border: 1px solid var(--line-chalk);
  pointer-events: none;
}

/* Menu row — placemat line item */
.menu-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 18px;
  align-items: baseline;
  padding: 22px 0;
  border-bottom: 1px dashed var(--line);
}
.menu-row:first-child { border-top: 2px solid var(--coffee); }
.menu-row:last-child  { border-bottom: 2px solid var(--coffee); }
.menu-row .num {
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--diner-red);
}
.menu-row .name {
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.15;
  color: var(--coffee);
}
.menu-row .desc {
  font-family: 'Karla', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: var(--coffee-soft);
  margin-top: 4px;
}
.menu-row .price {
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 1.45rem;
  color: var(--coffee);
}

/* Chalkboard-styled menu rows (for specials) */
.chalkboard .menu-row { border-bottom-color: var(--line-chalk); }
.chalkboard .menu-row:first-child { border-top-color: var(--crust); }
.chalkboard .menu-row:last-child  { border-bottom-color: var(--crust); }
.chalkboard .menu-row .num   { color: var(--diner-red); }
.chalkboard .menu-row .name  { color: var(--chalk); }
.chalkboard .menu-row .desc  { color: var(--chalk-soft); }
.chalkboard .menu-row .price { color: var(--chalk); }

/* Review card — oatmeal with crust accent */
.review-card {
  background: var(--oatmeal-2);
  color: var(--coffee);
  padding: 26px 28px;
  border-left: 4px solid var(--diner-red);
  border-radius: 2px;
}

/* Image frame — gives Unsplash placeholders an editorial wrapper */
.img-frame {
  border: 2px solid var(--coffee);
  background: var(--coffee);
  overflow: hidden;
  border-radius: 2px;
}
.img-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.img-frame-tall { aspect-ratio: 4 / 5; }
.img-frame-wide { aspect-ratio: 16 / 10; }
.img-frame-square { aspect-ratio: 1 / 1; }

.chalkboard .img-frame { border-color: var(--crust); }

/* Form input — placemat line treatment */
.cafe-input {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--coffee);
  padding: 14px 0 10px;
  font-family: 'Karla', sans-serif;
  font-size: 1rem;
  color: var(--coffee);
  font-weight: 500;
}
.cafe-input:focus {
  outline: 0;
  border-bottom-color: var(--diner-red);
  background: rgba(216, 58, 44, 0.04);
}
.cafe-label {
  font-family: 'Karla', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--coffee);
}

/* Open badge — neon sign-style */
.open-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--diner-red);
  color: var(--oatmeal);
  font-family: 'Domine', serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 2px;
}
.open-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--oatmeal);
  animation: blink 2.4s ease-in-out infinite;
}
@keyframes blink { 0%, 60%, 100% { opacity: 1; } 70%, 90% { opacity: 0.4; } }

/* Small ornament — wheat-stalk / coffee-bean decorative SVG holder */
.ornament-mark {
  display: inline-grid; place-items: center;
  width: 40px; height: 40px;
  background: var(--oatmeal);
  border: 2px solid var(--coffee);
  border-radius: 50%;
}

/* Footer */
.foot {
  background: var(--chalkboard-2);
  color: var(--chalk-soft);
  border-top: 2px solid var(--crust);
}
.foot a { color: var(--chalk-soft); }
.foot a:hover { color: var(--diner-red); }
.foot .kicker { color: var(--chalk-soft); }
