/* Pages VPS (chantier 806) : systèmes et logiciels, l'essentiel, comparatif des gammes.
   Couleurs uniquement via les variables de hs-vitrine.css. */

.hs-vps-sys { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
.hs-vps-ess { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
    .hs-vps-sys { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .hs-vps-ess { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3.5rem; }
    /* Un seul système (Windows) : pleine largeur, pas de carte à moitié vide */
    .hs-vps-sys--un { grid-template-columns: minmax(0, 1fr); }
    .hs-vps-sys--un .hs-vps-logiciels { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.hs-vps-carte {
    background: var(--hs-surface);
    border: 1px solid var(--hs-bord);
    border-radius: 14px;
    padding: 1.5rem;
}
.hs-vps-carte__titre { color: var(--hs-texte); font-weight: 700; font-size: 1.05rem; margin: 0 0 .25rem; }
.hs-vps-carte__sous { color: var(--hs-muet); font-size: .85rem; margin: 0 0 1.25rem; }

/* Systèmes : une ligne par OS, logo + nom + versions */
.hs-vps-os { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.hs-vps-os__item {
    display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: .9rem;
    background: var(--hs-surface-2);
    border-radius: 10px;
    padding: .6rem .9rem;
}
.hs-vps-os__logo { width: 36px; height: 36px; object-fit: contain; }
.hs-vps-os__nom { color: var(--hs-texte); font-weight: 600; font-size: .95rem; }
.hs-vps-os__versions { color: var(--hs-muet); font-size: .8rem; font-variant-numeric: tabular-nums; text-align: right; }
.hs-vps-os__autre { margin: .75rem 0 0; text-align: center; color: var(--hs-muet); font-size: .8rem; }

/* Logiciels : grille de pastilles */
.hs-vps-logiciels { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 560px) { .hs-vps-logiciels { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hs-vps-logiciel {
    display: flex; align-items: center; gap: .65rem;
    background: var(--hs-surface-2);
    border-radius: 10px;
    padding: .6rem .75rem;
    min-width: 0;
}
.hs-vps-logiciel__logo { flex: 0 0 28px; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; }
.hs-vps-logiciel__logo img { width: 28px; height: 28px; object-fit: contain; }
.hs-vps-logiciel__logo svg { width: 22px; height: 22px; }
.hs-vps-logiciel__nom { color: var(--hs-texte-2, var(--hs-texte)); font-size: .85rem; font-weight: 500; line-height: 1.25; overflow-wrap: anywhere; }

/* L'essentiel : faits citables, sur fond de section surface */
.hs-vps-faits { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--hs-bord); }
.hs-vps-fait {
    display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--hs-bord);
}
.hs-vps-fait dt { color: var(--hs-muet); font-size: .85rem; }
.hs-vps-fait dd { margin: 0; color: var(--hs-texte); font-size: .9rem; }
@media (max-width: 559px) {
    .hs-vps-fait { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
}

/* Comparatif des trois gammes */
.hs-vps-cmp { display: grid; gap: .6rem; }
.hs-vps-cmp__ligne {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: center;
    background: var(--hs-page);
    border: 1px solid var(--hs-bord);
    border-radius: 12px;
    padding: 1rem 1.15rem;
    color: var(--hs-texte);
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease;
}
a.hs-vps-cmp__ligne:hover, a.hs-vps-cmp__ligne:focus-visible { border-color: var(--hs-bord-fort); background: var(--hs-surface-2); }
.hs-vps-cmp__ligne.is-ici { border-color: var(--hs-rouge); }
.hs-vps-cmp__nom { font-weight: 700; font-size: .95rem; }
.hs-vps-cmp__nom small { display: block; font-weight: 400; color: var(--hs-muet); font-size: .8rem; margin-top: .15rem; }
.hs-vps-cmp__spec { grid-column: 1; color: var(--hs-muet); font-size: .8rem; font-variant-numeric: tabular-nums; }
.hs-vps-cmp__prix { grid-column: 2; grid-row: 1 / span 2; color: var(--hs-texte); font-weight: 700; font-size: .9rem; white-space: nowrap; text-align: right; }
