/* Polarity overrides on top of the Webflow stylesheet */
a[data-social][href=""] { display: none !important; }

/* Homepage services carousel (scroll-snap; arrows added by site.js) */
.polarity-carousel { display: flex !important; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.polarity-carousel::-webkit-scrollbar { display: none; }
.polarity-carousel > .card-services { flex: 0 0 calc((100% - 3rem) / 4); scroll-snap-align: start; }
@media (max-width: 991px) { .polarity-carousel > .card-services { flex-basis: calc((100% - 1rem) / 2); } }
@media (max-width: 479px) { .polarity-carousel > .card-services { flex-basis: 82%; } }
.carousel-nav { display: flex; justify-content: flex-end; gap: .5rem; margin-bottom: -.5rem; }
.carousel-nav button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #137d85; background: #fff; color: #137d85; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.carousel-nav button:hover { background: #137d85; color: #fff; }
.carousel-nav button:focus-visible { outline: 3px solid #8efaff; outline-offset: 2px; }
.carousel-nav button[disabled] { opacity: .35; cursor: default; }

/* FAQ-style accordions start closed; site.js toggles .is-open */
.faq2_accordion:not(.is-open) .faq2_answer { height: 0 !important; overflow: hidden !important; }
.faq2_accordion.is-open .faq2_answer { height: auto !important; overflow: visible !important; }
.faq2_accordion .faq2_icon-wrapper { transform: none !important; transition: transform .2s ease; }
.faq2_accordion.is-open .faq2_icon-wrapper { transform: rotate(180deg) !important; }
.faq2_question, .faq2_question-2 { cursor: pointer; }


/* "HVAC Service Near Me": ZIP bar, result cards and county map (markup from finder.mjs, logic in nearestHub.js) */
.polarity-finder { padding: 0 0 5rem; }
.finder-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding: 1rem 1.25rem; background: #fff; border: 1px solid #dfe6e8; border-radius: 14px; box-shadow: 0 6px 20px rgba(16, 40, 48, .06); }
.finder-label { flex: 0 0 auto; margin: 0; font-weight: 500; font-size: 1.05rem; color: #102830; }
.finder-field { flex: 1 1 320px; display: flex; min-width: 0; border: 1px solid #c9d6d9; border-radius: 10px; overflow: hidden; background: #fff; }
.finder-field:focus-within { border-color: #137d85; box-shadow: 0 0 0 3px rgba(19, 125, 133, .18); }
.finder-field input { flex: 1; min-width: 0; border: 0; outline: 0; padding: .75rem 1rem; font: inherit; font-size: 1rem; color: #102830; background: transparent; }
.finder-go { border: 0; padding: 0 1.25rem; background: #137d85; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.finder-go:hover { background: #0f666d; }
.finder-locate { display: inline-flex; align-items: center; gap: .4rem; border: 0; background: none; padding: .25rem 0; color: #137d85; font: inherit; font-weight: 500; cursor: pointer; }
.finder-locate:hover { text-decoration: underline; }
.finder-help { margin-left: auto; font-size: .95rem; color: #5b6b70; }
.finder-help a { color: #137d85; font-weight: 600; text-decoration: none; white-space: nowrap; }
.finder-error { margin: .75rem 0 0; color: #b42318; font-size: .95rem; }
.finder-error:empty { display: none; }
.finder-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; margin-top: .75rem; }
.finder-results:empty { display: none; }
.finder-result { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem; border: 1px solid #dfe6e8; border-radius: 12px; background: #fff; color: #102830; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.finder-result:hover { border-color: #137d85; box-shadow: 0 6px 18px rgba(19, 125, 133, .12); }
.finder-result_city { font-weight: 600; font-size: 1.1rem; }
.finder-result_meta { font-size: .9rem; color: #5b6b70; }
.finder-result_more { margin-top: .35rem; font-size: .9rem; font-weight: 500; color: #137d85; }
.finder-map { position: relative; z-index: 0; isolation: isolate; height: 460px; margin-top: 1.25rem; border-radius: 14px; overflow: hidden; border: 1px solid #dfe6e8; }
.finder-map #map { width: 100%; height: 100%; }
.finder-map .leaflet-tile-pane { filter: grayscale(1) brightness(1.04) contrast(.92); }
@media (max-width: 767px) { .finder-help { margin-left: 0; flex-basis: 100%; } .finder-map { height: 340px; } }

/* Footer service-area city links (SEO) */
.footer-cities { margin-top: 1.5rem; }
.footer-cities-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 1rem; }
@media (max-width: 991px) { .footer-cities-grid { grid-template-columns: repeat(2, 1fr); } }
.footer-cities ul { list-style: none; margin: .5rem 0 0; padding: 0; columns: 2; column-gap: 1rem; }
.footer-cities li { break-inside: avoid; margin: 0 0 .25rem; }
.footer-cities li a { font-size: .875rem; opacity: .85; text-decoration: none; }
.footer-cities li a:hover { opacity: 1; text-decoration: underline; }

/* POLARCLUB plans accordion (rendered by build.mjs from site.config.json club.plans) */
.hflex-peak-club-maintenance-content-wrap { display: block !important; width: 100%; max-width: 760px; margin: 0 auto; }
.club-plans { display: flex; flex-direction: column; gap: .75rem; }
.club-plan { background: #fff; border: 1px solid #dfe6e8; border-radius: 12px; overflow: hidden; text-align: left; }
.club-plan.is-open { border-color: #137d85; box-shadow: 0 8px 24px rgba(19, 125, 133, .12); }
.club-plan_head { display: grid !important; grid-template-columns: 1fr auto 28px; align-items: center; gap: 1rem; padding: 1.1rem 1.4rem; }
.club-plan_name { font-size: 1.25rem; font-weight: 500; letter-spacing: .02em; }
.club-plan_meta { font-size: .9rem; color: #5b6b70; margin-top: .2rem; }
.club-plan_price { font-size: 1.75rem; font-weight: 600; color: #137d85; white-space: nowrap; }
.club-plan_price span { font-size: .9rem; font-weight: 400; color: #5b6b70; }
.club-plan .faq2_icon-wrapper { width: 22px; color: #137d85; }
.club-plan_body { padding: 0 1.4rem 1.4rem; border-top: 1px solid #eef2f3; }
.club-plan_body ul { margin: 1rem 0; padding-left: 1.2rem; display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1.5rem; }
.club-plan_body li { font-size: .95rem; }
.club-plan_annual { font-size: .85rem; color: #5b6b70; margin-bottom: 1rem; }
@media (max-width: 600px) { .club-plan_head { grid-template-columns: 1fr auto 20px; padding: 1rem; } .club-plan_price { font-size: 1.35rem; } .club-plan_body ul { grid-template-columns: 1fr; } }

/* Header logo: icon + POLARITY wordmark (no tagline); size by height so the wider mark keeps the original 35px height */
.uui-navbar06_logo-link img.image { width: auto !important; height: 35px !important; max-width: none !important; }
.internal-page-hero-heading + .aeo-answer { color: #fff; margin-left: auto; margin-right: auto; text-align: center; }
h1[style*="f3f3f3"] + .aeo-answer { color: #e6eaec; margin-left: auto; margin-right: auto; text-align: center; }
h1.heading-1-poppins + .aeo-answer { margin-left: auto; margin-right: auto; text-align: center; }

/* City pages: local facts block (generated by city-local.mjs) */
.city-local-section { padding: 4rem 0 2rem; }
.city-local { display: flex; flex-direction: column; gap: 1rem; }
.city-local > .tag { align-self: flex-start; }
.city-local > h2 { margin: 0 0 .5rem; }
.city-local_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.city-local_grid > div { background: #fff; border: 1px solid #dfe6e8; border-radius: 14px; padding: 1.5rem; }
.city-local_grid h3 { font-size: 1.2rem !important; line-height: 1.3; margin: 0 0 .6rem; }
.city-local_grid p { margin: 0; color: #3a4a50; }
.city-local_grid a { color: #137d85; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 767px) { .city-local_grid { grid-template-columns: 1fr; } .city-local-section { padding-top: 2.5rem; } }

/* City pages: offer coupon in the hero card (replaces the truck photo) */
.city-coupon { display: flex; padding: 24px 24px 0; }
.city-coupon_box { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; border: 2px dashed #137d85; border-radius: 12px; background: linear-gradient(135deg, #e8f6f7, #fff); }
.city-coupon_tag { font: 600 12px/1 Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: #137d85; padding: 6px 10px; border-radius: 999px; }
.city-coupon_title { font: 600 clamp(28px, 3.2vw, 40px)/1.1 Poppins, sans-serif; color: #102830; }
.city-coupon_note { margin: 0; font: 400 16px/1.5 Poppins, sans-serif; color: #33464b; }
.city-coupon_fine { margin: 0; font: 400 13px/1.4 Poppins, sans-serif; color: #5b6b70; }

/* Home hero: brand background instead of the stock team photo, with the coupon and trust badges on the right */
.hero-section-updated { background: radial-gradient(circle at 78% 45%, #1d5d66 0, #102830 62%) !important; overflow: hidden; }
.hero-section-updated::after { content: ''; position: absolute; left: 6%; top: -4%; width: 82%; height: 300%; background: url(/brand/hero-mark.svg) no-repeat left top / contain; z-index: 1; pointer-events: none; }
.overlay-home-hero { display: none; }
.home-hero-side { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
.home-hero-badges { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.home-hero-badges li { margin: 0; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 12px 14px; color: #cfe3e6; font: 400 14px/1.35 Poppins, sans-serif; }
.home-hero-badges strong { display: block; color: #fff; font-size: 20px; font-weight: 600; }
@media (min-width: 992px) {
  .container-home-hero::before, .container-home-hero::after { display: none; }
  .container-home-hero { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; align-items: center; }
  .wrapper-content-home-hero { padding-right: 0 !important; }
  .home-hero-side { margin-top: 0; }
}

/* Air purifier page: installation diagram clears the hero product image that overhangs the section */
.iaq-diagram { width: 100%; max-width: 520px; height: auto; margin: 5rem auto 0; padding: 14px; background: #fff; border-radius: 14px; box-shadow: 0 12px 32px rgba(16, 40, 48, .12); box-sizing: border-box; }
@media (max-width: 767px) { .iaq-diagram { margin-top: 1.5rem; } }
.iaq-diagram--svg { max-width: 560px; padding: 0; overflow: hidden; }
.iaq-diagram--svg svg { display: block; width: 100%; height: auto; }

/* Price cards: reserve two lines for the description so side-by-side cards keep their buttons level */
.wrapper_pricing-card .vflex-pricing-info-wrap > .poppins-body.muted { min-height: 48px; }

/* POLARCLUB price card: compact, price + button on the left, features on the right; button sized to its label */
.wrapper_pricing-card.maintenance-plan .peak-button-5 { width: auto; align-self: flex-start; padding: 12px 32px; }
@media (min-width: 992px) {
  .wrapper_pricing-card.maintenance-plan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
  .wrapper_pricing-card.maintenance-plan > .guaranteed-savings-tag-2 { grid-column: 1 / -1; }
  .wrapper_pricing-card.maintenance-plan > .vflex-pricing-div-3 { border-bottom: 0; }
  .wrapper_pricing-card.maintenance-plan > .vflex-price-list { border-left: 1px solid rgba(255, 255, 255, .14); border-top: 0; }
}

/* Polarity Savings graphic (inline SVG, replaces the old image with the outdated logo) */
.savings-graphic svg { display: block; width: 100%; height: auto; }
