/*
Theme Name: BMO Outpost
Theme URI: https://www.bigmikesoutpost.com
Author: Big Mike's Outpost LLC
Description: Dark, earth-toned block theme for Big Mike's Outpost — Black, Slate, Grey, FDE and Coyote Brown. Pair with the BMO Core plugin.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: bmo-outpost
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--wp--preset--color--fde); color: var(--wp--preset--color--black); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--wp--preset--color--fde); outline-offset: 2px; }

.bmo-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase; letter-spacing: .28em; font-size: .78rem !important;
	color: var(--wp--preset--color--fde); margin-bottom: .25rem !important;
	display: flex; align-items: center; gap: .8rem;
}
.bmo-eyebrow::before { content: ""; width: 2.25rem; height: 1px; background: var(--wp--preset--color--coyote); }
.has-text-align-center.bmo-eyebrow, .bmo-cta .bmo-eyebrow { justify-content: center; }
.bmo-legal { font-size: .82rem !important; color: var(--wp--preset--color--grey); border-left: 2px solid var(--wp--preset--color--slate); padding-left: 1rem; margin: 2rem 0 !important; }
.bmo-link a { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; text-decoration: none; }
.bmo-muted { color: var(--wp--preset--color--grey); }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--fde); border: 1px solid var(--wp--preset--color--fde);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--fde); color: var(--wp--preset--color--black); }

/* ---------- Header ---------- */
.bmo-topbar {
	background: var(--wp--preset--color--charcoal); border-bottom: 1px solid rgba(231,225,212,.06);
	font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--grey);
	padding-top: .45rem; padding-bottom: .45rem;
}
.bmo-topbar p { margin: 0; }
.bmo-topbar a { color: var(--wp--preset--color--fde); text-decoration: none; }
@media (max-width: 640px) {
	.bmo-topbar .wp-block-group { justify-content: center !important; }
	.bmo-topbar p:not(.bmo-topbar__contact) { display: none; }
}

header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 0; } }

.bmo-header {
	background: rgba(14, 15, 16, .92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(179, 156, 119, .22);
	padding-top: .8rem; padding-bottom: .8rem;
}
.bmo-brand { gap: .9rem !important; }
.bmo-brand .wp-block-site-logo img { display: block; }
.bmo-brand__text { gap: 0 !important; }
.bmo-brand .wp-block-site-title { font-family: var(--wp--preset--font-family--heading); font-size: 1.35rem; text-transform: uppercase; letter-spacing: .08em; line-height: 1.1; margin: 0; }
.bmo-brand .wp-block-site-title a { color: var(--wp--preset--color--bone); text-decoration: none; }
.bmo-brand__sub { margin: 0 !important; font-size: .68rem; letter-spacing: .25em; text-transform: uppercase; color: var(--wp--preset--color--fde); }

.bmo-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--bone); text-decoration: none; padding: .35rem 0; position: relative; }
.bmo-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--wp--preset--color--fde);
	transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.bmo-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--fde); }
.bmo-nav .wp-block-navigation-item__content:hover::after,
.bmo-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.bmo-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--charcoal) !important; border: 1px solid rgba(179,156,119,.25) !important; padding: .4rem 0; min-width: 220px !important;
}
.bmo-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.1rem; }
.bmo-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.bmo-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--black) !important; color: var(--wp--preset--color--bone) !important; padding: 2rem; }
.bmo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; }
.bmo-nav .wp-block-navigation__responsive-container-open, .bmo-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--fde); }

/* Kill stray block-gap margins between header / main / footer */
.wp-site-blocks { padding-top: 0 !important; padding-bottom: 0 !important; }
.wp-site-blocks > *, header.wp-block-template-part > *, footer.wp-block-template-part > * { margin-block-start: 0 !important; }
.bmo-main--front > .wp-block-post-content > * { margin-block-start: 0 !important; }

/* ---------- Main ---------- */
.bmo-main { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); min-height: 55vh; }
.bmo-main--front { padding-top: 0; }
.bmo-main > .wp-block-post-content > :first-child { margin-top: 0; }

/* ---------- Home hero ---------- */
.bmo-hero {
	position: relative; overflow: hidden;
	padding-top: clamp(5rem, 14vw, 10rem) !important; padding-bottom: clamp(5rem, 14vw, 10rem) !important;
	background:
		radial-gradient(ellipse 60% 70% at 85% 30%, rgba(125, 98, 69, .35), transparent 70%),
		radial-gradient(ellipse 50% 60% at 10% 90%, rgba(58, 68, 78, .55), transparent 70%),
		repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 2px, transparent 2px 14px),
		linear-gradient(180deg, #121416 0%, #0e0f10 100%);
	border-bottom: 1px solid rgba(179, 156, 119, .2);
	margin-top: 0 !important;
}
.bmo-hero::after {
	content: "B.M.O."; position: absolute; right: -2vw; bottom: -4vw; pointer-events: none;
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 22vw; line-height: 1; letter-spacing: .02em;
	color: rgba(231, 225, 212, .025);
}
.bmo-hero > * { position: relative; z-index: 1; }
.bmo-hero__title { font-size: clamp(3rem, 8vw, 6.25rem) !important; font-weight: 600 !important; line-height: .95 !important; margin-top: .5rem !important; }
.bmo-hero__lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 40rem; color: rgba(231, 225, 212, .82); }
.bmo-hero .wp-block-buttons { margin-top: 2rem; }

/* Sections */
.bmo-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; margin-top: 0 !important; }
.bmo-section--alt { background: var(--wp--preset--color--charcoal); border-top: 1px solid rgba(231,225,212,.05); border-bottom: 1px solid rgba(231,225,212,.05); }
.bmo-pillars { gap: 1.5rem !important; }
.bmo-pillars > .wp-block-column {
	background: linear-gradient(180deg, var(--wp--preset--color--charcoal), var(--wp--preset--color--black));
	border: 1px solid rgba(231,225,212,.08); border-top: 2px solid var(--wp--preset--color--fde);
	padding: 2rem 1.75rem;
}
.bmo-pillars h3 { margin-top: 0; }
.bmo-section ul.wp-block-list { list-style: none; padding: 0; margin-top: 3.2rem; }
.bmo-section ul.wp-block-list li { padding: .9rem 0 .9rem 2rem; border-bottom: 1px solid rgba(231,225,212,.08); position: relative; }
.bmo-section ul.wp-block-list li::before { content: ""; position: absolute; left: 0; top: 1.45rem; width: .9rem; height: 1px; background: var(--wp--preset--color--fde); }

.bmo-cta {
	text-align: center; margin-top: 0 !important;
	padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important;
	background: linear-gradient(135deg, var(--wp--preset--color--coyote) 0%, #5b4632 100%);
}
.bmo-cta p { color: rgba(231,225,212,.9); }
.bmo-cta .wp-block-buttons { justify-content: center; }
.bmo-cta .wp-block-button__link { background: var(--wp--preset--color--black); color: var(--wp--preset--color--bone); }
.bmo-cta .wp-block-button__link:hover { background: var(--wp--preset--color--bone); color: var(--wp--preset--color--black); }

.bmo-panel {
	background: var(--wp--preset--color--charcoal); border: 1px solid rgba(231,225,212,.08); border-left: 3px solid var(--wp--preset--color--fde);
	padding: 2rem clamp(1.25rem, 3vw, 2.5rem) !important; margin-top: 2.5rem !important; margin-bottom: 2.5rem !important;
}
.bmo-panel h3 { margin-top: 0; }

/* ---------- Single model / listing ---------- */
.bmo-crumb { font-size: .8rem; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 0 !important; }
.bmo-crumb a { text-decoration: none; color: var(--wp--preset--color--grey); }
.bmo-crumb a:hover { color: var(--wp--preset--color--fde); }
.bmo-single__title { margin-top: .5rem !important; margin-bottom: .25rem !important; }
.bmo-single__cols { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-top: 2rem !important; }
.bmo-single__image img { border: 1px solid rgba(231,225,212,.08); }
.bmo-single__content .wp-block-gallery { margin-top: 1.5rem; }
.bmo-single__reviews { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--50); border-top: 1px solid rgba(231,225,212,.08); }
@media (min-width: 782px) { .bmo-single__cols > .wp-block-column:last-child .bmo-specs { position: sticky; top: 7.5rem; } }

/* Post cards (blog/archive) */
.bmo-card--post { background: var(--wp--preset--color--charcoal); border: 1px solid rgba(231,225,212,.08); height: 100%; }
.bmo-card--post .bmo-card__body { padding: 1.1rem 1.25rem; }
.bmo-404 { text-align: left; padding-top: 8rem !important; }

/* ---------- Footer ---------- */
.bmo-footer {
	background: var(--wp--preset--color--charcoal); border-top: 2px solid var(--wp--preset--color--coyote);
	padding-top: var(--wp--preset--spacing--60); padding-bottom: 2rem; font-size: .92rem; color: rgba(231,225,212,.75);
}
.bmo-footer h4 { font-size: .85rem; letter-spacing: .2em; color: var(--wp--preset--color--fde); margin-top: 0; }
.bmo-footer__title { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .08em; font-size: 1.25rem; }
.bmo-footer__title a { color: var(--wp--preset--color--bone); text-decoration: none; }
.bmo-footer__blurb { color: var(--wp--preset--color--grey); max-width: 22rem; }
.bmo-footer__links { list-style: none; padding: 0; margin: 0; }
.bmo-footer__links li { margin: .45rem 0; }
.bmo-footer a { color: rgba(231,225,212,.75); text-decoration: none; }
.bmo-footer a:hover { color: var(--wp--preset--color--fde); }
.bmo-footer__legal {
	border-top: 1px solid rgba(231,225,212,.08); margin-top: 3rem !important; padding-top: 1.5rem;
	font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--grey);
}
.bmo-footer__legal p { margin: 0; }
.bmo-footer__disclaimer { font-size: .74rem; color: rgba(138,141,144,.75); margin-top: 1rem !important; max-width: 60rem; }
