/*
Theme Name: Busy Bee Food
Theme URI: https://busybeefood.co.uk
Description: Child theme of GeneratePress for Busy Bee Food - a UK food-subscription comparison hub. Content-first, E-E-A-T driven.
Author: Busy Bee Media
Author URI: https://busybeebingo.co.uk
Template: generatepress
Version: 0.1.0
Text Domain: busybeefood
*/

:root {
	--bbf-ink: #16140f;          /* near-black body text */
	--bbf-ink-soft: #44413a;     /* muted text, still AA on white */
	--bbf-amber: #e0900a;        /* honey accent */
	--bbf-amber-dark: #b87100;   /* hover / borders */
	--bbf-cream: #fff8ec;        /* light callout bg */
	--bbf-line: #e7e3da;         /* hairline */
	--bbf-good: #1a7a47;         /* pros / positive */
	--bbf-bad: #b3261e;          /* cons / negative */
}

/* ---------- layout ---------- */
.bbf-review {
	max-width: 820px;
	margin: 0 auto;
	padding: 2rem 1.25rem 3rem;
	color: var(--bbf-ink);
}
.bbf-review h1,
.bbf-review h2 { color: var(--bbf-ink); }

/* ---------- hero ---------- */
.bbf-hero {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	flex-wrap: wrap;
	border-bottom: 3px solid var(--bbf-amber);
	padding-bottom: 1.25rem;
}
.bbf-hero__logo {
	width: 120px;
	height: 120px;
	object-fit: contain;
	border: 1px solid var(--bbf-line);
	border-radius: 12px;
	background: #fff;
	padding: 8px;
}
.bbf-hero__title { margin: 0 0 .25rem; font-size: clamp(1.6rem, 4vw, 2.2rem); }
.bbf-hero__subtitle { margin: 0 0 .5rem; color: var(--bbf-ink-soft); font-size: 1.05rem; }
.bbf-stars { color: var(--bbf-amber); font-size: 1.4rem; letter-spacing: 2px; }
.bbf-rating-num { margin-left: .5rem; color: var(--bbf-ink); font-size: 1.05rem; }

/* ---------- verdict + CTA ---------- */
.bbf-verdict {
	background: var(--bbf-cream);
	border: 1px solid #f0dcae;
	border-left: 5px solid var(--bbf-amber);
	border-radius: 10px;
	padding: 1.1rem 1.25rem;
	margin: 1.5rem 0;
}
.bbf-verdict__label {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .78rem;
	font-weight: 700;
	color: var(--bbf-amber-dark);
	margin: 0 0 .35rem;
}
.bbf-verdict__text { margin: 0 0 1rem; font-size: 1.12rem; line-height: 1.55; }

.bbf-cta {
	display: inline-block;
	background: var(--bbf-amber);
	color: var(--bbf-ink);            /* dark on amber: ~7:1 contrast */
	font-weight: 700;
	text-decoration: none;
	padding: .8rem 1.4rem;
	border-radius: 8px;
	border: 1px solid var(--bbf-amber-dark);
	transition: background .15s ease;
}
.bbf-cta:hover,
.bbf-cta:focus { background: var(--bbf-amber-dark); color: #fff; }
.bbf-code { margin: .6rem 0 0; font-size: .95rem; }
.bbf-code code { background: #fff; border: 1px dashed var(--bbf-amber-dark); padding: .1rem .45rem; border-radius: 4px; font-weight: 700; }
.bbf-disclosure { margin: .6rem 0 0; font-size: .82rem; color: var(--bbf-ink-soft); }
.bbf-cta-final { text-align: center; margin: 2rem 0 0; }

/* ---------- author / E-E-A-T ---------- */
.bbf-author {
	background: #f4f4f2;
	border: 1px solid var(--bbf-line);
	border-radius: 10px;
	padding: 1rem 1.1rem;
	margin: 1.5rem 0;
}
.bbf-author__inner { display: flex; gap: 1rem; align-items: flex-start; }
.bbf-author__photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.bbf-author__byline { margin: 0; font-size: 1rem; color: var(--bbf-ink); }
.bbf-author__byline a { color: var(--bbf-amber-dark); }
.bbf-author__role { color: var(--bbf-ink-soft); font-weight: 400; }
.bbf-author__tested { margin: .35rem 0; color: var(--bbf-good); font-weight: 700; font-size: .92rem; }
.bbf-author__bio { margin: .35rem 0 0; color: var(--bbf-ink-soft); font-size: .95rem; line-height: 1.5; }

/* ---------- facts table ---------- */
.bbf-facts { margin: 1.75rem 0; }
.bbf-facts__table { width: 100%; border-collapse: collapse; }
.bbf-facts__table th,
.bbf-facts__table td {
	text-align: left;
	padding: .7rem .9rem;
	border-bottom: 1px solid var(--bbf-line);
	color: var(--bbf-ink);          /* explicit: never inherit a light colour */
	vertical-align: top;
}
.bbf-facts__table th { width: 45%; font-weight: 700; background: #faf7f1; }
.bbf-facts__table tr:nth-child(even) td { background: #fcfbf9; }

/* ---------- pros / cons ---------- */
.bbf-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 1.75rem 0; }
.bbf-pros, .bbf-cons { background: #fff; border: 1px solid var(--bbf-line); border-radius: 10px; padding: 1rem 1.1rem; }
.bbf-proscons h2 { font-size: 1.15rem; margin: 0 0 .6rem; }
.bbf-pros h2 { color: var(--bbf-good); }
.bbf-cons h2 { color: var(--bbf-bad); }
.bbf-proscons ul { list-style: none; margin: 0; padding: 0; }
.bbf-proscons li { position: relative; padding-left: 1.6rem; margin: .45rem 0; color: var(--bbf-ink); line-height: 1.45; }
.bbf-pros li::before { content: "✔"; position: absolute; left: 0; color: var(--bbf-good); font-weight: 700; }
.bbf-cons li::before { content: "✕"; position: absolute; left: 0; color: var(--bbf-bad); font-weight: 700; }

/* ---------- body + refer + faq ---------- */
.bbf-body { font-size: 1.05rem; line-height: 1.7; margin: 1.75rem 0; }
.bbf-body h2 { margin-top: 1.8rem; }
.bbf-refer { background: var(--bbf-cream); border-radius: 10px; padding: 1rem 1.1rem; margin: 1.5rem 0; }
.bbf-refer h2 { font-size: 1.15rem; margin: 0 0 .4rem; }

.bbf-faq { margin: 2rem 0; }
.bbf-faq__item { border: 1px solid var(--bbf-line); border-radius: 8px; margin: .6rem 0; padding: .25rem .9rem; background: #fff; }
.bbf-faq__item summary { cursor: pointer; font-weight: 700; padding: .6rem 0; color: var(--bbf-ink); }
.bbf-faq__answer { color: var(--bbf-ink-soft); padding-bottom: .6rem; line-height: 1.6; }

/* ---------- mobile ---------- */
@media (max-width: 600px) {
	.bbf-proscons { grid-template-columns: 1fr; }
	.bbf-hero { justify-content: center; text-align: center; }
	/* facts table stays a simple 2-col key/value - keep both cells readable */
	.bbf-facts__table th { width: 50%; background: #faf7f1 !important; color: var(--bbf-ink) !important; }
	.bbf-facts__table td { background: #fff !important; color: var(--bbf-ink) !important; }
}
