/* NavWeed Frontend-Styles */

/* Einheitliche Eck-Rundungen (ein Wert für alle interaktiven Elemente,
   ein größerer für Karten/Boxen). Pillen/Kreise (Flair, Symbol) bleiben eigen. */
:root {
	--nw-radius: 10px;       /* Buttons, Felder, Pills im Formular */
	--nw-radius-card: 14px;  /* Karten, Boxen, Tour, Tabellen-Rahmen */

	/* Kanonische Breakpoints (mobile-first gedacht).
	   Hinweis: Custom Properties sind in @media-/@container-Bedingungen NICHT
	   verwendbar (CSS-Limitation) — diese Tokens dienen der Konsistenz/Doku;
	   die Queries unten nutzen denselben Zahlenwert. */
	--nw-bp-sm: 520px;   /* großes Handy */
	--nw-bp-md: 600px;   /* Phablet / kleines Tablet */
	--nw-bp-lg: 782px;   /* Tablet quer / Desktop */

	/* Farb-Tokens (Light = aktuelle Werte; Single Source für Marke + Themes) */
	--nw-green:        #4f8a2e;  /* primäre Aktion / Hover */
	--nw-green-strong: #2f6b16;  /* Links / kräftiger Text */
	--nw-green-brand:  #2e7d32;  /* Marken-Akzent (Modal-Topborder, Tour) */
	--nw-green-dark:   #1d4d12;  /* Hover dunkel */
	--nw-line:         #cfe0c2;  /* Standard-Rahmen */
	--nw-surface-soft: #f3f7ef;  /* weiche Fläche */
	--nw-ink:          #1d2421;  /* primärer Text */
	--nw-muted:        #6b786b;  /* gedämpfter Text */
	--nw-star:         #e3a008;  /* Bewertungs-Sterne (gold) — eine Quelle für alle Stern-Anzeigen */

	/* z-index-Ebenen */
	--nw-z-dropdown: 20;     /* Picker-/Filter-Dropdown */
	--nw-z-nav:      9999;   /* Bottom-Nav */
	--nw-z-modal:    100000; /* Modals / Overlays */
}

.navweed-form {
	margin: 1.5rem auto;
}
/* Alle Inhalte (Formular, Dashboard, Top-Listen, …) laufen auf voller Astra-Content-Breite —
   keine plugin-seitige Breitenbegrenzung mehr. */
.navweed-dashboard {
	margin: 1.5rem auto;
}
/* Kleine Werte-Felder (Temperatur, THC, Datum) nicht über die halbe Spalte dehnen. */
.navweed-form .acf-input input[type="number"],
.navweed-form .acf-field[data-type="date_picker"] .acf-input input {
	max-width: 220px;
}

/* === Review-Formular im NavWeed-Design (ACF-Defaults überschreiben) === */
.navweed-form .acf-field { padding-top: .8rem; padding-bottom: .8rem; }
.navweed-form .acf-label label { font-weight: 600; color: var(--nw-ink); }

/* Button-Gruppen (Art, Tageszeit, Score) als grüne Pills statt ACF-Blau */
.navweed-form .acf-button-group {
	border: 0;
	background: transparent;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
}
.navweed-form .acf-button-group label {
	font-size: 1rem;
	margin: 0;
	padding: .5rem .85rem;
	border: 1px solid var(--nw-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nw-green-strong);
	box-shadow: none;
	transition: background .12s, border-color .12s, color .12s;
}
.navweed-form .acf-button-group label:hover {
	border-color: var(--nw-green);
	background: var(--nw-surface-soft);
}
.navweed-form .acf-button-group label.selected {
	background: var(--nw-green) !important;
	border-color: var(--nw-green) !important;
	color: #fff !important;
}
/* Score-Skala: 11 Stufen einheitlich – Emoji oben, Zahl unten bündig */
.navweed-form .navweed-col-score .acf-button-group { gap: 6px; flex-wrap: wrap; }
.navweed-form .navweed-col-score .acf-button-group label {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	min-width: 38px;
	padding: .3rem .3rem;
	border-radius: var(--nw-radius, 10px);
}
.navweed-form .navweed-col-score .acf-button-group label .nw-e,
.navweed-form .navweed-col-score .acf-button-group label span:nth-of-type(1) {
	height: 1.3em;
	line-height: 1.3;
	font-size: 1.15rem;
}
.navweed-form .navweed-col-score .acf-button-group label .nw-n,
.navweed-form .navweed-col-score .acf-button-group label span:nth-of-type(2) {
	font-weight: 600;
	font-size: .9rem;
	line-height: 1;
}
.navweed-form .navweed-col-komm textarea { min-height: 44px; }

/* Eingaben & Textareas einheitlich */
.navweed-form .acf-input input[type="text"],
.navweed-form .acf-input input[type="number"],
.navweed-form .acf-input input[type="date"],
.navweed-form .acf-input textarea {
	border: 1px solid var(--nw-line);
	border-radius: 8px;
	padding: .55rem .7rem;
}
.navweed-form .acf-input input:focus,
.navweed-form .acf-input textarea:focus {
	border-color: var(--nw-green);
	box-shadow: 0 0 0 3px rgba(79, 138, 46, .18);            /* Fallback */
	box-shadow: 0 0 0 3px rgb(from var(--nw-green) r g b / .18); /* aus Token abgeleitet (Relative Color) */
	outline: none;
}
.navweed-form .acf-input textarea { min-height: 64px; }

/* Submit-Button grün */
.navweed-form .navweed-submit,
.navweed-form .acf-form-submit input[type="submit"] {
	background: var(--nw-green);
	border-color: var(--nw-green);
	color: #fff;
	border-radius: 8px;
	padding: .6rem 1.2rem;
	font-weight: 600;
}

.navweed-add-strain {
	margin-bottom: 1rem;
}
.navweed-request-strain,
.navweed-share-btn {
	background: #7ac74f;
	color: #0c140f;
	border: 0;
	border-radius: 8px;
	padding: .45rem .9rem;
	font-weight: 600;
	cursor: pointer;
}
.navweed-share-btn {
	background: #e8f3e0;
	color: #1d3a16;
}

/* Statistik */
.navweed-stats {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
	margin-bottom: 1.25rem;
}
/* Fallback für die Stat-Komponente, falls das Theme .nw-stat* nicht stylt */
.navweed-stats .nw-stat__num {
	font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2rem); /* fluid: Desktop unverändert */
	font-weight: 700;
	line-height: 1;
	color: var(--nw-green);
}
.navweed-stats .nw-stat__label {
	font-size: .85rem;
	color: var(--nw-muted);
	margin-top: 4px;
}

/* Tabelle */
.navweed-table {
	width: 100%;
	border-collapse: collapse;
}
.navweed-table th,
.navweed-table td {
	text-align: left;
	padding: .55rem .6rem;
	border-bottom: 1px solid #e4e8e1;
	vertical-align: middle;
}
.navweed-table th {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--nw-muted);
}

/* Teilen-Popover */
.navweed-share-pop {
	margin-top: .5rem;
	padding: .6rem;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-radius: 10px;
}
.navweed-share-link {
	width: 100%;
	padding: .4rem;
	border: 1px solid var(--nw-line);
	border-radius: 6px;
	margin-bottom: .5rem;
	font-size: .85rem;
}
.navweed-share-row {
	display: flex;
	gap: .6rem;
	align-items: center;
}
.navweed-share-row a,
.navweed-share-row button {
	font-size: .85rem;
	color: #1d3a16;
	background: #fff;
	border: 1px solid var(--nw-line);
	border-radius: 6px;
	padding: .4rem .6rem;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
/* Social-/Share-Icons klar erkennbar (min. 1.5rem). */
.navweed-share-row svg { width: 1.9rem; height: 1.9rem; display: block; }
/* Teilen-Popover-Buttons etwas größer + „4:5"-Text lesbar. */
.navweed-share-row .navweed-act { width: 44px; height: 44px; font-size: 1rem; font-weight: 700; line-height: 1; }

/* Feedback: Bereich-Badge (Weederkennen vs. Grow) */
.navweed-idea-area { display: inline-block; font-size: .72rem; font-weight: 600; padding: .08rem .5rem; border-radius: 999px; margin: .15rem 0 .3rem; background: var(--nw-surface-soft); border: 1px solid var(--nw-line); color: var(--nw-green-strong, #2f6b16); }

/* Gestapelte Community-Bewertungen (gleicher User, gleiche Sorte) */
.navweed-creview-stack > summary { cursor: pointer; list-style: none; }
.navweed-creview-stack > summary::-webkit-details-marker { display: none; }
.navweed-creview-stack > summary::after { content: '▾'; margin-left: .4rem; opacity: .6; }
.navweed-creview-stack[open] > summary::after { content: '▴'; }
.navweed-creview-stack[open] > summary { margin-bottom: .6rem; }
.navweed-creview-stack .navweed-creview { background: var(--nw-surface-soft); border-radius: 8px; padding: .5rem .65rem; margin-top: .5rem; }
html[data-nw-theme="dark"] .navweed-creview-stack .navweed-creview { background: var(--nw-d-panel); }

/* Öffentliche Review-Seite */
.navweed-public-score {
	font-size: 1.4rem;
	color: var(--nw-green);
}
.navweed-public-row {
	display: flex;
	justify-content: space-between;
	max-width: 320px;
	padding: .3rem 0;
	border-bottom: 1px dashed #dfe6da;
}

.navweed-login-hint {
	padding: 1rem;
	background: var(--nw-surface-soft);
	border-radius: 10px;
}

.navweed-saved-banner {
	padding: .6rem .9rem;
	background: #eaf3de;
	border: 1px solid #b6d68a;
	border-radius: 8px;
	color: var(--nw-green-strong);
	font-weight: 500;
	margin-bottom: 1rem;
}

/* === Konto (Login/Registrierung) === */
.navweed-account {
	margin: 1.5rem auto;
	container-type: inline-size; /* Container für account-cols */
}
.navweed-account-cols {
	display: grid;
	grid-template-columns: 1fr; /* mobile-first */
	gap: 1.25rem;
}
@container (min-width: 560px) {
	.navweed-account-cols { grid-template-columns: 1fr 1fr; }
}
.navweed-account-card {
	background: #fff;
	border: 1px solid #e0e6da;
	border-radius: 12px;
	padding: 1.25rem;
}
.navweed-account-card h3 {
	margin: 0 0 .8rem;
}
.navweed-account-card label {
	display: block;
	font-size: .9rem;
	color: #445142;
	margin-bottom: .7rem;
}
.navweed-account-card input,
.navweed-account-card select,
.navweed-account-card textarea {
	display: block;
	width: 100%;
	margin-top: .25rem;
	padding: .55rem .7rem;
	border: 1px solid var(--nw-line);
	border-radius: 8px;
	font-size: 1rem;
	line-height: 1.5;
	min-height: 2.7rem;
	background-color: #fff;
}
.navweed-account-card select {
	height: auto;
	appearance: auto;
}
.navweed-btn {
	display: inline-block;
	background: var(--nw-green);
	border: 0;
	border-radius: 8px;
	padding: .6rem 1.1rem;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
}
/* Gefüllte Buttons: weißer Text, auch wenn das Theme Link-Farben setzt. */
.navweed-btn,
.navweed-btn:link,
.navweed-btn:visited,
.navweed-btn:hover,
.navweed-btn:active,
.navweed-btn:focus {
	color: #fff !important;
}
/* Ghost-Variante: grüner Text auf transparent. */
.navweed-btn-ghost,
.navweed-btn-ghost:link,
.navweed-btn-ghost:visited,
.navweed-btn-ghost:hover,
.navweed-btn-ghost:active,
.navweed-btn-ghost:focus {
	background: transparent;
	color: var(--nw-green-strong) !important;
	border: 1px solid var(--nw-line);
}
.navweed-account-error {
	padding: .6rem .9rem;
	background: #fcebeb;
	border: 1px solid #e8b4b4;
	border-radius: 8px;
	color: #a32d2d;
	font-weight: 500;
	margin-bottom: 1rem;
}

/* === Konto-Menü === */
.navweed-menu {
	display: flex;
	gap: 1.1rem;
	align-items: center;
	flex-wrap: wrap;
}
.navweed-menu a {
	text-decoration: none;
	color: var(--nw-green-strong);
	font-weight: 500;
}
.navweed-menu a:hover {
	text-decoration: underline;
}

/* === Import === */
.navweed-import {
	margin: 1.5rem auto;
}
.navweed-import input[type="file"] {
	margin: .5rem 0 1rem;
}

/* === Strain-Symbol (Kachel) === */
.navweed-symbol {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
	flex: none;
}
.navweed-symbol__code { letter-spacing: .02em; }
.navweed-symbol__emoji {
	position: absolute;
	right: -4px;
	bottom: -4px;
	background: #fff;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}
.navweed-symbol--sm { width: 1.9rem; height: 1.9rem; font-size: .72rem; border-radius: 7px; }
.navweed-symbol--md { width: 2.6rem; height: 2.6rem; font-size: 1rem; }
.navweed-symbol--lg { width: 3.6rem; height: 3.6rem; font-size: 1.4rem; border-radius: 14px; }

.navweed-symbol--sm .navweed-symbol__emoji { width: .95rem; height: .95rem; font-size: .6rem; }
.navweed-symbol--md .navweed-symbol__emoji { width: 1.25rem; height: 1.25rem; font-size: .8rem; }
.navweed-symbol--lg .navweed-symbol__emoji { width: 1.6rem; height: 1.6rem; font-size: 1rem; }

.navweed-strain-head {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: .2rem 0 1.2rem;
}
.navweed-strain-head-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}
.navweed-strain-name {
	font-weight: 700;
	font-size: clamp(1.2rem, 1.05rem + .7vw, 1.35rem); /* fluid: Desktop unverändert */
}
.navweed-strain-head .navweed-strain-breeder {
	color: var(--nw-green);
}
.navweed-top-name-cell {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
}

/* === Strain-Wertungen === */
.navweed-strain-ratings {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0 0 1rem;
	padding: .8rem 1rem;
	background: var(--nw-surface-soft);
	border-radius: 10px;
}
.navweed-strain-rating-label {
	display: block;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--nw-muted);
}

.navweed-check {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	font-size: .9rem;
	color: #445142;
}
.navweed-check input { width: auto; min-height: 0; margin-top: .2rem; }

/* === Profil-Flairs === */
.navweed-flairs { display: inline-flex; gap: .35rem; vertical-align: middle; }
.navweed-flair {
	display: inline-block;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.4;
	padding: 1px 8px;
	border-radius: 999px;
	background: #eaf3de;
	color: var(--nw-green-strong);
	border: 1px solid var(--nw-line);
}
.navweed-konsum {
	display: inline-block;
	font-size: .72rem;
	line-height: 1.4;
	padding: 1px 8px;
	border-radius: 999px;
	background: #eef1f4;
	color: #4a5560;
	border: 1px solid #dde2e7;
}

/* === Anzeige-Kennzeichnung === */
.navweed-ad-label {
	display: inline-block;
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #8a978a;
	border: 1px solid #d8e0d2;
	border-radius: 4px;
	padding: 1px 6px;
	vertical-align: middle;
	margin-right: .4rem;
}

/* === Feedback-/Roadmap-Board === */
.navweed-feedback { margin: 1.5rem auto; }
.navweed-idea-form { margin-bottom: 1.5rem; }
.navweed-board {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.25rem;
	align-items: start;
}
.navweed-board-title {
	font-size: 1rem;
	margin: 0 0 .6rem;
	display: flex;
	align-items: center;
	gap: .5rem;
}
.navweed-board-count {
	font-size: .8rem;
	color: var(--nw-muted);
	background: #eef3ea;
	border-radius: 999px;
	padding: 1px 8px;
}
.navweed-idea {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #e4ece0;
	border-radius: 12px;
	padding: .7rem .8rem;
	margin-bottom: .7rem;
}
.navweed-vote {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 2.6rem;
	padding: .35rem .2rem;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-radius: 8px;
	color: var(--nw-green-strong);
	font-weight: 600;
	cursor: pointer;
	line-height: 1;
}
.navweed-vote:hover:not(:disabled) { background: #e7f1dd; }
.navweed-vote.is-voted { background: var(--nw-green); border-color: var(--nw-green); color: #fff; }
.navweed-vote:disabled { opacity: .6; cursor: not-allowed; }
.navweed-vote-arrow { font-size: .8rem; }
.navweed-vote-count { font-size: 1rem; }
.navweed-idea-title { font-weight: 600; }
.navweed-idea-desc { font-size: .9rem; color: #57645a; margin-top: .2rem; }

/* === Mein Verlauf === */
.navweed-verlauf { width: 100%; border-collapse: collapse; font-size: .92rem; }
.navweed-verlauf th,
.navweed-verlauf td {
	text-align: left;
	padding: .45rem .6rem;
	border-bottom: 1px solid #e4ece0;
	white-space: nowrap;
}
.navweed-verlauf th {
	font-size: .76rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--nw-muted);
}

/* === Wirkung nach Temperatur === */
.navweed-tempfx { margin: 1rem 0; }
.navweed-tempfx-table { width: 100%; max-width: 420px; border-collapse: collapse; }
.navweed-tempfx-table th,
.navweed-tempfx-table td {
	text-align: left;
	padding: .4rem .6rem;
	border-bottom: 1px solid #e4ece0;
}
.navweed-tempfx-table th {
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--nw-muted);
}
.navweed-tempfx-note { font-size: .85rem; color: var(--nw-muted); margin-top: .4rem; }
.navweed-creview-temp { color: #8a978a; }

/* === Community-Bewertungen (Strain-Seite) === */
.navweed-creviews {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	margin-top: .6rem;
}
.navweed-creview {
	padding: .8rem 1rem;
	background: #f7faf4;
	border: 1px solid #e4ece0;
	border-radius: 12px;
}
.navweed-creview-head {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
	font-size: .9rem;
}
.navweed-creview-author { font-weight: 600; color: #1d3a16; }
.navweed-creview-date { color: #8a978a; }
.navweed-creview-text {
	margin: .5rem 0 0;
	padding: 0 0 0 .8rem;
	border-left: 3px solid var(--nw-line);
	color: #3a463a;
	font-style: italic;
}

/* === Top-Listen (Fallback ohne Child-Theme) === */
.navweed-top-wrap {
	margin: 1rem 0;
}
.navweed-top-table {
	width: 100%;
	border-collapse: collapse;
}
.navweed-top-table th,
.navweed-top-table td {
	text-align: left;
	padding: .55rem .7rem;
	border-bottom: 1px solid #e4e8e1;
	vertical-align: middle;
}
.navweed-top-table th {
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--nw-muted);
}
.navweed-top-rank {
	color: #8a978a;
	width: 3.4rem;
	white-space: nowrap;
}
.navweed-mv { font-size: .72rem; font-weight: 700; }
.navweed-mv-up { color: #2f7d32; }
.navweed-mv-down { color: #b3261e; }
.navweed-mv-same { color: #b3bdb3; }
.navweed-mv-new { color: var(--nw-green-strong); background: #eaf3de; border-radius: 4px; padding: 0 4px; font-size: .62rem; }
/* Bewertungs-Sterne: eine gemeinsame, goldene Komponente — gilt für Top-Listen,
   Strain-Seite UND das Dashboard-Tagebuch (vorher dort schwarz/ohne Farb-Regel). */
.navweed-top-stars,
.navweed-stars-cell {
	color: var(--nw-star);
	letter-spacing: 1px;
}

/* === Changelog === */
.navweed-changelog {
}
.navweed-changelog h3 {
	margin: 1.4rem 0 .4rem;
	color: var(--nw-green-strong);
}
.navweed-changelog ul {
	margin: 0 0 1rem;
	padding-left: 1.2rem;
}
.navweed-changelog li {
	margin-bottom: .3rem;
}

.navweed-edit-link {
	font-size: .85rem;
	text-decoration: none;
	color: #1d3a16;
	border: 0.5px solid var(--nw-line);
	border-radius: 6px;
	padding: .3rem .6rem;
}
.navweed-edit-hint {
	font-weight: 500;
	color: var(--nw-green);
	margin-bottom: .5rem;
}

/* === Sorten-Picker === */
.navweed-picker {
	margin-bottom: 1rem;
}
.navweed-picker-label {
	display: block;
	font-weight: 500;
	margin-bottom: .3rem;
}
.navweed-picker-box {
	position: relative;
}
.navweed-picker-box input {
	width: 100%;
	padding: .55rem .7rem;
	border: 1px solid var(--nw-line);
	border-radius: 8px;
}
.navweed-picker-drop {
	position: absolute;
	z-index: var(--nw-z-dropdown);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid var(--nw-line);
	border-radius: 8px;
	margin-top: 3px;
	max-height: 260px;
	overflow: auto;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}
.navweed-opt {
	padding: .55rem .7rem;
	cursor: pointer;
	border-bottom: 1px solid #eef3ea;
}
.navweed-opt:hover {
	background: var(--nw-surface-soft);
}
.navweed-opt-add {
	color: var(--nw-green-strong);
	font-weight: 500;
}
.navweed-picker-chosen {
	margin: .4rem 0 0;
	color: var(--nw-green-strong);
	font-weight: 500;
}
.navweed-picker-error {
	margin: .4rem 0 0;
	color: #c0392b;
	font-weight: 500;
}
.navweed-submit:disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* === Postkarten-Layout: Emoji-Score links, Kommentar rechts === */
.navweed-form .acf-fields > .acf-field {
	padding-top: .8rem;
	padding-bottom: .8rem;
}
.navweed-form .navweed-col-score .acf-button-group label {
	font-size: 1rem;
	padding: .3rem .3rem;
}
.navweed-form .navweed-col-komm textarea {
	min-height: 56px;
}
@media (max-width: 600px) {
	.navweed-form .acf-field[data-width] {
		width: 100% !important;
	}
}

/* ============ Onboarding-Tour ============ */
.navweed-tour-open { overflow: hidden; }
/* Tour = natives <dialog> (showModal): echt modal, Fokus-Trap, Hintergrund inert.
   Das Dialog IST die Karte; Dim über ::backdrop; UA zentriert das modale Dialog. */
.navweed-tour-card {
	width: min(92vw, 460px);
	max-width: 460px;
	background: #fff;
	border: 0;                                   /* UA-Dialog-Rahmen zurücksetzen */
	border-top: 5px solid var(--nw-green-brand);
	border-radius: var(--nw-radius-card);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	padding: 28px 26px 20px;
}
.navweed-tour-card::backdrop {
	background: rgba(10, 30, 15, 0.55);
	backdrop-filter: blur(2px);
}
.navweed-tour-skip {
	position: absolute;
	top: 10px;
	right: 12px;
	border: 0;
	background: transparent;
	font-size: 26px;
	line-height: 1;
	color: #8a8a8a;
	cursor: pointer;
	padding: 4px 8px;
}
.navweed-tour-skip:hover { color: #444; }
.navweed-tour-step h2 { margin: 0 0 10px; font-size: clamp(1.2rem, 1.05rem + .7vw, 1.35rem); }
.navweed-tour-step p { margin: 0 0 14px; color: #333; line-height: 1.5; }
.navweed-tour-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	gap: 12px;
}
.navweed-tour-dots { display: flex; gap: 7px; }
.navweed-tour-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #cfe3d2;
	transition: background 0.2s, transform 0.2s;
}
.navweed-tour-dot.is-active { background: var(--nw-green-brand); transform: scale(1.2); }
.navweed-tour-buttons { display: flex; gap: 8px; }
.navweed-btn-ghost {
	background: transparent !important;
	color: var(--nw-green-brand) !important;
	box-shadow: none !important;
}

/* ============ Einheitliche Rundungen (Override gegen Theme-Defaults) ============ */
/* Interaktive Elemente: ein Radius für alle. */
.navweed-form .acf-button-group label,
.navweed-form .acf-input input[type="text"],
.navweed-form .acf-input input[type="number"],
.navweed-form .acf-input input[type="date"],
.navweed-form .acf-input textarea,
.navweed-form .acf-input select,
.navweed-form .navweed-submit,
.navweed-form .acf-form-submit input[type="submit"],
.navweed-request-strain,
.navweed-share-btn,
.navweed-add-strain button,
.navweed-btn,
.navweed-account select,
.navweed-account input[type="text"],
.navweed-account input[type="email"],
.navweed-account input[type="password"],
.navweed-vote {
	border-radius: var(--nw-radius) !important;
}
/* ACF rendert Button-Gruppen segmentiert (erste/letzte Ecke abweichend) – zurücksetzen. */
.navweed-form .acf-button-group label:first-child,
.navweed-form .acf-button-group label:last-child,
.navweed-form .acf-button-group label:not(:first-child):not(:last-child) {
	border-radius: var(--nw-radius) !important;
}
/* Karten & Boxen: ein größerer, einheitlicher Radius. */
.navweed-stats,
.navweed-card,
.navweed-box,
.navweed-account,
.navweed-feedback-item,
.navweed-strain-details,
.navweed-ratings-box,
.navweed-mv-table,
.navweed-changelog {
	border-radius: var(--nw-radius-card);
}

/* ============ FAQ (Aufklapp-Liste) ============ */
.navweed-faq { margin: 1.25rem auto; }
.navweed-faq-item {
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	margin: .55rem 0;
	background: #fff;
	overflow: hidden;
}
.navweed-faq-item summary {
	list-style: none;
	cursor: pointer;
	padding: .85rem 2.4rem .85rem 1rem;
	font-weight: 600;
	color: var(--nw-ink);
	position: relative;
	user-select: none;
}
.navweed-faq-item summary::-webkit-details-marker { display: none; }
.navweed-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.25rem;
	line-height: 1;
	color: var(--nw-green);
	transition: transform .15s;
}
.navweed-faq-item[open] summary::after { content: "−"; }
.navweed-faq-item summary:hover { background: var(--nw-surface-soft); }
.navweed-faq-answer { padding: 0 1rem 1rem; color: #333; }
.navweed-faq-answer p { margin: 0 0 .6rem; line-height: 1.55; }
.navweed-faq-answer p:last-child { margin-bottom: 0; }

/* ============ Inhaltsverzeichnis (TOC) ============ */
.navweed-toc {
	margin: 1.25rem auto;
	padding: .9rem 1.1rem;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius-card, 14px);
	/* Immer sichtbar: klebt beim Scrollen oben fest. */
	position: sticky;
	top: var(--nw-toc-top, 90px);
	max-height: calc(100vh - var(--nw-toc-top, 90px) - 20px);  /* Fallback */
	max-height: calc(100dvh - var(--nw-toc-top, 90px) - 20px); /* mobil korrekt: dynamische Höhe */
	overflow: auto;
	z-index: var(--nw-z-dropdown);
}
/* Auf kleinen Screens nicht fixieren (würde Inhalte verdecken). */
@media (max-width: 782px) {
	.navweed-toc {
		position: static;
		max-height: none;
		overflow: visible;
	}
}
.navweed-toc-li a.is-active {
	font-weight: 700;
	color: var(--nw-green-dark);
}
.navweed-toc-title {
	margin: 0 0 .5rem;
	font-weight: 700;
	color: var(--nw-ink);
	font-size: .95rem;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.navweed-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.navweed-toc-li { margin: .2rem 0; }
.navweed-toc-li a {
	text-decoration: none;
	color: var(--nw-green-strong);
}
.navweed-toc-li a:hover { text-decoration: underline; }
.navweed-toc-l1 { padding-left: 1.1rem; }
.navweed-toc-l1 a { color: #3a6b2a; font-size: .95rem; }
.navweed-toc-l2 { padding-left: 2.2rem; }
.navweed-toc-l2 a { color: #4f7a3a; font-size: .92rem; }

/* Anker nicht unter (ggf. fixierten) Kopfbereich rutschen lassen */
.navweed-changelog h2,
.navweed-changelog h3,
.navweed-faq-item > summary,
.entry-content h2[id],
.entry-content h3[id] {
	scroll-margin-top: 90px;
}

/* ============ Suche ============ */
.navweed-search { margin: 1.25rem auto; }
.navweed-search-bar { margin-bottom: .6rem; }
.navweed-search-input {
	width: 100%;
	padding: .7rem .9rem;
	font-size: 1.05rem;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	background: #fff;
}
.navweed-search-input:focus {
	border-color: var(--nw-green);
	box-shadow: 0 0 0 3px rgba(79,138,46,.18);              /* Fallback */
	box-shadow: 0 0 0 3px rgb(from var(--nw-green) r g b / .18); /* aus Token abgeleitet (Relative Color) */
	outline: none;
}
.navweed-search-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin-bottom: .4rem;
}
.navweed-search-filter {
	padding: .45rem .6rem;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	background: #fff;
	color: var(--nw-ink);
	font-size: .92rem;
}
.navweed-search-reset {
	background: transparent;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	color: var(--nw-green-strong);
	padding: .45rem .8rem;
	cursor: pointer;
	font-size: .9rem;
}
.navweed-search-reset:hover { background: var(--nw-surface-soft); }
.navweed-search-status { color: var(--nw-muted); font-size: .9rem; margin: .3rem 0 .6rem; }
.navweed-search-h {
	margin: 1rem 0 .4rem;
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--nw-muted);
}
.navweed-search-list { list-style: none; margin: 0; padding: 0; }
.navweed-search-item { margin: .3rem 0; }
.navweed-search-link {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .55rem .7rem;
	border: 1px solid #e4e8e1;
	border-radius: var(--nw-radius, 10px);
	background: #fff;
	text-decoration: none;
	color: var(--nw-ink);
	transition: border-color .12s, background .12s;
}
.navweed-search-link:hover { border-color: var(--nw-green); background: #f7faf4; }
.navweed-search-text { display: flex; flex-direction: column; line-height: 1.3; }
.navweed-search-name { font-weight: 600; color: var(--nw-ink); }
.navweed-search-meta { font-size: .82rem; color: var(--nw-muted); }
.navweed-search-stars { color: var(--nw-star); letter-spacing: 1px; }

/* ============ Such-Lupe + Such-Modal ============ */
.navweed-search-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	color: var(--nw-green-strong);
	cursor: pointer;
	padding: .2rem;
	line-height: 0;
}
.navweed-search-trigger:hover { color: var(--nw-green-dark); }
.navweed-menu .navweed-search-trigger { margin-right: .2rem; }

.navweed-modal-open { overflow: hidden; }
/* Such-Modal: die Karte IST der native Popover (Top-Layer); Dim über ::backdrop.
   Öffnen/Schließen/ESC/Klick-außerhalb erledigt die Popover-API (kein JS, kein z-index). */
.navweed-search-modal-card {
	width: 100%;
	max-width: 640px;
	max-height: 82vh;  /* Fallback */
	max-height: 82dvh; /* mobil korrekt */
	overflow: auto;
	background: #fff;
	border: 0;                                   /* UA-Popover-Rahmen zurücksetzen */
	border-top: 5px solid var(--nw-green-brand);
	border-radius: var(--nw-radius-card, 14px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	padding: 2.2rem clamp(1rem, 4vw, 1.5rem) 1.5rem; /* fluid: mobil weniger Rand */
	/* Top-Layer-Positionierung (oben zentriert, wie zuvor) */
	position: fixed;
	inset: 8vh 1rem auto 1rem;   /* Fallback */
	inset: 8dvh 1rem auto 1rem;
	margin-inline: auto;
}
.navweed-search-modal-card::backdrop {
	background: rgba(10, 30, 15, .55);
	backdrop-filter: blur(2px);
}
.navweed-search-modal-close {
	position: absolute;
	top: 8px;
	right: 12px;
	border: 0;
	background: transparent;
	font-size: 26px;
	line-height: 1;
	color: #8a8a8a;
	cursor: pointer;
	padding: 4px 8px;
}
.navweed-search-modal-close:hover { color: #444; }
/* Im Modal füllt die Suche die Karte (kein zweites Zentrieren). */
.navweed-search-modal-card .navweed-search { margin: 0; max-width: none; }

/* Such-Leiste mit Filter-Umschalter */
.navweed-search-bar { display: flex; gap: .5rem; align-items: stretch; }
.navweed-search-bar .navweed-search-input { flex: 1; }
.navweed-search-filter-toggle {
	flex: none;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	color: var(--nw-green-strong);
	padding: 0 .9rem;
	font-weight: 600;
	cursor: pointer;
}
.navweed-search-filter-toggle.is-open,
.navweed-search-filter-toggle:hover { background: #e7efe0; }
.navweed-search-filters[hidden] { display: none; }
.navweed-search-filters { margin-top: .55rem; }

/* ============ Dark-Mode (manueller Umschalter: html[data-nw-theme="dark"]) ============ */
.navweed-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	color: var(--nw-green-strong);
	cursor: pointer;
	padding: .2rem;
	line-height: 0;
}
.navweed-theme-toggle:hover { color: var(--nw-green-dark); }
/* Summary zeigt das Icon des AKTIVEN Themes (Sonne=hell, Mond=dunkel, ◐=kontrast). */
.navweed-theme-toggle .nw-icon-moon,
.navweed-theme-toggle .nw-icon-contrast { display: none; }
.navweed-theme-toggle .nw-icon-sun { display: inline; }
html[data-nw-theme="dark"] .navweed-theme-toggle .nw-icon-sun { display: none; }
html[data-nw-theme="dark"] .navweed-theme-toggle .nw-icon-moon { display: inline; }
html[data-nw-theme="contrast"] .navweed-theme-toggle .nw-icon-sun { display: none; }
html[data-nw-theme="contrast"] .navweed-theme-toggle .nw-icon-contrast { display: inline; }

/* Theme-Menü (natives <details>) */
.navweed-theme-menu { position: relative; display: inline-block; }
.navweed-theme-menu > summary { list-style: none; cursor: pointer; }
.navweed-theme-menu > summary::-webkit-details-marker { display: none; }
.navweed-theme-menu-list {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: var(--nw-z-nav);
	display: flex;
	flex-direction: column;
	min-width: 168px;
	background: #fff;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius-card, 14px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
	padding: 4px;
}
.navweed-theme-opt {
	display: flex;
	align-items: center;
	gap: .6rem;
	width: 100%;
	background: none;
	border: 0;
	border-radius: var(--nw-radius, 10px);
	padding: .55rem .6rem;
	cursor: pointer;
	color: var(--nw-ink);
	font: inherit;
	text-align: left;
	line-height: 1.2;
}
.navweed-theme-opt svg { flex: none; }
.navweed-theme-opt:hover { background: var(--nw-surface-soft); }
.navweed-theme-opt[aria-checked="true"] { color: var(--nw-green-strong); font-weight: 600; }
/* Dark-Mode des Menüs */
html[data-nw-theme="dark"] .navweed-theme-menu-list { background: var(--nw-d-surface); border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-theme-opt { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-theme-opt:hover { background: var(--nw-d-panel); }
html[data-nw-theme="dark"] .navweed-theme-opt[aria-checked="true"] { color: var(--nw-d-green); }

html[data-nw-theme="dark"] {
	color-scheme: dark;
	--nw-d-surface: #1e2329;
	--nw-d-panel:   #232b32;
	--nw-d-ink:     #e8ece8;
	--nw-d-muted:   #9fb0a0;
	--nw-d-border:  #3a4751;
	--nw-d-green:   #7bbf4e;
	--nw-d-green-soft: #2b3a22;
}

/* Container/Text */
html[data-nw-theme="dark"] .navweed-form,
html[data-nw-theme="dark"] .navweed-dashboard,
html[data-nw-theme="dark"] .navweed-account,
html[data-nw-theme="dark"] .navweed-search,
html[data-nw-theme="dark"] .navweed-strain-detail { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-form .acf-label label { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-theme-toggle,
html[data-nw-theme="dark"] .navweed-search-trigger,
html[data-nw-theme="dark"] .navweed-menu a { color: var(--nw-d-green); }

/* Eingaben & Button-Gruppen */
html[data-nw-theme="dark"] .navweed-form .acf-button-group label {
	background: var(--nw-d-surface);
	border-color: var(--nw-d-border);
	color: var(--nw-d-green);
}
html[data-nw-theme="dark"] .navweed-form .acf-button-group label:hover { background: var(--nw-d-panel); }
html[data-nw-theme="dark"] .navweed-form .acf-input input,
html[data-nw-theme="dark"] .navweed-form .acf-input textarea,
html[data-nw-theme="dark"] .navweed-account-card input,
html[data-nw-theme="dark"] .navweed-account-card select,
html[data-nw-theme="dark"] .navweed-account-card textarea,
html[data-nw-theme="dark"] .navweed-search-input,
html[data-nw-theme="dark"] .navweed-search-filter {
	background: var(--nw-d-panel);
	border-color: var(--nw-d-border);
	color: var(--nw-d-ink);
}
html[data-nw-theme="dark"] .navweed-search-input::placeholder { color: var(--nw-d-muted); }

/* Karten/Panels/Tabellen */
html[data-nw-theme="dark"] .navweed-account-card,
html[data-nw-theme="dark"] .navweed-faq-item,
html[data-nw-theme="dark"] .navweed-search-modal-card,
html[data-nw-theme="dark"] .navweed-tour-card { background: var(--nw-d-surface); border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-account-card label { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-toc,
html[data-nw-theme="dark"] .navweed-login-hint,
html[data-nw-theme="dark"] .navweed-share-pop,
html[data-nw-theme="dark"] .navweed-search-filter-toggle { background: var(--nw-d-panel); border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-table th,
html[data-nw-theme="dark"] .navweed-table td { border-color: var(--nw-d-border); color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-table th { color: var(--nw-d-muted); }

/* FAQ / TOC / Suche */
html[data-nw-theme="dark"] .navweed-faq-item summary { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-faq-item summary:hover { background: var(--nw-d-panel); }
html[data-nw-theme="dark"] .navweed-faq-answer { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-toc-title { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-toc-li a { color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-search-link {
	background: var(--nw-d-surface);
	border-color: var(--nw-d-border);
	color: var(--nw-d-ink);
}
html[data-nw-theme="dark"] .navweed-search-link:hover { background: var(--nw-d-panel); border-color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-search-name { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-search-meta,
html[data-nw-theme="dark"] .navweed-search-status { color: var(--nw-d-muted); }

/* Buttons / Hinweise */
html[data-nw-theme="dark"] .navweed-btn-ghost,
html[data-nw-theme="dark"] .navweed-btn-ghost:link,
html[data-nw-theme="dark"] .navweed-btn-ghost:visited,
html[data-nw-theme="dark"] .navweed-btn-ghost:hover { color: var(--nw-d-green) !important; border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-share-btn { background: var(--nw-d-green-soft); color: #cfe9bd; }
html[data-nw-theme="dark"] .navweed-saved-banner { background: #22331a; border-color: #3c5a2a; color: #bfe3a3; }
html[data-nw-theme="dark"] .navweed-account-error { background: #3a2222; border-color: #6b3a3a; color: #f0b4b4; }

/* Tour-Texte */
html[data-nw-theme="dark"] .navweed-tour-step h2 { color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-tour-step p { color: var(--nw-d-ink); }

/* Sorten-Detailseite (Inline-Styles via !important überschreiben) */
html[data-nw-theme="dark"] .navweed-strain-name { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-strain-breeder { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-strain-table th,
html[data-nw-theme="dark"] .navweed-strain-table td { color: var(--nw-d-ink) !important; border-color: var(--nw-d-border) !important; }
html[data-nw-theme="dark"] .navweed-strain-table th { color: var(--nw-d-muted) !important; }

/* Age-Gate (Inline-Styles via !important) */
html[data-nw-theme="dark"] #navweed-age-gate > div { background: var(--nw-d-surface) !important; color: var(--nw-d-ink) !important; }
html[data-nw-theme="dark"] #navweed-age-gate h2 { color: var(--nw-d-green) !important; }
html[data-nw-theme="dark"] #navweed-age-gate p { color: var(--nw-d-muted) !important; }

/* ============ Globaler Dark-Layer (Theme/Astra, best effort) ============
   Färbt die Theme-Hülle (Seite, Header, Footer, Inhalts-Boxen) unter demselben
   Schalter um. Per !important, da Theme-Regeln teils hohe Spezifität haben.
   Astra-spezifisch + generische Fallbacks. Bei anderem Theme ggf. anpassen. */
html[data-nw-theme="dark"] body {
	background-color: #14181c !important;
	color: var(--nw-d-ink) !important;
}
html[data-nw-theme="dark"] h1,
html[data-nw-theme="dark"] h2,
html[data-nw-theme="dark"] h3,
html[data-nw-theme="dark"] h4,
html[data-nw-theme="dark"] h5,
html[data-nw-theme="dark"] h6 { color: var(--nw-d-ink) !important; }

/* Header-/Footer-Bereiche */
html[data-nw-theme="dark"] .site-header,
html[data-nw-theme="dark"] #masthead,
html[data-nw-theme="dark"] .ast-above-header-wrap,
html[data-nw-theme="dark"] .ast-primary-header-bar,
html[data-nw-theme="dark"] .main-header-bar,
html[data-nw-theme="dark"] .ast-below-header-wrap,
html[data-nw-theme="dark"] .site-footer,
html[data-nw-theme="dark"] footer.site-footer,
html[data-nw-theme="dark"] .ast-footer-overlay {
	background-color: #1b2127 !important;
}

/* Astra „separate container": die weißen Inhalts-Boxen */
html[data-nw-theme="dark"] .ast-separate-container .ast-article-single,
html[data-nw-theme="dark"] .ast-separate-container .ast-article-post,
html[data-nw-theme="dark"] .ast-separate-container .comment-respond,
html[data-nw-theme="dark"] .ast-separate-container #content article,
html[data-nw-theme="dark"] .ast-plain-container .site-content {
	background-color: #1e2329 !important;
}

/* Navigations- & allgemeine Links in der Theme-Hülle (NavWeed-Buttons ausgenommen) */
html[data-nw-theme="dark"] .main-header-bar a,
html[data-nw-theme="dark"] .ast-builder-menu .menu-item > a,
html[data-nw-theme="dark"] .site-title a,
html[data-nw-theme="dark"] .site-footer a {
	color: var(--nw-d-ink) !important;
}
html[data-nw-theme="dark"] .main-header-bar a:hover,
html[data-nw-theme="dark"] .ast-builder-menu .menu-item > a:hover { color: var(--nw-d-green) !important; }

/* Inhalts-Links (ohne NavWeed-Buttons), damit Text lesbar bleibt */
html[data-nw-theme="dark"] .entry-content a:not(.navweed-btn):not(.navweed-shop-link) { color: var(--nw-d-green) !important; }

/* Mobile-Menü / Off-Canvas (Astra Header-Builder) — vollständig einfärben.
   Klassen aus echtem DOM verifiziert: nav#ast-mobile-site-navigation,
   ul#ast-hf-mobile-menu, .menu-link/.menu-text, Pfeile .ast-arrow-svg (SVG-fill,
   nicht color!), Toggles .ast-menu-toggle/.dropdown-menu-toggle/.ast-header-navigation-arrow. */
html[data-nw-theme="dark"] .ast-mobile-popup-drawer,
html[data-nw-theme="dark"] .ast-mobile-popup-inner,
html[data-nw-theme="dark"] .ast-mobile-popup-content,
html[data-nw-theme="dark"] .ast-mobile-header-wrap,
html[data-nw-theme="dark"] #ast-mobile-site-navigation,
html[data-nw-theme="dark"] #ast-mobile-site-navigation .main-navigation,
html[data-nw-theme="dark"] #ast-hf-mobile-menu,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-item,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-link,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .sub-menu,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .sub-menu .menu-link {
	background-color: #1b2127 !important;
}
/* Hover / aktueller Eintrag: Astra färbt diese Zeilen sonst hell */
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-link:hover,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-link:focus,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .current-menu-item > .menu-link {
	background-color: #222c25 !important;
}
/* Texte/Links lesbar (Text steckt in .menu-text) */
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-link,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-text,
html[data-nw-theme="dark"] #ast-hf-mobile-menu a {
	color: var(--nw-d-ink) !important;
}
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-link:hover .menu-text,
html[data-nw-theme="dark"] #ast-hf-mobile-menu a:hover { color: var(--nw-d-green) !important; }
/* Pfeil-Icons: SVG-fill (Standard schwarz → auf Dunkel unsichtbar) */
html[data-nw-theme="dark"] #ast-hf-mobile-menu .ast-arrow-svg { fill: var(--nw-d-ink) !important; }
/* Trennlinien (submenu-with-border) + Aufklapp-Boxen */
html[data-nw-theme="dark"] #ast-hf-mobile-menu .menu-item,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .ast-menu-toggle,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .dropdown-menu-toggle,
html[data-nw-theme="dark"] #ast-hf-mobile-menu .ast-header-navigation-arrow {
	border-color: var(--nw-d-border) !important;
}

/* ---- Dark-Mode Feinschliff: Fließtext, Top-Tabellen, Footer ---- */
/* Lesbarer Fließtext (Theme setzt p/li teils mit eigener Farbe) */
html[data-nw-theme="dark"] .entry-content,
html[data-nw-theme="dark"] .entry-content p,
html[data-nw-theme="dark"] .entry-content li,
html[data-nw-theme="dark"] .entry-content dd,
html[data-nw-theme="dark"] .entry-content dt,
html[data-nw-theme="dark"] .entry-content blockquote,
html[data-nw-theme="dark"] .entry-content strong { color: var(--nw-d-ink) !important; }

/* Top-Listen-Tabellen (.nw-table) – Theme rendert sie als weiße Karte */
html[data-nw-theme="dark"] .navweed-top-wrap,
html[data-nw-theme="dark"] .nw-table,
html[data-nw-theme="dark"] .nw-table thead,
html[data-nw-theme="dark"] .nw-table tbody,
html[data-nw-theme="dark"] .nw-table tr,
html[data-nw-theme="dark"] .nw-table th,
html[data-nw-theme="dark"] .nw-table td {
	background-color: #1e2329 !important;
	border-color: var(--nw-d-border) !important;
	color: var(--nw-d-ink) !important;
}
html[data-nw-theme="dark"] .nw-table th { color: var(--nw-d-muted) !important; }
html[data-nw-theme="dark"] .nw-table a { color: var(--nw-d-green) !important; }
html[data-nw-theme="dark"] .navweed-top-rank,
html[data-nw-theme="dark"] .navweed-top-cnt,
html[data-nw-theme="dark"] .nw-score small { color: var(--nw-d-muted) !important; }
/* Sterne/Score bleiben gut sichtbar */
html[data-nw-theme="dark"] .nw-score b { color: var(--nw-d-ink) !important; }

/* Footer breiter gefasst (Astra Footer-Builder / Copyright-Bar) */
html[data-nw-theme="dark"] footer,
html[data-nw-theme="dark"] .site-footer,
html[data-nw-theme="dark"] .site-primary-footer-wrap,
html[data-nw-theme="dark"] .site-below-footer-wrap,
html[data-nw-theme="dark"] .ast-footer-overlay,
html[data-nw-theme="dark"] .footer-sections,
html[data-nw-theme="dark"] .ast-footer-copyright,
html[data-nw-theme="dark"] [data-section="section-footer-builder"] {
	background-color: #1b2127 !important;
}
html[data-nw-theme="dark"] footer,
html[data-nw-theme="dark"] .ast-footer-copyright,
html[data-nw-theme="dark"] .site-footer p,
html[data-nw-theme="dark"] .site-footer span { color: var(--nw-d-muted) !important; }
html[data-nw-theme="dark"] footer a,
html[data-nw-theme="dark"] .site-footer a { color: var(--nw-d-ink) !important; }
html[data-nw-theme="dark"] footer a:hover,
html[data-nw-theme="dark"] .site-footer a:hover { color: var(--nw-d-green) !important; }

/* ============ Bewertungs-Detail (Lese-Modal) ============ */
/* Datum-Zeile in der Sterne-Zelle: nur mobil sichtbar (siehe Media-Query) */
.navweed-cell-date { display: none; }
html[data-nw-theme="dark"] .navweed-cell-date { color: var(--nw-d-muted); }

/* Aktions-Icons in Tabellen (Ansehen/Bearbeiten/Teilen) */
.navweed-actions { white-space: nowrap; }
.navweed-act {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 2px;
	padding: 0;
	background: var(--nw-surface-soft) !important;
	border: 1px solid var(--nw-line) !important;
	border-radius: var(--nw-radius, 10px) !important;
	color: var(--nw-green-strong) !important;
	cursor: pointer;
	text-decoration: none;
	vertical-align: middle;
	line-height: 0;
}
.navweed-act:hover { background: #e7efe0 !important; color: var(--nw-green-dark) !important; border-color: var(--nw-green) !important; }
.navweed-act.is-voted { background: var(--nw-green) !important; color: #fff !important; border-color: var(--nw-green) !important; }
html[data-nw-theme="dark"] .navweed-share-link { background: var(--nw-d-surface); border-color: var(--nw-d-border); color: var(--nw-d-ink); }
.navweed-act-icon { display: block; }
/* Alle Action-Icons (Auge/Stift/Teilen + Social) klar erkennbar. */
.navweed-act svg, .navweed-act-icon { width: 1.6rem; height: 1.6rem; }
html[data-nw-theme="dark"] .navweed-act { background: var(--nw-d-panel) !important; border-color: var(--nw-d-border) !important; color: var(--nw-d-green) !important; }
html[data-nw-theme="dark"] .navweed-act:hover { background: var(--nw-d-surface) !important; }

.navweed-link-btn {
	display: inline-block;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	color: var(--nw-green-strong);
	cursor: pointer;
	padding: .35rem .8rem;
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.2;
	text-decoration: none;
}
.navweed-link-btn:hover { background: #e7efe0; color: var(--nw-green-dark); }

/* Lese-Modal: die Karte IST der native Popover (Top-Layer); Dim über ::backdrop. */
.navweed-rd-modal-card {
	width: 100%;
	max-width: 560px;
	max-height: 84vh;  /* Fallback */
	max-height: 84dvh; /* mobil korrekt */
	overflow: auto;
	background: #fff;
	border: 0;                                   /* UA-Popover-Rahmen zurücksetzen */
	border-top: 5px solid var(--nw-green-brand);
	border-radius: var(--nw-radius-card, 14px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	padding: 1.9rem clamp(1rem, 4vw, 1.5rem) 1.5rem;
	/* Top-Layer-Positionierung (oben zentriert, wie zuvor) */
	position: fixed;
	inset: 7vh 1rem auto 1rem;   /* Fallback */
	inset: 7dvh 1rem auto 1rem;
	margin-inline: auto;
}
.navweed-rd-modal-card::backdrop {
	background: rgba(10, 30, 15, .55);
	backdrop-filter: blur(2px);
}
.navweed-rd-modal-close {
	position: absolute; top: 8px; right: 12px;
	border: 0; background: transparent; font-size: 26px; line-height: 1;
	color: #8a8a8a; cursor: pointer; padding: 4px 8px;
}
.navweed-rd-modal-close:hover { color: #444; }

.navweed-rd-head { display: flex; align-items: center; gap: .75rem; margin-bottom: .9rem; }
.navweed-rd-title a, .navweed-rd-title { font-size: clamp(1.1rem, 1rem + .5vw, 1.2rem); font-weight: 700; color: var(--nw-ink); text-decoration: none; }
.navweed-rd-title a:hover { text-decoration: underline; }
.navweed-rd-sub { font-size: .85rem; color: var(--nw-muted); font-weight: 400; margin-top: 2px; }
.navweed-rd-stars { color: var(--nw-star); letter-spacing: 1px; }

.navweed-rd-facts { display: flex; flex-wrap: wrap; gap: .4rem .6rem; margin-bottom: 1rem; }
.navweed-rd-fact {
	background: var(--nw-surface-soft); border: 1px solid #e0e8da; border-radius: 999px;
	padding: .2rem .7rem; font-size: .85rem; color: #1d3a16;
}
.navweed-rd-fact-k { color: var(--nw-muted); }

/* Container für die Kategorien-Spalten: passt sich der Modal-/Seitenbreite an
   (gilt in Lese-Modal UND öffentlicher Review-Seite, da beide .navweed-rd nutzen). */
.navweed-rd { container-type: inline-size; }
.navweed-rd-cats { display: grid; grid-template-columns: 1fr; gap: .7rem; } /* mobile-first */
@container (min-width: 460px) { .navweed-rd-cats { grid-template-columns: 1fr 1fr; } }
.navweed-rd-cat { border: 1px solid #e4e8e1; border-radius: var(--nw-radius, 10px); padding: .6rem .75rem; }
.navweed-rd-cat-head { display: flex; align-items: center; justify-content: space-between; }
.navweed-rd-cat-label { font-weight: 600; color: var(--nw-ink); }
.navweed-rd-cat-val { font-weight: 700; color: var(--nw-green-strong); }
.navweed-rd-emoji { font-size: 1.1rem; }
.navweed-rd-cat-komm { margin: .4rem 0 0; font-size: .9rem; color: #444; line-height: 1.45; }
.navweed-rd-overall {
	margin-top: 1.1rem;
	padding: .8rem 1rem;
	background: var(--nw-surface-soft);
	border: 1px solid var(--nw-line);
	border-left: 4px solid var(--nw-green);
	border-radius: 0 var(--nw-radius, 10px) var(--nw-radius, 10px) 0;
}
.navweed-rd-overall .navweed-rd-fact-k { display: block; margin-bottom: .25rem; }
.navweed-rd-overall p { margin: 0; color: var(--nw-ink); line-height: 1.55; font-style: italic; }
.navweed-rd-loading { color: var(--nw-muted); }

/* Dark-Mode für das Lese-Modal */
html[data-nw-theme="dark"] .navweed-rd-modal-card { background: var(--nw-d-surface); border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-rd-title a,
html[data-nw-theme="dark"] .navweed-rd-title,
html[data-nw-theme="dark"] .navweed-rd-cat-label { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-rd-sub,
html[data-nw-theme="dark"] .navweed-rd-fact-k,
html[data-nw-theme="dark"] .navweed-rd-loading { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-rd-fact { background: var(--nw-d-panel); border-color: var(--nw-d-border); color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-rd-cat { border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-rd-cat-komm,
html[data-nw-theme="dark"] .navweed-rd-overall { background: var(--nw-d-panel); border-color: var(--nw-d-border); border-left-color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-rd-overall p { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-link-btn { background: var(--nw-d-panel); border-color: var(--nw-d-border); color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-link-btn:hover { background: var(--nw-d-surface); }
html[data-nw-theme="dark"] .navweed-link-btn { color: var(--nw-d-green); }

/* ============ Strain-Seite: 2 Spalten (Container Query) ============ */
/* Das Layout richtet sich nach der eigenen Breite, nicht nach dem Viewport. */
.navweed-strain-detail { container-type: inline-size; }
.navweed-strain-cols {
	display: grid;
	grid-template-columns: 1fr; /* mobile-first */
	gap: 1.25rem;
	margin-bottom: 1rem;
}
.navweed-strain-col-text > :first-child { margin-top: 0; }
@container (min-width: 700px) {
	.navweed-strain-cols:not(.navweed-strain-cols--single) {
		grid-template-columns: 320px 1fr;
		align-items: start;
	}
}

/* ============ Mobile: Tabellen schlanker, Dashboard ohne Querscroll ============ */
@media (max-width: 600px) {
	.navweed-dashboard .navweed-table th,
	.navweed-dashboard .navweed-table td { padding: .4rem .35rem; font-size: .92rem; }
	/* Mobil: Score-Zahl (3), Datum (2) und Sichtbar (5) als Spalten ausblenden —
	   das Datum erscheint stattdessen kompakt in der Sterne-Zelle. */
	.navweed-dashboard .navweed-table th:nth-child(2),
	.navweed-dashboard .navweed-table td:nth-child(2),
	.navweed-dashboard .navweed-table th:nth-child(3),
	.navweed-dashboard .navweed-table td:nth-child(3),
	.navweed-dashboard .navweed-table th:nth-child(5),
	.navweed-dashboard .navweed-table td:nth-child(5) { display: none; }
	.navweed-cell-date { display: block; font-size: .76rem; color: var(--nw-muted); margin-top: 2px; }
	.navweed-actions .navweed-act { margin: 0 1px; } /* Größe: siehe pointer:coarse (Touch ≥44px) */
	.navweed-stats { gap: 1.1rem; }
}

/* ============ Score-Skala: immer eine Zeile (+5 … −5 auf einen Blick) ============ */
/* Gruppe füllt die volle Spaltenbreite, Buttons teilen den Platz gleichmäßig auf.
   `display: flex` (block-level) füllt die Elternbreite von selbst — kein width:100%
   oder width:stretch (letzteres ist noch nicht Baseline) nötig. */
.navweed-form .navweed-col-score .acf-button-group { display: flex; flex-wrap: nowrap; gap: 6px; }
.navweed-form .navweed-col-score .acf-button-group label { flex: 1 1 0; min-width: 0; padding: .45rem .2rem; }
/* Überlauf-Schutz: keine horizontale Verschiebung der Seite auf dem Handy */
@media (max-width: 600px) {
	.navweed-form,
	.navweed-dashboard { max-width: 100%; overflow-x: clip; }
}
@media (max-width: 600px) {
	.navweed-form .navweed-col-score .acf-button-group { gap: 3px; }
	.navweed-form .navweed-col-score .acf-button-group label .nw-e,
	.navweed-form .navweed-col-score .acf-button-group label span:nth-of-type(1) { font-size: 1rem; }
	.navweed-form .navweed-col-score .acf-button-group label .nw-n,
	.navweed-form .navweed-col-score .acf-button-group label span:nth-of-type(2) { font-size: .8rem; }
}

/* ============ Top-Listen mobil schlanker ============ */
@media (max-width: 600px) {
	.navweed-top-table th,
	.navweed-top-table td { padding: .45rem .4rem; }
	/* Rang-Spalte schmal statt fixer 3.4rem (entfernt den Versatz unter „Sorte") */
	.navweed-top-table .navweed-top-rank { width: 1%; white-space: nowrap; padding-right: .15rem; }
	/* Sorten-Top10: „Bewertungen" (letzte Spalte) ausblenden */
	.navweed-top-strains th:last-child,
	.navweed-top-strains td:last-child { display: none; }
	/* Nutzer-Top10: „Bewertungen" (3. Spalte) ausblenden, Ø-Score behalten */
	.navweed-top-userlist th:nth-child(3),
	.navweed-top-userlist td:nth-child(3) { display: none; }
	.navweed-top-name-cell { gap: .4rem; }
	.navweed-top-name-cell a { word-break: break-word; }
}

/* ============ Touch-Geräte: fingerfreundliche Trefferflächen (WCAG 2.5.5 / HIG ≥44px) ============ */
/* Greift nur bei grobem Zeiger (Finger), nicht bei Maus — Desktop-Optik bleibt unverändert. */
@media (pointer: coarse) {
	.navweed-act {
		width: 44px;
		height: 44px;
	}
	/* Score-Skala: Höhe als Trefferfläche (Breite ist durch die 11er-Reihe begrenzt) */
	.navweed-form .navweed-col-score .acf-button-group label { min-height: 44px; }
	/* Such-Lupe / Theme-Toggle im Menü gut greifbar */
	.navweed-search-trigger,
	.navweed-theme-toggle { min-width: 44px; min-height: 44px; }
}

/* ============ Bewegungsreduktion respektieren (Barrierefreiheit) ============ */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ============ Mobile Bottom-Navigation (App-Stil) ============ */
/* Standard ausgeblendet; nur auf Mobile sichtbar. */
.navweed-bottomnav { display: none; }
@media (max-width: 600px) {
	.navweed-bottomnav {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: var(--nw-z-nav);
		background: #ffffff;
		border-top: 1px solid #e0e6da;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, .06);
		padding-bottom: env(safe-area-inset-bottom); /* iOS Home-Indicator */
	}
	.navweed-bottomnav-item {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-height: 56px;
		padding: 6px 2px;
		background: none;
		border: 0;
		cursor: pointer;
		color: #5d6b5a;
		text-decoration: none;
		font: inherit;
	}
	.navweed-bottomnav-icon { line-height: 0; }
	.navweed-bottomnav-label { font-size: .68rem; font-weight: 600; letter-spacing: .01em; }
	.navweed-bottomnav-item.is-active,
	.navweed-bottomnav-item:hover { color: var(--nw-green-brand); }
	/* Inhalt/Astra-Footer nicht von der Bar verdecken lassen */
	body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}
/* Dark-Mode (vorhandene Tokens) */
html[data-nw-theme="dark"] .navweed-bottomnav {
	background: #1b2127;
	border-top-color: var(--nw-d-border);
}
html[data-nw-theme="dark"] .navweed-bottomnav-item { color: var(--nw-d-muted); }
html[data-nw-theme="dark"] .navweed-bottomnav-item.is-active,
html[data-nw-theme="dark"] .navweed-bottomnav-item:hover { color: var(--nw-d-green); }

/* Grow-Tagebuch-Auswahl (Popover aus der mobilen „Eintragen"-Aktion) */
.navweed-grow-picker {
	margin: auto;
	width: 22rem;
	max-width: 92vw;
	padding: 1rem;
	border: 1px solid var(--nw-line);
	border-radius: 14px;
	background: #fff;
	color: var(--nw-ink);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}
.navweed-grow-picker::backdrop { background: rgba(0, 0, 0, .4); }
.navweed-grow-picker-title { margin: 0 0 .6rem; font-weight: 700; }
.navweed-grow-picker-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.navweed-grow-picker-list a {
	display: block;
	padding: .7rem .85rem;
	border: 1px solid var(--nw-line);
	border-radius: 10px;
	text-decoration: none;
	color: var(--nw-ink);
	font-weight: 600;
}
.navweed-grow-picker-list a:hover { background: var(--nw-surface-soft); }
html[data-nw-theme="dark"] .navweed-grow-picker { background: var(--nw-d-surface); color: var(--nw-d-ink); border-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-grow-picker-list a { border-color: var(--nw-d-border); color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-grow-picker-list a:hover { background: var(--nw-d-panel); }

/* ============ content-visibility: lange Listen schneller aufbauen ============ */
/* Off-screen-Inhalte werden erst beim Heranscrollen gerendert (rein additiv —
   ältere Browser ignorieren es). `contain-intrinsic-size: auto <Schätzung>` merkt
   sich die zuletzt gerenderte Höhe und hält den Scrollbalken stabil. Nur auf
   wiederholte, karten-artige Listenelemente (keine Tabellenzeilen). */
.navweed-creview { content-visibility: auto; contain-intrinsic-size: auto 140px; }
.navweed-faq-item { content-visibility: auto; contain-intrinsic-size: auto 64px; }
.navweed-idea { content-visibility: auto; contain-intrinsic-size: auto 90px; }

/* ============ Kontrast-Modus (dritter Theme, WCAG-geprüft, helle Basis) ============ */
/* Token-Neuzuweisung: alles, was die Tokens nutzt, wird automatisch hochkontrastig. */
html[data-nw-theme="contrast"] {
	color-scheme: light;
	/* Plugin-Tokens */
	--nw-ink: #000000;          /* 21:1 auf Weiß */
	--nw-muted: #2e342e;        /* 12,75:1 */
	--nw-green: #1d4d12;        /* 9,89:1 — Aktion/Akzent */
	--nw-green-strong: #14430d; /* 11,42:1 — Links */
	--nw-green-brand: #1d4d12;
	--nw-green-dark: #0f3a0a;
	--nw-line: #1d4d12;         /* kräftige, sichtbare Rahmen */
	/* Child-Theme-Tokens (Tabellen, Theme-Chrome) ebenfalls hochkontrastig —
	   greift per Spezifität html[attr] > :root, ohne Child-Deploy. */
	--nw-text: #000000;
	--nw-text-muted: #2e342e;   /* 12,75:1 */
	--nw-text-faint: #3a423a;   /* 10,39:1 (war ~3,3:1) */
	--nw-primary: #14430d;      /* 11,42:1 — Links/Buttons */
	--nw-primary-hover: #0f3a0a;
	--nw-border: #1d4d12;
	--nw-border-strong: #14430d;
	--ast-global-color-0: #14430d;
	--ast-global-color-1: #0f3a0a;
	--ast-global-color-2: #000000;
	--ast-global-color-3: #2e342e;
}
/* Nicht-tokenisierte Stellen: schwache Grautöne auf kontraststarke Werte heben. */
html[data-nw-theme="contrast"] .navweed-search-modal-close,
html[data-nw-theme="contrast"] .navweed-rd-modal-close,
html[data-nw-theme="contrast"] .navweed-tour-skip { color: var(--nw-ink); }
html[data-nw-theme="contrast"] .navweed-creview-date,
html[data-nw-theme="contrast"] .navweed-rd-sub,
html[data-nw-theme="contrast"] .navweed-tempfx-note,
html[data-nw-theme="contrast"] .navweed-creview-temp,
html[data-nw-theme="contrast"] .navweed-search-meta,
html[data-nw-theme="contrast"] .navweed-ad-label { color: var(--nw-muted); }
/* Schwache Linien sichtbar machen (non-text, kräftig). */
html[data-nw-theme="contrast"] .navweed-table th,
html[data-nw-theme="contrast"] .navweed-table td,
html[data-nw-theme="contrast"] .navweed-top-table th,
html[data-nw-theme="contrast"] .navweed-top-table td,
html[data-nw-theme="contrast"] .navweed-verlauf th,
html[data-nw-theme="contrast"] .navweed-verlauf td,
html[data-nw-theme="contrast"] .navweed-search-link,
html[data-nw-theme="contrast"] .navweed-rd-cat,
html[data-nw-theme="contrast"] .navweed-rd-fact,
html[data-nw-theme="contrast"] .navweed-creview,
html[data-nw-theme="contrast"] .navweed-idea,
html[data-nw-theme="contrast"] .navweed-account-card { border-color: var(--nw-line); }

/* ============ Moderne-CSS-Politur (Doc-Empfehlungen, low-risk) ============ */
/* accent-color: native Checkboxen/Radios in Markengrün (grün/widely). */
.navweed-form,
.navweed-account,
.navweed-import,
.navweed-search,
.navweed-dashboard { accent-color: var(--nw-green); }

/* text-wrap: balance auf kurzen Überschriften (grün, degradiert folgenlos). */
.navweed-strain-name,
.navweed-rd-title,
.navweed-tour-step h2,
.navweed-search-h,
.navweed-creviews-title,
.navweed-faq-item > summary { text-wrap: balance; }

/* FAQ: sanftes Auf-/Zuklappen des Inhalts (exklusiv via name="navweed-faq" im Markup). */
@media (prefers-reduced-motion: no-preference) {
	.navweed-faq-item::details-content {
		opacity: 0;
		transition: content-visibility .25s allow-discrete, opacity .25s ease;
	}
	.navweed-faq-item[open]::details-content { opacity: 1; }
}

/* Modals (Popover) + Tour (Dialog): weiches Ein-/Ausblenden ohne JS.
   Basis-Opacity immer gesetzt → ohne Motion-Präferenz schaltet es einfach hart um. */
.navweed-search-modal-card,
.navweed-rd-modal-card,
.navweed-tour-card { opacity: 0; }
.navweed-search-modal-card:popover-open,
.navweed-rd-modal-card:popover-open,
.navweed-tour-card[open] { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
	.navweed-search-modal-card,
	.navweed-rd-modal-card,
	.navweed-tour-card {
		transition: opacity .2s ease, display .2s allow-discrete, overlay .2s allow-discrete;
	}
	@starting-style {
		.navweed-search-modal-card:popover-open,
		.navweed-rd-modal-card:popover-open,
		.navweed-tour-card[open] { opacity: 0; }
	}
}

/* ============ Bewerten-Formular: Karte + Abschnitte statt nackter Linien ============ */
/* ACF-Standard-Trennlinien zwischen den Feldern komplett entfernen
   (border-top zwischen Zeilen UND border-left/-right der Spaltenfelder)
   + seitliches 16px-Padding raus. */
.navweed-form .acf-fields > .acf-field {
	border: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Das Formular wird eine Karte – wie der Rest der Oberfläche. */
.navweed-form {
	background: #fff;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius-card);
	padding: clamp(1.1rem, .8rem + 1vw, 1.75rem);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

/* Abschnitts-Überschriften (Konsum / Deine Bewertung / Abschluss). */
.navweed-form .navweed-section {
	padding-top: 1.1rem !important;
	margin-top: .5rem;
	border-top: 1px solid var(--nw-line);
}
.navweed-form .navweed-section .acf-label { display: none; }
.navweed-form .navweed-section .acf-input { margin: 0; }
.navweed-form .navweed-section .acf-input,
.navweed-form .navweed-section .acf-input > * {
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nw-green-strong);
}

/* Kommentar-Felder weich hinterlegt → Score + Kommentar wirken als Block. */
.navweed-form .navweed-col-komm textarea { background: var(--nw-surface-soft); }

/* Submit prominenter; mobil volle Breite. */
@media (max-width: 600px) {
	.navweed-form .acf-form-submit input[type="submit"] { width: 100%; }
}

/* Dark-Mode */
html[data-nw-theme="dark"] .navweed-form {
	background: var(--nw-d-surface);
	border-color: var(--nw-d-border);
	box-shadow: none;
}
html[data-nw-theme="dark"] .navweed-form .navweed-section { border-top-color: var(--nw-d-border); }
html[data-nw-theme="dark"] .navweed-form .navweed-section .acf-input,
html[data-nw-theme="dark"] .navweed-form .navweed-section .acf-input > * { color: var(--nw-d-green); }
html[data-nw-theme="dark"] .navweed-form .navweed-col-komm textarea { background: var(--nw-d-panel); }

/* ============ Glossar (Fachbegriffe) ============ */
.navweed-glossar { margin: 1.25rem auto; }
.navweed-glossar-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .9rem;
	margin-bottom: .5rem;
}
.navweed-glossar-search-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.navweed-glossar-search {
	flex: 1 1 16rem;
	padding: .6rem .85rem;
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	font-size: 1rem;
	color: var(--nw-ink);
	background: #fff;
}
.navweed-glossar-search:focus {
	outline: 2px solid var(--nw-primary);
	outline-offset: 1px;
}
.navweed-glossar-count { margin: 0; color: var(--nw-text-muted); font-size: .9rem; }
.navweed-glossar-empty { margin: .25rem 0; color: var(--nw-text-muted); font-style: italic; }

.navweed-glossar-az {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin: .4rem 0 1rem;
}
.navweed-glossar-az a {
	display: inline-flex;
	min-width: 1.7rem;
	justify-content: center;
	padding: .15rem .35rem;
	border: 1px solid var(--nw-line);
	border-radius: 6px;
	text-decoration: none;
	color: var(--nw-green);
	font-weight: 600;
	font-size: .85rem;
}
.navweed-glossar-az a:hover { background: var(--nw-surface-soft); }

.navweed-glossar-list { margin: 0; }
.navweed-glossar-letter {
	margin: 1.1rem 0 .4rem;
	padding-bottom: .2rem;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--nw-green);
	border-bottom: 2px solid var(--nw-line);
	scroll-margin-top: var(--nw-toc-top, 1rem);
}
.navweed-glossar-item {
	border: 1px solid var(--nw-line);
	border-radius: var(--nw-radius, 10px);
	margin: .5rem 0;
	padding: .75rem .95rem;
	background: #fff;
	scroll-margin-top: var(--nw-toc-top, 1rem);
}
.navweed-glossar-item:target {
	border-color: var(--nw-primary);
	box-shadow: 0 0 0 2px var(--nw-primary);
}
.navweed-glossar-term { margin: 0 0 .25rem; font-weight: 700; }
.navweed-glossar-term .navweed-glossar-anchor { color: var(--nw-ink); text-decoration: none; }
.navweed-glossar-term .navweed-glossar-anchor:hover { color: var(--nw-primary); }
.navweed-glossar-def { margin: 0; }
.navweed-glossar-def p { margin: 0 0 .5rem; line-height: 1.55; color: #333; }
.navweed-glossar-def p:last-child { margin-bottom: 0; }
.navweed-glossar-item[hidden],
.navweed-glossar-letter[hidden] { display: none; }

/* Glossar – Dark Theme */
html[data-nw-theme="dark"] .navweed-glossar-search {
	background: var(--nw-d-panel);
	color: var(--nw-d-ink);
	border-color: var(--nw-d-border);
}
html[data-nw-theme="dark"] .navweed-glossar-az a {
	border-color: var(--nw-d-border);
	color: var(--nw-d-green);
}
html[data-nw-theme="dark"] .navweed-glossar-az a:hover { background: var(--nw-d-surface); }
html[data-nw-theme="dark"] .navweed-glossar-letter {
	color: var(--nw-d-green);
	border-bottom-color: var(--nw-d-border);
}
html[data-nw-theme="dark"] .navweed-glossar-item {
	background: var(--nw-d-panel);
	border-color: var(--nw-d-border);
}
html[data-nw-theme="dark"] .navweed-glossar-term .navweed-glossar-anchor { color: var(--nw-d-ink); }
html[data-nw-theme="dark"] .navweed-glossar-def p { color: var(--nw-d-muted); }
