/* Leaflet 1.9.4 stylesheet (BSD-2-Clause, (c) Volodymyr Agafonkin, CloudMade), bundled here since v1.8.6: cdnjs served it
   empty or not at all on 2026-10-13, which let map tiles spill out of every map. Our map rules below override it. */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* ---- end Leaflet ---- */

/* 01-tokens.css */
:root {
  /* Dark scale (hero, CTA bands) */
  --btg-bg-0: #0d0f0c;
  --btg-bg-1: #181c15;
  --btg-bg-2: #20241f;

  /* Green scale */
  --btg-green: #54aa47;          /* brand accent: icons, borders, kickers — not for text-on-bg contrast */
  --btg-green-light: #6ec95f;    /* eyebrow text on dark bg */
  --btg-green-lighter: #8ad97c;  /* phone number link on dark bg */
  --btg-green-link: #38792f;     /* AA-safe: text links + solid button fills, replaces the old #3f8a35 */
  --btg-green-tint: #e3f1df;     /* icon tile background on light cards */

  /* Light body scale */
  --btg-text: #1c201b;
  --btg-text-muted: #4a5046;
  --btg-card-bg: #f6f8f5;
  --btg-card-border: #e2e6e0;

  /* Type */
  --btg-font-head: "Roboto Slab", Georgia, serif;
  --btg-font-body: "PT Sans", Arial, sans-serif;

  /* Spacing (4px scale) */
  --btg-space-1: 4px;
  --btg-space-2: 8px;
  --btg-space-3: 16px;
  --btg-space-4: 24px;
  --btg-space-5: 32px;
  --btg-space-6: 48px;

  /* Radius */
  --btg-radius-sm: 6px;
  --btg-radius-md: 10px;
  --btg-radius-pill: 999px;
}

/* 02-hero.css */
.btg-hero {
  background-color: var(--btg-bg-0); /* fallback if gradients aren't supported; also keeps background-color non-transparent for tooling that reads it */
  background-image: radial-gradient(ellipse farthest-side at 50% 0%, var(--btg-bg-1), var(--btg-bg-0));
  color: #fff;
  text-align: center;
  padding: var(--btg-space-6) var(--btg-space-4) var(--btg-space-5);
  position: relative;
  overflow: hidden;
  /* Space before whatever follows the hero. On the homepage an Avada
     tagline box ("Now Open in Chesterfield, Virginia!") sits right after
     it with no top margin of its own, so without this the two touch. */
  margin-bottom: var(--btg-space-6) !important;
  /* Full-bleed dark band: the shadow paints bg-0 out to both viewport
     edges while the box (and its text) stays exactly where it is. The
     gradient already fades to bg-0 at the edges, so there's no seam.
     Shadows don't create scrollable overflow, so no horizontal scroll. */
  box-shadow: 0 0 0 100vmax var(--btg-bg-0);
  clip-path: inset(0 -100vmax);
}

.btg-hero-eyebrow {
  font-family: var(--btg-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--btg-green-light) !important;
  text-align: center !important;
  margin: 0 0 var(--btg-space-3);
}

.btg-hero-title {
  font-family: var(--btg-font-head);
  font-weight: 300;
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.18;
  margin: 0 0 var(--btg-space-3);
  /* !important: the Avada theme ships its own higher-specificity heading
     color rule (loaded before this bundle) that otherwise wins the
     cascade and leaves this text dark-on-dark against the hero's
     near-black background — confirmed live on bobthetechguy.com. Color
     and alignment are set directly on the element (not just inherited
     from .btg-hero) so they can't lose to the theme regardless of where
     this stylesheet's <link> ends up in the DOM. */
  color: #fff !important;
  text-align: center !important;
}

.btg-hero-title strong {
  font-weight: 700;
  color: var(--btg-green-lighter) !important;
}

.btg-hero-lede {
  font-family: var(--btg-font-body);
  font-size: 16px;
  color: #c3cabf !important;
  text-align: center !important;
  max-width: 56ch;
  margin: 0 auto var(--btg-space-4);
  /* !important on margin-left/right: the Avada theme sets an explicit
     margin (not just margin-bottom) on every <p> in the content area
     (`.post-content p { margin: 0px 0px 20px; }`), which overrides this
     rule's own `margin: 0 auto ...` shorthand. text-align: center alone
     only centers the text *inside* the paragraph box — with the box's own
     left/right margins forced to 0 by the theme, the box itself stays
     pinned to the hero's left edge, so the line as a whole reads as
     off-center under the centered headline above it. Confirmed live on
     bobthetechguy.com. */
  margin-left: auto !important;
  margin-right: auto !important;
}

.btg-hero-cta {
  display: inline-block;
  background: var(--btg-green-link) !important;
  color: #fff !important;
  font-family: var(--btg-font-body);
  font-weight: 700;
  font-size: 15px;
  padding: 13px 28px;
  border-radius: var(--btg-radius-sm);
  text-decoration: none;
}

/* Dialable digits under the vanity number (added by addCtaDigits). */
.btg-hero-cta-digits {
  display: block;
  font-weight: 400;
  font-size: 13px;
  opacity: 0.9;
}

/* Trust line under the hero CTA (added by addHeroTrust). */
.btg-hero-trust {
  margin: var(--btg-space-3) 0 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: var(--btg-font-body);
  font-size: 14px;
  letter-spacing: 0.02em;
}

/* The site shows the WP toolbar (Log In / Register) to logged-out
   visitors; hide it for them only. WP pushes <html> down 32/46px for it. */
body:not(.logged-in) #wpadminbar {
  display: none !important;
}
html:has(body:not(.logged-in)) {
  margin-top: 0 !important;
}

/* Avada's #main padding-top (55px) left a white strip between the nav and
   the full-bleed hero band; the hero has its own top padding. */
#main:has(.btg-hero) {
  padding-top: 0 !important;
}

.btg-hero-cta:focus-visible {
  outline: 3px solid var(--btg-green-lighter);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
  .btg-hero-cta {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }
  .btg-hero-cta:hover,
  .btg-hero-cta:focus-visible {
    transform: scale(1.04);
    box-shadow: 0 0 18px rgba(84, 170, 71, 0.5);
  }
}

/* 03-accordion.css */
.btg-faq-item {
  border: 1px solid var(--btg-card-border);
  border-radius: var(--btg-radius-md);
  margin-bottom: var(--btg-space-2);
  overflow: hidden;
}

.btg-faq-question {
  width: 100%;
  text-align: left;
  background: var(--btg-card-bg);
  border: 0;
  font-family: var(--btg-font-body);
  font-weight: 700;
  font-size: 15px;
  color: var(--btg-text);
  padding: var(--btg-space-3) var(--btg-space-4);
  cursor: pointer;
}

.btg-faq-question:focus-visible {
  outline: 3px solid var(--btg-green-link);
  outline-offset: -3px;
}

.btg-faq-answer {
  padding: 0 var(--btg-space-4) var(--btg-space-3);
  font-family: var(--btg-font-body);
  font-size: 14px;
  color: var(--btg-text-muted);
  line-height: 1.6;
}

@media (prefers-reduced-motion: no-preference) {
  .btg-faq-answer {
    transition: grid-template-rows 0.2s ease;
  }
}

/* 04-sticky-cta.css */
.btg-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: var(--btg-bg-0);
  padding: var(--btg-space-2) var(--btg-space-3);
  padding-bottom: calc(var(--btg-space-2) + env(safe-area-inset-bottom, 0px));
  text-align: center;
}

.btg-sticky-cta-link {
  display: block;
  background: var(--btg-green-link);
  color: #fff;
  font-family: var(--btg-font-body);
  font-weight: 700;
  font-size: 16px;
  padding: 12px;
  border-radius: var(--btg-radius-sm);
  text-decoration: none;
}

.btg-sticky-cta-link:focus {
  /* :focus, not :focus-visible — a sticky call bar on a phone is reached
     almost exclusively by touch or keyboard, so an always-visible ring
     costs nothing and avoids relying on a heuristic that headless
     browsers apply inconsistently for programmatic focus(). */
  outline: 3px solid var(--btg-green-lighter);
  outline-offset: 2px;
}

@media (min-width: 860px) {
  .btg-sticky-cta {
    display: none; /* desktop already shows the phone number in the header */
  }
}

/* 05-scroll-reveal.css */
@media (prefers-reduced-motion: no-preference) {
  [data-btg-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
  [data-btg-reveal].btg-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 06-cards.css — town page summary cards (spec 2026-09-25-town-page-cards) */
.btg-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); align-items: start; gap: var(--btg-space-4); margin: var(--btg-space-2) 0 var(--btg-space-5); }
.btg-card { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 22px 22px 16px; }
.btg-card::before { content: ""; display: block; width: 34px; height: 34px; border-radius: 8px; background: var(--btg-green-tint) center / 22px no-repeat; }
.btg-card--shield::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.btg-card--laptop::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='11' rx='1'/%3E%3Cpath d='M2 19h20'/%3E%3C/svg%3E"); }
.btg-card--wifi::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a15 15 0 0 1 20 0'/%3E%3Cpath d='M5 12.5a10 10 0 0 1 14 0'/%3E%3Cpath d='M8.5 16a5 5 0 0 1 7 0'/%3E%3Ccircle cx='12' cy='19.5' r='1'/%3E%3C/svg%3E"); }
.btg-card--network::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='5' rx='1'/%3E%3Crect x='2' y='17' width='6' height='5' rx='1'/%3E%3Crect x='16' y='17' width='6' height='5' rx='1'/%3E%3Cpath d='M12 7v5M5 17v-3h14v3'/%3E%3C/svg%3E"); }
.btg-card--gauge::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18a8 8 0 1 1 16 0'/%3E%3Cpath d='M12 18l4-6'/%3E%3C/svg%3E"); }
.btg-card--drive::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E"); }
.btg-card-title { font-family: var(--btg-font-head) !important; font-size: 19px !important; line-height: 1.3 !important; margin: var(--btg-space-3) 0 6px !important; color: var(--btg-text) !important; }
.btg-card-summary, .btg-card details p, .btg-card details li { color: var(--btg-text-muted); font-size: 15px; line-height: 1.55; }
.btg-card-summary { margin: 0 0 10px !important; }
.btg-card summary { cursor: pointer; color: var(--btg-green-link); font-weight: 700; font-size: 14px; list-style: none; }
.btg-card summary::-webkit-details-marker { display: none; }
.btg-card summary::after { content: " +"; }
.btg-card details[open] > summary::after { content: " \2013"; }
.btg-card details[open] > summary { margin-bottom: 10px; }
.btg-card summary:focus-visible { outline: 3px solid var(--btg-green-link); outline-offset: 2px; border-radius: 2px; }
.btg-card details ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.btg-card details li { position: relative; padding-left: 22px; margin-bottom: 6px; }
.btg-card details li::before { content: ""; position: absolute; left: 2px; top: 0.4em; width: 10px; height: 5px; border-left: 2px solid var(--btg-green); border-bottom: 2px solid var(--btg-green); transform: rotate(-45deg); }
.btg-cards-cta { text-align: center; margin-bottom: var(--btg-space-5); }
body.single-post:has(.btg-hero) h2.entry-title,
body.single-post:has(.btg-hero) .single-navigation {
  display: none !important;
}

/* 07-sitewide.css — v1.1.0 (spec 2026-09-26-services-cards-and-centering) */
.fusion-title .title-sep-container {
  display: none !important;
}
/* Avada's content+sidebar layout floats #content left of #sidebar, which
   on every page loading this bundle holds only a retired Facebook Like Box
   that renders nothing (checked 2026-09-27). */
body.has-sidebar #sidebar {
  display: none !important;
}
body.has-sidebar #content { float: none !important; margin-left: auto !important; margin-right: auto !important; }
.btg-checklist { list-style: none; margin: 0 0 var(--btg-space-5) !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px var(--btg-space-4); }
@media (max-width: 600px) {
  .btg-checklist { grid-template-columns: 1fr; }
}
.btg-checklist li { position: relative; padding-left: 22px; margin: 0 !important; color: var(--btg-text-muted); line-height: 1.55; }
.btg-checklist li::before { content: ""; position: absolute; left: 2px; top: 0.4em; width: 10px; height: 5px; border-left: 2px solid var(--btg-green); border-bottom: 2px solid var(--btg-green); transform: rotate(-45deg); }
.btg-cta-block { text-align: center; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: var(--btg-radius-md); padding: var(--btg-space-4); margin: var(--btg-space-5) 0; }
.btg-cta-block h3 { margin: 0 0 var(--btg-space-2) !important; padding-top: 0 !important; }
.btg-cta-block h3::before { display: none !important; }
.btg-cta-block p { margin: 0 0 4px !important; }
.btg-card--globe::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18'/%3E%3C/svg%3E"); }
.btg-card--alert::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 16H3z'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
.btg-card--cloud::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18h10a4 4 0 0 0 0-8 6 6 0 0 0-11.5 1.5A3.5 3.5 0 0 0 7 18z'/%3E%3C/svg%3E"); }
.btg-card--mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.btg-card--lock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }

/* v1.2.0 — small Services pages (split) and the Services index (panels).
   Spec: docs/superpowers/specs/2026-09-27-services-split-and-index-design.md */
.btg-banner { text-align: center; margin: 0 0 var(--btg-space-4) !important; }
.btg-split { display: grid; grid-template-columns: 1fr; gap: var(--btg-space-4); align-items: start; margin: 0 0 var(--btg-space-4); }
@media (min-width: 768px) {
  .btg-split { grid-template-columns: 1.3fr 1fr; }
  .btg-split--stacked { grid-template-columns: 1fr; }
}
.btg-split-text p { margin: 0 0 var(--btg-space-3) !important; }
.btg-split-text p:last-child { margin-bottom: 0 !important; }
.btg-include-card { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 22px 22px 16px; }
.btg-include-card::before { content: ""; display: block; width: 34px; height: 34px; border-radius: 8px; background-color: var(--btg-green-tint); background-position: center; background-size: 22px; background-repeat: no-repeat; margin-bottom: var(--btg-space-2); }
.btg-include-card h2 { font-size: 21px !important; line-height: 1.3 !important; margin: 0 0 var(--btg-space-3) !important; padding-top: 0 !important; }
.btg-include-card h2::before { display: none !important; }
.btg-include-card .btg-checklist { grid-template-columns: 1fr; margin-bottom: 0 !important; }
.btg-split--stacked .btg-include-card .btg-checklist { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 600px) {
  .btg-split--stacked .btg-include-card .btg-checklist { grid-template-columns: 1fr; }
}
.btg-note { color: var(--btg-text-muted); font-style: italic; margin: 0 0 var(--btg-space-3) !important; }
.btg-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--btg-space-3); margin: var(--btg-space-4) 0; }
.btg-panel { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: var(--btg-space-3) var(--btg-space-3) var(--btg-space-2); }
.btg-panel-title { font-family: var(--btg-font-body) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase; color: var(--btg-green-link) !important; margin: 0 0 var(--btg-space-2) !important; padding-top: 0 !important; }
.btg-panel-title::before { display: none !important; }
.btg-panel-list { list-style: none; margin: 0 !important; padding: 0 !important; }
.btg-panel-list li { margin: 0 !important; border-bottom: 1px solid var(--btg-card-border); }
.btg-panel-list li:last-child { border-bottom: 0; }
.btg-panel-link { display: flex; align-items: center; gap: 10px; padding: 9px 2px; color: var(--btg-text) !important; text-decoration: none !important; line-height: 1.3; }
.btg-panel-link::before { content: ""; flex: none; width: 28px; height: 28px; border-radius: var(--btg-radius-sm); background-color: var(--btg-green-tint); background-position: center; background-size: 16px; background-repeat: no-repeat; }
.btg-panel-link::after { content: "\203A"; margin-left: auto; padding-left: 8px; color: var(--btg-green-link); font-weight: 700; }
.btg-panel-link:hover, .btg-panel-link:focus-visible { color: var(--btg-green-link) !important; }
.btg-card--tool::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.btg-card--screen::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='1'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E"); }
.btg-card--chip::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='1'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3C/svg%3E"); }
.btg-card--plug::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4'/%3E%3C/svg%3E"); }
.btg-card--window::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M7 6.5h.01M10 6.5h.01'/%3E%3C/svg%3E"); }
.btg-card--box::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5zM3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E"); }
.btg-card--printer::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6M6 18H4v-7h16v7h-2M6 14h12v7H6z'/%3E%3C/svg%3E"); }

/* v1.3.0 — consistent top bar, one-row header, Services dropdown, search.
   Spec: docs/superpowers/specs/2026-09-27-header-logo-search-design.md */
html .fusion-header-wrapper::before,
html .fusion-header-wrapper:before { display: none !important; }
.fusion-secondary-header { background: #20241f !important; border: 0 !important; padding: 0 !important; }
.fusion-secondary-header .fusion-row { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; max-width: 1180px; margin: 0 auto; padding: 7px 24px !important; }
.fusion-secondary-header .fusion-row::before { content: "NOW SERVING CHESTERFIELD \00B7  MIDLOTHIAN \00B7  CHESTER \00B7  BON AIR \00B7  COLONIAL HEIGHTS \00B7  GREATER RICHMOND, VA"; display: block; color: #e8efe6; font-family: var(--btg-font-body); font-size: 12.5px; font-weight: 700; letter-spacing: .04em; line-height: 1.4; }
.fusion-secondary-header .fusion-row::after { display: none !important; }
.fusion-secondary-header .fusion-alignleft { float: none !important; margin: 0 0 0 auto !important; }
.fusion-secondary-header .fusion-contact-info,
.fusion-secondary-header .fusion-contact-info a { font-family: var(--btg-font-body) !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .04em !important; line-height: 1.4 !important; color: #e8efe6 !important; }
@media (max-width: 900px) {
  .fusion-secondary-header .fusion-row { justify-content: center; }
  .fusion-secondary-header .fusion-row::before { display: none; }
}

.btg-header-on .fusion-header-wrapper { position: sticky; z-index: 60; }
.btg-header-on .fusion-header { position: relative; background: rgba(255, 255, 255, .97) !important; border-bottom: 1px solid var(--btg-card-border); transition: box-shadow .25s ease; }
.btg-header-on .fusion-header .fusion-row { display: flex !important; align-items: center; gap: 24px; max-width: 1180px; margin: 0 auto; padding: 14px 24px !important; transition: padding .25s ease; }
.btg-header-on .fusion-header .fusion-row::before,
.btg-header-on .fusion-header .fusion-row::after { display: none !important; }
.btg-header-on .fusion-logo { float: none !important; margin: 0 !important; flex: none; }
.btg-header-on .fusion-logo-link { display: block; line-height: 0; }
.btg-logo { display: block; width: 176px; height: auto; transition: width .25s ease; }
.btg-logo-top { fill: #4a5046; }
.btg-logo-main { fill: var(--btg-text); }
.btg-logo-accent { fill: #38792f; }
.btg-logo-pad { animation: btg-pulse 2.4s ease-in-out infinite; }
@keyframes btg-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
.btg-header-on .fusion-header .fusion-secondary-main-menu,
.btg-header-on .fusion-header .fusion-secondary-main-menu > .fusion-row { display: contents !important; }
.btg-header-on .fusion-header .fusion-main-menu { float: none !important; flex: 1; display: flex; justify-content: center; }
.btg-header-on .fusion-main-menu > ul { display: flex !important; gap: 4px; }
.btg-header-on .fusion-main-menu > ul > li { position: static; padding: 0 !important; }
.btg-header-on .fusion-main-menu > ul > li > a { position: relative; display: block; padding: 10px 12px !important; height: auto !important; line-height: 1.4 !important; border: 0 !important; color: var(--btg-text) !important; font-size: 15.5px !important; background: none !important; border-radius: 6px; }
.btg-header-on .fusion-main-menu > ul > li > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--btg-green); transform: scaleX(0); transform-origin: left; transition: transform .28s ease; }
.btg-header-on .fusion-main-menu > ul > li > a:hover::after,
.btg-header-on .fusion-main-menu > ul > li > a:focus-visible::after { transform: scaleX(1); }
.btg-header-on .fusion-main-menu > ul > li.current-menu-item > a,
.btg-header-on .fusion-main-menu > ul > li.current-menu-ancestor > a { color: #38792f !important; font-weight: 700 !important; }
.btg-header-on .fusion-main-menu > ul > li.current-menu-item > a::after,
.btg-header-on .fusion-main-menu > ul > li.current-menu-ancestor > a::after { transform: scaleX(1); height: 3px; box-shadow: 0 0 10px rgba(84, 170, 71, .75); }
.btg-header-on .fusion-main-menu > ul > li.menu-item-11810 > a { background: none !important; color: var(--btg-text) !important; margin: 0 !important; box-shadow: none !important; }
.btg-header-on .fusion-main-menu > ul > li.menu-item-11810 > a .menu-text { color: inherit !important; }
.btg-header-on .fusion-main-menu-search { display: none !important; }
.btg-header-on li.btg-has-panel > .sub-menu { display: none !important; }
.btg-header-tools { display: flex; align-items: center; gap: 12px; margin-left: auto; flex: none; }
.btg-search-btn { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--btg-card-border); background: #fff; display: grid; place-items: center; cursor: pointer; transition: border-color .2s, box-shadow .2s; padding: 0; }
.btg-search-btn:hover,
.btg-search-btn:focus-visible { border-color: var(--btg-green); box-shadow: 0 0 0 4px var(--btg-green-tint); outline: none; }
.btg-call { display: flex; flex-direction: column; align-items: center; background: #3a7f30; color: #fff !important; text-decoration: none !important; border-radius: 8px; padding: 7px 16px; font-family: var(--btg-font-body); font-weight: 700; font-size: 14.5px; line-height: 1.2; transition: transform .18s, box-shadow .18s; }
.btg-call small { font-weight: 400; font-size: 11.5px; opacity: .85; }
.btg-call:hover,
.btg-call:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
.btg-dropdown { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--btg-card-border); box-shadow: 0 18px 30px rgba(20, 30, 20, .10); padding: 18px 24px 22px; }
.btg-dropdown[hidden] { display: none; }
.btg-dropdown .btg-panels { max-width: 1132px; margin: 0 auto; }
.btg-scrolled .fusion-header { box-shadow: 0 6px 20px rgba(20, 30, 20, .08); }
.btg-scrolled .fusion-header .fusion-row { padding-top: 8px !important; padding-bottom: 8px !important; }
.btg-scrolled .btg-logo { width: 148px; }
.btg-search { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--btg-card-border); box-shadow: 0 18px 30px rgba(20, 30, 20, .10); padding: 18px 24px 22px; }
.btg-search[hidden] { display: none; }
.btg-search-form { max-width: 720px; margin: 0 auto; }
.btg-search-input { width: 100%; box-sizing: border-box; font: inherit; font-size: 18px !important; padding: 12px 16px 12px 44px !important; border: 2px solid var(--btg-green) !important; border-radius: 10px !important; outline: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 14px center / 20px no-repeat !important; box-shadow: 0 0 0 4px var(--btg-green-tint); height: auto !important; }
.btg-search-list { list-style: none; margin: 10px 0 0 !important; padding: 0 !important; border: 1px solid var(--btg-card-border); border-radius: 10px; overflow: hidden; }
.btg-search-list[hidden] { display: none; }
.btg-search-list li { display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin: 0 !important; border-bottom: 1px solid var(--btg-card-border); font-size: 15.5px; cursor: pointer; }
.btg-search-list li:last-child { border-bottom: 0; }
.btg-search-opt.is-active,
.btg-search-all.is-active,
.btg-search-list li:hover { background: var(--btg-green-tint); }
.btg-search-type { margin-left: auto; font-size: 11px; letter-spacing: .12em; color: #6b736a; }
.btg-search-all { color: #38792f; font-weight: 700; }
.btg-search-empty { color: var(--btg-text-muted); cursor: default !important; }
.btg-search-ico { width: 28px; height: 28px; border-radius: 6px; background: var(--btg-green-tint); flex: none; }
.btg-search-ico::before { content: ""; display: block; width: 28px; height: 28px; background-position: center; background-size: 16px; background-repeat: no-repeat; }
.btg-card--pin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.btg-card--page::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338792f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M9 12h7M9 16h7'/%3E%3C/svg%3E"); }
@media (max-width: 900px) {
  .btg-header-on .fusion-header .fusion-main-menu { display: none !important; }
  .btg-header-on .fusion-header .fusion-row { gap: 12px; padding: 10px 16px !important; }
  .btg-logo { width: 150px; }
  .btg-call { padding: 7px 12px; font-size: 14px; }
  .btg-call small { display: none; }
  .btg-header-on .fusion-mobile-menu-icons { display: flex !important; float: none !important; margin: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .btg-logo-pad { animation: none; }
  .btg-logo, .btg-header-on .fusion-header, .btg-header-on .fusion-header .fusion-row,
  .btg-header-on .fusion-main-menu > ul > li > a::after, .btg-call, .btg-search-btn { transition: none; }
}
.btg-header-on .fusion-header .fusion-row { flex-wrap: wrap; }
.btg-header-on .fusion-header .fusion-mobile-nav-holder { flex-basis: 100%; order: 10; margin: 0; }
/* The panel lives inside the theme menu: position it from the header row and undo the theme menu-item styles. */
.btg-header-on .fusion-header .fusion-main-menu,
.btg-header-on .fusion-header .fusion-main-menu > ul { position: static !important; overflow: visible !important; }
.btg-dropdown { top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important; z-index: 70; }
.btg-dropdown ul, .btg-dropdown li { float: none !important; display: block !important; position: static !important; height: auto !important; width: auto !important; background: none !important; }
.btg-dropdown .btg-panel-link { display: flex !important; height: auto !important; line-height: 1.3 !important; padding: 9px 2px !important; font-size: 15px !important; border: 0 !important; }
.btg-dropdown .btg-panel-link::after { content: "\203A" !important; position: static !important; transform: none !important; height: auto !important; background: none !important; box-shadow: none !important; }
.fusion-secondary-header .fusion-contact-info { text-align: right; }
@media (max-width: 900px) { .fusion-secondary-header .fusion-alignleft { margin: 0 auto !important; } .fusion-secondary-header .fusion-contact-info { text-align: center; } }
/* Undo the theme's mobile header spacing so logo and tools share one row on phones. */
.btg-header-on .fusion-header { padding: 0 !important; height: auto !important; min-height: 0 !important; }
.btg-header-on .fusion-header .fusion-logo { width: auto !important; text-align: left !important; padding: 0 !important; }
.fusion-secondary-header .fusion-alignleft { border: 0 !important; padding: 0 !important; }
@media (max-width: 900px) {
  .btg-header-on .fusion-header .fusion-logo { flex: 1 1 auto; min-width: 0; }
  .btg-header-tools { gap: 8px; }
  .btg-header-on .fusion-mobile-menu-icons a { display: block; margin: 0 !important; }
}

/* The per-page style block hides Contact's ::after; keep the hover trace the same on every page. */
.btg-header-on .fusion-main-menu > ul > li.menu-item-11810 > a::after,
.btg-header-on .fusion-main-menu > ul > li.menu-item-11810 > a:after { display: block !important; }
/* 901-1180px (small laptops, tablets in landscape): tighten the row so logo, menu and tools stay on one line. */
@media (min-width: 901px) and (max-width: 1180px) {
  .btg-header-on .fusion-header .fusion-row { gap: 10px; padding-left: 16px !important; padding-right: 16px !important; }
  .btg-logo { width: 138px; }
  .btg-header-on .fusion-main-menu > ul { gap: 0; }
  .btg-header-on .fusion-main-menu > ul > li > a { padding: 10px 7px !important; font-size: 14px !important; }
  .btg-header-on .fusion-main-menu > ul > li > a::after { left: 7px; right: 7px; }
  .btg-header-tools { gap: 8px; }
  .btg-call { padding: 7px 11px; font-size: 13.5px; }
  .btg-call small { display: none; }
}
/* The theme's small dropdowns (About, Customer Log In): anchored under their own item, restyled as small cards. */
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) { position: relative !important; }
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) > .sub-menu { top: 100% !important; left: 0 !important; right: auto !important; margin: 0 !important; min-width: 210px; padding: 6px !important; background: #fff !important; border: 1px solid var(--btg-card-border) !important; border-top: 3px solid var(--btg-green) !important; border-radius: var(--btg-radius-md); box-shadow: 0 14px 28px rgba(20, 30, 20, .12) !important; }
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) > .sub-menu li { border: 0 !important; background: none !important; padding: 0 !important; }
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) > .sub-menu a { display: block; padding: 9px 12px !important; border: 0 !important; border-radius: var(--btg-radius-sm); background: none !important; color: var(--btg-text) !important; font-family: var(--btg-font-body) !important; font-size: 15px !important; line-height: 1.3 !important; }
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) > .sub-menu a:hover,
.btg-header-on .fusion-main-menu > ul > li:not(.btg-has-panel) > .sub-menu a:focus-visible { background: var(--btg-green-tint) !important; color: #38792f !important; }

/* v1.4.0 — homepage body in the card system (spec 2026-09-28-homepage-rebuild). */
.btg-home-announce { margin: 28px 0 8px; }
.btg-home-announce-link { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 16px; align-items: center; background: var(--btg-green-tint); border: 1px solid #cfe3c9; border-radius: var(--btg-radius-md); padding: 14px 18px; color: var(--btg-text) !important; text-decoration: none !important; }
.btg-home-announce-link::before { content: ""; grid-row: span 2; width: 38px; height: 38px; border-radius: 50%; background: #38792f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / 20px no-repeat; }
.btg-home-announce-link strong { font-family: var(--btg-font-head); font-size: 17px; }
.btg-home-announce-link span { grid-column: 2; font-size: 14.5px; line-height: 1.55; color: var(--btg-text-muted); }
.btg-home-announce-link em { grid-column: 3; grid-row: 1 / span 2; font-style: normal; font-weight: 700; color: #38792f; white-space: nowrap; }
.btg-home-announce-link em::after { content: " \2192"; }
.btg-home-announce-link:hover em, .btg-home-announce-link:focus-visible em { text-decoration: underline; }
.btg-home-services, .btg-home-why, .btg-home-reviews, .btg-home-about { padding: 40px 0 8px; }
.btg-home-kicker { font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase; color: #38792f; font-weight: 700; margin: 0 0 4px !important; }
.btg-home-title { font-size: 30px !important; line-height: 1.2 !important; margin: 0 0 20px !important; padding-top: 0 !important; }
.btg-home-title::before { display: none !important; }
.btg-home-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 600px) { .btg-home-grid { grid-template-columns: repeat(2, 1fr); } }
.btg-home-svc { display: flex; flex-direction: column; gap: 6px; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 18px; color: var(--btg-text) !important; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease; }
.btg-home-svc::before { content: ""; width: 38px; height: 38px; border-radius: 8px; background-color: var(--btg-green-tint); background-position: center; background-size: 22px; background-repeat: no-repeat; }
.btg-home-svc strong { font-family: var(--btg-font-head); font-size: 18px; color: var(--btg-text); }
.btg-home-svc span { color: var(--btg-text-muted); font-size: 15px; line-height: 1.5; }
.btg-home-svc:hover, .btg-home-svc:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(20, 30, 20, .08); }
.btg-home-reason { background: #fff; border: 1px solid var(--btg-card-border); border-radius: var(--btg-radius-md); padding: 20px; display: grid; gap: 6px; align-content: start; }
.btg-home-reason::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background-color: #38792f; background-position: center; background-size: 22px; background-repeat: no-repeat; }
.btg-home-reason h3 { color: var(--btg-text) !important; font-family: var(--btg-font-head) !important; font-weight: 400 !important; font-size: 18px !important; margin: 0 !important; padding-top: 0 !important; }
.btg-home-reason h3::before { display: none !important; }
.btg-home-reason p { margin: 0 !important; color: var(--btg-text-muted); font-size: 15px; line-height: 1.55; }
.btg-reason--flag::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4M5 4h11l-2 4 2 4H5'/%3E%3C/svg%3E"); }
.btg-reason--tool::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.btg-reason--star::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E"); }
.btg-reason--home::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
.btg-home-rating { display: flex; align-items: center; gap: 10px; margin: -8px 0 18px !important; color: var(--btg-text-muted); font-weight: 700; }
.btg-home-quotes { columns: 3 280px; column-gap: 16px; }
.btg-home-quote { break-inside: avoid; margin: 0 0 16px !important; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: var(--btg-radius-md); padding: 18px 18px 14px; }
.btg-home-quote blockquote { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 15.5px !important; line-height: 1.6 !important; font-style: normal !important; color: #2b3029; }
.btg-home-quote blockquote::before { content: "\201C"; float: left; font-family: var(--btg-font-head); font-size: 38px; line-height: .9; color: var(--btg-green); margin: 0 4px 0 0; }
.btg-home-quote blockquote p { margin: 0 !important; }
.btg-home-quote blockquote em { display: block; margin-top: 8px; font-size: 14px; color: var(--btg-text-muted); border-left: 3px solid #cfe3c9; padding-left: 10px; }
.btg-home-quote figcaption { font-weight: 700; font-size: 14px; }
.btg-home-more { margin: 0 !important; } .btg-home-more a { color: #38792f !important; font-weight: 700; }
.btg-home-about { display: grid; grid-template-columns: 1fr 1.4fr; gap: 28px; align-items: start; }
.btg-home-lead { font-family: var(--btg-font-head); font-size: 20px !important; line-height: 1.45 !important; margin: 0 !important; }
.btg-home-seo p { margin: 0 0 14px !important; } .btg-home-seo a { color: #38792f !important; font-weight: 700; }
.btg-home-cta { margin: 44px 0 24px; background: radial-gradient(ellipse at 20% 0, #1d231c, #0e110d 70%); color: #fff; border-radius: 12px; padding: 30px 32px; display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; }
.btg-home-cta-text { margin: 0 !important; color: #cfd6cc; }
.btg-home-cta-text strong { display: block; font-family: var(--btg-font-head); font-size: 24px; font-weight: 400; color: #fff; }
.btg-home-cta-btn { background: #3a7f30; color: #fff !important; text-decoration: none !important; border-radius: 8px; padding: 12px 22px; font-weight: 700; transition: transform .18s, box-shadow .18s; }
.btg-home-cta-btn:hover, .btg-home-cta-btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
.btg-home-badges { text-align: center; padding: 8px 0 32px; margin: 0 !important; }
.btg-home-badges img { max-width: 520px; width: 100%; height: auto; }
@media (max-width: 760px) {
  .btg-home-about { grid-template-columns: 1fr; }
  .btg-home-announce-link { grid-template-columns: auto 1fr; }
  .btg-home-announce-link em { grid-column: 2; grid-row: auto; }
  .btg-home-title { font-size: 25px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .btg-home-svc, .btg-home-cta-btn { transition: none; transform: none; }
}

/* v1.5.0 — review cards everywhere, consistent body text, contact form. */
.btg-home-quote { display: flex; flex-direction: column; }
.btg-home-quote blockquote { position: relative; padding-left: 24px !important; }
.btg-home-quote blockquote::before { position: absolute; left: 0; top: -4px; float: none; margin: 0; }
.btg-home-quote figcaption:first-child + blockquote { padding-left: 0 !important; }
.btg-home-quote figcaption:first-child + blockquote::before { display: none; }
.btg-home-quote figcaption:first-child + blockquote > em { display: inline; margin: 0; padding: 0; border: 0; font-size: inherit; color: inherit; }
.btg-home-quotes + .btg-home-more { margin-top: 4px !important; }

html .post-content { font-size: 16.5px; line-height: 1.72; color: var(--btg-text); }

.wpcr3_reviews_holder { columns: 2 320px; column-gap: 16px; }
.wpcr3_review { break-inside: avoid; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: var(--btg-radius-md); padding: 16px 18px; margin: 0 0 16px; }
.wpcr3_dotline { display: none !important; }
.wpcr3_review_datePublished, .wpcr3_review_author { display: inline; font-size: 13.5px !important; color: var(--btg-text-muted); }
.wpcr3_review_title { font-family: var(--btg-font-head); font-size: 16px; font-weight: 700; text-transform: none !important; margin-top: 6px; }
.wpcr3_review blockquote.wpcr3_content { margin: 8px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-style: normal !important; font-size: 15.5px !important; line-height: 1.6 !important; color: #2b3029; }
.wpcr3_review blockquote.wpcr3_content p { margin: 0 !important; }
.wpcr3_button_1 { display: inline-block; border: 1px solid #38792f !important; color: #38792f !important; background: #fff !important; border-radius: 6px !important; padding: 6px 14px !important; font-weight: 700; cursor: pointer; }
.wpcr3_button_1:hover { background: var(--btg-green-tint) !important; }

.wpcf7-form { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 22px 24px 8px; max-width: 640px; margin-top: 16px; }
.wpcf7-form label { display: block; font-weight: 700; font-size: 15px; }
.wpcf7-form-control:not([type="submit"]):not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance) { width: 100% !important; box-sizing: border-box; margin-top: 4px; padding: 10px 12px !important; border: 1.5px solid var(--btg-card-border) !important; border-radius: 8px !important; background: #fff !important; font: inherit !important; font-weight: 400 !important; height: auto !important; }
.wpcf7-form-control:focus { outline: none; border-color: #38792f !important; box-shadow: 0 0 0 3px #38792f33, 0 0 0 1px #38792f; }
.wpcf7-form input[type="submit"] { background: #3a7f30 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 11px 26px !important; font: 700 15px var(--btg-font-body) !important; cursor: pointer; transition: transform .18s, box-shadow .18s; }
.wpcf7-form input[type="submit"]:hover, .wpcf7-form input[type="submit"]:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
@media (prefers-reduced-motion: reduce) {
  .wpcf7-form input[type="submit"] { transition: none; transform: none; }
}

/* v1.5.1: search status line (read by screen readers, visible only as a quiet note) and search above the Services panel. */
.btg-search-status { margin: 8px 2px 0 !important; font-size: 13px; color: var(--btg-text-muted); min-height: 1em; }
.btg-search { z-index: 80; }

/* v1.5.2 — gallery: modern photo grid, button-style slideshow link and page numbers. */
.ngg-galleryoverview:not(.ngg-slideshow) { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: 12px; margin: 8px 0 24px !important; }
.ngg-galleryoverview:not(.ngg-slideshow) > .ngg-clear, .ngg-galleryoverview:not(.ngg-slideshow) > br { display: none !important; }
.ngg-galleryoverview > .slideshowlink,
.ngg-galleryoverview > .ngg-navigation { grid-column: 1 / -1; }
.ngg-gallery-thumbnail-box { float: none !important; width: auto !important; margin: 0 !important; }
.ngg-gallery-thumbnail { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.ngg-gallery-thumbnail a { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--btg-radius-md); background: var(--btg-card-bg); }
.ngg-gallery-thumbnail img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; transition: transform .3s ease; }
.ngg-gallery-thumbnail a:hover img, .ngg-gallery-thumbnail a:focus-visible img { transform: scale(1.05); }
.ngg-gallery-thumbnail a:focus-visible { outline: 3px solid var(--btg-green); outline-offset: 2px; }
.slideshowlink { text-align: right; }
.slideshowlink a { display: inline-block; border: 1px solid #38792f; color: #38792f !important; border-radius: 6px; padding: 5px 12px; font-weight: 700; text-decoration: none !important; }
.slideshowlink a:hover { background: var(--btg-green-tint); }
.ngg-navigation { display: flex !important; justify-content: center; gap: 6px; padding: 8px 0 0 !important; }
.ngg-navigation span, .ngg-navigation a { display: inline-grid !important; place-items: center; min-width: 34px; height: 34px; padding: 0 8px !important; border-radius: 8px !important; border: 1px solid var(--btg-card-border) !important; background: #fff !important; color: var(--btg-text) !important; font-weight: 700; text-decoration: none !important; margin: 0 !important; }
.ngg-navigation span.current { background: #38792f !important; border-color: #38792f !important; color: #fff !important; }
@media (prefers-reduced-motion: reduce) {
  .ngg-gallery-thumbnail img { transition: none; transform: none !important; }
}

/* v1.5.3 — contact page: two location cards, lead line above the form. */
.btg-locations { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 8px 0 20px; }
@media (min-width: 600px) { .btg-locations { grid-template-columns: repeat(2, 1fr); } }
.btg-location { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 18px 20px; display: flex; flex-direction: column; }
.btg-location h3 { font-size: 18px !important; margin: 0 0 6px !important; padding-top: 0 !important; color: var(--btg-text) !important; }
.btg-location h3::before { display: none !important; }
.btg-location p { margin: 0 0 12px !important; color: var(--btg-text-muted); font-size: 15px; line-height: 1.55; }
.btg-location .btg-location-phone { margin: auto 0 0 !important; }
.btg-location-phone a { display: inline-block; font-weight: 700; font-size: 17px; color: #38792f !important; text-decoration: none !important; border: 1px solid #38792f; border-radius: 8px; padding: 6px 14px; }
.btg-location-phone a:hover, .btg-location-phone a:focus-visible { background: var(--btg-green-tint); }
.btg-contact-lead { font-weight: 700; margin: 0 0 4px !important; }

/* v1.5.6 — search results page (/search/): current header, service cards, useful links. */
.btg-sr-form { display: flex; gap: 10px; max-width: 640px; margin: 8px 0 22px; }
.btg-sr-input { flex: 1; min-width: 0; box-sizing: border-box; font: inherit; font-size: 17px !important; padding: 11px 14px !important; border: 1.5px solid var(--btg-card-border) !important; border-radius: 8px !important; background: #fff !important; height: auto !important; }
.btg-sr-input:focus { outline: none; border-color: #38792f !important; box-shadow: 0 0 0 3px #38792f33, 0 0 0 1px #38792f; }
.btg-sr-go { background: #3a7f30 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 0 22px !important; font: 700 15px var(--btg-font-body) !important; cursor: pointer; }
.btg-sr-go:hover, .btg-sr-go:focus-visible { box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
.btg-sr-count, .btg-sr-none { font-weight: 700; margin: 0 0 12px !important; }
.btg-sr-h { font-size: 22px !important; margin: 28px 0 4px !important; }
.btg-sr-group { font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase; color: var(--btg-text-muted); margin: 18px 0 8px !important; }
.btg-sr-list { list-style: none; margin: 0 0 8px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 10px; }
.btg-sr-list li { margin: 0 !important; display: flex; }
.btg-sr-item { display: flex; flex: 1 1 auto; align-items: center; gap: 10px; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: var(--btg-radius-md); padding: 12px 14px; color: var(--btg-text) !important; text-decoration: none !important; font-weight: 700; transition: border-color .18s, transform .18s; }
.btg-sr-item:hover, .btg-sr-item:focus-visible { border-color: var(--btg-green); transform: translateY(-1px); }
.btg-sr-more { margin: 22px 0 0 !important; color: var(--btg-text-muted); } .btg-sr-more a { color: #38792f !important; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .btg-sr-item { transition: none; transform: none !important; } }

/* v1.5.7 — customer login and account hub. */
.btg-acct-grid { display: grid; gap: 18px; grid-template-columns: 1fr; margin: 8px 0 24px; }
@media (min-width: 720px) { .btg-acct-grid { grid-template-columns: 1.4fr 1fr; align-items: start; } }
.btg-acct-card { background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-top: 3px solid var(--btg-green); border-radius: var(--btg-radius-md); padding: 22px 24px; }
.btg-acct-h { font-size: 22px !important; margin: 0 0 12px !important; padding-top: 0 !important; }
.btg-acct-h::before { display: none !important; }
.btg-acct-form label { display: block; font-weight: 700; font-size: 15px; margin: 12px 0 0; }
.btg-acct-form input[type="text"], .btg-acct-form input[type="password"] { width: 100%; box-sizing: border-box; margin-top: 4px; padding: 10px 12px !important; border: 1.5px solid var(--btg-card-border) !important; border-radius: 8px !important; background: #fff !important; font: inherit !important; font-weight: 400 !important; height: auto !important; }
.btg-acct-form input:focus { outline: none; border-color: #38792f !important; box-shadow: 0 0 0 3px #38792f33, 0 0 0 1px #38792f; }
.btg-acct-check { display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; }
.btg-acct-go { margin-top: 16px; background: #3a7f30 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 11px 26px !important; font: 700 15px var(--btg-font-body) !important; cursor: pointer; transition: transform .18s, box-shadow .18s; }
.btg-acct-go:hover, .btg-acct-go:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
.btg-acct-links { margin: 14px 0 0 !important; } .btg-acct-links a, .btg-acct-help a { color: #38792f !important; font-weight: 700; }
.btg-acct-alt { display: inline-block; border: 1px solid #38792f; color: #38792f !important; border-radius: 8px; padding: 9px 18px; font-weight: 700; text-decoration: none !important; }
.btg-acct-alt:hover, .btg-acct-alt:focus-visible { background: var(--btg-green-tint); }
.btg-acct-help { margin: 16px 0 0 !important; color: var(--btg-text-muted); }
.btg-acct-in { font-weight: 700; margin: 0 0 12px !important; }
.btg-acct-t { display: flex; flex-direction: column; } .btg-acct-t small { font-weight: 400; color: var(--btg-text-muted); font-size: 13.5px; }
@media (prefers-reduced-motion: reduce) { .btg-acct-go { transition: none; transform: none !important; } }

/* v1.5.9 — Bob's portrait: round face in the hero, larger photo beside the About story. */
.btg-hero-face { display: block; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; box-shadow: 0 0 0 3px #1c201b, 0 0 0 5px #54aa47, 0 10px 24px rgba(0, 0, 0, .35); }
.btg-bob-intro { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; margin: 8px 0 24px; }
@media (min-width: 720px) { .btg-bob-intro { grid-template-columns: 240px 1fr; gap: 32px; } }
.btg-bob-photo { margin: 0 auto !important; width: 100%; max-width: 240px; }
.btg-bob-photo > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--btg-radius-md); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--btg-green), 0 14px 30px rgba(20, 30, 20, .18); }
.btg-bob-story > p:first-child { margin-top: 0 !important; }

/* v1.5.10 — a real photo beside the first card on four service pages. */
.btg-photo-row { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; margin: 8px 0 24px; }
@media (min-width: 720px) { .btg-photo-row { grid-template-columns: 1fr 240px; gap: 28px; } }
.btg-photo-row > :first-child { margin-top: 0 !important; margin-bottom: 0 !important; }
.btg-photo-fig { margin: 0 auto !important; width: 100%; max-width: 240px; }
.btg-photo-fig img { display: block; width: 100%; height: auto; border-radius: var(--btg-radius-md); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--btg-green), 0 14px 30px rgba(20, 30, 20, .18); }
.btg-split-text .btg-photo-fig { margin: 18px 0 0 !important; }
.btg-photo-fig--wrap { float: right; width: 200px; margin: 4px 0 12px 24px !important; }
.btg-split--stacked .btg-split-text::after { content: ""; display: block; clear: both; }
@media (max-width: 600px) { .btg-photo-fig--wrap { float: none; width: 100%; max-width: 240px; margin: 16px auto 0 !important; } }
.btg-split:not(.btg-split--stacked) .btg-split-text .btg-photo-fig { float: right; width: 160px; margin: 6px 0 10px 20px !important; }
.btg-split:not(.btg-split--stacked) .btg-split-text::after { content: ""; display: block; clear: both; }
@media (max-width: 600px) { .btg-split:not(.btg-split--stacked) .btg-split-text .btg-photo-fig { float: none; width: 100%; max-width: 240px; margin: 0 auto 16px !important; } }

/* v1.6.0 — reviews band, request-a-visit button, old post share buttons hidden. */
.btg-rv { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: center; margin: 28px 0 32px; }
@media (min-width: 900px) { .btg-rv { grid-template-columns: 210px minmax(0, 1fr); gap: 28px; } }
.btg-rv-sum { display: grid; justify-items: center; gap: 6px; text-align: center; }
.btg-rv-word { margin: 0 !important; font: 700 20px/1 var(--btg-font-head); letter-spacing: .08em; text-transform: uppercase; color: var(--btg-text); }
.btg-rv-stars { display: inline-flex; gap: 2px; }
.btg-rv-sum .btg-rv-stars svg { width: 26px; height: 26px; }
.btg-rv-score { margin: 0 !important; color: var(--btg-text); } .btg-rv-score b { font-size: 18px; }
.btg-rv-count { margin: 0 !important; font-size: 13.5px; color: var(--btg-text-muted); }
.btg-rv-all, .btg-rv-google { margin-top: 4px; display: inline-block; border: 1px solid #38792f; color: #38792f !important; border-radius: 8px; padding: 7px 14px; font-weight: 700; font-size: 14px; text-decoration: none !important; }
.btg-rv-all:hover, .btg-rv-all:focus-visible, .btg-rv-google:hover, .btg-rv-google:focus-visible { background: var(--btg-green-tint); }
.btg-rv-slider { position: relative; min-width: 0; }
.btg-rv-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, calc((100% - 32px) / 3)); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: 2px 2px 12px; }
.btg-rv-track:focus-visible { outline: 3px solid var(--btg-green); outline-offset: 2px; }
.btg-rv-card { scroll-snap-align: start; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: 12px; padding: 16px 18px; display: grid; align-content: start; gap: 8px; }
.btg-rv-head { display: flex; gap: 10px; align-items: center; }
.btg-rv-avatar { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #38792f; color: #fff; font-weight: 700; flex: none; }
.btg-rv-name { display: block; font-size: 15px; color: var(--btg-text); }
.btg-rv-sub { display: block; font-size: 12.5px; color: var(--btg-text-muted); }
.btg-rv-text { margin: 0 !important; font-size: 15px !important; line-height: 1.55 !important; color: #2b3029; }
.btg-rv-text.is-clamped { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.btg-rv-more { justify-self: start; background: none !important; border: 0 !important; padding: 0 !important; color: #38792f !important; font: 700 14px var(--btg-font-body) !important; cursor: pointer; text-decoration: underline; }
.btg-rv-nav { display: flex; justify-content: flex-end; gap: 8px; }
/* Google band (issue #11): real reviews from Bob's listing, each card marked with the G and "Posted on Google". */
.btg-gr { margin-bottom: 8px; }
.btg-gr + .btg-rv { margin-top: 8px; }
.btg-rv.btg-rv-plain { grid-template-columns: minmax(0, 1fr); }
.btg-rv-plain .btg-rv-track { grid-auto-columns: minmax(220px, calc((100% - 32px) / 3)); }
.btg-gr-word { font: 500 26px/1 Arial, Helvetica, sans-serif; letter-spacing: -.02em; }
.btg-gr-word i { font-style: normal; }
.btg-gr-card { scroll-snap-align: start; background: var(--btg-card-bg); border: 1px solid var(--btg-card-border); border-radius: 12px; padding: 16px 18px; display: grid; align-content: start; gap: 8px; }
.btg-gr-card .btg-rv-head > span:not(.btg-rv-avatar) { flex: 1; min-width: 0; }
.btg-gr-g { flex: none; align-self: flex-start; }
.btg-gr-posted { display: block; font-size: 12.5px; color: var(--btg-text-muted); }
.btg-gr-rest { justify-self: start; color: #38792f !important; font-weight: 700; font-size: 14px; }
.btg-rv-prev, .btg-rv-next { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--btg-card-border) !important; background: #fff !important; color: #38792f !important; font: 700 22px/1 var(--btg-font-body) !important; cursor: pointer; padding: 0 !important; }
.btg-rv-prev:hover, .btg-rv-next:hover, .btg-rv-prev:focus-visible, .btg-rv-next:focus-visible { border-color: var(--btg-green) !important; }
.btg-cta-request { margin: 14px 0 0 !important; }
.btg-request-btn { display: inline-block; background: #3a7f30; color: #fff !important; text-decoration: none !important; border-radius: 8px; padding: 11px 22px; font-weight: 700; transition: transform .18s, box-shadow .18s; }
.btg-request-btn:hover, .btg-request-btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(84, 170, 71, .45); }
.fusion-sharing-box { display: none !important; }
@media (prefers-reduced-motion: reduce) { .btg-request-btn { transition: none; transform: none !important; } .btg-rv-track { scroll-behavior: auto; } }
.btg-nj-intro p { font-size: 17px !important; max-width: 70ch; }
.btg-nj-h { font-size: 24px !important; margin: 32px 0 12px !important; }
.btg-nj-towns { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.btg-nj-towns li { margin: 0 !important; text-align: center; padding: 6px 12px; border-radius: 99px; background: var(--btg-green-tint); color: #2b4a26; font-weight: 700; font-size: 14px; }
.home .fusion-title-size-two h2.title-heading-left { font-size: 34px !important; line-height: 48px !important; font-weight: 300 !important; margin: 0 !important; color: #333; }

/* v1.6.2 */
.btg-privacy-note { margin-top: 10px; font-size: 14px; color: var(--btg-text-muted); }
.btg-privacy-note a { color: #38792f; }
.btg-hero-alt { margin: 10px 0 0 !important; font-size: 14px; }
.btg-hero-alt a { color: #8bd17c !important; text-decoration: none; }
.btg-hero-alt a:hover, .btg-hero-alt a:focus-visible { text-decoration: underline; }

/* v1.6.5 — footer: contact block, quick links, Google rating badge (+ hours when set). */
.fusion-footer .btg-foot-contact-list, .fusion-footer .btg-foot-links { list-style: none; margin: 0; padding: 0; }
.fusion-footer .btg-foot-contact-list li { margin: 0 0 10px; color: #c9cccf; line-height: 1.5; }
.fusion-footer .btg-foot-contact-list a { color: var(--btg-green-lighter); }
.fusion-footer .btg-foot-contact-list span { color: #9a9ea3; font-size: 0.9em; }
.fusion-footer #text-3 .btg-foot-contact-list a, .fusion-footer .btg-foot a { display: inline; padding: 0; border: 0; }
.fusion-footer .btg-foot-links li { padding: 0 0 12px; margin: 0 0 12px; border-bottom: 1px solid #505152; }
.fusion-footer .btg-foot-links a { display: block; }
.fusion-footer .btg-foot-links a { color: #c9cccf; }
.fusion-footer .btg-foot-links a:hover, .fusion-footer .btg-foot-links a:focus-visible { color: var(--btg-green-lighter); }
.fusion-footer .btg-foot .btg-foot-rating { display: inline-flex; flex-direction: column; gap: 4px; padding: 12px 16px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 10px; color: #e6e8ea !important; text-decoration: none; }
.fusion-footer .btg-foot .btg-foot-rating:hover, .fusion-footer .btg-foot .btg-foot-rating:focus-visible { border-color: var(--btg-green); }
.btg-foot-stars { color: #f5b400; letter-spacing: 2px; font-size: 18px; line-height: 1; }
.btg-foot-hours { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 0; color: #c9cccf; }
.fusion-footer .btg-foot-hours-h { margin-top: 28px; }
.btg-foot-hours dt { font-weight: 600; }
.btg-foot-hours dd { margin: 0; }
.fusion-footer #text-16 + .btg-foot { margin-top: 28px; }

/* v1.6.6 — northern New Jersey area map: footer contact block and the Northern New Jersey page. */
.btg-foot-map { display: block; width: 100%; height: 170px; margin-top: 14px; border: 0; border-radius: 8px; }
.btg-nj-map { display: block; width: 100%; height: 380px; margin: 8px 0 40px; border: 0; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); }
@media (max-width: 600px) { .btg-nj-map { height: 280px; } }

/* v1.7.1 — hours: home hero status pill; contact hours card. */
.btg-hours-pill-wrap { text-align: center; margin: 16px 0 0; }
.btg-hours-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); color: #e6e8ea; font-size: 14px; }
.btg-hours-dot { width: 9px; height: 9px; border-radius: 50%; background: #e0a33a; flex: none; }
.btg-hours-pill.is-open .btg-hours-dot { background: #6ec95f; }
.btg-hours-pill a { color: var(--btg-green-lighter); text-decoration: underline; margin-left: 4px; }
.btg-hours-card { background: #f5f6f4; border: 1px solid #e3e6e8; border-top: 3px solid var(--btg-green); border-radius: 10px; padding: 18px 20px; }
.btg-hours-card h3 { margin: 0; }
.btg-hours-note { margin: 2px 0 10px; color: #777; font-size: 0.9em; }
.btg-hours-week { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; }
.btg-hours-week dt { font-weight: 600; }
.btg-hours-week dd { margin: 0; }
.btg-hours-week .is-today { color: var(--btg-green-link); font-weight: 700; }

/* v1.7.1 — Virginia service zone (Leaflet + OpenStreetMap): contact page and footer. */
.btg-zone { margin: 36px 0 12px; scroll-margin-top: 110px; }
.btg-zone-h { margin: 0 0 4px; font-size: 26px; }
.btg-zone-sub { margin: 0 0 14px; color: #666; }
.btg-zone-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; align-items: stretch; }
.btg-zone-big { min-height: 380px; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); background: #eef1ec; }
/* Chesterfield page: room between the "Towns we serve" pills and the map (padding, so it can't collapse away). */
.btg-nj-towns + .btg-zone-slot:not(.btg-zone-slot--nj) { padding-top: 24px; }
.btg-foot-zone { height: 170px; margin: 14px 0 18px; border-radius: 8px; background: #2c2e2f; }
.btg-zone-map.leaflet-container { font-family: inherit; font-size: 12px; z-index: 0; }
@media (max-width: 760px) { .btg-zone-grid { grid-template-columns: 1fr; } .btg-zone-big { min-height: 300px; } }
.btg-hours-pill { flex-wrap: wrap; justify-content: center; max-width: calc(100% - 32px); }
.btg-hours-pill a { white-space: nowrap; }
@media (max-width: 600px) { .btg-hours-pill { border-radius: 16px; font-size: 13px; padding: 7px 12px; column-gap: 6px; row-gap: 2px; } }
.btg-hours-now { display: inline; }
.btg-hours-now .btg-hours-dot { display: inline-block; vertical-align: 1px; margin-right: 8px; }

/* v1.7.2 — veteran-owned badge (footer + About banner), links to Bob's VeteranOwnedBusiness.com listing. */
.btg-vet-wrap { display: flex; justify-content: center; margin: 18px 0 20px; }
.btg-vet { display: inline-flex; align-items: flex-start; gap: 12px; max-width: 360px; padding: 12px 16px; border-radius: 12px; border: 1px solid #d9e6d5; background: #f3f8f1; color: #1d3b17 !important; text-align: left; text-decoration: none !important; line-height: 1.35; }
.btg-vet:hover, .btg-vet:focus-visible { border-color: var(--btg-green); }
.btg-vet-ico { display: grid; place-items: center; flex: none; width: 40px; height: 40px; margin-top: 2px; border-radius: 50%; background: #38792f; color: #fff; }
.btg-vet-txt { min-width: 0; }
.btg-vet b { display: block; font-size: 15px; letter-spacing: 0.3px; }
.btg-vet small { display: block; margin-top: 2px; font-size: 12.5px; color: #4d5b4a; }
.btg-vet-vob { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.btg-vet-vob img { display: block; width: auto; height: 32px; }
.btg-vet-vob em { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--btg-green-link); white-space: nowrap; }
.btg-vet--dark { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.14); color: #e6e8ea !important; }
.btg-vet--dark small { color: #9ea3a7; }
.btg-vet--dark .btg-vet-ico { background: var(--btg-green); }
.btg-vet--dark .btg-vet-vob { border-top-color: rgba(255, 255, 255, 0.1); }
.btg-vet--dark .btg-vet-vob em { color: var(--btg-green-lighter); }
.fusion-footer #text-16 .btg-vet { display: flex; padding: 12px 16px; }

/* v1.7.3 — About: badge under Bob's photo; home: room between the NJ line and the hours pill. */
.btg-bob-photo .btg-vet-wrap { margin: 40px 0 0; }
.btg-bob-photo .btg-vet { display: flex; width: 100%; max-width: none; padding: 12px 14px; gap: 10px; }
.btg-bob-photo .btg-vet-ico { width: 34px; height: 34px; }
.btg-bob-photo .btg-vet-vob img { height: 28px; }
.btg-hours-pill-wrap { margin: 0 !important; padding-top: 28px; }

/* v1.7.8 — "Related services" row at the foot of every service page. */
.btg-related { margin: 36px 0 28px; }
.btg-related-h { margin: 0 0 14px; font-size: 22px; }
.btg-related-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.btg-related-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #f5f6f4; border: 1px solid #e3e6e8; border-radius: 10px; color: #1d3b17; font-weight: 600; text-decoration: none; }
.btg-related-link:hover, .btg-related-link:focus-visible { border-color: var(--btg-green); background: #fff; }
.btg-related-all { color: var(--btg-green-link); font-weight: 600; }
.btg-related .btg-related-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0 0 14px; padding: 0; }
.btg-related .btg-related-list li { float: none; width: auto; margin: 0; padding: 0; border: 0; }
.btg-related .btg-related-link { box-sizing: border-box; height: 100%; }
@media (max-width: 700px) { .btg-related .btg-related-list { grid-template-columns: 1fr; } }

/* v1.7.9 — Northern New Jersey service-area map (NJ page + footer). */
.btg-zone-nj.btg-zone-big { min-height: 520px; margin: 8px 0 28px; }
.btg-zone-slot--nj { margin-top: 8px; }
.btg-foot-zone-cap { margin: -6px 0 0; }
.fusion-footer .btg-foot-zone-cap a { color: var(--btg-green-lighter); }
@media (max-width: 760px) { .btg-zone-nj.btg-zone-big { min-height: 320px; } }

/* v1.8.0 — footer layout A: rating card as wide as the veteran badge above it. */
.fusion-footer #text-16 + .btg-foot .btg-foot-rating { display: flex; box-sizing: border-box; width: 100%; }
.fusion-footer .btg-foot-region .btg-foot-contact-list { display: flow-root; }
.fusion-footer .btg-foot-region .btg-foot-contact-list li:last-child { margin-bottom: 0; }

/* v1.8.2 — no "By <author> | date | Comments Off" byline and no "About the Author" box on posts/pages. */
.fusion-meta-info, .fusion-single-line-meta, .about-author, .related-posts.single-related-posts { display: none !important; } /* v1.8.8: also the byline on search and archive cards */

/* v1.8.3 — service-area maps: quieter basemap, label pills, credit tucked into a small (i) on footer maps. */
.btg-zone-map .leaflet-tile-pane { filter: grayscale(0.85) contrast(0.78) brightness(1.1); }
.leaflet-tooltip.btg-zone-lbl { background: #fff; border: 1px solid rgba(29, 59, 23, 0.28); border-radius: 999px; padding: 1px 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); font-weight: 700; font-size: 12px; line-height: 18px; color: #1d3b17; text-shadow: none; }
.leaflet-tooltip.btg-zone-lbl::before { display: none; }
.btg-zone-map .leaflet-control-attribution { background: rgba(255, 255, 255, 0.78); font-size: 10px; padding: 0 5px; }
.btg-foot-zone .leaflet-control-attribution { box-sizing: border-box; width: 20px; height: 20px; margin: 0 6px 6px 0; padding: 0; overflow: hidden; white-space: nowrap; border-radius: 10px; line-height: 20px; transition: width 0.15s; }
.btg-foot-zone .leaflet-control-attribution::before { content: "i"; display: inline-block; width: 20px; text-align: center; font: italic 700 12px/20px Georgia, serif; color: #2c2e2f; }
.btg-foot-zone .leaflet-control-attribution:hover, .btg-foot-zone .leaflet-control-attribution:focus-within { width: 172px; padding-right: 6px; text-align: left; }
