
/* ── Aziende — specifici di pagina ───────────────── */
.brands{ padding:clamp(8px,2vw,24px) 0 clamp(40px,6vw,80px); }

.sys__head{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(16px,2.4vw,30px);
  padding-bottom:clamp(22px,2.4vw,30px); border-bottom:1px solid var(--line); margin-bottom:clamp(26px,3vw,40px);
}
@media (max-width:680px){ .sys__head{ grid-template-columns:1fr; align-items:start; gap:14px; } }
.sys__icon{
  width:clamp(46px,4vw,58px); height:clamp(46px,4vw,58px); border-radius:50%;
  border:1px solid var(--line); display:grid; place-items:center; color:var(--accent);
}
.sys__icon svg{ width:54%; height:54%; }
.sys__titleblock{ min-width:0; }
.sys__kicker{ font-family:var(--mono); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent-2); }
.sys__title{
  font-family:var(--display); font-weight:700; letter-spacing:-0.025em;
  font-size:clamp(26px,3.4vw,46px); line-height:1.02; color:var(--ink); margin-top:6px;
}
.sys__count{ font-family:var(--mono); font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
@media (max-width:680px){ .sys__count{ justify-self:start; } }

.grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(252px,1fr)); gap:18px; }
.card{
  display:flex; flex-direction:column; position:relative;
  border:1px solid var(--line); border-radius:14px; background:var(--surface);
  padding:clamp(18px,1.8vw,24px); transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.card:hover{ border-color:rgba(30,37,80,0.32); box-shadow:0 20px 44px -32px rgba(30,37,80,0.5); transform:translateY(-2px); }

.card__logo{
  width:100%; height:92px; border-radius:10px; border:1px solid var(--line-soft);
  background:#fcfcfe; margin-bottom:18px;
}
.card__logo--img{ background:#fff; display:block; overflow:hidden; }
.card__logo--img img{ width:100%; height:100%; object-fit:contain; padding:12px 16px; }
.card__logo--dark{ background:var(--accent); }
.card__name{
  font-family:var(--display); font-weight:700; letter-spacing:-0.01em;
  font-size:16.5px; line-height:1.2; color:var(--ink);
}
.card__desc{ font-size:13.5px; line-height:1.5; color:var(--ink-soft); margin-top:8px; }
.card__foot{
  margin-top:auto; padding-top:16px; display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.card__site{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); transition:color .2s ease;
}
.card__site::after{ content:"↗"; font-size:13px; }
.card:hover .card__site{ color:var(--accent-2); }
.brands__note{
  margin-top:clamp(44px,6vw,72px); padding-top:clamp(24px,3vw,34px); border-top:1px solid var(--line);
  font-size:14px; line-height:1.7; color:var(--muted); max-width:78ch;
}
.brands__note strong{ color:var(--ink-soft); font-weight:600; }

.brands__unified{ padding-top:clamp(20px,3vw,36px); }

/* etichetta Terra / Tetto / entrambe nel riquadro */
.card__tag{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase;
}
.card__tag::before{ content:""; width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.card__tag--terra{ color:var(--accent); }
.card__tag--terra::before{ background:var(--accent); }
.card__tag--cielo{ color:var(--accent-2); }
.card__tag--cielo::before{ background:var(--accent-2); }
.card__tag--both{ color:var(--accent-2); }
.card__tag--both::before{ background:linear-gradient(90deg, var(--accent) 0 50%, var(--accent-2) 50% 100%); }

/* fix overflow: l'etichetta non esce più dalla scheda (va a capo se serve) */
.card__foot{ flex-wrap:wrap; row-gap:8px; }
.card__site{ min-width:0; }
.card__tag{ flex-shrink:0; }

/* la categoria è un badge nell'angolo della scheda */
.card__foot .card__tag{
  position:absolute; top:14px; right:14px; margin:0; z-index:2;
  background:rgba(255,255,255,0.95); border:1px solid var(--line-soft);
  border-radius:999px; padding:5px 11px; box-shadow:0 2px 10px rgba(30,37,80,0.10);
}

/* ── Intestazione con foto prodotti in scorrimento (solo questa pagina) ── */
.phead--media .phead__inner{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,42%);
  /* start (non center): il breadcrumb deve stare alla stessa quota delle altre pagine */
  gap:clamp(30px,5vw,72px); align-items:start;
}
.phead--media .phead__title{ max-width:16ch; font-size:clamp(38px,4.4vw,72px); overflow-wrap:break-word; }
.phead--media .phead__lead{ max-width:54ch; }
@media (max-width:900px){
  .phead--media .phead__inner{ grid-template-columns:1fr; gap:clamp(26px,5vw,40px); }
}

.phead__media{ position:relative; }
.phead__gallery{
  position:relative; aspect-ratio:4/3; width:100%;
  border-radius:18px; overflow:hidden;
  background:var(--surface); border:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(30,37,80,0.55);
}
.pslide{ position:absolute; inset:0; margin:0; opacity:0; transition:opacity 1s ease; }
.pslide.is-active{ opacity:1; }
.pslide img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.05); transition:transform 6.5s ease; }
.pslide.is-active img{ transform:scale(1); }
.pslide figcaption{
  position:absolute; left:14px; bottom:14px; max-width:70%;
  font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:#fff; background:rgba(20,25,55,0.6); backdrop-filter:blur(5px);
  padding:7px 13px; border-radius:999px;
}
.phead__dots{ position:absolute; right:14px; bottom:16px; display:flex; gap:6px; z-index:2; }
.phead__dots span{ width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.5); cursor:pointer; transition:background .3s ease, width .3s ease; }
.phead__dots span:hover{ background:rgba(255,255,255,0.8); }
.phead__dots span.is-active{ background:#fff; width:18px; border-radius:4px; }
@media (prefers-reduced-motion:reduce){ .pslide img{ transition:none; transform:none; } }
