/* Standalone stylesheet for the plain-PHP /rezervace/ page — mirrors the
   Astro site's design tokens (src/styles/global.css) but can't reuse Astro's
   hashed Tailwind build output, so it's hand-written here. */
/* Fonts are linked from the PHP pages' <head> (an @import here would chain requests). */

:root {
  --cream: #f7f1e6;
  --cream-soft: #fbf7ef;
  --cream-dark: #ede2cc;
  --ink: #17140f;
  --gold: #b3874f;
  --gold-light: #d8b784;
  --text: #2c2419;
  --text-muted: #6b5f4e;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Jost', 'Segoe UI', sans-serif;
  background: var(--cream);
  color: var(--text);
}
h1, h2, .script { font-family: 'Playfair Display', serif; }

header.site {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 24px; background: var(--cream-soft); border-bottom: 1px solid rgba(179,135,79,.2);
}
header.site a.logo { color: var(--ink); text-decoration: none; font-family: 'Playfair Display', serif; font-size: 1.15rem; font-weight: 700; }
header.site a.back { color: var(--text-muted); text-decoration: none; font-size: .85rem; }

main { max-width: 760px; margin: 0 auto; padding: 40px 20px 80px; }
.kicker { font-size: .75rem; letter-spacing: .25em; text-transform: uppercase; color: #7d5a2b; font-weight: 600; } /* darker gold: 5.5:1 on cream */
h1 { font-size: 2.1rem; margin: 8px 0 12px; color: var(--ink); }
p.lead { color: var(--text-muted); margin: 0 0 32px; line-height: 1.6; }

.slot-group { margin-bottom: 22px; }
.slot-group h2 { font-size: 1.05rem; color: var(--ink); margin: 0 0 10px; }
.slot-option {
  display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin-bottom: 8px;
  background: var(--cream-soft); border: 1px solid rgba(179,135,79,.25); border-radius: 12px; cursor: pointer;
}
.slot-option input { accent-color: var(--gold); }
.slot-option .time { font-weight: 600; color: var(--ink); }
.slot-option .loc { margin-left: auto; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); }

.empty { padding: 24px; background: var(--cream-soft); border-radius: 12px; color: var(--text-muted); text-align: center; }

form.booking { margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(179,135,79,.25); }
label { display: block; font-size: .82rem; font-weight: 600; color: var(--text-muted); margin: 16px 0 6px; }
input[type=text], input[type=email], input[type=tel], textarea, input[type=file] {
  width: 100%; padding: 12px 14px; border: 1px solid rgba(179,135,79,.3); border-radius: 10px;
  background: #fff; font-size: .95rem; font-family: inherit; color: var(--text);
}
textarea { min-height: 90px; resize: vertical; }
.submit {
  display: inline-block; margin-top: 22px; padding: 14px 28px; border: none; border-radius: 999px; cursor: pointer;
  background: var(--ink); color: var(--cream); font-weight: 600; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em;
  text-decoration: none; text-align: center;
}
.submit:hover { background: #241f18; }

.flash { padding: 14px 18px; border-radius: 10px; margin-bottom: 24px; font-size: .9rem; }
.flash-ok { background: rgba(143,224,166,.18); color: #2c5c34; border: 1px solid rgba(143,224,166,.4); }
.flash-err { background: rgba(255,138,128,.15); color: #8a2a20; border: 1px solid rgba(255,138,128,.4); }

.hint { font-size: .78rem; color: var(--text-muted); margin-top: 6px; line-height: 1.5; }

/* Photo consent (shown once photos are attached) and privacy note */
.consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .85rem; line-height: 1.5; color: var(--text); margin-top: 14px; }
.consent[hidden] { display: none; }
.consent input { margin-top: 3px; accent-color: var(--gold); flex-shrink: 0; }
.hint.privacy a { color: #7d5a2b; }
