/* ============================================================
   K-Doryung × K-Journey — Vintage Railway Theme (1836)
   Overrides on top of existing Tailwind config.
   ============================================================ */

:root {
  --paper-cream: #F1E6CB;
  --paper-warm:  #ECDDC2;
  --paper-edge:  #E2CFA9;
  --ink:         #1A1A1A;
  --ink-soft:    #2A1F18;
  --wine:        #7A1F1F;
  --wine-dark:   #5C1414;
  --gold:        #C9A04A;
  --gold-soft:   #EBD7A6;
}

/* Texture-like background — soft warm paper */
html, body {
  background-color: var(--paper-cream) !important;
  color: var(--ink);
  font-family: 'Inter', system-ui, -apple-system, 'Pretendard', 'Apple SD Gothic Neo', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Headlines: italic serif (Cormorant Garamond) */
.font-headline-md,
.font-headline-lg,
.font-display-hero,
[class*="font-display-hero"],
[class*="font-headline-md"],
[class*="font-headline-lg"] {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  letter-spacing: -0.005em !important;
  font-weight: 600 !important;
}

/* Labels — IBM Plex Mono uppercase, generous tracking */
.font-label-caps,
[class*="font-label-caps"] {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  font-weight: 600 !important;
}

/* Replace harsh neo-brutalist hard shadows with quieter ticket shadows */
[class*="shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]"],
[class*="shadow-[8px_8px_0px_0px"],
[class*="shadow-[12px_12px_0px_0px"] {
  box-shadow: 0 0 0 1px var(--ink-soft), 4px 4px 0 0 var(--wine) !important;
}

/* Soften thick black borders into ink-soft */
[class*="border-black"] {
  border-color: var(--ink-soft) !important;
}
[class*="border-2"][class*="border-black"],
[class*="border-4"][class*="border-black"] {
  border-width: 1px !important;
}

/* Top app bar refinement — keep sticky, change accents */
header.bg-white {
  background-color: var(--paper-cream) !important;
  border-bottom: 1px solid var(--ink-soft) !important;
  box-shadow: none !important;
}
header h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  color: var(--wine) !important;
  letter-spacing: 0.005em !important;
}

/* Buttons that were neo-brutal yellow — now a calm gold */
.bg-\[\#C9A04A\] { background-color: var(--gold) !important; }

/* Wine accents */
.text-secondary, .bg-secondary { color: var(--wine) !important; }
.bg-secondary { background-color: var(--wine) !important; color: #fff !important; }
.text-primary { color: var(--wine) !important; }
.bg-primary  { background-color: var(--wine) !important; color: #fff !important; }
.text-tertiary, .bg-tertiary { color: var(--gold) !important; }

/* Hero gradient — let the photo shine, but warm */
.bg-gradient-to-t.from-black\/80 {
  background-image: linear-gradient(to top, rgba(26,26,26,0.85) 0%, rgba(26,26,26,0.0) 60%) !important;
}

/* Input + search bar — paper feel */
input, textarea, select {
  background-color: #FBF6E8 !important;
  border-color: var(--ink-soft) !important;
  color: var(--ink) !important;
}

/* === Vintage helper components === */
.vt-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--wine);
  font-weight: 600;
}
.vt-rule {
  height: 1px;
  background: var(--ink-soft);
}
.vt-dotted {
  border-top: 1px dashed var(--ink-soft);
}
.vt-ticket-header {
  background: var(--ink-soft);
  color: var(--paper-cream);
  padding: 10px 14px;
  font-family: 'IBM Plex Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vt-circle::before {
  content: "◉";
  margin-right: 6px;
  color: var(--wine);
}
.vt-class-badge {
  border: 1px solid var(--wine);
  border-radius: 999px;
  width: 86px;
  height: 86px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--wine);
  font-family: 'IBM Plex Mono', monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 10px;
}
.vt-class-badge .num {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 28px;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1;
  margin-top: 2px;
}

/* Bottom nav — paper, dotted top rule, wine active */
nav.fixed.bottom-0 {
  background-color: var(--paper-cream) !important;
  border-top: 1px dashed var(--ink-soft) !important;
}
nav.fixed.bottom-0 a { border: none !important; }
nav.fixed.bottom-0 a.bg-\[\#C9A04A\] {
  background-color: var(--paper-warm) !important;
  color: var(--wine) !important;
  position: relative;
}
nav.fixed.bottom-0 a.bg-\[\#C9A04A\]::after {
  content: "";
  position: absolute;
  left: 24%; right: 24%; bottom: 8px;
  height: 2px; background: var(--wine);
}
nav.fixed.bottom-0 a span.font-extrabold {
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
}

/* FAB — wine + gold ring */
button.fixed.bottom-24 {
  background-color: var(--wine) !important;
  border: 1px solid var(--ink-soft) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 4px var(--paper-cream), 0 0 0 5px var(--wine) !important;
}

/* Smooth out rounded keepalive */
.rounded-lg, .rounded-xl { border-radius: 0 !important; }

/* Remove brutalist drop-shadow on hero h2 */
h2.drop-shadow-\[4px_4px_0px_rgba\(0\,0\,0\,1\)\] {
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.45));
  text-shadow: none;
}

/* Cards — paper warm, dotted separation */
.bg-white, .bg-surface-container {
  background-color: var(--paper-warm) !important;
}

/* Material symbols slightly muted */
.material-symbols-outlined { color: var(--ink-soft); }

/* Print friendliness (just in case) */
@media print {
  * { box-shadow: none !important; }
}
