/* Best Texas Septic — supplemental styles. Tokens live in theme.json. */

/* Content runs at ~75% of the viewport on desktop; on smaller screens that
   would be too narrow, so fall back to full width inside the root padding. */
@media (max-width: 1100px) {
	body {
		--wp--style--global--content-size: 100%;
		--wp--style--global--wide-size: 100%;
	}
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
:where(a) { text-underline-offset: 0.18em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }

/* ---------- Flag stripe accent ---------- */
.bts-stripe {
	height: 6px;
	background: linear-gradient(90deg,
		var(--wp--preset--color--navy) 0 50%,
		
		var(--wp--preset--color--red) 50% 100%);
}
.bts-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--wp--preset--color--red);
	margin-bottom: 0.25rem !important;
}
.has-navy-deep-background-color .bts-eyebrow,
.has-navy-background-color .bts-eyebrow { color: var(--wp--preset--color--gold); }

/* ---------- Header ---------- */
.bts-header {
	position: sticky;
	top: 0;
	z-index: 50;
	transition: box-shadow .2s ease;
}
.admin-bar .bts-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bts-header { top: 0; position: relative; } }
.bts-header.is-scrolled .bts-header__main { box-shadow: 0 6px 20px rgba(11, 28, 69, .12); }
.bts-utility { font-size: 0.85rem; }
.bts-utility a { color: inherit; text-decoration: none; }
.bts-utility a:hover { color: var(--wp--preset--color--gold); }
.bts-header .wp-block-site-logo img { max-height: 64px; width: auto; }
@media (max-width: 600px) {
	.bts-utility .bts-utility__extra { display: none; }
	.bts-header .wp-block-site-logo img { max-height: 48px; }
}
.bts-header .wp-block-navigation a:hover { color: var(--wp--preset--color--red); }
.bts-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--red); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-bts-gold .wp-block-button__link {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy-deep);
}
.wp-block-button.is-style-bts-gold .wp-block-button__link:hover { background: #ffd633; }
.wp-block-button.is-style-bts-ghost .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
}
.wp-block-button.is-style-bts-ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); }
.wp-block-button__link { transition: background-color .15s ease, transform .15s ease; }
.wp-block-button__link:active { transform: translateY(1px); }

/* ---------- Cards ---------- */
.wp-block-group.is-style-bts-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	box-shadow: var(--wp--preset--shadow--card);
	height: 100%;
}
.bts-service-card { overflow: hidden; padding: 0 !important; display: flex; flex-direction: column; }
.bts-service-card .wp-block-post-featured-image { margin: 0; }
.bts-service-card .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.bts-service-card__body { padding: 1.4rem 1.5rem 1.6rem; flex: 1; display: flex; flex-direction: column; gap: .6rem; }
.bts-service-card .wp-block-post-title { font-size: 1.3rem; margin: 0; }
.bts-service-card .wp-block-post-excerpt__more-text { margin-top: auto; }
.bts-service-card .wp-block-post-excerpt__more-link {
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 600;
	font-size: .9rem;
	text-decoration: none;
}
.wp-block-post-template.is-layout-grid > li { display: flex; }
.wp-block-post-template.is-layout-grid > li > * { width: 100%; }

/* Team */
.bts-team-card { text-align: center; padding: 0 !important; overflow: hidden; }
.bts-team-card .wp-block-post-featured-image { margin: 0; }
.bts-team-card .wp-block-post-featured-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.bts-team-card__body { padding: 1.1rem 1.25rem 1.4rem; }
.bts-team-card .wp-block-post-title { font-size: 1.25rem; margin: 0; }
.bts-team-card .bts-team-role {
	font-size: .85rem;
	font-weight: 600;
	color: var(--wp--preset--color--red);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin: .25rem 0 .5rem;
}
.bts-team-card .wp-block-post-excerpt { font-size: .95rem; color: var(--wp--preset--color--slate); }

/* Feature icons */
.bts-icon {
	width: 52px; height: 52px;
	border-radius: 12px;
	display: grid; place-items: center;
	background: var(--wp--preset--color--gold-soft);
	color: var(--wp--preset--color--navy);
}
.bts-icon svg { width: 26px; height: 26px; }
.has-navy-deep-background-color .bts-icon { background: rgba(242, 194, 0, .15); color: var(--wp--preset--color--gold); }

/* Hero */
.bts-hero { position: relative; overflow: hidden; }
.bts-hero__media img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.bts-hero__badge {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(242, 194, 0, .14);
	color: var(--wp--preset--color--gold);
	border: 1px solid rgba(242, 194, 0, .35);
	padding: .35rem .8rem; border-radius: 999px;
	font-size: .85rem; font-weight: 600;
}
.bts-hero h1 { color: var(--wp--preset--color--white); }
.bts-hero h1 mark { background: none; color: var(--wp--preset--color--gold); }

/* Trust bar */
.bts-trust p { margin: 0; }
.bts-trust strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 1.6rem; color: var(--wp--preset--color--navy); line-height: 1.1; }

/* Checkmark list */
ul.is-style-bts-checks { list-style: none; padding-left: 0; }
ul.is-style-bts-checks li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
ul.is-style-bts-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em;
	width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--wp--preset--color--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* Service area chips */
.bts-towns { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.bts-towns li {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: .35rem .9rem;
	font-size: .92rem;
}

/* Testimonials */
.bts-quote { position: relative; }
.bts-quote .bts-stars { color: var(--wp--preset--color--gold); letter-spacing: .15em; font-size: 1.1rem; margin: 0; }
.bts-quote blockquote, .bts-quote p.bts-quote__text { font-size: 1.05rem; margin: 0; }
.bts-quote cite, .bts-quote .bts-quote__by { font-style: normal; font-weight: 600; color: var(--wp--preset--color--navy); font-size: .95rem; }

/* Footer */
.bts-footer a { color: inherit; text-decoration: none; }
.bts-footer a:hover { color: var(--wp--preset--color--gold); }
.bts-footer h2, .bts-footer h3 { color: var(--wp--preset--color--gold); font-size: 1rem; letter-spacing: .1em; }
.bts-footer ul { list-style: none; padding: 0; margin: 0; }
.bts-footer li { margin-bottom: .45rem; }
.bts-footer .wp-block-site-logo img { background: var(--wp--preset--color--white); padding: 10px 14px; border-radius: 8px; }

/* Page header band */
.bts-page-hero h1 { color: var(--wp--preset--color--white); margin: 0; }
.bts-page-hero p { color: rgba(255, 255, 255, .85); }

/* Entry content readability */
.bts-entry > p, .bts-entry > ul, .bts-entry > ol { max-width: 72ch; }

/* Stacked full-width sections sit flush against each other and the footer. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block: 0; }

@media (max-width: 600px) {
	.bts-trust__cols { flex-wrap: wrap !important; row-gap: 1rem; }
	.bts-trust__cols > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
}

/* Pricing */
.bts-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem; margin: 2.5rem 0 1.5rem; }
.bts-price-card {
	position: relative; text-align: center; background: #fff; border: 2px solid var(--wp--preset--color--line);
	border-radius: 12px; padding: 1.75rem 1.25rem 1.4rem; box-shadow: var(--wp--preset--shadow--card);
}
.bts-price-card.is-best { border-color: var(--wp--preset--color--red); }
.bts-price-card__flag {
	position: absolute; top: -0.8rem; left: 50%; transform: translateX(-50%);
	background: var(--wp--preset--color--red); color: #fff; font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; padding: .2rem .8rem; border-radius: 999px; white-space: nowrap;
}
.bts-price-card h3 { font-size: 1.05rem; margin: 0 0 .4rem; }
.bts-price-card__price { font-family: var(--wp--preset--font-family--heading); font-size: 2.6rem; font-weight: 700; line-height: 1; margin: 0; color: var(--wp--preset--color--navy-deep); }
.bts-price-card.is-best .bts-price-card__price { color: var(--wp--preset--color--red); }
.bts-price-card__note { color: var(--wp--preset--color--slate); font-size: .9rem; margin: .5rem 0 0; }
.bts-plan-band { background: var(--wp--preset--color--navy-deep); color: #fff; border-radius: 12px; padding: 1.4rem 1.5rem; text-align: center; }
.bts-plan-band h3 { color: var(--wp--preset--color--gold); margin: 0 0 .35rem; font-size: 1.25rem; }
.bts-plan-band p { margin: 0; }
.bts-plan-band__small { font-size: .85rem; opacity: .8; margin-top: .35rem !important; }
.bts-accept { text-align: center; color: var(--wp--preset--color--slate); font-size: .95rem; margin: 1.25rem 0 1.5rem; }
/* Pricing grid mirrors the flyer: pairs side by side, an odd last card centered. */
.bts-pricing { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 48rem; margin-inline: auto; }
.bts-price-card:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - .625rem); }
.bts-plan-band { max-width: 48rem; margin-inline: auto; }
@media (max-width: 600px) {
	.bts-pricing { grid-template-columns: 1fr; }
	.bts-price-card:last-child:nth-child(odd) { width: 100%; }
}
