/* Wine-only theme layered over the shared Flor components. Keep the named
   palette aligned with FlorWineTheme.ts for the iOS and Android workspace. */
:root {
  color-scheme: light;
  --wine-burgundy: #6e2339;
  --wine-burgundy-deep: #54172b;
  --wine-cabernet: #381522;
  --wine-rose: #c87586;
  --wine-rose-soft: #f5e5e9;
  --wine-champagne: #e9d8ad;
  --wine-champagne-soft: #f6eedf;
  --wine-vineyard: #365c45;
  --wine-vineyard-soft: #e8f0e9;
  --wine-canvas: #faf7f2;
  --wine-surface: #fffdf8;
  --wine-ink: #30232a;
  --wine-muted: #6f5962;
  --wine-line: #e5d7d9;
  --wine-control: #9b7d88;
  --wine-gold-ink: #725117;
  --wine-danger: #a32e38;
  --wine-danger-soft: #fcebed;
  --wine-focus: #845827;
  --ink: var(--wine-ink);
  --muted: var(--wine-muted);
  --line: var(--wine-line);
  --blue: var(--wine-burgundy);
  --teal: var(--wine-vineyard);
  --shadow: 0 18px 65px #3815221a;
  color: var(--ink);
  background: var(--wine-canvas);
}
body { background: var(--wine-canvas); color: var(--ink); }
::selection { background: var(--wine-champagne); color: var(--wine-cabernet); }
:is(button, a, input, select, textarea):focus-visible,
.wine-public :focus-visible, .login-card :focus-visible {
  outline: 3px solid var(--wine-focus); outline-offset: 3px;
}
input, select, textarea { border-color: var(--wine-control); background: var(--wine-surface); accent-color: var(--wine-burgundy); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.primary { background: var(--wine-burgundy); color: #fff; box-shadow: 0 2px 4px #38152218; }
.primary:hover { background: var(--wine-burgundy-deep); }
.quiet { color: var(--wine-burgundy); border-color: var(--wine-control); background: var(--wine-surface); }
.quiet:hover { background: var(--wine-rose-soft); }
.primary:active { background: var(--wine-cabernet); }
.primary:disabled, .quiet:disabled { cursor: not-allowed; }
.eyebrow { color: var(--wine-burgundy); }
.sidebar { background: var(--wine-cabernet); color: #e4cdd5; }
.sidebar select { background: #492331; color: var(--wine-surface); border-color: #a47e8c; }
.sidebar .workspace-label, .sidebar .workspace-add, .sidebar .platform-label { color: #e4cdd5; }
.sidebar .nav-item { color: #e4cdd5; }
.sidebar .nav-item:hover { background: #512437; color: #fff; }
.sidebar .nav-item.active { background: var(--wine-burgundy); color: #fff; box-shadow: inset 3px 0 var(--wine-champagne); }
.sidebar :focus-visible { outline-color: var(--wine-champagne); }
.sidebar .profile { border-color: #704555; }
.sidebar .avatar { background: var(--wine-champagne); color: var(--wine-cabernet); }
.wine-header .brand, .login-card .brand { color: var(--wine-burgundy); }
.brand.flor-family-brand .flor-family-period { color: var(--wine-rose); }
.sidebar .brand.flor-family-brand .flor-family-period { color: var(--wine-champagne); }
.wine-header nav a:hover { color: var(--wine-burgundy); text-decoration: underline; text-underline-offset: 5px; }
.topbar, .workspace-card, .metric, .wine-booking, .wine-region-card, .wine-form, dialog,
.wine-request-summary, .wine-skip, .login-card { background: var(--wine-surface); }
.topbar { border-top: 3px solid var(--wine-burgundy); }
.demo-banner { background: var(--wine-champagne-soft); color: var(--wine-gold-ink); flex-wrap: wrap; }
.demo-banner :is(a, button) { color: var(--wine-gold-ink); }
.wine-notice, #notice, #enquiry-notice:not(:empty), .wine-schedule-message:not(:empty) {
  background: var(--wine-rose-soft); color: var(--wine-burgundy-deep); border-color: #d7b2bd;
}
.wine-notice a { color: var(--wine-burgundy-deep); }
.wine-notice.error, #notice.error { background: var(--wine-danger-soft); color: var(--wine-danger); border-color: #d39a9f; }
.form-error, .wine-detail .error, .danger { color: var(--wine-danger); }
.wine-status { background: var(--wine-rose-soft); color: var(--wine-burgundy); }
.wine-status.requested, .wine-status.quoted, .wine-status.open {
  background: var(--wine-champagne-soft); color: var(--wine-gold-ink);
}
.wine-status.accepted, .wine-status.confirmed, .wine-status.in_progress, .wine-status.completed {
  background: var(--wine-vineyard-soft); color: var(--wine-vineyard);
}
.wine-status.cancelled { background: var(--wine-danger-soft); color: var(--wine-danger); }
.wine-status.closed { background: #eee7e9; color: var(--muted); }
.wine-pill { background: var(--wine-champagne-soft); border-color: var(--wine-champagne); color: var(--wine-gold-ink); }
.wine-callout { background: var(--wine-rose-soft); border-color: #d7b2bd; }
.wine-quote-total { background: var(--wine-cabernet); color: var(--wine-surface); border-top: 4px solid var(--wine-champagne); }
.wine-quote-total strong { color: var(--wine-champagne); }
.wine-schedule-flags { background: var(--wine-champagne-soft); color: var(--wine-gold-ink); }
.wine-progress { border-color: var(--wine-vineyard); }
.wine-region-card a:not(.primary), .wine-editorial a, .wine-enquiry-aside a,
.wine-form a, .wine-footer a { color: var(--wine-burgundy); }
.wine-region-card a:not(.primary):hover, .wine-footer a:hover { color: var(--wine-burgundy-deep); }
.wine-region-card { border-top: 3px solid var(--wine-rose); }
.wine-region-card:nth-child(3n + 2) { border-top-color: var(--wine-champagne); }
.wine-region-card:nth-child(3n) { border-top-color: var(--wine-burgundy); }
.metric { border-top: 3px solid var(--wine-burgundy); }
.metric:nth-child(2) { border-top-color: var(--wine-rose); }
.metric:nth-child(3) { border-top-color: var(--wine-champagne); }
.metric:nth-child(4) { border-top-color: var(--wine-vineyard); }
.metric strong { color: var(--wine-cabernet); }
.metric small { color: var(--muted); }
.wine-review-card, #quote-preview:not(:empty), #trip-preview:not(:empty),
.wine-request-summary, #search-notice:not(:empty) { border-color: var(--line); }
th { background: var(--wine-champagne-soft); color: var(--muted); }
td { border-color: var(--line); }
tbody tr:hover { background: var(--wine-canvas); }
dialog::backdrop { background: #38152285; }
.login-page { background: var(--wine-cabernet); }
.login-card { border-top: 4px solid var(--wine-champagne); }
.login-card .login-foot, .login-card .demo-link { color: var(--muted); }
.login-card .demo-link:hover { color: var(--wine-burgundy); }
@media (max-width: 760px) {
  .demo-banner { gap: 10px 16px; padding: 14px 18px; }
  .demo-banner button { margin-left: 0; }
  .wine-public .primary, .wine-public .quiet { white-space: normal; text-align: center; }
}
@media (forced-colors: active) {
  .sidebar .nav-item.active { outline: 2px solid Highlight; outline-offset: -3px; }
}
