/* Power Ras V12.4 — geometry QA. Load AFTER V12.3.
   Equal-width steps; common text baselines within rows; no manual per-card offsets. */

/* Office: fixed title and copy tracks so every row has the same baseline.
   Align the two-track group optically in the card, rather than centering each
   differently sized text block independently. */
body.v12-site .v9-office-cap__grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;
}
body.v12-site .v9-office-cap__grid article {
  box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:54px minmax(78px,auto);gap:12px;align-content:center;
  align-items:initial;justify-content:initial;min-width:0;min-height:250px;
  padding:34px 31px;
}
body.v12-site .v9-office-cap__grid article > b {
  display:block;align-self:start;min-height:0;margin:0;font-size:20px;line-height:1.25;
}
body.v12-site .v9-office-cap__grid article > p {
  display:block;align-self:start;min-height:0;margin:0!important;
  text-align:left!important;hyphens:none;line-height:1.6;overflow-wrap:break-word;
}

/* PV: the five boxes take identical shares of the available horizontal space.
   Numbers are anchored uniformly; heading and description have independent,
   equal-height rows, so neither jumps with line wrapping. */
body.v12-site .v9-pv-flow .v9-flow {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr) 20px) minmax(0,1fr);
  gap:10px;align-items:stretch;
}
body.v12-site .v9-pv-flow .v9-flow > div {
  box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:44px 78px;align-content:center;align-items:initial;
  gap:8px;min-width:0;min-height:242px;padding:47px 20px 23px;
  flex:initial;justify-content:initial;
}
body.v12-site .v9-pv-flow .v9-flow > div > span {
  position:absolute;top:24px;left:20px;margin:0!important;line-height:1;
}
body.v12-site .v9-pv-flow .v9-flow > div > b {
  display:block;align-self:start;margin:0!important;min-height:0!important;
  font-size:19px;line-height:1.27;overflow-wrap:break-word;
}
body.v12-site .v9-pv-flow .v9-flow > div > small {
  display:block;align-self:start;margin:0!important;min-height:0!important;
  font-size:14px;line-height:1.55;overflow-wrap:break-word;
}
body.v12-site .v9-pv-flow .v9-flow > i {
  display:flex;align-items:center;justify-content:center;min-width:0;align-self:stretch;
  flex:initial;margin:0;
}

/* Charging: nine explicit grid tracks: five equal cards + four equal arrows.
   Previously repeat(9, auto) gave the short 'Veicolo' card a smaller width. */
body.v12-site .v9-charge-flow__track {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr) 18px) minmax(0,1fr);
  gap:10px;align-items:stretch;
}
body.v12-site .v9-charge-flow__track > div {
  box-sizing:border-box;position:relative;display:grid;
  grid-template-columns:minmax(0,1fr);grid-template-rows:62px;
  align-content:center;align-items:initial;justify-content:initial;
  min-width:0;width:100%;min-height:208px;padding:49px 17px 22px;flex:initial;
}
body.v12-site .v9-charge-flow__track > div > span {
  position:absolute;top:24px;left:17px;margin:0;line-height:1;
}
body.v12-site .v9-charge-flow__track > div > b {
  display:block;align-self:start;min-height:0;margin:0!important;
  line-height:1.32;overflow-wrap:break-word;hyphens:none;
}
body.v12-site .v9-charge-flow__track > i {
  display:flex;align-items:center;justify-content:center;align-self:stretch;
  min-width:0;margin:0;line-height:1;
}

/* Tablet: preserving equal-width cards is more important than squeezing
   the entire process into illegible 120-pixel columns. Scroll horizontally. */
@media (min-width:801px) and (max-width:1199px) {
  body.v12-site .v9-pv-flow .v9-flow,
  body.v12-site .v9-charge-flow__track {
    display:flex;overflow-x:auto;overflow-y:hidden;gap:12px;
    scroll-snap-type:x proximity;padding-bottom:12px;
  }
  body.v12-site .v9-pv-flow .v9-flow > div,
  body.v12-site .v9-charge-flow__track > div {
    flex:0 0 220px;width:220px;scroll-snap-align:start;
  }
  body.v12-site .v9-pv-flow .v9-flow > i,
  body.v12-site .v9-charge-flow__track > i {
    flex:0 0 18px;align-self:center;
  }
}
@media (max-width:800px) {
  body.v12-site .v9-office-cap__grid {grid-template-columns:1fr;gap:12px;}
  body.v12-site .v9-office-cap__grid article {
    min-height:236px;grid-template-rows:auto auto;gap:13px;
    padding:30px 26px;align-content:center;
  }
  body.v12-site .v9-office-cap__grid article > b {align-self:start;}
  body.v12-site .v9-pv-flow .v9-flow,
  body.v12-site .v9-charge-flow__track {
    display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
    gap:12px;padding-bottom:12px;
  }
  body.v12-site .v9-pv-flow .v9-flow > div {
    flex:0 0 min(76vw,285px);width:min(76vw,285px);min-height:205px;
    grid-template-rows:42px 66px;padding:43px 23px 22px;
    scroll-snap-align:start;
  }
  body.v12-site .v9-charge-flow__track > div {
    flex:0 0 min(76vw,285px);width:min(76vw,285px);min-height:180px;
    grid-template-rows:50px;padding:43px 23px 22px;scroll-snap-align:start;
  }
  body.v12-site .v9-pv-flow .v9-flow > div > span,
  body.v12-site .v9-charge-flow__track > div > span {top:18px;left:23px;}
  body.v12-site .v9-pv-flow .v9-flow > i,
  body.v12-site .v9-charge-flow__track > i {display:none;}
}
