/*
Theme Name: Teapotheca
Description: Child theme for X, used to hold custom CPT templates (Herbs, Recipes, etc.) safely outside the parent theme.
Author: Teapotheca
Version: 5.7
*/

/* ==========================================================================
   Design tokens — "Specimen Apothecary" direction
   Old apothecary bottles + pressed herbarium specimens, not modern spa
   wellness. Every teapotheca-* rule below pulls from these variables.
   ========================================================================== */
:root {
	/* Brand colors */
	--teapotheca-color-ink: #1F3024;         /* deep bottle green — headings, primary text on light bg */
	--teapotheca-color-ink-hover: #17241B;   /* darker ink green — hover state */
	--teapotheca-color-bottle: #3D5A45;      /* secondary green — taxonomy labels, mid-tone accents */
	--teapotheca-color-amber: #B8783A;       /* apothecary glass amber — accent, corner brackets, links */
	--teapotheca-color-amber-hover: #96602C; /* darker amber — hover state */
	--teapotheca-color-oxblood: #6B2E2A;     /* dried botanical red — safety notices, emphasis, second accent */
	--teapotheca-color-oxblood-bg: #F4E9E3;  /* pale oxblood wash — safety notice background */

	/* Surfaces */
	--teapotheca-color-parchment: #EDE6D8;   /* kraft paper — page/section backgrounds */
	--teapotheca-color-surface: #F8F5EE;     /* lighter kraft — cards, form backgrounds */
	--teapotheca-color-surface-white: #FFFDF9;

	/* Text */
	--teapotheca-color-text-body: #2B2620;   /* charcoal ink — body copy */
	--teapotheca-color-text-muted: #5C5347;
	--teapotheca-color-text-faint: #7A7060;
	--teapotheca-color-text-faintest: #9C9284;

	/* Borders */
	--teapotheca-color-border: #D8CFBE;      /* warm kraft-toned border — cards, dividers */
	--teapotheca-color-border-light: #E6DFD1;

	/* Shape */
	--teapotheca-radius-md: 4px;   /* apothecary labels are square-cornered, not bubbly */
	--teapotheca-radius-sm: 3px;
	--teapotheca-radius-tag: 2px;

	/* Layout */
	--teapotheca-content-width: 800px;
	--teapotheca-archive-width: 1100px;
	--teapotheca-discovery-width: 900px;

	/* Typography — three roles: display, body, and a monospace reserved
	   specifically for botanical Latin names and taxonomy labels, echoing
	   how scientific literature actually typesets binomial names. */
	--teapotheca-font-display: 'Fraunces', Georgia, serif;
	--teapotheca-font-body: 'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
	--teapotheca-font-mono: 'IBM Plex Mono', 'Courier New', monospace;

	/* Motion */
	--teapotheca-transition-speed: 0.15s;
}

/* Custom CSS can go below this line. Everything in the header block
   above is required exactly as-is for WordPress to register this as
   a valid child theme of X. */

/* --- Base type application --- */
.teapotheca-archive, .teapotheca-single-herb, .teapotheca-single-recipe, .teapotheca-discovery {
	font-family: var(--teapotheca-font-body);
	color: var(--teapotheca-color-text-body);
}
.teapotheca-archive h1, .teapotheca-single-herb h1, .teapotheca-single-recipe h1,
.teapotheca-single-herb h2, .teapotheca-single-recipe h2, .teapotheca-discovery h1,
.teapotheca-archive-header h1 {
	font-family: var(--teapotheca-font-display);
	font-weight: 600;
	letter-spacing: -0.01em;
}

/* --- Herb Archive --- */
.teapotheca-archive { max-width: var(--teapotheca-archive-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-archive-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 36px;
}
.teapotheca-archive-header h1 { margin: 0; font-size: 2.2rem; color: var(--teapotheca-color-ink); }
.teapotheca-herb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}
.teapotheca-herb-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
	transition: border-color var(--teapotheca-transition-speed) ease, transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-herb-card:hover { border-color: var(--teapotheca-color-amber); transform: translateY(-2px); }
.teapotheca-herb-card-image img { width: 100% !important; height: 160px !important; object-fit: cover !important; display: block; filter: sepia(8%); }
.teapotheca-herb-card-body { padding: 16px 18px 20px; }
.teapotheca-herb-card-title { margin: 0 0 4px; font-family: var(--teapotheca-font-display); font-size: 1.15rem; color: var(--teapotheca-color-ink); }
.teapotheca-herb-card-botanical { margin: 0 0 10px; color: var(--teapotheca-color-text-muted); font-family: var(--teapotheca-font-mono); font-style: italic; font-size: 0.82rem; }
.teapotheca-herb-card-excerpt { margin: 0 0 10px; font-size: 0.9rem; color: var(--teapotheca-color-text-body); }
.teapotheca-herb-card-tags { padding-right: 46px; }

/* --- Corner save icon on Archive cards --- */
.teapotheca-visually-hidden {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.teapotheca-herb-card-wrap { position: relative; align-self: start; }
.teapotheca-save-icon-only {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 253, 249, 0.9);
	border: 1px solid var(--teapotheca-color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0,0,0,0.12);
	transition: background var(--teapotheca-transition-speed) ease, border-color var(--teapotheca-transition-speed) ease;
}
.teapotheca-save-icon-only .teapotheca-save-icon { font-size: 1.1rem; line-height: 1; color: var(--teapotheca-color-ink); }
.teapotheca-save-icon-only:hover { background: var(--teapotheca-color-bottle); border-color: var(--teapotheca-color-bottle); }
.teapotheca-save-icon-only:hover .teapotheca-save-icon { color: var(--teapotheca-color-surface-white); }
.teapotheca-save-icon-only.teapotheca-saved { background: var(--teapotheca-color-ink); border-color: var(--teapotheca-color-ink); }
.teapotheca-save-icon-only.teapotheca-saved .teapotheca-save-icon { color: var(--teapotheca-color-surface-white); }
.teapotheca-save-icon-only.teapotheca-saved:hover { background: var(--teapotheca-color-bottle); border-color: var(--teapotheca-color-bottle); }

.teapotheca-load-more-wrap { text-align: center; margin-top: 40px; }
.teapotheca-load-more-button {
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-ink);
	border: 1px solid var(--teapotheca-color-ink);
	border-radius: var(--teapotheca-radius-sm);
	padding: 12px 32px;
	font-size: 0.95rem;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-load-more-button:hover:not(:disabled) { background: var(--teapotheca-color-ink); color: var(--teapotheca-color-surface-white); }
.teapotheca-load-more-button:disabled { opacity: 0.6; cursor: default; }

/* --- Recipe Archive --- */
.teapotheca-recipe-archive .teapotheca-archive-header h1 { color: var(--teapotheca-color-ink); }
.teapotheca-recipe-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}
.teapotheca-recipe-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
	transition: border-color var(--teapotheca-transition-speed) ease, transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-recipe-card:hover { border-color: var(--teapotheca-color-amber); transform: translateY(-2px); }
.teapotheca-recipe-card-image img { width: 100% !important; height: 160px !important; object-fit: cover !important; display: block; }
.teapotheca-recipe-card-body { padding: 16px 18px 20px; }
.teapotheca-recipe-card-title { margin: 0 0 6px; font-family: var(--teapotheca-font-display); font-size: 1.15rem; color: var(--teapotheca-color-ink); }
.teapotheca-recipe-card-excerpt { margin: 0 0 10px; font-size: 0.9rem; color: var(--teapotheca-color-text-body); }
.teapotheca-recipe-card-meta {
	display: flex;
	gap: 12px;
	font-family: var(--teapotheca-font-mono);
	font-size: 0.75rem;
	color: var(--teapotheca-color-bottle);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 8px;
}
.teapotheca-recipe-card-tags { margin-top: 4px; padding-right: 46px; }
.teapotheca-recipe-card-wrap { position: relative; align-self: start; }

/* --- Course Archive --- */
.teapotheca-course-archive .teapotheca-archive-header h1 { color: var(--teapotheca-color-ink); }
.teapotheca-archive-intro { color: var(--teapotheca-color-text-muted); margin-top: -8px; }
.teapotheca-course-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}
.teapotheca-course-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
	transition: border-color var(--teapotheca-transition-speed) ease, transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-course-card:hover { border-color: var(--teapotheca-color-amber); transform: translateY(-2px); }
.teapotheca-course-card-image img { width: 100% !important; height: 160px !important; object-fit: cover !important; display: block; }
.teapotheca-course-card-body { padding: 16px 18px 20px; }
.teapotheca-course-card-title { margin: 0 0 6px; font-family: var(--teapotheca-font-display); font-size: 1.15rem; color: var(--teapotheca-color-ink); }
.teapotheca-course-card-excerpt { margin: 0 0 10px; font-size: 0.9rem; color: var(--teapotheca-color-text-body); }
.teapotheca-course-card-meta {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.75rem;
	color: var(--teapotheca-color-bottle);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.teapotheca-course-card-wrap { position: relative; align-self: start; }

/* --- Single Course: header + meta --- */
.teapotheca-course-hero-image img { width: 100%; border-radius: var(--teapotheca-radius-md); }
.teapotheca-course-description { color: var(--teapotheca-color-text-body); font-size: 1.02rem; margin: 10px 0; }
.teapotheca-course-actions { margin: 6px 0; }
.teapotheca-course-meta {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--teapotheca-color-bottle);
}

/* --- Lesson navigation + lesson body --- */
.teapotheca-lesson-nav {
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	padding: 16px 20px;
	margin: 20px 0;
}
.teapotheca-lesson-nav ol { margin: 0; padding-left: 20px; }
.teapotheca-lesson-nav li { margin-bottom: 4px; }
.teapotheca-lesson-nav a { color: var(--teapotheca-color-bottle); text-decoration: none; font-weight: 600; }
.teapotheca-lesson-nav a:hover { color: var(--teapotheca-color-amber-hover); }
.teapotheca-lesson { scroll-margin-top: 24px; }
.teapotheca-lesson-image { width: 100%; max-width: 480px; border-radius: var(--teapotheca-radius-md); display: block; margin: 10px 0; }
.teapotheca-lesson-content { color: var(--teapotheca-color-text-body); line-height: 1.7; }
.teapotheca-lesson-content p { margin: 0 0 1em; }
.teapotheca-lesson-safety {
	margin-top: 16px;
	padding: 12px 16px;
	background: var(--teapotheca-color-oxblood-bg);
	border-left: 3px solid var(--teapotheca-color-oxblood);
	border-radius: var(--teapotheca-radius-sm);
	color: var(--teapotheca-color-oxblood);
	font-size: 0.92rem;
}

/* --- Article Archive --- */
.teapotheca-article-archive .teapotheca-archive-header h1 { color: var(--teapotheca-color-ink); }
.teapotheca-article-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}
.teapotheca-article-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
	transition: border-color var(--teapotheca-transition-speed) ease, transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-article-card:hover { border-color: var(--teapotheca-color-amber); transform: translateY(-2px); }
.teapotheca-article-card-image img { width: 100% !important; height: 160px !important; object-fit: cover !important; display: block; }
.teapotheca-article-card-body { padding: 18px 20px 26px; }
.teapotheca-article-card-title { margin: 0 0 8px; font-family: var(--teapotheca-font-display); font-size: 1.2rem; color: var(--teapotheca-color-ink); line-height: 1.3; }
.teapotheca-article-card-excerpt { margin: 0; font-size: 0.9rem; color: var(--teapotheca-color-text-body); }
.teapotheca-article-card-wrap { position: relative; align-self: start; }

/* --- Products --- */
.teapotheca-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	margin-bottom: 12px;
}
.teapotheca-product-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
	transition: border-color var(--teapotheca-transition-speed) ease, transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-product-card:hover { border-color: var(--teapotheca-color-amber); transform: translateY(-2px); }
.teapotheca-product-card-image img { width: 100%; height: 140px; object-fit: cover; display: block; }
.teapotheca-product-card-body { padding: 14px 16px; }
.teapotheca-product-card-title { margin: 0 0 4px; font-family: var(--teapotheca-font-display); font-size: 1.05rem; color: var(--teapotheca-color-ink); }
.teapotheca-product-card-vendor { margin: 0 0 4px; font-size: 0.82rem; color: var(--teapotheca-color-bottle); font-family: var(--teapotheca-font-mono); text-transform: uppercase; letter-spacing: 0.03em; }
.teapotheca-product-card-price { margin: 0; font-size: 0.95rem; font-weight: 600; color: var(--teapotheca-color-ink); }

.teapotheca-single-product { max-width: var(--teapotheca-content-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-product-header { margin-bottom: 32px; text-align: left; }
.teapotheca-product-hero-image { text-align: center; margin-bottom: 20px; }
.teapotheca-product-hero-image img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 400px !important; margin: 0 auto; display: block; border-radius: var(--teapotheca-radius-md); }
.teapotheca-product-meta { display: flex; gap: 20px; margin: 12px 0 16px; color: var(--teapotheca-color-text-muted); }

.teapotheca-affiliate-disclosure {
	font-size: 0.78rem;
	color: var(--teapotheca-color-text-faint);
	font-style: italic;
	margin-top: 6px;
	max-width: 640px;
}

/* --- Note editor (single pages + journal) --- */
.teapotheca-note-input {
	width: 100%;
	font-family: var(--teapotheca-font-body);
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--teapotheca-color-text-body);
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 12px 14px;
	resize: vertical;
}
.teapotheca-note-input:focus { border-color: var(--teapotheca-color-amber); outline: none; }
.teapotheca-note-actions { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.teapotheca-note-save {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border: none;
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 20px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-note-save:hover:not(:disabled) { background: var(--teapotheca-color-bottle); }
.teapotheca-note-save:disabled { opacity: 0.6; cursor: default; }
.teapotheca-note-status { font-size: 0.82rem; color: var(--teapotheca-color-bottle); font-style: italic; }

/* --- Herbarium Journal --- */
.teapotheca-journal { max-width: 1180px; margin: 0 auto; padding: 48px 20px; font-family: var(--teapotheca-font-body); }
.teapotheca-journal-layout { display: flex; align-items: flex-start; gap: 0; }
.teapotheca-journal-page {
	flex: 1;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md) 0 0 var(--teapotheca-radius-md);
	padding: 40px 44px;
	min-height: 480px;
}
.teapotheca-journal-page h1 {
	font-family: var(--teapotheca-font-display);
	color: var(--teapotheca-color-ink);
	font-size: 2rem;
	margin: 0 0 28px;
}
.teapotheca-journal-section-title {
	font-family: var(--teapotheca-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: var(--teapotheca-color-bottle);
	margin: 0 0 20px;
}

/* Right-side tabs, like a bound notebook's index tabs */
.teapotheca-journal-tabs { display: flex; flex-direction: column; gap: 6px; padding-top: 48px; }
.teapotheca-journal-tab {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--teapotheca-color-parchment);
	border: 1px solid var(--teapotheca-color-border);
	border-left: none;
	border-radius: 0 var(--teapotheca-radius-md) var(--teapotheca-radius-md) 0;
	padding: 14px 18px;
	font-family: var(--teapotheca-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.75rem;
	color: var(--teapotheca-color-bottle);
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
	white-space: nowrap;
}
.teapotheca-journal-tab:hover { background: var(--teapotheca-color-surface); }
.teapotheca-journal-tab.is-active {
	background: var(--teapotheca-color-ink);
	border-color: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
}
.teapotheca-journal-tab-count {
	background: rgba(255,255,255,0.18);
	border-radius: 10px;
	padding: 1px 8px;
	font-size: 0.7rem;
}
.teapotheca-journal-tab:not(.is-active) .teapotheca-journal-tab-count {
	background: var(--teapotheca-color-surface-white);
}

/* Panels */
.teapotheca-journal-panel { display: none; }
.teapotheca-journal-panel.is-active { display: block; }

/* Journal cards — archive-card look, with an inline save toggle and
   that item's own note editor inside. */
.teapotheca-journal-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 22px;
	align-items: start;
}
.teapotheca-journal-card {
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
}
.teapotheca-journal-card-image img { width: 100% !important; height: 130px !important; object-fit: cover !important; display: block; }
.teapotheca-journal-card-body { padding: 14px 16px 16px; }
.teapotheca-journal-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 4px;
}
.teapotheca-journal-card-title { font-family: var(--teapotheca-font-display); font-size: 1.1rem; margin: 0; line-height: 1.3; }
.teapotheca-journal-card-title a { color: var(--teapotheca-color-ink); text-decoration: none; }
.teapotheca-journal-card-title a:hover { color: var(--teapotheca-color-amber-hover); }
.teapotheca-journal-card-botanical {
	margin: 0 0 8px;
	font-family: var(--teapotheca-font-mono);
	font-style: italic;
	font-size: 0.82rem;
	color: var(--teapotheca-color-bottle);
}
.teapotheca-journal-card-meta {
	margin: 0 0 8px;
	font-family: var(--teapotheca-font-mono);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--teapotheca-color-bottle);
}
.teapotheca-journal-card-tags { margin-bottom: 12px; }
.teapotheca-journal-card .teapotheca-note-input { font-size: 0.88rem; padding: 10px 12px; }
.teapotheca-journal-card .teapotheca-note-save { padding: 6px 16px; font-size: 0.82rem; }

/* Inline save icon variant — sits in the card head row rather than
   absolutely positioned in a corner. */
.teapotheca-save-inline {
	position: static !important;
	flex: 0 0 auto;
	box-shadow: none;
}

@media (max-width: 720px) {
	.teapotheca-journal-layout { flex-direction: column; }
	.teapotheca-journal-page {
		border-radius: var(--teapotheca-radius-md);
		padding: 28px 24px;
		background-image: none;
		order: 2;
	}
	.teapotheca-journal-tabs { flex-direction: row; flex-wrap: wrap; padding-top: 0; margin-bottom: 16px; order: 1; }
	.teapotheca-journal-tab { border-left: 1px solid var(--teapotheca-color-border); border-radius: var(--teapotheca-radius-sm); }
	.teapotheca-journal-entry { padding-left: 0; }
}

/* --- Single Article --- */
.teapotheca-single-article { max-width: var(--teapotheca-content-width); margin: 0 auto; padding: 48px 20px; font-family: var(--teapotheca-font-body); color: var(--teapotheca-color-text-body); }
.teapotheca-article-header { margin-bottom: 32px; }
.teapotheca-article-hero-image { text-align: center; } .teapotheca-article-hero-image img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 480px !important; margin: 0 auto 24px; display: block; border-radius: var(--teapotheca-radius-md); }
.teapotheca-single-article h1 { font-family: var(--teapotheca-font-display); font-size: 2.3rem; color: var(--teapotheca-color-ink); margin-bottom: 10px; }
.teapotheca-article-summary { font-size: 1.1rem; color: var(--teapotheca-color-text-muted); font-style: italic; margin: 0 0 8px; }
.teapotheca-article-date { font-family: var(--teapotheca-font-mono); font-size: 0.78rem; color: var(--teapotheca-color-text-faint); text-transform: uppercase; letter-spacing: 0.05em; }
.teapotheca-article-content { font-size: 1.05rem; line-height: 1.7; }
.teapotheca-article-content h2 { font-family: var(--teapotheca-font-display); font-size: 1.5rem; color: var(--teapotheca-color-ink); margin: 32px 0 12px; }
.teapotheca-article-content p { margin: 0 0 18px; }
.teapotheca-article-content a { color: var(--teapotheca-color-bottle); text-decoration: underline; }
.teapotheca-article-content a:hover { color: var(--teapotheca-color-amber-hover); }
.teapotheca-article-content strong { color: var(--teapotheca-color-ink); }

/* --- Shared tag / taxonomy styling — "label stub", not a colored pill --- */
.teapotheca-tag {
	display: inline-block;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-ink);
	border: 1px solid var(--teapotheca-color-bottle);
	border-radius: var(--teapotheca-radius-tag);
	padding: 2px 9px;
	margin: 0 6px 6px 0;
	font-size: 0.72rem;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.teapotheca-taxonomy-row { margin: 8px 0; }
.teapotheca-taxonomy-label {
	font-weight: 600;
	margin-right: 8px;
	font-size: 0.78rem;
	color: var(--teapotheca-color-bottle);
	font-family: var(--teapotheca-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
a.teapotheca-tag-link {
	text-decoration: none;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
a.teapotheca-tag-link:hover {
	background: var(--teapotheca-color-bottle);
	color: var(--teapotheca-color-surface-white);
}

/* --- Breadcrumbs --- */
.teapotheca-breadcrumbs {
	margin: 0 0 12px;
	font-size: 0.82rem;
	color: var(--teapotheca-color-text-faint);
}
.teapotheca-breadcrumbs a {
	color: var(--teapotheca-color-bottle);
	text-decoration: none;
}
.teapotheca-breadcrumbs a:hover { color: var(--teapotheca-color-amber-hover); }
.teapotheca-breadcrumb-sep { margin: 0 6px; color: var(--teapotheca-color-text-faintest); }
.teapotheca-breadcrumb-current { color: var(--teapotheca-color-text-muted); }

/* --- More Like This --- */
.teapotheca-similar-herbs .teapotheca-related-list { margin-top: 6px; }

/* --- Single Herb --- */
.teapotheca-single-herb { max-width: var(--teapotheca-content-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-herb-header { margin-bottom: 36px; }
.teapotheca-herb-header-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: stretch;
	gap: 28px;
	margin-bottom: 20px;
}
.teapotheca-herb-header-row .teapotheca-specimen-label {
	margin-bottom: 0;
	width: 100%;
}
.teapotheca-herb-hero-image {
	display: block;
	width: 220px;
	max-width: 220px;
	cursor: zoom-in;
	border-radius: var(--teapotheca-radius-md);
	overflow: hidden;
}
.teapotheca-herb-hero-image img {
	width: 220px !important;
	max-width: 220px !important;
	height: 100% !important;
	max-height: 200px !important;
	object-fit: cover !important;
	display: block;
}
@media (max-width: 640px) {
	.teapotheca-herb-header-row { grid-template-columns: 1fr; }
	.teapotheca-herb-hero-image, .teapotheca-herb-hero-image img { width: 100% !important; max-width: 100% !important; }
}

/* Signature element: the specimen label — a herbarium mounting-tag treatment
   around the herb's common + botanical name, with corner brackets echoing
   real museum specimen tags. This is the one bold move; everything else
   on the page stays quiet. */
.teapotheca-specimen-label {
	position: relative;
	border: 1px solid var(--teapotheca-color-ink);
	background: var(--teapotheca-color-surface-white);
	padding: 28px 32px;
	margin-bottom: 20px;
}
.teapotheca-specimen-label::before,
.teapotheca-specimen-label::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
}
.teapotheca-specimen-label::before {
	top: -1px; left: -1px;
	border-top: 2px solid var(--teapotheca-color-amber);
	border-left: 2px solid var(--teapotheca-color-amber);
}
.teapotheca-specimen-label::after {
	bottom: -1px; right: -1px;
	border-bottom: 2px solid var(--teapotheca-color-amber);
	border-right: 2px solid var(--teapotheca-color-amber);
}
.teapotheca-specimen-label h1 {
	margin: 0 0 6px;
	font-size: 2.4rem;
	color: var(--teapotheca-color-ink);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.teapotheca-herb-botanical, .teapotheca-recipe-botanical {
	margin: 0;
	font-family: var(--teapotheca-font-mono);
	font-style: italic;
	font-size: 1rem;
	color: var(--teapotheca-color-bottle);
}

.teapotheca-section { margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--teapotheca-color-border-light); }
.teapotheca-section h2 { margin-bottom: 12px; font-size: 1.35rem; color: var(--teapotheca-color-ink); }
.teapotheca-safety-notice {
	background: var(--teapotheca-color-oxblood-bg);
	border: none;
	border-left: 3px solid var(--teapotheca-color-oxblood);
	border-radius: 0 var(--teapotheca-radius-md) var(--teapotheca-radius-md) 0;
	padding: 18px 22px;
}
.teapotheca-safety-notice h2 { color: var(--teapotheca-color-oxblood); }
.teapotheca-related-list { list-style: none; padding: 0; margin: 0; }
.teapotheca-related-list li { padding: 8px 0; border-bottom: 1px solid var(--teapotheca-color-border-light); }
.teapotheca-related-list a { color: var(--teapotheca-color-ink); }
.teapotheca-related-list a:hover { color: var(--teapotheca-color-amber); }
.teapotheca-gallery { display: flex; flex-wrap: wrap; gap: 10px; }
.teapotheca-gallery img { width: 140px !important; height: 140px !important; object-fit: cover !important; border-radius: var(--teapotheca-radius-sm); }
.teapotheca-image-credit { font-size: 0.8rem; color: var(--teapotheca-color-text-faintest); margin-top: 8px; }
.teapotheca-disclaimer-note { font-size: 0.8rem; color: var(--teapotheca-color-oxblood); margin-top: 12px; font-style: italic; }
.teapotheca-disclaimer-note a { color: var(--teapotheca-color-oxblood); text-decoration: underline; }

/* --- Membership gating --- */
.teapotheca-lock-icon { font-size: 0.85em; margin-left: 4px; opacity: 0.7; }
.teapotheca-card-locked { opacity: 0.85; }
.teapotheca-upgrade-box {
	background: var(--teapotheca-color-parchment);
	border: 1px solid var(--teapotheca-color-amber);
	border-radius: var(--teapotheca-radius-md);
	padding: 24px 28px;
	text-align: center;
}
.teapotheca-upgrade-box h2 { color: var(--teapotheca-color-ink); margin-bottom: 8px; }
.teapotheca-upgrade-box p { color: var(--teapotheca-color-text-muted); margin-bottom: 16px; }
.teapotheca-upgrade-button {
	display: inline-block;
	background: var(--teapotheca-color-amber);
	color: var(--teapotheca-color-surface-white);
	border-radius: var(--teapotheca-radius-sm);
	padding: 12px 28px;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-upgrade-button:hover { background: var(--teapotheca-color-amber-hover); }

/* --- My Herbarium (save/favorite) --- */
.teapotheca-save-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-ink);
	color: var(--teapotheca-color-ink);
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 18px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	margin: 14px 0;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-save-button:hover { background: var(--teapotheca-color-bottle); border-color: var(--teapotheca-color-bottle); color: var(--teapotheca-color-surface-white); }
.teapotheca-save-button.teapotheca-saved { background: var(--teapotheca-color-ink); border-color: var(--teapotheca-color-ink); color: var(--teapotheca-color-surface-white); }
.teapotheca-save-button.teapotheca-saved:hover { background: var(--teapotheca-color-bottle); border-color: var(--teapotheca-color-bottle); }
.teapotheca-save-icon { font-size: 1.1rem; line-height: 1; }
.teapotheca-save-upsell { font-size: 0.85rem; color: var(--teapotheca-color-text-faint); margin: 14px 0; }
.teapotheca-save-upsell a { color: var(--teapotheca-color-amber-hover); }

.teapotheca-my-herbarium h2 { margin: 32px 0 16px; color: var(--teapotheca-color-ink); font-family: var(--teapotheca-font-display); }

/* --- My Apothecary Shelf --- */
.teapotheca-shelf-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-amber);
	color: var(--teapotheca-color-amber-hover);
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 18px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	margin: 14px 0 14px 10px;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-shelf-button:hover { background: var(--teapotheca-color-amber); color: var(--teapotheca-color-surface-white); }
.teapotheca-shelf-button.teapotheca-on-shelf { background: var(--teapotheca-color-amber); border-color: var(--teapotheca-color-amber); color: var(--teapotheca-color-surface-white); }
.teapotheca-shelf-button.teapotheca-on-shelf:hover { background: var(--teapotheca-color-amber-hover); border-color: var(--teapotheca-color-amber-hover); }
.teapotheca-shelf-icon { font-size: 1rem; line-height: 1; }

.teapotheca-shelf-icon-only {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	padding: 0;
	margin: 0;
	justify-content: center;
}
.teapotheca-shelf-inline {
	position: static !important;
	flex: 0 0 auto;
	box-shadow: none;
}

.teapotheca-journal-section-intro {
	margin: -6px 0 16px;
	color: var(--teapotheca-color-text-muted);
	font-size: 0.9rem;
}

/* --- Shopping List (on single Recipe pages) --- */
.teapotheca-shopping-list-wrap { margin-top: 18px; }
.teapotheca-shopping-list-button {
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-bottle);
	color: var(--teapotheca-color-bottle);
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 18px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-shopping-list-button:hover { background: var(--teapotheca-color-bottle); color: var(--teapotheca-color-surface-white); }
.teapotheca-shopping-list-results:not(:empty) { margin-top: 14px; }
.teapotheca-shopping-list {
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	padding: 16px 18px;
}
.teapotheca-shopping-list h4 {
	margin: 0 0 8px;
	font-family: var(--teapotheca-font-mono);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--teapotheca-color-bottle);
}
.teapotheca-shopping-list h4 ~ h4 { margin-top: 16px; }
.teapotheca-shopping-list-complete { margin: 0; color: var(--teapotheca-color-ink); font-weight: 600; }
.teapotheca-shopping-list-missing,
.teapotheca-shopping-list-have {
	list-style: none;
	margin: 0;
	padding: 0;
}
.teapotheca-shopping-list-missing li,
.teapotheca-shopping-list-have li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid var(--teapotheca-color-border-light);
	font-size: 0.92rem;
}
.teapotheca-shopping-list-missing li:last-child,
.teapotheca-shopping-list-have li:last-child { border-bottom: none; }
.teapotheca-shelf-quick-add {
	background: none;
	border: 1px solid var(--teapotheca-color-amber);
	color: var(--teapotheca-color-amber-hover);
	border-radius: var(--teapotheca-radius-sm);
	padding: 3px 10px;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
	flex: 0 0 auto;
}
.teapotheca-shelf-quick-add:hover { background: var(--teapotheca-color-amber); color: var(--teapotheca-color-surface-white); }
.teapotheca-shelf-quick-add:disabled { opacity: 0.6; cursor: default; }

/* --- Shelf: running-low flag --- */
.teapotheca-shelf-low-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font-size: 0.8rem;
	color: var(--teapotheca-color-text-muted);
	cursor: pointer;
}
.teapotheca-shelf-low-checkbox { cursor: pointer; }
.teapotheca-shelf-card.teapotheca-shelf-low {
	border-color: var(--teapotheca-color-oxblood);
	background: var(--teapotheca-color-oxblood-bg);
}
.teapotheca-shopping-list-low { list-style: none; margin: 0; padding: 0; }
.teapotheca-shopping-list-low li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid var(--teapotheca-color-border-light);
	font-size: 0.92rem;
}
.teapotheca-shopping-list-low li:last-child { border-bottom: none; }
.teapotheca-shopping-list-low-tag {
	background: var(--teapotheca-color-oxblood-bg);
	color: var(--teapotheca-color-oxblood);
	border-radius: var(--teapotheca-radius-tag);
	padding: 2px 9px;
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* --- Collection-wide Shopping List --- */
.teapotheca-collection-shopping-list-wrap { margin: 10px 0 20px; }
.teapotheca-collection-shopping-list-button {
	font-size: 0.82rem;
	padding: 6px 14px;
}

/* --- My Herbarium nav badge --- */
.teapotheca-nav-badge {
	display: inline-block;
	background: var(--teapotheca-color-amber);
	color: var(--teapotheca-color-surface-white);
	border-radius: 10px;
	padding: 1px 7px;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1.5;
	margin-left: 4px;
	vertical-align: middle;
}

/* --- Herb Quick Jump (single Herb pages) --- */
.teapotheca-quickjump {
	position: relative;
	max-width: 320px;
	margin: 0 0 14px;
}
.teapotheca-quickjump-input {
	width: 100%;
	padding: 9px 14px;
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	background: var(--teapotheca-color-surface-white);
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	color: var(--teapotheca-color-text-body);
}
.teapotheca-quickjump-input:focus {
	outline: none;
	border-color: var(--teapotheca-color-amber);
}
.teapotheca-quickjump-results {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 20;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	box-shadow: 0 6px 18px rgba(0,0,0,0.12);
	max-height: 320px;
	overflow-y: auto;
}
.teapotheca-quickjump-results.is-open { display: block; }
.teapotheca-quickjump-list { list-style: none; margin: 0; padding: 4px 0; }
.teapotheca-quickjump-list li { margin: 0; }
.teapotheca-quickjump-list a {
	display: flex;
	flex-direction: column;
	gap: 1px;
	padding: 8px 14px;
	text-decoration: none;
}
.teapotheca-quickjump-list a:hover { background: var(--teapotheca-color-parchment); }
.teapotheca-quickjump-name { color: var(--teapotheca-color-ink); font-weight: 600; font-size: 0.9rem; }
.teapotheca-quickjump-subtitle {
	font-family: var(--teapotheca-font-mono);
	font-style: italic;
	font-size: 0.78rem;
	color: var(--teapotheca-color-bottle);
}
.teapotheca-quickjump-empty {
	margin: 0;
	padding: 10px 14px;
	font-size: 0.85rem;
	color: var(--teapotheca-color-text-faint);
}

/* --- Herb Prev/Next navigation --- */
.teapotheca-post-nav {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 18px 0;
	padding: 4px 0;
}
.teapotheca-post-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 46%;
	text-decoration: none;
	color: var(--teapotheca-color-ink);
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	padding: 8px 4px;
	transition: color var(--teapotheca-transition-speed) ease;
}
.teapotheca-post-nav-link:hover { color: var(--teapotheca-color-amber-hover); }
.teapotheca-post-nav-next { margin-left: auto; text-align: right; }
.teapotheca-post-nav-arrow { font-size: 1.1rem; line-height: 1; flex: 0 0 auto; }
.teapotheca-post-nav-text { display: flex; flex-direction: column; overflow: hidden; }
.teapotheca-post-nav-label {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--teapotheca-color-text-faint);
}

@media (max-width: 600px) {
	.teapotheca-post-nav-link { max-width: 48%; }
	.teapotheca-post-nav-text { white-space: normal; }
}


/* --- Lightbox --- */
.teapotheca-lightbox-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(31, 48, 36, 0.92); /* ink green, translucent */
	z-index: 9999;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 40px 20px;
	cursor: zoom-out;
}
.teapotheca-lightbox-overlay.teapotheca-lightbox-open {
	display: flex;
}
.teapotheca-lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: var(--teapotheca-radius-sm);
	cursor: default;
	box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}
.teapotheca-lightbox-caption {
	color: var(--teapotheca-color-surface-white);
	font-family: var(--teapotheca-font-display);
	font-size: 1.1rem;
	margin-top: 16px;
	text-align: center;
}
.teapotheca-lightbox-close {
	position: absolute;
	top: 20px;
	right: 28px;
	background: none;
	border: none;
	color: var(--teapotheca-color-surface-white);
	font-size: 2.5rem;
	line-height: 1;
	cursor: pointer;
	padding: 8px;
}
.teapotheca-lightbox-close:hover {
	color: var(--teapotheca-color-amber);
}
.teapotheca-gallery a { cursor: zoom-in; display: block; }

/* --- Search Results --- */
.teapotheca-search-results .teapotheca-search-summary { color: var(--teapotheca-color-text-muted); font-size: 1.05rem; margin-bottom: 36px; }
.teapotheca-search-results h2 { font-family: var(--teapotheca-font-display); color: var(--teapotheca-color-ink); margin: 40px 0 20px; }
.teapotheca-search-results h2:first-of-type { margin-top: 0; }

/* --- Search Form (place in Cornerstone with these exact classes) --- */
.teapotheca-search-form {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 560px;
}
.teapotheca-search-input {
	flex: 1;
	box-sizing: border-box;
	font-family: var(--teapotheca-font-body);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 5px 14px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
	line-height: 1.4;
}
.teapotheca-search-input:focus {
	border-color: var(--teapotheca-color-amber);
	outline: none;
}
.teapotheca-search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-ink);
	border-radius: var(--teapotheca-radius-sm);
	padding: 5px 22px;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-search-submit:hover {
	background: var(--teapotheca-color-amber-hover);
}

/* ==========================================================================
   Paid Memberships Pro — frontend page styling
   PMPro wraps each page's shortcode output in a div matching the shortcode
   name (pmpro_account, pmpro_checkout, pmpro_billing, pmpro_invoice,
   pmpro_levels). This skins those wrappers to match the rest of the site.
   Best-effort based on PMPro's documented conventions — refine after
   seeing it rendered live.
   ========================================================================== */
.pmpro_account, .pmpro_checkout, .pmpro_billing, .pmpro_invoice, .pmpro_levels {
	font-family: var(--teapotheca-font-body);
	color: var(--teapotheca-color-text-body);
	max-width: var(--teapotheca-content-width);
	margin: 0 auto;
	padding: 32px 36px;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
}

.pmpro_account p, .pmpro_billing p, .pmpro_invoice p {
	color: var(--teapotheca-color-text-body);
}
.pmpro_account strong, .pmpro_billing strong {
	color: var(--teapotheca-color-ink);
}

.pmpro_account h1, .pmpro_checkout h1, .pmpro_billing h1, .pmpro_invoice h1, .pmpro_levels h1,
.pmpro_account h2, .pmpro_checkout h2, .pmpro_billing h2, .pmpro_invoice h2, .pmpro_levels h2,
.pmpro_account h3, .pmpro_checkout h3, .pmpro_billing h3, .pmpro_invoice h3, .pmpro_levels h3 {
	font-family: var(--teapotheca-font-display);
	color: var(--teapotheca-color-ink);
}

/* Form fields */
.pmpro_account input[type="text"], .pmpro_checkout input[type="text"], .pmpro_billing input[type="text"],
.pmpro_account input[type="email"], .pmpro_checkout input[type="email"], .pmpro_billing input[type="email"],
.pmpro_account input[type="password"], .pmpro_checkout input[type="password"], .pmpro_billing input[type="password"],
.pmpro_account input[type="tel"], .pmpro_checkout input[type="tel"], .pmpro_billing input[type="tel"],
.pmpro_account select, .pmpro_checkout select, .pmpro_billing select,
.pmpro_account textarea, .pmpro_checkout textarea, .pmpro_billing textarea {
	font-family: var(--teapotheca-font-body);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 10px 14px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
}
.pmpro_account input:focus, .pmpro_checkout input:focus, .pmpro_billing input:focus,
.pmpro_account select:focus, .pmpro_checkout select:focus, .pmpro_billing select:focus {
	border-color: var(--teapotheca-color-amber);
	outline: none;
}

/* Buttons — targets PMPro's own .pmpro_btn convention plus a generic
   fallback for any submit button that doesn't carry that class */
.pmpro_btn, .pmpro_btn-submit,
.pmpro_account input[type="submit"], .pmpro_checkout input[type="submit"], .pmpro_billing input[type="submit"], .pmpro_levels input[type="submit"],
.pmpro_account button[type="submit"], .pmpro_checkout button[type="submit"], .pmpro_billing button[type="submit"], .pmpro_levels button[type="submit"] {
	background: var(--teapotheca-color-ink) !important;
	color: var(--teapotheca-color-surface-white) !important;
	border: none !important;
	border-radius: var(--teapotheca-radius-sm) !important;
	padding: 12px 28px !important;
	font-family: var(--teapotheca-font-body) !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.pmpro_btn:hover, .pmpro_btn-submit:hover,
.pmpro_account input[type="submit"]:hover, .pmpro_checkout input[type="submit"]:hover {
	background: var(--teapotheca-color-amber-hover) !important;
}

/* Inline action links (Edit Profile | Change Password | Log Out, etc.) —
   these render as plain <a> tags, not buttons, so they get the site's
   link color rather than boxed button styling, which would look wrong
   on an inline pipe-separated list. */
.pmpro_account a:not(.pmpro_btn):not(.pmpro_btn-submit) {
	color: var(--teapotheca-color-amber-hover) !important;
	text-decoration: none !important;
}
.pmpro_account a:not(.pmpro_btn):not(.pmpro_btn-submit):hover {
	color: var(--teapotheca-color-ink) !important;
	text-decoration: underline !important;
}

/* Tables — billing history, invoices */
.pmpro_account table, .pmpro_billing table, .pmpro_invoice table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}
.pmpro_account th, .pmpro_billing th, .pmpro_invoice th {
	text-align: left;
	font-family: var(--teapotheca-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.78rem;
	color: var(--teapotheca-color-bottle);
	border-bottom: 1px solid var(--teapotheca-color-border);
	padding: 10px 12px;
}
.pmpro_account td, .pmpro_billing td, .pmpro_invoice td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--teapotheca-color-border-light);
}

/* Membership Levels page — reuse the same card language as Herbs/Recipes */
.pmpro_levels .pmpro_level, .pmpro_levels .pmpro_level-cost {
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	padding: 20px;
}

/* --- Single Recipe --- */
.teapotheca-single-recipe { max-width: var(--teapotheca-content-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-single-course { max-width: var(--teapotheca-content-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-recipe-hero-image { text-align: center; } .teapotheca-recipe-hero-image img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 480px !important; margin: 0 auto 24px; display: block; border-radius: var(--teapotheca-radius-md); }
.teapotheca-recipe-description { font-size: 1.05rem; color: var(--teapotheca-color-text-body); }
.teapotheca-recipe-experience-summary { color: var(--teapotheca-color-text-muted); margin-top: -4px; font-style: italic; }
.teapotheca-recipe-meta {
	margin: 18px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-size: 0.85rem;
	font-family: var(--teapotheca-font-mono);
	color: var(--teapotheca-color-bottle);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.teapotheca-ingredients-list, .teapotheca-instructions-list { padding-left: 20px; }
.teapotheca-ingredients-list li, .teapotheca-instructions-list li { padding: 7px 0; }
.teapotheca-ingredient-amount { font-weight: 600; margin-right: 6px; font-family: var(--teapotheca-font-mono); }
.teapotheca-ingredient-role { color: var(--teapotheca-color-text-faintest); font-size: 0.85rem; margin-left: 6px; }
.teapotheca-source-note { font-size: 0.8rem; color: var(--teapotheca-color-text-faint); margin-top: 8px; font-style: italic; }

/* --- Discovery Page --- */
.teapotheca-discovery { max-width: var(--teapotheca-discovery-width); margin: 0 auto; padding: 48px 20px; }
.teapotheca-discovery h1 { font-size: 2.2rem; color: var(--teapotheca-color-ink); }
.teapotheca-discovery-intro p { color: var(--teapotheca-color-text-muted); font-size: 1.05rem; }

.teapotheca-discovery-filters { border-bottom: 1px solid var(--teapotheca-color-border); margin-bottom: 20px; }
.teapotheca-discovery-filters-summary {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
	font-family: var(--teapotheca-font-display);
	font-size: 1.2rem;
	color: var(--teapotheca-color-ink);
	padding: 10px 0 16px;
}
.teapotheca-discovery-filters-summary::-webkit-details-marker { display: none; }
.teapotheca-discovery-filters-summary::before {
	content: '▸';
	font-size: 0.85rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-discovery-filters[open] > .teapotheca-discovery-filters-summary::before {
	transform: rotate(90deg);
}
.teapotheca-discovery-filters-count {
	font-family: var(--teapotheca-font-body);
	background: var(--teapotheca-color-amber);
	color: var(--teapotheca-color-ink);
	border-radius: 12px;
	padding: 2px 10px;
	font-size: 0.75rem;
	font-weight: 700;
}
.teapotheca-discovery-filters-body { padding-bottom: 20px; }
.teapotheca-discovery-form {
	background: var(--teapotheca-color-parchment);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	padding: 24px 28px;
	margin: 28px 0 40px;
}
/* --- Discovery: filter tabs + panels (replaces the old stacked accordions) --- */
.teapotheca-discovery-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	border-bottom: 1px solid var(--teapotheca-color-border);
	padding-bottom: 14px;
	margin-bottom: 16px;
}
.teapotheca-discovery-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	cursor: pointer;
	font-family: var(--teapotheca-font-mono);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.78rem;
	color: var(--teapotheca-color-bottle);
	padding: 9px 14px;
	transition: border-color var(--teapotheca-transition-speed) ease, background var(--teapotheca-transition-speed) ease;
}
.teapotheca-discovery-tab:hover { border-color: var(--teapotheca-color-amber); }
.teapotheca-discovery-tab.is-active {
	background: var(--teapotheca-color-ink);
	border-color: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
}
.teapotheca-discovery-tab-count {
	background: var(--teapotheca-color-amber);
	color: var(--teapotheca-color-ink);
	border-radius: 10px;
	padding: 1px 7px;
	font-size: 0.7rem;
	font-weight: 700;
}
.teapotheca-discovery-tab.is-active .teapotheca-discovery-tab-count {
	background: var(--teapotheca-color-surface-white);
}
.teapotheca-discovery-tab-locked {
	color: var(--teapotheca-color-amber-hover);
	border-style: dashed;
	border-color: var(--teapotheca-color-amber);
}
.teapotheca-discovery-tab-lock { font-size: 0.8rem; }

.teapotheca-discovery-panels { min-height: 48px; margin-bottom: 4px; }
.teapotheca-discovery-panel { display: none; }
.teapotheca-discovery-panel.is-active { display: block; }

.teapotheca-discovery-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-tag);
	padding: 7px 14px;
	margin: 0 8px 8px 0;
	font-size: 0.9rem;
	cursor: pointer;
	transition: border-color var(--teapotheca-transition-speed) ease;
}
.teapotheca-discovery-checkbox:hover { border-color: var(--teapotheca-color-amber); }
.teapotheca-discovery-checkbox input[type="checkbox"] { accent-color: var(--teapotheca-color-ink); }
.teapotheca-discovery-actions { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.teapotheca-discovery-submit {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border: none;
	border-radius: var(--teapotheca-radius-sm);
	padding: 11px 26px;
	font-size: 1rem;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-discovery-submit:hover { background: var(--teapotheca-color-amber-hover); }
.teapotheca-discovery-clear { font-size: 0.9rem; color: var(--teapotheca-color-text-muted); }
.teapotheca-discovery-results h2 { margin-top: 32px; color: var(--teapotheca-color-ink); }
.teapotheca-discovery-empty, .teapotheca-discovery-placeholder { color: var(--teapotheca-color-text-faint); font-style: italic; }
.teapotheca-discovery-fallback-note {
	background: var(--teapotheca-color-oxblood-bg);
	border-left: 3px solid var(--teapotheca-color-oxblood);
	border-radius: 0 var(--teapotheca-radius-sm) var(--teapotheca-radius-sm) 0;
	padding: 12px 16px;
	color: var(--teapotheca-color-oxblood);
	font-size: 0.9rem;
	margin: 12px 0 18px;
}
.teapotheca-match-badge {
	display: inline-block;
	margin-top: 6px;
	font-size: 0.7rem;
	font-family: var(--teapotheca-font-mono);
	color: var(--teapotheca-color-bottle);
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-bottle);
	border-radius: var(--teapotheca-radius-tag);
	padding: 2px 8px;
}
.teapotheca-related-list .teapotheca-match-badge { margin-left: 10px; margin-top: 0; }

/* --- Discovery: member-only refinement filters --- */
.teapotheca-discovery-member-teaser {
	background: var(--teapotheca-color-surface-white);
	border: 1px dashed var(--teapotheca-color-amber);
	border-radius: var(--teapotheca-radius-sm);
	padding: 16px 18px;
	margin: 8px 0 4px;
}
.teapotheca-discovery-member-teaser p {
	margin: 0 0 12px;
	font-size: 0.9rem;
	color: var(--teapotheca-color-text-muted);
}
.teapotheca-discovery-member-teaser strong { color: var(--teapotheca-color-ink); }
.teapotheca-discovery-member-teaser .teapotheca-upgrade-button {
	padding: 9px 20px;
	font-size: 0.88rem;
}

/* Discovery cards anchor the save icon to the top, not the bottom — the
   match-quality accordion sits inside the card wrapper, so a bottom-anchored
   icon would land on the expanded text. Titles get right-side clearance
   since a card without a featured image has the title at the very top. */
.teapotheca-discovery-results .teapotheca-save-icon-only {
	top: 10px;
	bottom: auto;
}
.teapotheca-discovery-results .teapotheca-herb-card-title,
.teapotheca-discovery-results .teapotheca-recipe-card-title {
	padding-right: 40px;
}

/* --- Discovery: match-quality accordion --- */
.teapotheca-match-details { margin-top: 8px; }
.teapotheca-match-details > summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.teapotheca-match-details > summary::-webkit-details-marker { display: none; }
.teapotheca-match-details > summary::after {
	content: '▸';
	font-size: 0.7rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-match-details[open] > summary::after { transform: rotate(90deg); }
.teapotheca-match-details-body { padding: 8px 2px 2px; }
.teapotheca-match-line {
	margin: 0 0 4px;
	font-size: 0.78rem;
	line-height: 1.4;
	display: flex;
	gap: 6px;
	align-items: flex-start;
}
.teapotheca-match-mark { flex: 0 0 auto; font-weight: 700; }
.teapotheca-match-yes { color: var(--teapotheca-color-ink); }
.teapotheca-match-yes .teapotheca-match-mark { color: var(--teapotheca-color-bottle); }
.teapotheca-match-no { color: var(--teapotheca-color-text-faintest); }

/* --- Free-first toggle (non-members only) --- */
.teapotheca-freefirst { margin: 0; flex-shrink: 0; }
.teapotheca-freefirst-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	cursor: pointer;
	font-family: var(--teapotheca-font-body);
	font-size: 0.88rem;
	color: var(--teapotheca-color-text-muted);
}
.teapotheca-freefirst-track {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
	background: var(--teapotheca-color-border);
	border-radius: 11px;
	transition: background var(--teapotheca-transition-speed) ease;
	flex: 0 0 auto;
}
.teapotheca-freefirst-thumb {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	background: var(--teapotheca-color-surface-white);
	border-radius: 50%;
	transition: transform var(--teapotheca-transition-speed) ease;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.teapotheca-freefirst-toggle.is-active .teapotheca-freefirst-track {
	background: var(--teapotheca-color-ink);
}
.teapotheca-freefirst-toggle.is-active .teapotheca-freefirst-thumb {
	transform: translateX(18px);
}
.teapotheca-freefirst-toggle.is-active .teapotheca-freefirst-label {
	color: var(--teapotheca-color-ink);
	font-weight: 600;
}
.teapotheca-freefirst-toggle:hover .teapotheca-freefirst-track {
	background: var(--teapotheca-color-bottle);
}

/* --- Herb Finder: search box + A-Z strip --- */
.teapotheca-herb-finder { margin: 20px 0 32px; }
.teapotheca-herb-finder-input {
	width: 100%;
	max-width: 360px;
	display: block;
	font-family: var(--teapotheca-font-body);
	font-size: 0.95rem;
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 10px 14px;
	margin-bottom: 14px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
}
.teapotheca-herb-finder-input:focus { border-color: var(--teapotheca-color-amber); outline: none; }
.teapotheca-az-strip { display: flex; flex-wrap: wrap; gap: 4px; }
.teapotheca-az-letter {
	background: var(--teapotheca-color-surface-white);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	width: 30px;
	height: 30px;
	font-family: var(--teapotheca-font-mono);
	font-size: 0.8rem;
	color: var(--teapotheca-color-ink);
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-az-letter:hover { border-color: var(--teapotheca-color-amber); }
.teapotheca-az-letter.is-active { background: var(--teapotheca-color-ink); border-color: var(--teapotheca-color-ink); color: var(--teapotheca-color-surface-white); }
.teapotheca-az-reset { width: auto; padding: 0 12px; font-family: var(--teapotheca-font-body); font-weight: 600; }
.teapotheca-herb-finder-status { margin: 10px 0 0; font-size: 0.85rem; color: var(--teapotheca-color-text-muted); min-height: 1.2em; }

/* --- Simple accordion (Sources, Articles Mentioning This Herb) ---
   Lighter-weight than the Gardening accordion — no stats panel, just a
   collapsed link list, matching the same visual language and interaction. */
.teapotheca-simple-accordion { border-top: 1px solid var(--teapotheca-color-border-light); padding-top: 24px; }
.teapotheca-simple-accordion-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 10px;
	font-family: var(--teapotheca-font-display);
	font-size: 1.35rem;
	color: var(--teapotheca-color-ink);
}
.teapotheca-simple-accordion-summary::-webkit-details-marker { display: none; }
.teapotheca-simple-accordion-summary::before {
	content: '▸';
	font-size: 0.85rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-simple-accordion[open] > .teapotheca-simple-accordion-summary::before { transform: rotate(90deg); }
.teapotheca-simple-accordion-body { padding-top: 14px; }
.teapotheca-simple-accordion-body .teapotheca-related-list { margin: 0; }
.teapotheca-simple-accordion-body .teapotheca-related-list li a .teapotheca-lock-icon { margin-left: 4px; }

/* --- Gardening accordion (herb pages, members only) --- */
.teapotheca-gardening { border-top: 1px solid var(--teapotheca-color-border-light); padding-top: 24px; }
.teapotheca-gardening-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-family: var(--teapotheca-font-display);
	font-size: 1.35rem;
	color: var(--teapotheca-color-ink);
}
.teapotheca-gardening-summary::-webkit-details-marker { display: none; }
.teapotheca-gardening-summary::before {
	content: '▸';
	font-size: 0.85rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-gardening[open] > .teapotheca-gardening-summary::before { transform: rotate(90deg); }
.teapotheca-gardening-hint {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--teapotheca-color-text-faint);
}
.teapotheca-gardening-body { padding-top: 16px; }
.teapotheca-gardening-quick {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px 20px;
	margin: 0 0 20px;
	padding: 16px 18px;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
}
.teapotheca-gardening-stat dt {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--teapotheca-color-bottle);
	margin-bottom: 3px;
}
.teapotheca-gardening-stat dd { margin: 0; font-size: 0.95rem; color: var(--teapotheca-color-ink); font-weight: 600; }
.teapotheca-gardening-body h3 {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--teapotheca-color-bottle);
	margin: 18px 0 6px;
}
.teapotheca-gardening-body p { margin: 0 0 8px; font-size: 0.95rem; line-height: 1.6; }
.teapotheca-gardening-harvest-time { color: var(--teapotheca-color-text-muted); }
.teapotheca-gardening-caution {
	background: var(--teapotheca-color-oxblood-bg);
	border-left: 3px solid var(--teapotheca-color-oxblood);
	border-radius: 0 var(--teapotheca-radius-sm) var(--teapotheca-radius-sm) 0;
	padding: 12px 16px;
	margin: 18px 0 0;
	font-size: 0.9rem;
	line-height: 1.55;
}
.teapotheca-gardening-caution strong { color: var(--teapotheca-color-oxblood); }
.teapotheca-gardening-note {
	margin-top: 18px !important;
	font-size: 0.8rem !important;
	color: var(--teapotheca-color-text-faint);
	font-style: italic;
}

/* --- TCM Cross-Reference accordion (herb pages, members only) --- */
.teapotheca-tcm { border-top: 1px solid var(--teapotheca-color-border-light); padding-top: 24px; }
.teapotheca-tcm-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-family: var(--teapotheca-font-display);
	font-size: 1.35rem;
	color: var(--teapotheca-color-ink);
}
.teapotheca-tcm-summary::-webkit-details-marker { display: none; }
.teapotheca-tcm-summary::before {
	content: '▸';
	font-size: 0.85rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-tcm[open] > .teapotheca-tcm-summary::before { transform: rotate(90deg); }
.teapotheca-tcm-badge {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 2px 8px;
	border-radius: var(--teapotheca-radius-tag);
}
.teapotheca-tcm-badge--direct { background: rgba(61, 90, 69, 0.15); color: var(--teapotheca-color-bottle); }
.teapotheca-tcm-badge--related { background: rgba(184, 120, 58, 0.18); color: var(--teapotheca-color-amber-hover); }
.teapotheca-tcm-badge--minor { background: var(--teapotheca-color-border-light); color: var(--teapotheca-color-text-muted); }
.teapotheca-tcm-body { padding-top: 16px; }
.teapotheca-tcm-species-note {
	background: var(--teapotheca-color-oxblood-bg);
	border-left: 3px solid var(--teapotheca-color-oxblood);
	border-radius: 0 var(--teapotheca-radius-sm) var(--teapotheca-radius-sm) 0;
	padding: 12px 16px;
	margin: 0 0 20px;
	font-size: 0.9rem;
	line-height: 1.55;
}
.teapotheca-tcm-quick {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px 20px;
	margin: 0 0 20px;
	padding: 16px 18px;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
}
.teapotheca-tcm-stat dt {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--teapotheca-color-bottle);
	margin-bottom: 3px;
}
.teapotheca-tcm-stat dd { margin: 0; font-size: 0.95rem; color: var(--teapotheca-color-ink); font-weight: 600; }
.teapotheca-tcm-stat--name dd.teapotheca-tcm-name {
	font-family: var(--teapotheca-font-display);
	font-style: italic;
	font-weight: 500;
	font-size: 1.05rem;
}
.teapotheca-tcm-body h3 {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--teapotheca-color-bottle);
	margin: 18px 0 6px;
}
.teapotheca-tcm-body p { margin: 0 0 8px; font-size: 0.95rem; line-height: 1.6; }
.teapotheca-tcm-note {
	margin-top: 18px !important;
	font-size: 0.8rem !important;
	color: var(--teapotheca-color-text-faint);
	font-style: italic;
}

/* --- Planetary & Elemental Correspondence accordion (herb pages, members only) --- */
.teapotheca-planetary { border-top: 1px solid var(--teapotheca-color-border-light); padding-top: 24px; }
.teapotheca-planetary-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-family: var(--teapotheca-font-display);
	font-size: 1.35rem;
	color: var(--teapotheca-color-ink);
}
.teapotheca-planetary-summary::-webkit-details-marker { display: none; }
.teapotheca-planetary-summary::before {
	content: '▸';
	font-size: 0.85rem;
	color: var(--teapotheca-color-bottle);
	transition: transform var(--teapotheca-transition-speed) ease;
}
.teapotheca-planetary[open] > .teapotheca-planetary-summary::before { transform: rotate(90deg); }
.teapotheca-planetary-badge {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 2px 8px;
	border-radius: var(--teapotheca-radius-tag);
	background: rgba(184, 120, 58, 0.18);
	color: var(--teapotheca-color-amber-hover);
}
.teapotheca-planetary-body { padding-top: 16px; }
.teapotheca-planetary-source {
	font-size: 0.82rem !important;
	color: var(--teapotheca-color-text-faint);
	font-style: italic;
	margin: 0 0 18px !important;
}
.teapotheca-planetary-quick {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px 20px;
	margin: 0 0 20px;
	padding: 16px 18px;
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
}
.teapotheca-planetary-stat dt {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--teapotheca-color-bottle);
	margin-bottom: 3px;
}
.teapotheca-planetary-stat dd { margin: 0; font-size: 0.95rem; color: var(--teapotheca-color-ink); font-weight: 600; }
.teapotheca-planetary-body p { margin: 0 0 8px; font-size: 0.95rem; line-height: 1.6; }

/* --- Brewing Log --- */
.teapotheca-brewlog-intro { font-size: 0.88rem; color: var(--teapotheca-color-text-muted); margin: 0 0 14px; }
.teapotheca-brewlog-form {
	background: var(--teapotheca-color-surface);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-md);
	padding: 16px 18px;
	margin-bottom: 20px;
}
.teapotheca-brewlog-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.teapotheca-brewlog-date {
	font-family: var(--teapotheca-font-body);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 7px 10px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
}
.teapotheca-brewlog-again { display: flex; align-items: center; gap: 7px; font-size: 0.88rem; cursor: pointer; }
.teapotheca-brewlog-again input { accent-color: var(--teapotheca-color-ink); }
.teapotheca-brewlog-note {
	width: 100%;
	font-family: var(--teapotheca-font-body);
	font-size: 0.92rem;
	line-height: 1.5;
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 10px 12px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
	resize: vertical;
}
.teapotheca-brewlog-note:focus, .teapotheca-brewlog-date:focus { border-color: var(--teapotheca-color-amber); outline: none; }
.teapotheca-brewlog-actions { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.teapotheca-brewlog-add {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border: none;
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 20px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-brewlog-add:hover:not(:disabled) { background: var(--teapotheca-color-bottle); }
.teapotheca-brewlog-add:disabled { opacity: 0.6; cursor: default; }
.teapotheca-brewlog-status { font-size: 0.82rem; color: var(--teapotheca-color-bottle); font-style: italic; }

.teapotheca-brewlog-empty { color: var(--teapotheca-color-text-faint); font-style: italic; font-size: 0.9rem; }
.teapotheca-brewlog-entry {
	border-left: 2px solid var(--teapotheca-color-border);
	padding: 0 0 14px 16px;
	margin-bottom: 14px;
}
.teapotheca-brewlog-entry-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.teapotheca-brewlog-entry-head time {
	font-family: var(--teapotheca-font-mono);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--teapotheca-color-bottle);
}
.teapotheca-brewlog-flag {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border-radius: 10px;
	padding: 1px 9px;
	font-size: 0.68rem;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
}
.teapotheca-brewlog-delete {
	margin-left: auto;
	background: none;
	border: none;
	color: var(--teapotheca-color-text-faintest);
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}
.teapotheca-brewlog-delete:hover { color: var(--teapotheca-color-oxblood); }
.teapotheca-brewlog-entry-note { margin: 0; font-size: 0.92rem; line-height: 1.55; }

/* Collections section on single pages */
.teapotheca-collection-section-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-bottom: 16px;
}

/* --- Collections --- */
.teapotheca-collection-create {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--teapotheca-color-border-light);
}
.teapotheca-collection-new-name {
	flex: 1 1 240px;
	font-family: var(--teapotheca-font-body);
	border: 1px solid var(--teapotheca-color-border);
	border-radius: var(--teapotheca-radius-sm);
	padding: 9px 13px;
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-text-body);
}
.teapotheca-collection-new-name:focus { border-color: var(--teapotheca-color-amber); outline: none; }
.teapotheca-collection-create-button {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border: none;
	border-radius: var(--teapotheca-radius-sm);
	padding: 9px 22px;
	font-family: var(--teapotheca-font-body);
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease;
}
.teapotheca-collection-create-button:hover:not(:disabled) { background: var(--teapotheca-color-bottle); }
.teapotheca-collection-create-button:disabled { opacity: 0.6; cursor: default; }
.teapotheca-collection-status { font-size: 0.82rem; color: var(--teapotheca-color-bottle); font-style: italic; }

.teapotheca-collection { margin-bottom: 36px; }
.teapotheca-collection-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.teapotheca-collection-name {
	font-family: var(--teapotheca-font-display);
	font-size: 1.3rem;
	color: var(--teapotheca-color-ink);
	margin: 0;
}
.teapotheca-collection-count {
	background: var(--teapotheca-color-primary-light, var(--teapotheca-color-parchment));
	color: var(--teapotheca-color-bottle);
	border-radius: 12px;
	padding: 2px 10px;
	font-size: 0.72rem;
	font-family: var(--teapotheca-font-mono);
}
.teapotheca-collection-delete {
	margin-left: auto;
	background: none;
	border: none;
	color: var(--teapotheca-color-text-faintest);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	padding: 2px 8px;
	border-radius: var(--teapotheca-radius-sm);
	transition: color var(--teapotheca-transition-speed) ease;
}
.teapotheca-collection-delete:hover { color: var(--teapotheca-color-oxblood); }
.teapotheca-collection-empty { color: var(--teapotheca-color-text-faint); font-style: italic; font-size: 0.9rem; }

/* Per-card collection picker */
.teapotheca-collection-picker { margin-bottom: 12px; }
.teapotheca-collection-picker > summary {
	cursor: pointer;
	list-style: none;
	font-family: var(--teapotheca-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.7rem;
	color: var(--teapotheca-color-bottle);
	padding: 4px 0;
}
.teapotheca-collection-picker > summary::-webkit-details-marker { display: none; }
.teapotheca-collection-picker > summary::before { content: '+ '; }
.teapotheca-collection-picker[open] > summary::before { content: '– '; }
.teapotheca-collection-picker-count {
	background: var(--teapotheca-color-ink);
	color: var(--teapotheca-color-surface-white);
	border-radius: 10px;
	padding: 1px 7px;
	margin-left: 4px;
}
.teapotheca-collection-picker-body {
	padding: 6px 0 2px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.teapotheca-collection-option {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.85rem;
	color: var(--teapotheca-color-text-body);
	cursor: pointer;
}
.teapotheca-collection-option input[type="checkbox"] { accent-color: var(--teapotheca-color-ink); }

/* --- Print button (screen) --- */
.teapotheca-recipe-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.teapotheca-print-button {
	background: var(--teapotheca-color-surface-white);
	color: var(--teapotheca-color-ink);
	border: 1px solid var(--teapotheca-color-ink);
	border-radius: var(--teapotheca-radius-sm);
	padding: 8px 18px;
	font-family: var(--teapotheca-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--teapotheca-transition-speed) ease, color var(--teapotheca-transition-speed) ease;
}
.teapotheca-print-button:hover { background: var(--teapotheca-color-ink); color: var(--teapotheca-color-surface-white); }

/* ==========================================================================
   Print stylesheet — recipe cards
   Prints a recipe as an actual 4x6" recipe card rather than a letter-size
   page. To change the card size, edit the @page size below:
     4in 6in   = classic recipe card (default)
     5in 7in   = larger card, fits longer recipes on one page
     148mm 210mm = A5
     letter    = standard 8.5x11 paper
   ========================================================================== */
@page {
	size: 4in 6in;
	margin: 0.28in;
}

@media print {
	/* Hide site chrome. Kept as a fallback for anyone using the browser's
	   own Print command directly on the page; the Print Recipe button
	   uses a dedicated print window instead, which is more reliable. */
	header, footer, nav,
	.x-navbar, .x-navbar-wrap, .x-colophon, .x-widgetbar, .x-sidebar,
	.x-brand, .x-btn-navbar, #x-colophon, #x-navbar,
	.teapotheca-recipe-actions,
	.teapotheca-note-section,
	.teapotheca-brewlog,
	.teapotheca-collection-section,
	.teapotheca-collection-picker,
	.teapotheca-collection-create,
	.teapotheca-save-button,
	.teapotheca-shelf-button,
	.teapotheca-shopping-list-wrap,
	.teapotheca-post-nav,
	.teapotheca-quickjump,
	.teapotheca-shelf-low-toggle,
	.teapotheca-similar-herbs,
	.teapotheca-lesson-nav,
	.teapotheca-course-actions,
	.teapotheca-print-button,
	.teapotheca-upgrade-box,
	.teapotheca-product-grid,
	.teapotheca-affiliate-disclosure,
	.teapotheca-lightbox-overlay,
	.teapotheca-search-form,
	.teapotheca-recipe-hero-image,
	.teapotheca-taxonomy-row,
	.teapotheca-recipe-experience-summary,
	.teapotheca-disclaimer-note,
	.teapotheca-source-note,
	.teapotheca-related-list {
		display: none !important;
	}

	html, body {
		background: #fff !important;
		color: #000 !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 8pt !important;
		line-height: 1.35 !important;
		font-family: Georgia, "Times New Roman", serif !important;
	}

	/* Make the recipe container the whole printed card. */
	.teapotheca-single-recipe {
		display: block !important;
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.teapotheca-single-recipe h1 {
		font-size: 13pt !important;
		line-height: 1.15 !important;
		margin: 0 0 3pt !important;
		padding: 0 0 3pt !important;
		border-bottom: 0.5pt solid #000;
	}

	.teapotheca-recipe-description {
		font-size: 7.5pt !important;
		font-style: italic;
		margin: 0 0 5pt !important;
	}

	.teapotheca-recipe-meta {
		display: block !important;
		font-size: 7pt !important;
		margin: 0 0 6pt !important;
		text-transform: uppercase;
		letter-spacing: 0.02em;
	}
	.teapotheca-recipe-meta span { margin-right: 8pt; }

	.teapotheca-section {
		border: none !important;
		padding: 0 !important;
		margin: 0 0 6pt !important;
		break-inside: auto;
		page-break-inside: auto;
	}

	.teapotheca-single-recipe h2 {
		font-size: 8.5pt !important;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		margin: 5pt 0 2pt !important;
		padding: 0 !important;
	}

	.teapotheca-ingredients-list,
	.teapotheca-instructions-list {
		margin: 0 !important;
		padding-left: 11pt !important;
	}
	.teapotheca-ingredients-list li,
	.teapotheca-instructions-list li {
		padding: 0 0 1.5pt !important;
		margin: 0 !important;
		break-inside: avoid;
		page-break-inside: avoid;
	}
	.teapotheca-ingredient-amount { font-weight: bold; }
	.teapotheca-ingredient-role { display: none !important; }

	/* Safety notes stay — they matter most exactly where this card ends
	   up, on a counter. Printed as plain bordered text, since colored
	   fills waste ink and often print poorly. */
	.teapotheca-safety-notice {
		background: none !important;
		border: none !important;
		border-top: 0.5pt solid #000 !important;
		border-radius: 0 !important;
		padding: 3pt 0 0 !important;
		margin-top: 6pt !important;
		font-size: 6.5pt !important;
	}
	.teapotheca-safety-notice h2 { font-size: 7pt !important; margin-top: 0 !important; }

	a { text-decoration: none !important; color: #000 !important; }
}

/* ==========================================================================
   Cauldron — Tarot card dark-mode styling
   Scoped entirely under .cauldron-wrap so nothing here touches the
   light-mode "Specimen Apothecary" styling used elsewhere on the site.
   Append this block to the child theme's style.css (relies on the existing
   filemtime()-based cache-busting already set up for that file — no new
   enqueue mechanism needed).
   ========================================================================== */

.cauldron-wrap {
	background: #1F3024;
	color: #EDE6D8;
	padding: 40px 24px;
	font-family: 'Public Sans', sans-serif;
}

.tarot-card-single {
	max-width: 640px;
	margin: 0 auto;
}

/* Specimen-label header, corner brackets carried over from the light theme */
.tarot-card-header {
	border: 1px solid #3D5A45;
	padding: 24px 28px;
	position: relative;
	margin-bottom: 24px;
	text-align: center;
}

.tarot-card-header::before,
.tarot-card-header::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border-color: #B8783A;
	border-style: solid;
}

.tarot-card-header::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.tarot-card-header::after {
	top: -1px;
	right: -1px;
	border-width: 1px 1px 0 0;
}

.tarot-card-image img {
	max-width: 220px;
	height: auto;
	margin: 0 auto 20px;
	display: block;
	border: 1px solid #3D5A45;
}

.tarot-card-name {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 28px;
	color: #EDE6D8;
	margin: 0 0 6px;
}

.tarot-card-meta {
	font-size: 12px;
	letter-spacing: 0.08em;
	color: #EDE6D8;
	opacity: 0.6;
	margin: 0;
	text-transform: uppercase;
}

/* Correspondence pills */
.tarot-correspondence-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.pill {
	font-size: 12px;
	padding: 5px 12px;
	border-radius: 20px;
	line-height: 1.4;
}

.pill-structural {
	background: #3D5A45;
	color: #EDE6D8;
}

.pill-accent {
	background: #B8783A;
	color: #1F3024;
	font-weight: 500;
}

/* Meaning + imagery + numerology sections */
.tarot-meaning h2,
.tarot-imagery h2,
.tarot-numerology h2 {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 18px;
	color: #EDE6D8;
	margin: 24px 0 8px;
}

.tarot-meaning p,
.tarot-imagery p,
.tarot-numerology p {
	font-size: 15px;
	line-height: 1.7;
	color: #EDE6D8;
	margin: 0 0 16px;
}

/* Book T divergence callout — Oxblood as a wash + border stripe,
   NOT as text-on-background, since Oxblood has too little contrast
   directly against Ink Green to be used as solid text color here. */
.book-t-callout {
	border-left: 2px solid #6B2E2A;
	background: rgba(107, 46, 42, 0.18);
	padding: 14px 18px;
	margin: 24px 0;
}

.book-t-callout h3 {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 14px;
	color: #EDE6D8;
	margin: 0 0 6px;
}

.book-t-callout p {
	font-size: 14px;
	line-height: 1.6;
	color: #EDE6D8;
	opacity: 0.85;
	margin: 0;
}

/* Secondary herbs, related cards, reverse related cards */
.tarot-secondary-herbs h3,
.tarot-related-cards h3,
.tarot-related-cards-reverse h3 {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 15px;
	color: #EDE6D8;
	margin: 20px 0 8px;
}

.tarot-secondary-herbs ul,
.tarot-related-cards ul,
.tarot-related-cards-reverse ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tarot-secondary-herbs li,
.tarot-related-cards li,
.tarot-related-cards-reverse li {
	margin-bottom: 4px;
}

.tarot-secondary-herbs a,
.tarot-related-cards a,
.tarot-related-cards-reverse a {
	color: #B8783A;
	text-decoration: none;
	font-size: 14px;
}

.tarot-secondary-herbs a:hover,
.tarot-related-cards a:hover,
.tarot-related-cards-reverse a:hover {
	text-decoration: underline;
}

.tarot-keywords {
	font-size: 12px;
	color: #EDE6D8;
	opacity: 0.5;
	margin-top: 28px;
	font-style: italic;
}
