/* Shreeshta Bride Offer — design tokens */
:root {
  --wine: #6B1D3A;
  --wine-deep: #3D1022;
  --wine-mid: #8B3050;
  --gold: #C9A227;
  --gold-bright: #DFC06A;
  --gold-pale: #F3EACC;
  --gold-muted: #A8894A;
  --cream: #FAF7F2;
  --cream-warm: #F5EDE3;
  --cream-card: #FFFCF8;
  --rose: #F8EEEA;
  --rose-blush: #EDD5CC;
  --ink: #2A1520;
  --ink-soft: #5C4A52;
  --ink-muted: #8A7A82;
  --white: #FFFFFF;
  --shadow-wine: rgba(61, 16, 34, 0.12);
  --shadow-gold: rgba(201, 162, 39, 0.2);
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui: 'DM Sans', system-ui, sans-serif;
}

body.landing-page {
  font-family: var(--font-ui);
  background: var(--cream);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

.btn-gold {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  color: var(--wine-deep);
  font-family: var(--font-ui); font-weight: 700;
  box-shadow: 0 4px 20px var(--shadow-gold);
  transition: transform 0.2s, filter 0.2s, box-shadow 0.2s;
}
.btn-gold:hover { filter: brightness(1.04); box-shadow: 0 6px 28px var(--shadow-gold); }
.btn-gold:active { transform: scale(0.98); }

.btn-wine {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  background: linear-gradient(160deg, var(--wine-mid), var(--wine-deep));
  color: var(--gold-pale);
  font-family: var(--font-ui); font-weight: 700;
  border: 1px solid rgba(201, 162, 39, 0.3);
  box-shadow: 0 4px 20px var(--shadow-wine);
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-wine:hover { box-shadow: 0 8px 32px var(--shadow-wine); }
.btn-wine:active { transform: scale(0.98); }

.btn-outline {
  background: var(--cream-card);
  color: var(--wine);
  font-family: var(--font-ui); font-weight: 600;
  border: 1.5px solid var(--gold-muted);
  transition: background 0.2s, border-color 0.2s;
}
.btn-outline:hover { background: var(--gold-pale); border-color: var(--gold); }

.field-label {
  display: block; font-size: 0.6875rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-soft); margin-bottom: 0.5rem;
}
.field-input {
  width: 100%; font-family: var(--font-ui); font-size: 1rem;
  color: var(--ink); background: var(--white);
  border: 1.5px solid var(--rose-blush); border-radius: 0.875rem;
  padding: 0.875rem 1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field-input:focus {
  outline: none; border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.18);
}

.panel-card {
  background: var(--cream-card);
  border: 1.5px solid var(--rose-blush);
  border-radius: 1rem;
  box-shadow: 0 4px 24px var(--shadow-wine);
}

.panel-head {
  font-family: var(--font-display);
  color: var(--wine);
  font-weight: 600;
}

.text-wine { color: var(--wine); }
.text-ink-soft { color: var(--ink-soft); }
.text-ink-muted { color: var(--ink-muted); }
.bg-cream-card { background: var(--cream-card); }
.bg-cream-warm { background: var(--cream-warm); }
.border-rose-blush { border-color: var(--rose-blush); }
