/* Tool-specific extras layered on top of main.css */

.sbg-tool { margin-top: 8px; }
.sbg-tool legend { padding: 0; }
.sbg-tool fieldset { border: 0; padding: 0; margin: 0; }

/* Product DB filters */
.sbg-pdb__filters { display: grid; gap: 14px; margin-bottom: 22px; padding: 16px; background: var(--sbg-bg); border-radius: 12px; }
.sbg-pdb__search { display: block; }
.sbg-pdb__search input { width: 100%; padding: 11px 14px; border-radius: 10px; border: 1.5px solid var(--sbg-line-2); background: #fff; font: inherit; }
.sbg-pdb__group { border: 0; padding: 0; margin: 0; }
.sbg-pdb__group legend { padding: 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sbg-muted); margin-bottom: 6px; font-weight: 600; }
.sbg-pdb__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sbg-chip { display: inline-flex; align-items: center; cursor: pointer; }
.sbg-chip input { position: absolute; opacity: 0; pointer-events: none; }
.sbg-chip span { display: inline-block; padding: 7px 13px; border-radius: 999px; background: #fff; border: 1.5px solid var(--sbg-line-2); font-size: .85rem; color: var(--sbg-ink); transition: background .15s, border-color .15s, color .15s; }
.sbg-chip:hover span { border-color: var(--sbg-forest); }
.sbg-chip input:checked + span { background: var(--sbg-forest); color: #fff; border-color: var(--sbg-forest); }
.sbg-chip input:focus-visible + span { outline: 2px solid var(--sbg-orange); outline-offset: 2px; }
.sbg-pdb__actions { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.sbg-pdb__count { color: var(--sbg-muted); font-size: .85rem; }

/* Result lists & callouts */
.sbg-cb-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sbg-cb-list li { display: flex; align-items: flex-start; gap: 10px; background: #fff; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--sbg-line); }
.sbg-cb-list input[type="checkbox"] { margin-top: 3px; accent-color: var(--sbg-forest); }

/* Habitat list cards */
.sbg-habitat-card { padding: 12px 14px; border: 1px solid var(--sbg-line); border-radius: 10px; background: #fff; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.sbg-habitat-card strong { color: var(--sbg-forest); }
.sbg-habitat-card small { color: var(--sbg-muted); }
.sbg-habitat-card button { background: transparent; color: var(--sbg-clay); border: 0; cursor: pointer; }

/* Break-in calendar */
.sbg-break__cal { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 12px; }
.sbg-break__day { padding: 10px 12px; border: 1px solid var(--sbg-line); border-radius: 10px; background: #fff; }
.sbg-break__day strong { display: block; color: var(--sbg-forest); margin-bottom: 4px; }

/* Switch (admin) */
.sbg-switch input { position: absolute; opacity: 0; pointer-events: none; }
.sbg-switch span { display: inline-block; width: 38px; height: 22px; background: var(--sbg-line-2); border-radius: 999px; position: relative; transition: background .15s; }
.sbg-switch span::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; }
.sbg-switch input:checked + span { background: var(--sbg-forest); }
.sbg-switch input:checked + span::after { transform: translateX(16px); }

/* Print */
@media print {
	.sbg-site-header, .sbg-site-footer, .sbg-mobile-cta, .sbg-compare-rail, .sbg-newsletter, .sbg-hero__visual { display: none !important; }
	body { background: #fff; color: #000; }
	.sbg-section { padding: 12px 0; }
	.sbg-tool { box-shadow: none; border: 1px solid #999; }
}
