.bb-plant-record { background: #f5f8f6; }
.bb-plant-header { padding-block: clamp(2.5rem, 7vw, 5.5rem); background: var(--bb-teal); color: var(--bb-white); }
.bb-plant-header--specimen { border-bottom: .5rem solid var(--bb-yellow); }
.bb-plant-header__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr); align-items:center; gap:clamp(2rem,6vw,6rem); }
.bb-plant-header h1 { max-width:14ch; margin:.25rem 0 .5rem; color:var(--bb-white); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(3rem,8vw,6rem); line-height:.9; }
.bb-plant-header__common { margin:.4rem 0 0; font-size:clamp(1.2rem,2vw,1.55rem); font-weight:700; }
.bb-plant-header__common a { color:var(--bb-white); }
.bb-plant-header__botanical { margin:.25rem 0 0; color:rgb(255 255 255 / 78%); font-size:1.1rem; }
.bb-plant-header__image { aspect-ratio:4/3; margin:0; overflow:hidden; box-shadow:1rem 1rem 0 var(--bb-yellow); }
.bb-plant-header__image img { width:100%; height:100%; object-fit:cover; }
.bb-plant-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.4rem; }
.bb-plant-badges span,.bb-record-status { display:inline-flex; width:max-content; border:1px solid rgb(255 255 255 / 55%); padding:.35rem .7rem; color:var(--bb-white); background:rgb(255 255 255 / 10%); font-size:.85rem; font-weight:700; }
.bb-record-status { margin-top:1.25rem; border-color:var(--bb-yellow); color:var(--bb-teal); background:var(--bb-yellow); }
.bb-plant-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,20rem); gap:clamp(2rem,6vw,5rem); padding-block:clamp(2.5rem,7vw,6rem); }
.bb-plant-main { min-width:0; }
.bb-record-lede { max-width:42rem; margin:0 0 2.5rem; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.15; }
.bb-fact-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-bottom:clamp(2.5rem,6vw,5rem); background:var(--bb-border); }
.bb-fact-strip div,.bb-definition-grid div { padding:1rem; background:var(--bb-white); }
.bb-fact-strip dt,.bb-definition-grid dt { color:#567078; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.bb-fact-strip dd,.bb-definition-grid dd { margin:.25rem 0 0; font-weight:700; }
.bb-record-section { margin-bottom:1.25rem; padding:clamp(1.5rem,4vw,2.5rem); background:var(--bb-white); }
.bb-record-section--accent { border-left:.45rem solid var(--bb-yellow); background:var(--bb-yellow-pale); }
.bb-record-section h2,.bb-record-card h2 { margin:0 0 1rem; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.75rem,4vw,2.6rem); line-height:1; }
.bb-record-section h3 { margin:1.5rem 0 .4rem; }
.bb-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; background:var(--bb-border); }
.bb-plant-sidebar { display:grid; align-content:start; gap:1rem; }
.bb-record-card { padding:1.4rem; background:var(--bb-white); box-shadow:0 .75rem 2rem rgb(3 61 80 / 7%); }
.bb-record-card ul { margin:0; padding:0; list-style:none; }
.bb-record-card li { display:grid; gap:.2rem; border-top:1px solid var(--bb-border); padding:.75rem 0; }
.bb-record-card li:first-child { border-top:0; }
.bb-record-card li span { color:#567078; font-size:.85rem; }
.bb-record-edit { display:inline-flex; justify-content:center; padding:.8rem 1rem; color:var(--bb-white); background:var(--bb-teal); font-weight:700; text-decoration:none; }
.bb-plant-archive-header { padding-block:clamp(3rem,7vw,6rem); background:var(--bb-teal); color:var(--bb-white); }
.bb-plant-archive-header h1 { margin:.25rem 0 1rem; color:var(--bb-white); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(3rem,8vw,6.5rem); line-height:.9; }
.bb-plant-archive-header p:last-child { max-width:42rem; }
.bb-plant-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; padding-block:clamp(2.5rem,6vw,5rem); }
.bb-plant-card { overflow:hidden; background:var(--bb-white); box-shadow:0 1rem 2.5rem rgb(3 61 80 / 9%); }
.bb-plant-card__image { display:grid; aspect-ratio:4/3; place-items:center; overflow:hidden; color:var(--bb-teal); background:var(--bb-teal-light); font-family:"Cormorant Garamond",Georgia,serif; font-size:3rem; font-weight:700; text-decoration:none; }
.bb-plant-card__image img { width:100%; height:100%; object-fit:cover; transition:transform 220ms ease; }
.bb-plant-card:hover .bb-plant-card__image img { transform:scale(1.025); }
.bb-plant-card__body { padding:1.35rem; }
.bb-plant-card h2 { margin:.2rem 0 .6rem; font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; line-height:1; }
.bb-plant-card h2 a { text-decoration:none; }
.bb-plant-card__body p { margin:.35rem 0; }
@media (max-width:64rem) { .bb-plant-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:48rem) {
 .bb-plant-header__grid,.bb-plant-layout { grid-template-columns:1fr; }
 .bb-plant-header__image { order:-1; box-shadow:.6rem .6rem 0 var(--bb-yellow); }
 .bb-fact-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bb-plant-sidebar { order:-1; }
}
@media (max-width:36rem) { .bb-definition-grid,.bb-plant-archive-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .bb-plant-card__image img { transition:none; } }


.bb-field-update { min-height:70vh; background:#f5f8f6; }
.bb-field-update__header { padding-block:2rem; color:var(--bb-white); background:var(--bb-teal); }
.bb-field-update__header h1 { margin:.2rem 0; color:var(--bb-white); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.75rem,8vw,5rem); line-height:.9; }
.bb-field-update__identity { margin:.35rem 0 0; color:var(--bb-yellow); font-size:1.2rem; font-weight:700; }
.bb-field-update__header p:last-child { margin:.35rem 0 0; color:rgb(255 255 255 / 78%); }
.bb-field-update__body { padding-block:clamp(1.5rem,5vw,4rem); }
.bb-field-success { margin-bottom:1rem; border-left:.4rem solid #27844f; padding:1rem; background:#e9f7ef; font-weight:700; }
.bb-field-message,.bb-field-form,.bb-field-recent { max-width:52rem; margin-inline:auto; padding:clamp(1.25rem,4vw,2rem); background:var(--bb-white); box-shadow:0 .75rem 2rem rgb(3 61 80 / 8%); }
.bb-field-message h2,.bb-field-recent h2 { margin-top:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; }
.bb-field-actions { margin:0 0 1.5rem; border:0; padding:0; }
.bb-field-actions legend { margin-bottom:.75rem; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.75rem,5vw,2.4rem); font-weight:700; }
.bb-field-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.bb-field-actions legend { grid-column:1/-1; }
.bb-field-actions label { position:relative; }
.bb-field-actions input { position:absolute; opacity:0; pointer-events:none; }
.bb-field-actions span { display:flex; min-height:3.5rem; align-items:center; border:2px solid var(--bb-border); padding:.75rem; background:#f7faf9; font-weight:700; cursor:pointer; }
.bb-field-actions input:checked + span { border-color:var(--bb-teal); color:var(--bb-white); background:var(--bb-teal); }
.bb-field-actions input:focus-visible + span { outline:.2rem solid var(--bb-yellow); outline-offset:.15rem; }
.bb-field-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.bb-field-form label > span,.bb-field-note > span,.bb-field-photo > span { display:block; margin-bottom:.3rem; font-weight:700; }
.bb-field-form input:not([type="radio"]),.bb-field-form select,.bb-field-form textarea { width:100%; min-height:3rem; border:1px solid #8da5ac; border-radius:0; padding:.65rem .75rem; color:var(--bb-teal); background:var(--bb-white); font:inherit; }
.bb-field-form textarea { min-height:8rem; resize:vertical; }
.bb-field-note,.bb-field-photo { display:block; margin-top:1rem; }
.bb-field-photo small { display:block; margin-top:.35rem; color:#567078; }
.bb-field-form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.5rem; }
.bb-field-submit { display:inline-flex; min-height:3.25rem; align-items:center; justify-content:center; border:0; padding:.8rem 1.2rem; color:var(--bb-teal); background:var(--bb-yellow); font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.bb-field-recent { margin-top:1.5rem; }
.bb-field-recent ol { margin:0; padding:0; list-style:none; }
.bb-field-recent li { display:grid; grid-template-columns:auto 1fr auto; gap:.35rem .75rem; border-top:1px solid var(--bb-border); padding:1rem 0; }
.bb-field-recent li:first-child { border-top:0; }
.bb-field-recent time,.bb-field-recent li > span { color:#567078; font-size:.82rem; }
.bb-field-recent li > span { text-transform:capitalize; }
.bb-field-recent p { grid-column:1/-1; margin:.25rem 0 0; }
.bb-field-update-link { display:inline-flex; min-height:3rem; align-items:center; justify-content:center; margin-bottom:1rem; padding:.7rem 1rem; color:var(--bb-teal); background:var(--bb-yellow); font-weight:700; text-decoration:none; }
.bb-public-history { margin:0; padding:0; list-style:none; }
.bb-public-history li { position:relative; margin-left:.5rem; border-left:.18rem solid var(--bb-yellow); padding:0 0 1.5rem 1.5rem; }
.bb-public-history li::before { position:absolute; top:.2rem; left:-.46rem; width:.72rem; aspect-ratio:1; border-radius:50%; background:var(--bb-teal); content:""; }
.bb-public-history time { color:#567078; font-size:.85rem; }
.bb-public-history strong { display:block; margin:.2rem 0; }
.bb-public-history img { width:min(100%,24rem); margin-top:.75rem; }
@media (max-width:36rem) {
 .bb-field-actions,.bb-field-form__grid { grid-template-columns:1fr; }
 .bb-field-actions span { min-height:3.25rem; }
 .bb-field-recent li { grid-template-columns:1fr auto; }
 .bb-field-recent time { grid-column:1/-1; }
}


/* Colony and IPM tracking */
.bb-operational-index .bb-record-section {
	padding-block: clamp(2rem, 5vw, 5rem);
}

.bb-operational-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	gap: 1rem;
}

.bb-operational-grid .bb-record-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .65rem;
}

.bb-operational-grid .bb-record-card h2,
.bb-operational-grid .bb-record-card p {
	margin: 0;
}

.bb-operational-update small {
	display: block;
	margin-top: .35rem;
	color: var(--bb-stone);
}

.bb-operational-record .bb-field-message,
.bb-operational-index .bb-field-message {
	margin-block: clamp(2rem, 8vw, 7rem);
	max-width: 46rem;
}

@media (max-width: 42rem) {
	.bb-operational-record .bb-definition-grid {
		grid-template-columns: 1fr;
	}
}


/* Structured hive inspections */
.bb-hive-actions {
	display: grid;
	gap: .75rem;
}

.bb-hive-actions .bb-field-update-link,
.bb-hive-actions .bb-record-edit {
	width: 100%;
	margin: 0;
}

.bb-inspection-section {
	margin: 0 0 1rem;
	border: 1px solid var(--bb-border);
	padding: 0;
	background: #f7faf9;
}

.bb-inspection-section--open {
	padding: 1rem;
}

.bb-inspection-section h2 {
	margin-top: 0;
}

.bb-inspection-section summary {
	padding: 1rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(1.5rem, 5vw, 2rem);
	font-weight: 700;
	cursor: pointer;
}

.bb-inspection-section[open] summary {
	border-bottom: 1px solid var(--bb-border);
}

.bb-inspection-section > .bb-field-form__grid,
.bb-inspection-section > .bb-inspection-checks,
.bb-inspection-section > .bb-form-help {
	margin: 1rem;
}

.bb-inspection-checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
	border: 0;
	padding: 0;
}

.bb-inspection-checks legend {
	grid-column: 1 / -1;
	margin-bottom: .35rem;
	font-weight: 700;
}

.bb-inspection-checks label {
	display: flex;
	min-height: 3rem;
	align-items: center;
	gap: .55rem;
	border: 1px solid var(--bb-border);
	padding: .65rem;
	background: var(--bb-white);
}

.bb-inspection-checks input {
	width: 1.25rem;
	height: 1.25rem;
}

.bb-form-help {
	color: #567078;
	font-size: .9rem;
}

.bb-inspection-submit {
	position: sticky;
	bottom: 0;
	z-index: 5;
	margin-inline: -1rem;
	padding: .75rem 1rem;
	background: rgb(255 255 255 / 95%);
	box-shadow: 0 -.5rem 1.5rem rgb(3 61 80 / 10%);
}

.bb-hive-history td,
.bb-hive-history th {
	padding: .65rem;
	text-align: left;
	vertical-align: top;
}

.bb-hive-history {
	width: 100%;
	border-collapse: collapse;
}

.bb-hive-history tr {
	border-bottom: 1px solid var(--bb-border);
}

@media (max-width: 36rem) {
	.bb-inspection-checks {
		grid-template-columns: 1fr;
	}

	.bb-hive-history thead {
		position: absolute;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
	}

	.bb-hive-history tr,
	.bb-hive-history td {
		display: block;
	}

	.bb-hive-history tr {
		padding-block: .75rem;
	}

	.bb-hive-history td {
		padding: .2rem 0;
	}
}


/* Canonical public profile shell */
.bb-profile-record { background:#f5f8f6; }
.bb-profile-header { padding-block:clamp(2.5rem,7vw,5.5rem); color:var(--bb-white); background:var(--bb-teal); }
.bb-profile-header__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr); align-items:center; gap:clamp(2rem,6vw,6rem); }
.bb-profile-header h1 { max-width:14ch; margin:.25rem 0 .5rem; color:var(--bb-white); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(3rem,8vw,6rem); line-height:.9; }
.bb-profile-header__subtitle { margin:.4rem 0 0; font-size:clamp(1.2rem,2vw,1.55rem); font-weight:700; }
.bb-profile-header__secondary { margin:.25rem 0 0; color:rgb(255 255 255 / 78%); font-size:1.1rem; }
.bb-profile-header__image { aspect-ratio:4/3; margin:0; overflow:hidden; box-shadow:1rem 1rem 0 var(--bb-yellow); }
.bb-profile-header__image img { width:100%; height:100%; object-fit:cover; }
.bb-profile-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.4rem; }
.bb-profile-badges span { display:inline-flex; width:max-content; border:1px solid rgb(255 255 255 / 55%); padding:.35rem .7rem; color:var(--bb-white); background:rgb(255 255 255 / 10%); font-size:.85rem; font-weight:700; }
.bb-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,20rem); gap:clamp(2rem,6vw,5rem); padding-block:clamp(2.5rem,7vw,6rem); }
.bb-profile-main { min-width:0; }
.bb-profile-sidebar { display:grid; align-content:start; gap:1rem; }
.bb-public-profile--wood .bb-profile-layout:not(:has(.bb-profile-sidebar)) { grid-template-columns:minmax(0,1fr); }
@media (max-width:48rem) {
 .bb-profile-header__grid,.bb-profile-layout { grid-template-columns:1fr; }
 .bb-profile-header__image { order:-1; box-shadow:.6rem .6rem 0 var(--bb-yellow); }
 .bb-profile-sidebar { order:-1; }
}
