/* =========================================================
   CannaDaily – Grow-Tagebuch (Weederkennen-Styleguide, --nw-* mit Fallbacks)
   ========================================================= */

.cannadaily-widget {
  font: inherit;
  background: #fff;
  color: var(--nw-ink, #1d2421);
  border: 1px solid var(--nw-line, #cfe0c2);
  border-top: 5px solid var(--nw-green-brand, #2e7d32);
  border-radius: var(--nw-radius-card, 14px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
  padding: clamp(1.2rem, 4vw, 2rem);
  max-width: 680px;
  margin: 1.5rem auto;
}

/* Header */
.cannadaily-header { text-align: center; margin-bottom: 1.2rem; }
.cannadaily-logo { font-size: 2.2rem; display: block; margin-bottom: .3rem; }
.cannadaily-title { font-size: clamp(1.25rem, 1.1rem + 1vw, 1.55rem); font-weight: 700; margin: 0 0 .2rem; color: var(--nw-ink, #1d2421); text-wrap: balance; }
.cannadaily-subtitle { color: var(--nw-muted, #6b786b); font-size: .8rem; margin: 0; letter-spacing: .04em; }

/* Messages */
.cannadaily-msg { border-radius: var(--nw-radius, 10px); padding: .6rem .9rem; font-size: .9rem; margin: 0 0 1rem; }
.cannadaily-msg-ok { background: var(--nw-surface-soft, #f3f7ef); border: 1px solid var(--nw-line, #cfe0c2); color: var(--nw-green-strong, #2f6b16); }
.cannadaily-msg-warn { background: #fff; border-left: 3px solid var(--nw-star, #e3a008); color: var(--nw-ink, #1d2421); }

/* Forms */
.cannadaily-form { margin: 0 0 1.2rem; }
.cannadaily-field { margin-bottom: .9rem; }
.cannadaily-label { display: block; font-weight: 600; font-size: .9rem; color: var(--nw-ink, #1d2421); margin-bottom: .4rem; }
.cannadaily-input {
  width: 100%; background: #fff; border: 1px solid var(--nw-line, #cfe0c2);
  border-radius: var(--nw-radius, 10px); color: var(--nw-ink, #1d2421);
  font: inherit; font-size: 1rem; padding: .55rem .7rem; outline: none;
}
.cannadaily-input:focus { border-color: var(--nw-green, #4f8a2e); box-shadow: 0 0 0 3px rgba(79, 138, 46, .18); }
.cannadaily-textarea { resize: vertical; min-height: 70px; margin-bottom: .8rem; }
.cannadaily-radios { display: flex; gap: 10px; flex-wrap: wrap; }
.cannadaily-radio { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); padding: .5rem .8rem; cursor: pointer; font-size: .92rem; background: var(--nw-surface-soft, #f3f7ef); }
.cannadaily-outdoor { border: 1px dashed var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); padding: .9rem .9rem .1rem; margin-bottom: .9rem; background: var(--nw-surface-soft, #f3f7ef); }
.cannadaily-entry-row { margin-bottom: .6rem; }
.cannadaily-date { max-width: 220px; }

/* Buttons */
.cannadaily-btn { font: inherit; font-size: .95rem; font-weight: 600; border: 0; border-radius: var(--nw-radius, 10px); cursor: pointer; padding: .6rem 1.1rem; display: inline-flex; align-items: center; gap: 6px; }
.cannadaily-btn-primary { background: var(--nw-green, #4f8a2e); color: #fff; }
.cannadaily-btn-primary:hover { background: var(--nw-green-dark, #1d4d12); }
/* Anchor-Buttons: Theme-Linkfarbe (oft blau) gezielt überschreiben. */
.cannadaily-widget a.cannadaily-btn { text-decoration: none; }
.cannadaily-widget a.cannadaily-btn-primary,
.cannadaily-widget a.cannadaily-btn-primary:hover,
.cannadaily-widget a.cannadaily-btn-primary:visited,
.cannadaily-widget a.cannadaily-btn-primary:focus { color: #fff; }
.cannadaily-widget a.cannadaily-btn-secondary,
.cannadaily-widget a.cannadaily-btn-secondary:hover { color: var(--nw-green-strong, #2f6b16); }

/* Plan-Hinweis unter der Eingabemaske */
.cannadaily-plan-hint { margin: -.3rem 0 1rem; padding: .55rem .8rem; font-size: .88rem; background: #fff; border-left: 3px solid var(--nw-star, #e3a008); color: var(--nw-ink, #1d2421); }
html[data-nw-theme="dark"] .cannadaily-plan-hint { background: var(--nw-d-panel, #232b32); color: var(--nw-d-ink, #e8ece8); }
.cannadaily-btn-secondary { background: var(--nw-surface-soft, #f3f7ef); border: 1px solid var(--nw-line, #cfe0c2); color: var(--nw-green-strong, #2f6b16); }
.cannadaily-link-btn { background: none; border: 0; color: var(--nw-muted, #6b786b); font: inherit; font-size: .82rem; text-decoration: underline; cursor: pointer; padding: .3rem 0; }

/* Entries */
.cannadaily-entries { list-style: none; margin: 1rem 0 0; padding: 0; }
.cannadaily-entry { border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); padding: .7rem .85rem; margin-bottom: .6rem; background: #fff; }
.cannadaily-entry-date { font-size: .78rem; font-weight: 700; color: var(--nw-green-strong, #2f6b16); margin-bottom: .25rem; }
.cannadaily-entry-note { font-size: .95rem; color: var(--nw-ink, #1d2421); }
.cannadaily-empty { color: var(--nw-muted, #6b786b); font-size: .92rem; text-align: center; padding: .6rem 0; }
.cannadaily-delete { margin-top: .6rem; text-align: center; }

/* Autocomplete (Photon) */
.cannadaily-hint { font-size: .78rem; color: var(--nw-muted, #6b786b); margin: .4rem 0 0; }
.cannadaily-ac-results { border: 1px solid var(--nw-line, #cfe0c2); border-top: 0; border-radius: 0 0 var(--nw-radius, 10px) var(--nw-radius, 10px); background: #fff; max-height: 240px; overflow-y: auto; margin-top: -2px; }
.cannadaily-ac-item { display: block; width: 100%; text-align: left; background: #fff; border: 0; border-bottom: 1px solid var(--nw-surface-soft, #f3f7ef); padding: .5rem .7rem; font: inherit; font-size: .9rem; color: var(--nw-ink, #1d2421); cursor: pointer; }
.cannadaily-ac-item:hover { background: var(--nw-surface-soft, #f3f7ef); }

/* Wetter-Chip pro Eintrag */
.cannadaily-entry-weather { display: inline-block; margin-top: .35rem; font-size: .8rem; font-weight: 600; color: var(--nw-green-strong, #2f6b16); background: var(--nw-surface-soft, #f3f7ef); border: 1px solid var(--nw-line, #cfe0c2); border-radius: 999px; padding: .12rem .6rem; }
.cannadaily-attribution { font-size: .72rem; color: var(--nw-muted, #6b786b); text-align: center; margin: .9rem 0 0; }

/* Foto-Upload + Eintrags-Foto + Titelbild */
.cannadaily-photo-label { display: inline-flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--nw-muted, #6b786b); margin: 0 0 .8rem; cursor: pointer; }
.cannadaily-photo-label input[type="file"] { font: inherit; font-size: .82rem; }
.cannadaily-entry-media { margin-top: .5rem; }
.cannadaily-photo-preview { margin: .3rem 0 .8rem; }
.cannadaily-photo-preview img { max-height: 160px; max-width: 100%; border-radius: var(--nw-radius, 10px); border: 1px solid var(--nw-line, #cfe0c2); display: block; }
.cannadaily-photo-meta { font-size: .8rem; color: var(--nw-muted, #6b786b); margin: .25rem 0; }
.cannadaily-photo-warn { color: #b23b3b; font-weight: 600; }
html[data-nw-theme="dark"] .cannadaily-photo-preview img { border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-photo-meta { color: var(--nw-d-muted, #9fb0a0); }
.cannadaily-entry-photo { max-width: 100%; height: auto; border-radius: var(--nw-radius, 10px); border: 1px solid var(--nw-line, #cfe0c2); display: block; }
.cannadaily-cover-badge { display: inline-block; margin-top: .35rem; font-size: .75rem; font-weight: 700; color: var(--nw-star, #e3a008); }
.cannadaily-cover-form { margin-top: .3rem; }

/* Web-Kalender + Agenda-Fallback */
#cannadaily-calendar { margin-top: 1rem; }
.cannadaily-agenda { list-style: none; margin: 1rem 0 0; padding: 0; }
.cannadaily-agenda li { padding: .45rem 0; border-bottom: 1px solid var(--nw-line, #cfe0c2); font-size: .92rem; color: var(--nw-ink, #1d2421); }
.cannadaily-agenda-date { font-weight: 700; color: var(--nw-green-strong, #2f6b16); margin-right: 6px; }
.cannadaily-agenda-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; margin-right: 4px; }
html[data-nw-theme="dark"] .cannadaily-agenda li { color: var(--nw-d-ink, #e8ece8); border-color: var(--nw-d-border, #3a4751); }

/* Teilen-Box (Eintrag/Grow) */
.cannadaily-share { border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); padding: .5rem .7rem; margin: .5rem 0; background: #fff; }
.cannadaily-share summary { cursor: pointer; font-weight: 600; font-size: .85rem; color: var(--nw-green-strong, #2f6b16); }
.cannadaily-share .cannadaily-input { margin-top: .5rem; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .78rem; }
.cannadaily-share-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: .5rem 0; }
.cannadaily-act { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); background: var(--nw-surface-soft, #f3f7ef); color: var(--nw-green-strong, #2f6b16); cursor: pointer; text-decoration: none; font-weight: 700; font-size: 1rem; }
.cannadaily-act:hover { border-color: var(--nw-green, #4f8a2e); }
.cannadaily-act svg { width: 1.9rem; height: 1.9rem; }
html[data-nw-theme="dark"] .cannadaily-act { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-green, #7bbf4e); }
html[data-nw-theme="dark"] .cannadaily-share { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-share summary { color: var(--nw-d-green, #7bbf4e); }

/* Abo-Box (Pro-Grow-Feed) */
.cannadaily-subscribe { border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius, 10px); padding: .6rem .8rem; margin: 0 0 1rem; background: var(--nw-surface-soft, #f3f7ef); }
.cannadaily-subscribe summary { cursor: pointer; font-weight: 600; font-size: .9rem; color: var(--nw-green-strong, #2f6b16); }
.cannadaily-subscribe .cannadaily-input { margin-top: .5rem; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .8rem; }
html[data-nw-theme="dark"] .cannadaily-subscribe { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-subscribe summary { color: var(--nw-d-green, #7bbf4e); }

/* Dashboard-Grid + Tagebuch-Karten */
.cannadaily-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-top: 1rem; }
.cannadaily-card { display: block; border: 1px solid var(--nw-line, #cfe0c2); border-radius: var(--nw-radius-card, 14px); background: #fff; overflow: hidden; text-decoration: none; color: var(--nw-ink, #1d2421); transition: box-shadow .15s ease; }
.cannadaily-card:hover { box-shadow: 0 3px 10px rgba(0, 0, 0, .08); }
.cannadaily-card-cover { width: 100%; height: 130px; object-fit: cover; display: block; }
.cannadaily-card-body { padding: .7rem .85rem; }
.cannadaily-card-title { display: block; font-size: 1rem; font-weight: 700; }
.cannadaily-card-meta { font-size: .8rem; color: var(--nw-muted, #6b786b); margin-top: .15rem; }
.cannadaily-card-stats { font-size: .8rem; font-weight: 600; color: var(--nw-green-strong, #2f6b16); margin-top: .35rem; }

/* Navigation + Eintrags-Kopf */
.cannadaily-back { margin: 0 0 .6rem; font-size: .85rem; }
.cannadaily-back a { color: var(--nw-muted, #6b786b); text-decoration: none; }
.cannadaily-entry-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.cannadaily-entry-edit { font-size: .8rem; color: var(--nw-green-strong, #2f6b16); text-decoration: none; }
.cannadaily-entry-del { margin-top: .3rem; }
.cannadaily-del-link { color: #b23b3b; }
.cannadaily-form-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cannadaily-check { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--nw-muted, #6b786b); }

/* Dark-Mode Dashboard */
html[data-nw-theme="dark"] .cannadaily-card { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-card-meta,
html[data-nw-theme="dark"] .cannadaily-back a { color: var(--nw-d-muted, #9fb0a0); }
html[data-nw-theme="dark"] .cannadaily-card-stats { color: var(--nw-d-green, #7bbf4e); }

/* Dark-Mode (greift nur mit aktivem Weederkennen-Theme) */
html[data-nw-theme="dark"] .cannadaily-ac-results,
html[data-nw-theme="dark"] .cannadaily-ac-item { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-entry-weather { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-green, #7bbf4e); }
html[data-nw-theme="dark"] .cannadaily-hint,
html[data-nw-theme="dark"] .cannadaily-attribution { color: var(--nw-d-muted, #9fb0a0); }

/* Dark-Mode (greift nur mit aktivem Weederkennen-Theme) */
html[data-nw-theme="dark"] .cannadaily-widget { background: var(--nw-d-surface, #1e2329); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-title,
html[data-nw-theme="dark"] .cannadaily-label,
html[data-nw-theme="dark"] .cannadaily-entry-note { color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-subtitle,
html[data-nw-theme="dark"] .cannadaily-empty,
html[data-nw-theme="dark"] .cannadaily-link-btn { color: var(--nw-d-muted, #9fb0a0); }
html[data-nw-theme="dark"] .cannadaily-input,
html[data-nw-theme="dark"] .cannadaily-entry,
html[data-nw-theme="dark"] .cannadaily-radio,
html[data-nw-theme="dark"] .cannadaily-outdoor { background: var(--nw-d-panel, #232b32); border-color: var(--nw-d-border, #3a4751); color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-entry-photo { border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-photo-label { color: var(--nw-d-muted, #9fb0a0); }

/* ─── Web-Kalender: Event-Popover ─── */
.cannadaily-cal-popover {
  position: fixed;
  z-index: 9999;
  width: min(20rem, calc(100vw - 1rem));
  background: #fff;
  color: var(--nw-ink, #1d2421);
  border: 1px solid var(--nw-line, #cfe0c2);
  border-top: 4px solid var(--nw-green-brand, #2e7d32);
  border-radius: var(--nw-radius-card, 14px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
  padding: .75rem .85rem;
  font: inherit;
  font-size: .92rem;
  line-height: 1.45;
}
.cannadaily-cal-popover[hidden] { display: none; }
.cannadaily-cal-pop-head { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .5rem; }
.cannadaily-cal-pop-title { flex: 1; font-weight: 700; }
.cannadaily-cal-pop-close {
  flex: 0 0 auto; background: transparent; border: 0; cursor: pointer;
  font-size: 1.3rem; line-height: 1; color: var(--nw-muted, #6b786b); padding: 0 .15rem;
}
.cannadaily-cal-pop-close:hover { color: var(--nw-ink, #1d2421); }
.cannadaily-cal-pop-body { display: flex; flex-direction: column; gap: .4rem; }
.cannadaily-cal-pop-date { margin: 0; color: var(--nw-muted, #6b786b); }
.cannadaily-cal-pop-meta { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.cannadaily-cal-pop-grow {
  display: inline-block; padding: .1rem .55rem; border-radius: 999px;
  color: #fff; font-size: .8rem; font-weight: 600;
}
.cannadaily-cal-pop-type { font-size: .85rem; color: var(--nw-ink, #1d2421); }
.cannadaily-cal-pop-link {
  margin-top: .2rem; align-self: flex-start;
  background: var(--nw-surface-soft, #f3f7ef);
  color: var(--nw-green-strong, #2f6b16) !important;
  border: 1px solid var(--nw-line, #cfe0c2);
  text-decoration: none;
  cursor: pointer;
}

/* Kalender-Events sind klickbar (Popover) – Pointer-Cursor signalisiert das. */
#cannadaily-calendar .fc-event,
#cannadaily-calendar .fc-event * { cursor: pointer; }
.cannadaily-cal-pop-link:hover { background: var(--nw-green, #4f8a2e); color: #fff !important; }

html[data-nw-theme="dark"] .cannadaily-cal-popover { background: var(--nw-d-surface, #1e2329); color: var(--nw-d-ink, #e8ece8); border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-cal-pop-date,
html[data-nw-theme="dark"] .cannadaily-cal-pop-close { color: var(--nw-d-muted, #9fb0a0); }
html[data-nw-theme="dark"] .cannadaily-cal-pop-type { color: var(--nw-d-ink, #e8ece8); }
html[data-nw-theme="dark"] .cannadaily-cal-pop-link { background: var(--nw-d-panel, #232b32); color: var(--nw-d-green, #7bbf4e) !important; border-color: var(--nw-d-border, #3a4751); }
html[data-nw-theme="dark"] .cannadaily-cal-pop-link:hover { background: var(--nw-d-green, #7bbf4e); color: #14241a !important; }

/* ─── Foto-Auswahl: Kamera / Galerie ─── */
.cannadaily-photo-choose { display: flex; flex-direction: column; gap: .45rem; margin: .2rem 0; }
.cannadaily-photo-title { font-weight: 600; color: var(--nw-ink, #1d2421); }
.cannadaily-photo-buttons { display: flex; gap: .5rem; flex-wrap: wrap; }
.cannadaily-photo-buttons .cannadaily-btn { flex: 1 1 0; justify-content: center; }
.cannadaily-photo-input { display: none; }
