/* V24 — final alignment and control refinements. */

/* Exact centring for expandable controls in Services and Partner cards. */
.service-accordion-card__toggle,
.partner-accordion__toggle {
  position: relative;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
  overflow: hidden;
}

.service-accordion-card__toggle::before,
.service-accordion-card__toggle::after,
.partner-accordion__toggle::before,
.partner-accordion__toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: block;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .28s cubic-bezier(.2,.75,.25,1), opacity .2s ease;
}

.service-accordion-card__toggle::before,
.partner-accordion__toggle::before {
  width: 15px;
  height: 2px;
  transform: translate(-50%, -50%);
}

.service-accordion-card__toggle::after,
.partner-accordion__toggle::after {
  width: 2px;
  height: 15px;
  transform: translate(-50%, -50%);
}

.service-accordion-card[open] .service-accordion-card__toggle,
.partner-accordion[open] .partner-accordion__toggle {
  transform: none !important;
}

.service-accordion-card[open] .service-accordion-card__toggle::before,
.partner-accordion[open] .partner-accordion__toggle::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.service-accordion-card[open] .service-accordion-card__toggle::after,
.partner-accordion[open] .partner-accordion__toggle::after {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* Remove the older generated glyph so only the precisely centred bars remain. */
.service-accordion-card__toggle::first-line { line-height: 0; }

/* Theme switch: larger outer control, calmer spacing around a smaller lamp. */
.theme-toggle--desktop {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  margin-left: 10px !important;
}
.theme-toggle--desktop .theme-toggle__icon {
  width: 25px !important;
  height: 34px !important;
}
.theme-toggle--desktop .theme-toggle__lamp {
  width: 19px !important;
  height: 29px !important;
}

/* Map pin: the Energyco mark itself is yellow, on a navy disc. */
.project-map-pin {
  background-color: var(--navy) !important;
  background-image: url("../img/logo/energyco-mark-yellow.svg") !important;
  background-position: center !important;
  background-size: 62% auto !important;
  background-repeat: no-repeat !important;
}

/* Slightly stronger calls to action in the project and service banners. */
.cta-band .btn {
  min-height: 58px;
  padding: 16px 31px;
  border-radius: 999px;
  font-size: 1.02rem;
  font-weight: 850;
}

@media (max-width: 920px) {
  .theme-toggle--mobile .theme-toggle__icon {
    width: 25px !important;
    height: 34px !important;
  }
  .theme-toggle--mobile .theme-toggle__lamp {
    width: 19px !important;
    height: 29px !important;
  }
}
