/* Able VCHRGD page – scoped to .avc so the theme is not affected. */
.avc {
	--avc-primary: #0b2a4a;
	--avc-accent: #f5b400;
	--avc-btn-text: #0b2a4a;
	--avc-ink: #1d2733;
	--avc-muted: #5b6673;
	--avc-line: #e3e8ee;
	--avc-soft: #f4f7fa;
	--avc-radius: 10px;
	color: var(--avc-ink);
	font-size: 17px;
	line-height: 1.6;
	overflow-x: hidden;
}
.avc *, .avc *::before, .avc *::after { box-sizing: border-box; }
.avc h1, .avc h2, .avc h3 { color: var(--avc-primary); line-height: 1.2; margin: 0 0 .6em; font-weight: 700; letter-spacing: 0; text-transform: none; }
.avc h1 { font-size: clamp(30px, 4.6vw, 48px); }
.avc h2 { font-size: clamp(24px, 3.2vw, 34px); }
.avc h3 { font-size: 20px; }
.avc p { margin: 0 0 1em; }
.avc a { color: var(--avc-primary); }
.avc img { max-width: 100%; height: auto; }

.avc-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.avc-narrow { max-width: 820px; }
.avc-section { padding: 64px 0; }
.avc-band { background: var(--avc-soft); }
.avc-center { text-align: center; }
.avc-small { font-size: 14px; color: var(--avc-muted); margin-top: 14px; }

/* Hero */
.avc-hero { background: linear-gradient(135deg, var(--avc-primary) 0%, #123d66 100%); color: #fff; padding: calc(72px + var(--avc-header, 0px) + var(--avc-extra, 0px)) 0 64px; }
.avc-hero--short { padding: calc(56px + var(--avc-header, 0px) + var(--avc-extra, 0px)) 0 48px; }
.avc-hero h1 { color: #fff; max-width: 820px; }
.avc-eyebrow { text-transform: uppercase; font-size: 13px; letter-spacing: .08em; font-weight: 700; color: var(--avc-accent); margin-bottom: 12px; }
.avc-lead { font-size: clamp(17px, 2vw, 20px); max-width: 760px; color: #e6eef6; }
.avc-price-flag { display: inline-block; background: rgba(255,255,255,.12); border-radius: 999px; padding: 6px 16px; color: #fff; }
.avc-hero .avc-rating, .avc-hero .avc-rating a { color: #fff; }

/* Buttons */
.avc-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 12px; }
.avc-btn { display: inline-block; padding: 14px 26px; border-radius: 8px; font-weight: 700; text-decoration: none !important; line-height: 1.2; border: 2px solid transparent; transition: filter .15s; }
.avc-btn:hover { filter: brightness(1.08); }
.avc-btn--accent { background: var(--avc-accent); color: var(--avc-btn-text) !important; }
.avc-btn--ghost { border-color: currentColor; color: inherit !important; }
.avc-hero .avc-btn--ghost { color: #fff !important; }
.avc .avc-band .avc-btn--ghost, .avc .avc-section .avc-btn--ghost { color: var(--avc-primary) !important; }

/* Rating */
.avc-rating { margin: 8px 0 0; font-size: 16px; }
.avc-rating a { text-decoration: none; }
.avc-rating--lg { font-size: 20px; text-align: center; margin-bottom: 28px; }
.avc .avc-stars { color: #f5b400 !important; letter-spacing: 2px; opacity: 1; }

/* Trust bar */
.avc-trust { background: #fff; border-bottom: 1px solid var(--avc-line); padding: 22px 0; }
.avc-trust__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.avc-badge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 10px 8px; border-radius: var(--avc-radius); background: var(--avc-soft); margin: 0; }
.avc-badge img { max-height: 44px; width: auto; }
.avc-badge__title { font-weight: 700; color: var(--avc-primary); font-size: 15px; line-height: 1.3; }
.avc-badge__sub { font-size: 13px; color: var(--avc-muted); line-height: 1.3; }

/* Grids and cards */
.avc-grid { display: grid; gap: 22px; }
.avc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.avc-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .avc-grid--3, .avc-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .avc-grid--3, .avc-grid--4 { grid-template-columns: 1fr; } }
.avc-card { background: #fff; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); padding: 24px; margin: 0; }
.avc-tile { display: flex; flex-direction: column; }
.avc-tile > a { margin-top: auto; font-weight: 700; text-decoration: none; color: var(--avc-accent); }
.avc-tile__price { font-weight: 700; color: var(--avc-primary); }
.avc-split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }

/* Lists */
.avc-ticks { list-style: none; margin: 0 0 1em; padding: 0; }
.avc-ticks li { position: relative; padding: 0 0 0 30px; margin: 0 0 10px; }
.avc-ticks li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--avc-accent); font-weight: 900; }
.avc-ticks--boxed { background: #fff; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); padding: 24px; }
.avc-steps { counter-reset: avc; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 22px; }
.avc-steps li { counter-increment: avc; background: #fff; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); padding: 56px 22px 22px; position: relative; margin: 0; }
.avc-steps li::before { content: counter(avc); position: absolute; top: 18px; left: 22px; width: 30px; height: 30px; border-radius: 50%; background: var(--avc-accent); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.avc-steps strong { display: block; color: var(--avc-primary); margin-bottom: 6px; }
.avc-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.avc-chips li { background: var(--avc-soft); border: 1px solid var(--avc-line); border-radius: 999px; padding: 6px 14px; margin: 0; font-size: 15px; }
.avc-brands { margin-top: 24px; }

/* Reviews */
.avc-reviews h2 { text-align: center; }
.avc-review blockquote { margin: 8px 0 12px; padding: 0; border: 0; font-style: normal; font-size: 16px; }
.avc-review figcaption { font-weight: 700; color: var(--avc-muted); font-size: 15px; }

/* Table */
.avc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.avc-table { width: 100%; border-collapse: collapse; min-width: 640px; background: #fff; font-size: 16px; }
.avc-table th, .avc-table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--avc-line); vertical-align: top; }
.avc-table thead th { background: var(--avc-primary); color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.avc-table tbody th { color: var(--avc-primary); }

/* FAQ */
.avc-faq__item { border-bottom: 1px solid var(--avc-line); padding: 16px 0; }
.avc-faq__item summary { cursor: pointer; font-weight: 700; color: var(--avc-primary); font-size: 18px; list-style: none; position: relative; padding-right: 32px; }
.avc-faq__item summary::-webkit-details-marker { display: none; }
.avc-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 24px; color: var(--avc-accent); }
.avc-faq__item[open] summary::after { content: "–"; }
.avc-faq__item p { margin: 12px 0 0; }

/* Quote */
.avc-quote { background: var(--avc-primary); color: #fff; scroll-margin-top: 90px; }
.avc-quote h2, .avc-quote a { color: #fff; }
.avc-quote__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }

.avc-quote__phone { font-size: 20px; font-weight: 700; }
.avc-quote__form { background: #fff; color: var(--avc-ink); border-radius: var(--avc-radius); padding: 24px; }
.avc-quote__form a.avc-btn { color: #fff; }

/* Map */
.avc-map { margin-top: 28px; border-radius: var(--avc-radius); overflow: hidden; border: 1px solid var(--avc-line); }
.avc-map iframe { display: block; width: 100%; height: 380px; border: 0; }

/* Company line */
.avc-company { padding: 22px 0; font-size: 14px; color: var(--avc-muted); text-align: center; }
.avc-company p { margin: 0 0 4px; }

/* Mobile call bar */
.avc-mobilebar { display: none; }
@media (max-width: 760px) {
	.avc-section { padding: 44px 0; }
	.avc-split, .avc-quote__inner { grid-template-columns: 1fr; gap: 24px; }
	.avc-btn { width: 100%; text-align: center; }
	.avc-mobilebar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; box-shadow: 0 -2px 10px rgba(0,0,0,.15); }
	.avc-mobilebar a { flex: 1; text-align: center; padding: 15px 10px; font-weight: 700; text-decoration: none; background: var(--avc-primary); color: #fff !important; }
	.avc-mobilebar a.avc-mobilebar__quote { background: var(--avc-accent); color: var(--avc-btn-text) !important; }
	body.avc-page { padding-bottom: 54px; }
}

/* VCHRGD page additions */
.avc-hero__inner { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.avc-hero--img .avc-hero__inner { grid-template-columns: 1.25fr 1fr; }
.avc-hero__media img { border-radius: var(--avc-radius); display: block; }
.avc-hero__note { color: #cfdbe7; font-size: 15px; max-width: 640px; }
.avc-kicker { text-transform: uppercase; font-size: 13px; letter-spacing: .08em; font-weight: 700; color: var(--avc-muted); margin-bottom: 6px; }
.avc-intro { max-width: 820px; }
.avc-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 760px) { .avc-grid--2, .avc-hero--img .avc-hero__inner { grid-template-columns: 1fr; } }
.avc-product { display: flex; flex-direction: column; }
.avc-product__img { display: block; margin: 0 auto 16px; max-height: 260px; width: auto; }
.avc-tag { display: inline-block; align-self: flex-start; background: var(--avc-soft); border: 1px solid var(--avc-line); border-radius: 999px; padding: 3px 12px; font-size: 13px; font-weight: 700; color: var(--avc-primary); margin-bottom: 10px; }
.avc-product__spec { font-weight: 700; color: var(--avc-muted); }
.avc-product__links { margin-top: auto; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; padding-top: 8px; }
.avc-link { font-weight: 700; text-decoration: none; }
.avc-best { margin: 0; color: var(--avc-muted); }
.avc-solar { background: var(--avc-soft); }
.avc-team { border-radius: var(--avc-radius); display: block; margin-bottom: 20px; }
.avc-badge__logos { display: flex; gap: 8px; justify-content: center; }
.avc-badge__title a { color: inherit; text-decoration: none; }
.avc-reviews { text-align: center; }
.avc-contact { background: var(--avc-primary); color: #fff; scroll-margin-top: 90px; }
.avc-contact h2, .avc-contact > .avc-wrap a:not(.avc-btn) { color: #fff; }
.avc-contact .avc-btn--ghost { color: #fff !important; }
.avc .avc-contact .avc-btn--ghost { color: #fff !important; }
.avc-contact__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.avc-contact__card { background: #fff; color: var(--avc-ink); border-radius: var(--avc-radius); padding: 26px; }
.avc-contact__card a { color: var(--avc-primary) !important; font-weight: 700; }
.avc-dl { margin: 0 0 14px; display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; }
.avc-dl dt { color: var(--avc-muted); font-size: 15px; }
.avc-dl dd { margin: 0; }
.avc-contact__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.avc-small--light, .avc-small--light a { color: #cfdbe7 !important; }
@media (max-width: 760px) { .avc-contact__inner { grid-template-columns: 1fr; gap: 24px; } .avc-dl { grid-template-columns: 1fr; gap: 2px; } .avc-dl dd { margin-bottom: 10px; } }

.avc-chips--links a { text-decoration: none; font-weight: 700; }
.avc-townlist { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 16px; }
.avc-townlist li { margin: 0 0 6px; break-inside: avoid; }
.avc-townlist a { text-decoration: none; font-weight: 600; }

/* Slim header / footer when the theme's are hidden */
body.avc-bare { margin: 0; background: #fff; }
.avc-mini { background: #fff; border-bottom: 1px solid var(--avc-line); padding: 10px 0; position: sticky; top: 0; z-index: 50; }
.avc-mini__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.avc-mini__brand { display: flex; align-items: center; text-decoration: none; }
.avc-mini__brand img { max-height: 44px; width: auto; }
.avc-mini__name { font-weight: 800; font-size: 20px; color: var(--avc-primary); }
.avc-mini__call { font-weight: 700; text-decoration: none; color: var(--avc-primary) !important; white-space: nowrap; }
.avc-minifoot { padding: 18px 0 24px; font-size: 14px; color: var(--avc-muted); text-align: center; border-top: 1px solid var(--avc-line); }
.avc-minifoot a { color: var(--avc-muted); }
@media (max-width: 760px) { .avc-mini__call { display: none; } }

/* Fast installation */
.avc-speed { display: inline-block; background: var(--avc-accent); color: var(--avc-btn-text); border-radius: 999px; padding: 7px 18px; font-size: 17px; margin: 4px 0 6px; }
.avc-speed strong { color: inherit; }
.avc-speedband { background: #fff8e1; }
.avc-speedband .avc-ctas { margin-bottom: 0; }
