/* .113 Commercial: bounded layout and contrast corrections over the frozen .112 output. */

/* Solution cards retain cross-card alignment with three grouped rows instead of
   stretching every benefit into its own inherited subgrid track. */
body[data-zmx113-commercial] #solutions .zmx113-solution-card {
  --zmx113-solution-accent:#b7842f;
  --zmx113-solution-tint:#f7ead0;
  --zmx113-solution-ink:#745016;
  border-color:color-mix(in srgb,var(--zmx113-solution-accent) 62%,#fff) !important;
  border-top:5px solid var(--zmx113-solution-accent) !important;
  background:linear-gradient(180deg,#fff 0%,var(--zmx113-solution-tint) 158%) !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-card.zmx109-solution-card--rooflife {
  --zmx113-solution-accent:#26705c;
  --zmx113-solution-tint:#deeee7;
  --zmx113-solution-ink:#175344;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-card.zmx109-solution-card--solar {
  --zmx113-solution-accent:#42758a;
  --zmx113-solution-tint:#dfedf2;
  --zmx113-solution-ink:#275c72;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-card.zmx109-solution-card--protection {
  --zmx113-solution-accent:#77845b;
  --zmx113-solution-tint:#e8eddc;
  --zmx113-solution-ink:#53613d;
}
body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-card .card-kicker {
  color:var(--zmx113-solution-ink) !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-copy {
  display:grid;
  align-content:start;
  align-self:start;
  gap:.58rem;
  margin:0 0 15px;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-copy > * {
  min-height:0 !important;
  margin:0 !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-copy h3 {
  color:#102c26;
  line-height:1.16 !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-copy .zmx109-solution-card__description {
  color:#354a44;
  line-height:1.52;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-benefits {
  display:grid !important;
  grid-template-rows:none !important;
  align-content:start !important;
  align-self:start !important;
  gap:8px !important;
  min-height:0 !important;
  margin:0 0 18px !important;
  padding:0 !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-benefits > li {
  align-self:start !important;
  min-height:0 !important;
}
body[data-zmx113-commercial][data-zmx110-release][data-zmx-route] #solutions .zmx113-solution-card .zmx113-solution-benefits {
  grid-row:2 !important;
  grid-template-rows:repeat(3,auto) !important;
  align-self:start !important;
}
body[data-zmx113-commercial][data-zmx110-release][data-zmx-route] #solutions .zmx113-solution-card .zmx113-solution-benefits > li {
  grid-row:auto !important;
  align-self:start !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-benefits > li > span:first-child {
  border-color:color-mix(in srgb,var(--zmx113-solution-accent) 68%,#163a32) !important;
  background:color-mix(in srgb,var(--zmx113-solution-tint) 76%,#fff) !important;
  color:var(--zmx113-solution-ink) !important;
}
body[data-zmx113-commercial] #solutions .zmx113-solution-actions {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-self:end !important;
  gap:9px !important;
  width:100%;
  margin:0 !important;
}

@media (min-width:768px) {
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-card {
    display:grid !important;
    grid-row:span 4 !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:subgrid !important;
    min-height:0 !important;
    height:auto !important;
    row-gap:0 !important;
  }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-card > .zmx109-solution-card__media {
    grid-row:1 !important;
  }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-card__body {
    display:grid !important;
    grid-row:2 / span 3 !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:subgrid !important;
    row-gap:0 !important;
  }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-card__body > * {
    grid-row:auto !important;
  }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-copy { grid-row:1 !important; }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-benefits { grid-row:2 !important; }
  body[data-zmx113-commercial][data-zmx-route] #solutions .zmx113-solution-actions { grid-row:3 !important; }
}

@media (max-width:767px) {
  body[data-zmx113-commercial] #solutions .zmx113-solution-card {
    display:flex !important;
    grid-row:auto !important;
    grid-template-rows:none !important;
  }
  body[data-zmx113-commercial] #solutions .zmx113-solution-card__body {
    display:flex !important;
    flex:1;
    flex-direction:column;
    grid-row:auto !important;
    grid-template-rows:none !important;
  }
  body[data-zmx113-commercial] #solutions .zmx113-solution-actions { margin-top:auto !important; }
}

/* Planning and referral steps are three explicit rows. The number sits beside
   the complete heading/copy group, so there is no hidden swipe requirement. */
body[data-zmx113-commercial] .zmx113-horizontal-steps {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:11px !important;
  align-items:stretch !important;
}
body[data-zmx113-commercial][data-zmx110-release][data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] .zmx102-cards--three.zmx113-horizontal-steps {
  grid-template-columns:minmax(0,1fr) !important;
}
body[data-zmx113-commercial] .zmx113-horizontal-step {
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  grid-template-rows:auto !important;
  align-items:start !important;
  gap:14px !important;
  min-height:0 !important;
  height:auto !important;
  padding:17px 18px !important;
}
body[data-zmx113-commercial] .zmx113-horizontal-step :is(.zmx110-step-number,.zmx113-step-number) {
  display:grid !important;
  grid-column:1 !important;
  grid-row:1 !important;
  width:38px !important;
  height:38px !important;
  margin:0 !important;
  place-items:center;
  border:1px solid rgba(163,118,33,.32);
  border-radius:50%;
  background:#f2dfae !important;
  color:#725115 !important;
  font-size:.76rem;
  font-weight:950;
  line-height:1;
}
body[data-zmx113-commercial] .zmx113-horizontal-step__copy {
  display:grid;
  grid-column:2;
  gap:5px;
  min-width:0;
}
body[data-zmx113-commercial] .zmx113-horizontal-step__copy > * {
  margin:0 !important;
}
body[data-zmx113-commercial] .zmx113-horizontal-step__copy h3 {
  font-size:clamp(1rem,1.4vw,1.2rem) !important;
  line-height:1.22 !important;
}
body[data-zmx113-commercial] .zmx113-horizontal-step__copy p {
  color:#435a54;
  font-size:.9rem;
  line-height:1.5;
}
body[data-zmx113-commercial] .zmx113-commercial-planning .zmx110-service-planning__inner {
  grid-template-columns:minmax(0,1fr) minmax(0,.94fr) !important;
  align-items:center !important;
  gap:clamp(26px,4vw,54px) !important;
}
body[data-zmx113-commercial] .zmx113-commercial-planning .zmx110-service-planning__media {
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
}
body[data-zmx113-commercial] .zmx113-commercial-planning .zmx110-service-planning__media img {
  min-height:0 !important;
  height:100% !important;
  object-fit:cover;
}

body[data-zmx113-commercial] .zmx113-referral-flow .zmx105-image-split {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:clamp(28px,4vw,58px);
}
body[data-zmx113-commercial] .zmx113-referral-flow .zmx105-context-image {
  margin:0;
  overflow:hidden;
  border-radius:20px;
  aspect-ratio:4 / 3;
}
body[data-zmx113-commercial] .zmx113-referral-flow .zmx105-context-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* The previously text-only Property First section gains one relevant,
   already-approved Website visual without duplicating an image on this route. */
body[data-zmx113-commercial] .zmx113-protection-assessment__layout {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:clamp(30px,4.5vw,64px);
}
body[data-zmx113-commercial] .zmx113-protection-assessment__copy > :first-child { margin-top:0; }
body[data-zmx113-commercial] .zmx113-protection-assessment__copy > :last-child { margin-bottom:0; }
body[data-zmx113-commercial] .zmx113-protection-assessment__media {
  margin:0;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 18px 46px rgba(11,48,41,.14);
  aspect-ratio:4 / 3;
}
body[data-zmx113-commercial] .zmx113-protection-assessment__media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
}

/* Commercial coverage now shares the same recognisable geography as the
   Residential lane instead of presenting text inside a large empty field. */
body[data-zmx113-commercial] .zmx113-commercial-coverage__layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);
  align-items:center;
  gap:clamp(32px,5vw,74px);
}
body[data-zmx113-commercial] .zmx113-commercial-coverage__map {
  margin:0;
  padding:clamp(14px,2vw,24px);
  border:1px solid rgba(14,70,60,.16);
  border-radius:24px;
  background:linear-gradient(145deg,#fffdf7,#edf3ec);
  box-shadow:0 18px 48px rgba(10,48,40,.1);
}
body[data-zmx113-commercial] .zmx113-commercial-coverage__map img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:8 / 5;
  object-fit:contain;
}

/* High-intent Commercial offer: clearer ticks/terms and an unmistakable
   primary action while preserving the accepted wording and two-route choice. */
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx-dot82-context--cream .zmx113-featured-review {
  display:block !important;
  width:min(1080px,100%) !important;
  max-width:1080px !important;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review > .zmx-dot82-card__eyebrow {
  margin:0 0 18px !important;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__layout {
  display:grid;
  grid-template-columns:minmax(330px,.92fr) minmax(0,1.08fr);
  align-items:start;
  gap:clamp(28px,4vw,52px);
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual {
  display:grid;
  align-content:start;
  gap:18px;
  min-width:0;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual .zmx-dot82-card__visual {
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:auto !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  aspect-ratio:16 / 10 !important;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual .zmx-dot82-card__visual img {
  display:block;
  width:100%;
  height:100% !important;
  object-fit:cover;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual [data-zmx110-offer-benefits] {
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__content {
  display:flex;
  min-width:0;
  flex-direction:column;
  align-self:start;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__content > h3 {
  margin-top:0 !important;
}
body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__content .zmx-dot85-card-tail {
  margin-top:18px !important;
}
body[data-zmx113-commercial] .zmx-dot82-card--paid [data-zmx110-offer-benefits] li {
  padding-left:31px !important;
}
body[data-zmx113-commercial] .zmx-dot82-card--paid [data-zmx110-offer-benefits] li::before {
  top:.04em !important;
  display:grid !important;
  width:21px !important;
  height:21px !important;
  place-items:center;
  border:1px solid #f6e6b9;
  border-radius:50%;
  background:#f1d487 !important;
  box-shadow:0 0 0 3px rgba(241,212,135,.16);
  color:#123f34 !important;
  font-size:.72rem;
  font-weight:950;
  line-height:1;
}
body[data-zmx113-commercial] .zmx-dot82-card--paid :is(.zmx110-offer-terms,.zmx-dot82-credit) {
  color:#eef6f3 !important;
  font-size:.88rem !important;
  line-height:1.58;
}
body[data-zmx113-commercial] :is(.primary-btn,.zmx102-button,.zmx-dot82-button--gold) {
  font-weight:880 !important;
}
body[data-zmx113-commercial] .zmx-dot82-card--paid .zmx-dot82-button--gold {
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  font-weight:920 !important;
}
body[data-zmx113-commercial] .zmx-dot82-card--paid .zmx-dot82-button--outline {
  font-weight:800 !important;
}

@media (min-width:768px) and (max-width:1100px) {
  body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__layout {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual {
    width:min(100%,760px);
    justify-self:center;
  }
  body[data-zmx113-commercial] .zmx113-commercial-planning .zmx110-service-planning__inner,
  body[data-zmx113-commercial] .zmx113-referral-flow .zmx105-image-split,
  body[data-zmx113-commercial] .zmx113-protection-assessment__layout,
  body[data-zmx113-commercial] .zmx113-commercial-coverage__layout {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-zmx113-commercial] .zmx113-referral-flow .zmx105-context-image,
  body[data-zmx113-commercial] .zmx113-protection-assessment__media {
    width:min(100%,760px);
    justify-self:center;
  }
  body[data-zmx113-commercial] .zmx113-commercial-coverage__map {
    width:min(100%,760px);
    justify-self:center;
  }
  body[data-zmx113-commercial] .zmx113-three-card-balance {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
  }
  body[data-zmx113-commercial] .zmx113-three-card-balance > article:last-child {
    display:grid !important;
    grid-column:1 / -1 !important;
    grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr) !important;
    min-height:0 !important;
  }
  body[data-zmx113-commercial] .zmx113-three-card-balance > article:last-child > figure {
    min-height:260px;
    height:100%;
    aspect-ratio:auto !important;
  }
  body[data-zmx113-commercial] .zmx113-three-card-balance > article:last-child > figure img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (max-width:767px) {
  body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__layout {
    grid-template-columns:minmax(0,1fr);
    gap:26px;
  }
  body[data-zmx113-commercial][data-zmx-route="/solutions/"] .zmx113-featured-review__visual {
    gap:15px;
  }
  body[data-zmx113-commercial] .zmx113-horizontal-step {
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:11px !important;
    padding:15px !important;
  }
  body[data-zmx113-commercial] .zmx113-horizontal-step :is(.zmx110-step-number,.zmx113-step-number) {
    width:34px !important;
    height:34px !important;
  }
  body[data-zmx113-commercial] .zmx113-protection-assessment__layout,
  body[data-zmx113-commercial] .zmx113-commercial-coverage__layout {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  body[data-zmx113-commercial] .zmx113-protection-assessment__copy .zmx102-review-points {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-zmx113-commercial] .zmx113-protection-assessment__media {
    border-radius:18px;
  }
  body[data-zmx113-commercial] .zmx113-commercial-coverage__map {
    padding:10px;
    border-radius:18px;
    overflow:hidden;
  }
  body[data-zmx113-commercial][data-zmx-route="/about/"] .zmx113-commercial-coverage__map img {
    width:175% !important;
    max-width:none !important;
    height:auto !important;
  }
}
