/* Guida di installazione visibile solo in una scheda del browser. */
html.es-installer-install-required body > :not(#installerInstallGate) { display: none !important; }
html.es-installer-install-required body { min-height: 100vh; margin: 0; background: #edf2f9; }
#installerInstallGate { display: none; }
html.es-installer-install-required #installerInstallGate {
    display: grid; min-height: 100vh; box-sizing: border-box; padding: 24px;
    place-items: center; font-family: Arial, sans-serif; color: #172b4a;
}
.installer-install-card {
    width: min(100%, 690px); box-sizing: border-box; padding: clamp(22px, 5vw, 42px);
    border-radius: 22px; background: #fff; box-shadow: 0 14px 42px rgba(25, 60, 110, .13);
}
.installer-install-heading { display: flex; align-items: center; gap: 18px; }
.installer-install-heading img { width: 64px; height: 64px; object-fit: contain; border-radius: 14px; }
.installer-install-eyebrow { color: #58708e; font-size: .85rem; font-weight: 700; letter-spacing: .04em; }
.installer-install-card h1 { margin: 4px 0 0; font-size: clamp(1.4rem, 4vw, 1.85rem); line-height: 1.2; }
.installer-install-lead { margin: 18px 0 22px; color: #445872; line-height: 1.55; }
.installer-device-tabs { display: flex; gap: 7px; padding: 5px; border-radius: 13px; background: #eef3fa; }
.installer-device-tab { flex: 1; min-width: 0; border: 0; border-radius: 10px; padding: 11px 7px; color: #344d6f; background: transparent; font: inherit; font-size: .92rem; font-weight: 700; cursor: pointer; }
.installer-device-tab[aria-pressed="true"] { background: #fff; color: #174d9a; box-shadow: 0 2px 9px rgba(19, 54, 106, .12); }
.installer-install-notice { margin: 18px 0 6px; padding: 12px 14px; border-radius: 11px; background: #eaf3ff; color: #214870; line-height: 1.45; font-size: .92rem; }
.installer-install-notice[hidden] { display: none; }
.installer-install-steps { list-style: none; margin: 18px 0 0; padding: 0; }
.installer-install-steps li { display: grid; grid-template-columns: 24px 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid #e5ebf3; }
.installer-step-number { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #dceaff; color: #174d9a; font-size: .78rem; font-weight: 800; }
.installer-step-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #f0f5fc; color: #1d4fa3; }
.installer-step-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.installer-step-icon svg circle:not(:first-child) { fill: currentColor; stroke: none; }
.installer-install-steps strong { display: block; font-size: .96rem; }
.installer-install-steps p { margin: 4px 0 0; color: #52657b; font-size: .91rem; line-height: 1.45; }
.installer-install-action { display: block; width: 100%; margin-top: 23px; padding: 15px 20px; border: 0; border-radius: 12px; background: #1d4fa3; color: #fff; font: inherit; font-weight: 700; font-size: 1.02rem; cursor: pointer; }
.installer-install-action:hover { background: #164384; }
.installer-install-card button:focus-visible { outline: 3px solid #f5ad2e; outline-offset: 3px; }
#installerInstallStatus { min-height: 1.4em; margin: 12px 0 0; color: #1d4fa3; font-size: .9rem; text-align: center; }
@media (max-width: 540px) {
    html.es-installer-install-required #installerInstallGate { padding: 12px; place-items: start center; }
    .installer-install-card { padding: 23px 18px; border-radius: 17px; }
    .installer-install-heading { gap: 12px; }
    .installer-install-heading img { width: 54px; height: 54px; }
    .installer-device-tab { font-size: .78rem; padding: 11px 4px; }
    .installer-install-steps li { grid-template-columns: 22px 38px minmax(0, 1fr); gap: 9px; }
    .installer-step-icon { width: 38px; height: 38px; }
}
