/*
Theme Name: Best Trash Can
Theme URI: https://besttrashcan.com
Description: Child theme of Twenty Twenty-Five for besttrashcan.com. Brand colors, self-hosted Inter, header with published-only links, footer, homepage, page, 404, product and list templates.
Author: Lagrange Point Services LLC
Template: twentytwentyfive
Version: 1.2.0
Requires at least: 6.7
Requires PHP: 8.3
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bt-theme
*/

/*
 * Map the parent theme's color and font presets to the brand, so parent
 * templates and patterns that still use them (contrast, base, accent-*,
 * manrope) look consistent. The brand palette itself lives in theme.json.
 */
:root {
	--wp--preset--color--base: #ffffff;
	--wp--preset--color--contrast: #1f2933;
	--wp--preset--color--accent-1: #e8f3ec;
	--wp--preset--color--accent-2: #f2a93b;
	--wp--preset--color--accent-3: #1e6b47;
	--wp--preset--color--accent-4: #6b7280;
	--wp--preset--color--accent-5: #e8f3ec;
	--wp--preset--color--accent-6: #e5e7eb;
	--wp--preset--font-family--manrope: var(--wp--preset--font-family--inter);
}

/* Header */
.bt-header .wp-block-site-logo img {
	height: auto;
}

/* Footer */
.bt-footer a {
	color: #ffffff;
}

.bt-footer a:hover,
.bt-footer a:focus {
	color: #e8f3ec;
}

.bt-footer .bt-footer-logo img {
	width: 200px;
	height: auto;
}

.bt-footer .bt-footer-policy:empty {
	display: none;
}

/* Footer links (published pages only) */
.bt-footer .bt-footer-policy ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Header navigation and the Top lists dropdown */
.bt-nav .wp-block-navigation__submenu-container {
	min-width: 260px;
	padding: 0.5rem 0;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(31, 41, 51, 0.12);
}

.bt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.4rem 1rem;
}

.bt-nav a:hover,
.bt-nav button:hover {
	color: var(--wp--preset--color--green);
}

.bt-nav :focus-visible,
.bt-quick-pick:focus-visible,
.bt-list-card a:focus-visible {
	outline: 3px solid var(--wp--preset--color--green);
	outline-offset: 2px;
}

/* Mobile overlay: left-aligned, list links indented under "Top lists" */
.bt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.bt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.bt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: flex-start;
	text-align: left;
}

.bt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 1rem;
}

.bt-nav .wp-block-navigation__responsive-container.is-menu-open .bt-nav-lists > .wp-block-navigation-item__content {
	font-weight: 600;
}

.bt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	gap: 0.6rem;
	border: 0;
	box-shadow: none;
	padding: 0.6rem 0 0.25rem 1rem;
}

/* Homepage */
.bt-hero {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.bt-hero h1 {
	margin-top: 0;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.15;
}

.bt-hero .bt-hero__sub {
	max-width: 40rem;
	font-size: 1.15rem;
}

.bt-quick-picks ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.bt-quick-pick {
	display: inline-block;
	padding: 0.6rem 1.1rem;
	border: 2px solid var(--wp--preset--color--green);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--green);
	font-weight: 600;
	text-decoration: none;
}

.bt-quick-pick:hover {
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--white);
}

.bt-list-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 1rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.bt-list-card a {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	height: 100%;
	box-sizing: border-box;
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--charcoal);
	text-decoration: none;
}

.bt-list-card a:hover {
	border-color: var(--wp--preset--color--green);
	background: var(--wp--preset--color--mint);
}

.bt-list-card__name {
	color: var(--wp--preset--color--deep-green);
	font-size: 1.1rem;
	font-weight: 700;
}

.bt-list-card__intro {
	color: var(--wp--preset--color--slate);
	font-size: 0.95rem;
	line-height: 1.45;
}

.bt-trust {
	gap: 1rem;
}

.bt-trust > .wp-block-column {
	padding: 1.1rem 1.2rem;
	border-radius: 12px;
	background: var(--wp--preset--color--mint);
}

.bt-trust h3 {
	margin-top: 0;
	font-size: 1.3rem;
}

/* Breadcrumbs */
.bt-breadcrumbs {
	color: var(--wp--preset--color--slate);
	font-size: 0.9rem;
}

.bt-breadcrumbs p {
	margin: 0 0 0.75rem;
}

.bt-breadcrumbs .separator {
	padding: 0 0.35rem;
}

/* Placeholders and draft notes (editor-visible markers) */
.bt-placeholder,
.bt-review-note {
	padding: 1rem 1.2rem;
	border: 2px dashed var(--wp--preset--color--slate);
	border-radius: 8px;
	background: var(--wp--preset--color--white);
}

.bt-review-note {
	border-color: var(--wp--preset--color--amber);
	font-weight: 600;
}

/* Contact page */
.bt-contact-list dt {
	margin-top: 1rem;
	font-weight: 700;
}

.bt-contact-list dd {
	margin: 0.2rem 0 0;
}

/* 404 */
.bt-404 .bt-404__panel h1 {
	margin-top: 0;
}

@media (max-width: 600px) {
	.bt-hero {
		padding-top: var(--wp--preset--spacing--50);
		padding-bottom: var(--wp--preset--spacing--50);
	}
}

/* Slate is only used on white: on the mint hover state, card text turns charcoal. */
.bt-list-card a:hover .bt-list-card__intro {
	color: var(--wp--preset--color--charcoal);
}
