/* ==========================================================================
   Harvest & Hearth — dark-mode.css
   "Candlelit Dinner" theme: deep charcoal-green paper, warm cream ink,
   candle-glow highlights and botanical lines in muted gold.
   Applied with <html data-theme="dark">. Dark mode only.
   ========================================================================== */

/* ---------- 1. Core tokens ---------- */
html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #161E18;
  --paper-2: #1B241D;
  --paper-3: #243026;
  --card: #1F2A22;
  --ink: #EDE3CF;
  --ink-soft: #CDBFA6;
  --ink-faint: #A49580;
  --rule: rgba(237, 227, 207, .14);
  --rule-strong: rgba(237, 227, 207, .32);
  --sage: #9AAA83;
  --sage-deep: #B3C29A;
  --sage-soft: #2C3A2E;
  --line: #B89B5E;                      /* muted gold botanicals */
  --shadow-paper: 0 1px 0 rgba(0,0,0,.3), 0 18px 36px -20px rgba(0,0,0,.75);
  --shadow-lift: 0 2px 0 rgba(0,0,0,.25), 0 34px 60px -30px rgba(0,0,0,.85);
  --glow: rgba(255, 184, 92, .16);
}

/* ---------- 2. Season accents tuned for the dark paper ---------- */
html[data-theme="dark"][data-season="spring"] { --accent: #E79AB0; --accent-ink: #F2B3C4; --accent-2: #9CBB7B; --accent-soft: #3A2A30; --on-accent: #1A1414; }
html[data-theme="dark"][data-season="summer"] { --accent: #F0C04A; --accent-ink: #F5CF6E; --accent-2: #E0674E; --accent-soft: #3A3220; --on-accent: #1A1610; }
html[data-theme="dark"][data-season="autumn"] { --accent: #E58A44; --accent-ink: #F0A468; --accent-2: #A3A65A; --accent-soft: #3B2A1E; --on-accent: #1A120C; }
html[data-theme="dark"][data-season="winter"] { --accent: #D45A70; --accent-ink: #EE8C9E; --accent-2: #6FA388; --accent-soft: #3A2228; --on-accent: #1A0F12; }

/* ---------- 3. Base ---------- */
html[data-theme="dark"] body {
  background-color: var(--paper);
  /* soft candle-glow pools across the page */
  background-image:
    radial-gradient(60vw 40vw at 85% 0%, var(--glow), transparent 70%),
    radial-gradient(50vw 40vw at 0% 60%, rgba(255, 184, 92, .07), transparent 70%);
  background-attachment: fixed;
}
html[data-theme="dark"] body::before { mix-blend-mode: soft-light; opacity: .5; }
html[data-theme="dark"] ::selection { background: var(--accent); color: var(--on-accent); }

/* ---------- 4. Header, menu, logo ---------- */
html[data-theme="dark"] .masthead { background: color-mix(in srgb, var(--paper) 92%, transparent); }
html[data-theme="dark"] .masthead__top, html[data-theme="dark"] .masthead { border-color: var(--rule); }
html[data-theme="dark"] .icon-btn .i-moon { display: none; }
html[data-theme="dark"] .icon-btn .i-sun { display: block; }
html[data-theme="dark"] .icon-btn[data-theme-toggle] { box-shadow: 0 0 18px -4px rgba(255, 184, 92, .55); }
html[data-theme="dark"] .contents { background: var(--paper); }
html[data-theme="dark"] .logo__mark .wheat { stroke: var(--line); }

/* ---------- 5. Buttons and links ---------- */
html[data-theme="dark"] .btn--ink { background: var(--ink); color: var(--paper); }
html[data-theme="dark"] .btn--ink::before { background: var(--accent); }
html[data-theme="dark"] .btn:hover, html[data-theme="dark"] .btn:focus-visible { color: var(--paper); }
html[data-theme="dark"] .btn--ink:hover { color: var(--on-accent); }
html[data-theme="dark"] .btn--accent { color: var(--on-accent); }
html[data-theme="dark"] .btn--accent:hover { color: var(--paper); border-color: var(--ink); }
html[data-theme="dark"] .btn--accent { box-shadow: 0 0 30px -8px color-mix(in srgb, var(--accent) 60%, transparent); }

/* ---------- 6. Botanicals, stamps, photos ---------- */
html[data-theme="dark"] .botanical { color: var(--line); filter: drop-shadow(0 0 6px rgba(184, 155, 94, .18)); }
html[data-theme="dark"] .stamp { mix-blend-mode: normal; background: color-mix(in srgb, var(--paper) 70%, transparent); }
html[data-theme="dark"] .hero-split__stamp, html[data-theme="dark"] .cover__stamp { background: color-mix(in srgb, var(--paper) 90%, transparent); }
html[data-theme="dark"] .photo img, html[data-theme="dark"] .polaroid img { filter: sepia(.2) saturate(.95) brightness(.86) contrast(1.02); }
html[data-theme="dark"] .photo::after { box-shadow: inset 0 0 140px rgba(0, 0, 0, .45); }
html[data-theme="dark"] .polaroid { background: #EDE3CF; }
html[data-theme="dark"] .polaroid figcaption { color: #2B241E; }
html[data-theme="dark"] .polaroid::before { background: rgba(232, 200, 140, .55); }
html[data-theme="dark"] .note { background-color: #EDE3CF; color: #2B241E; --rule: rgba(43,36,30,.16); }
html[data-theme="dark"] .guest-note .who { color: #5A4E43; }
html[data-theme="dark"] .seed-packet { background: var(--card); }

/* ---------- 7. Home: marquee, map, wheel, counters, CTA ---------- */
html[data-theme="dark"] .marquee__track .sep { color: var(--line); }
html[data-theme="dark"] .farmmap__canvas { background: #1C2620; }
html[data-theme="dark"] .farmmap .terrain { stroke: var(--line); opacity: .4; }
html[data-theme="dark"] .farmmap .river { stroke: #7FA08A; }
html[data-theme="dark"] .farm-pin__dot { border-color: #1C2620; }
html[data-theme="dark"] .farm-pin--home .farm-pin__dot { background: var(--ink); }
html[data-theme="dark"] .farm-pin--home .farm-pin__dot span { color: var(--paper); }
html[data-theme="dark"] .farm-card { background: var(--card); }
html[data-theme="dark"] .wheel__center { background: var(--card); }
html[data-theme="dark"] .big-cta__title::before { background: radial-gradient(closest-side, rgba(255, 184, 92, .38), transparent 72%); }
html[data-theme="dark"] .counter__num { text-shadow: 0 0 30px rgba(255, 184, 92, .12); }
html[data-theme="dark"] .video-frame { background: #0E120F; }

/* ---------- 8. Menu card, panels, modals, toasts ---------- */
html[data-theme="dark"] .menu-card { background: #1C2620; }
html[data-theme="dark"] .side-panel { background: var(--paper-2); box-shadow: -30px 0 60px -20px rgba(0,0,0,.8); }
html[data-theme="dark"] .side-panel__head { background: var(--paper-2); }
html[data-theme="dark"] .overlay { background: rgba(5, 8, 6, .6); }
html[data-theme="dark"] .modal__card { background: var(--card); }
html[data-theme="dark"] .toast { background: var(--card); }
html[data-theme="dark"] .hover-img { box-shadow: 0 30px 60px -20px rgba(0,0,0,.9); }

/* ---------- 9. Forms, chips, tables, calendars ---------- */
html[data-theme="dark"] .select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23CDBFA6' stroke-width='1.5'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .field-error { color: #F19A8F; }
html[data-theme="dark"] .field.has-error .input, html[data-theme="dark"] .field.has-error .select { border-color: #F19A8F; }
html[data-theme="dark"] input[type="date"] { color-scheme: dark; }
html[data-theme="dark"] .check .box { border-color: var(--ink); }
html[data-theme="dark"] .chip[aria-pressed="true"], html[data-theme="dark"] label.chip:has(input:checked) { background: var(--ink); color: var(--paper); }
html[data-theme="dark"] .table-wrap, html[data-theme="dark"] .calendar { background: var(--card); }
html[data-theme="dark"] .cal-day[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); }
html[data-theme="dark"] .calendar--events .cal-day .ev { background: var(--accent-soft); color: var(--ink); }
html[data-theme="dark"] .res-card { background: var(--card); }
html[data-theme="dark"] .steps li::before { background: var(--card); }
html[data-theme="dark"] .steps li.is-current::before { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
html[data-theme="dark"] .sev--severe { color: #F19A8F; }
html[data-theme="dark"] .strength[data-level="1"] i:nth-child(-n+1) { background: #F19A8F; }

/* ---------- 10. Dashboard ---------- */
html[data-theme="dark"] .dash-side { background: #131A15; }
html[data-theme="dark"] .dash-tabs a, html[data-theme="dark"] .dash-tabs button { background: #1B241D; }
html[data-theme="dark"] .dash-tabs a[aria-current="page"] { background: var(--paper); }
html[data-theme="dark"] .dash-top { background: color-mix(in srgb, var(--paper) 92%, transparent); }
html[data-theme="dark"] .sheet { background: var(--card); }
html[data-theme="dark"] .sheet--accent { background: var(--accent-soft); }
html[data-theme="dark"] .option__body, html[data-theme="dark"] .allergy-list li, html[data-theme="dark"] .profile-card { background: var(--paper-2); }
html[data-theme="dark"] .bell .dot { border-color: var(--paper); }
html[data-theme="dark"] .notif-pop { background: var(--card); }

/* ---------- 11. Footer, preloader, transitions, cursor ---------- */
html[data-theme="dark"] .journal-footer { background: #121915; }
html[data-theme="dark"] .invite { background: var(--card); }
html[data-theme="dark"] .back-to-top { background: var(--card); }
html[data-theme="dark"] .back-to-top svg { color: var(--line); }
html[data-theme="dark"] .preloader { background: var(--paper); }
html[data-theme="dark"] .cursor__dot { background: var(--ink); }
html[data-theme="dark"] .cursor__ring { border-color: var(--ink); }
html[data-theme="dark"] .cursor__label, html[data-theme="dark"] .cursor__leaf { color: var(--paper); }
html[data-theme="dark"] .vine-progress svg { color: var(--line); }

/* ---------- 12. 404, coming soon, home 2 ---------- */
html[data-theme="dark"] .torn { background: var(--card); }
html[data-theme="dark"] .plate-ill { color: var(--line); }
html[data-theme="dark"] .evening { background: #0F1511; }
html[data-theme="dark"] .invitation { transform: rotate(-1deg); box-shadow: 0 40px 80px -30px rgba(0,0,0,.95), 0 0 80px -20px rgba(255,184,92,.25); }
html[data-theme="dark"] .gift-card { background: linear-gradient(135deg, #2E3D31, #18211B); }
