/* Pagina pubblica di installazione della web app Licata in Comune */
.page-install-app .app-container{
    width:min(1180px,calc(100% - 32px));
    padding-top:34px;
}
.install-app-page{
    display:grid;
    gap:28px;
}
.install-app-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
    align-items:center;
    gap:38px;
    min-height:520px;
    padding:48px;
    border:1px solid rgba(25,124,155,.14);
    border-radius:28px;
    background:
        radial-gradient(circle at 90% 10%,rgba(42,194,145,.20),transparent 34%),
        linear-gradient(135deg,#ffffff 0%,#f2f8fb 58%,#eaf7f3 100%);
    box-shadow:0 28px 80px rgba(23,59,87,.12);
}
.install-app-hero::after{
    content:"";
    position:absolute;
    right:-150px;
    bottom:-180px;
    width:430px;
    height:430px;
    border-radius:50%;
    border:55px solid rgba(25,124,155,.055);
    pointer-events:none;
}
.install-app-copy,
.install-app-visual{
    position:relative;
    z-index:1;
}
.install-app-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px;
    color:#197c9b;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.install-app-kicker::before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    background:#25b985;
    box-shadow:0 0 0 5px rgba(37,185,133,.13);
}
.install-app-copy h1{
    max-width:640px;
    margin:0;
    color:#173b57;
    font-size:clamp(2.4rem,5.2vw,4.7rem);
    line-height:.98;
    letter-spacing:-.055em;
}
.install-app-lead{
    max-width:650px;
    margin:20px 0 0;
    color:#526879;
    font-size:clamp(1rem,1.7vw,1.22rem);
    line-height:1.65;
}
.install-app-benefits{
    display:grid;
    gap:10px;
    margin:24px 0 0;
}
.install-app-benefits span{
    display:flex;
    align-items:center;
    gap:10px;
    color:#29485f;
    font-weight:750;
}
.install-app-benefits b{
    display:grid;
    place-items:center;
    flex:0 0 25px;
    width:25px;
    height:25px;
    border-radius:50%;
    background:#dcfae6;
    color:#067647;
}
.install-app-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:28px;
}
.install-app-primary,
.install-app-secondary{
    min-height:48px;
    padding:12px 19px;
    border-radius:13px;
}
.install-app-primary[disabled]{
    opacity:.62;
    cursor:wait;
}
.install-app-status{
    min-height:24px;
    margin:13px 0 0;
    color:#667085;
    font-size:.84rem;
    line-height:1.45;
}
.install-app-status.is-success{color:#067647;font-weight:800}
.install-app-status.is-warning{color:#9a5700;font-weight:750}
.install-app-status.is-error{color:#b42318;font-weight:750}
.install-app-visual{
    min-height:430px;
    display:grid;
    place-items:center;
}
.install-phone{
    position:relative;
    width:250px;
    min-height:430px;
    padding:13px;
    border:9px solid #173b57;
    border-radius:42px;
    background:#173b57;
    box-shadow:0 30px 70px rgba(23,59,87,.28);
    transform:rotate(2deg);
}
.install-phone-speaker{
    position:absolute;
    top:13px;
    left:50%;
    width:72px;
    height:17px;
    border-radius:0 0 12px 12px;
    background:#173b57;
    transform:translateX(-50%);
    z-index:2;
}
.install-phone-screen{
    min-height:386px;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:44px 20px 22px;
    border-radius:27px;
    background:linear-gradient(180deg,#fff 0%,#f0f7fa 100%);
    text-align:center;
}
.install-phone-screen img{
    width:92px;
    height:92px;
    border-radius:25px;
    box-shadow:0 12px 35px rgba(25,124,155,.22);
}
.install-phone-screen strong{
    margin-top:18px;
    color:#173b57;
    font-size:1.15rem;
}
.install-phone-screen small{
    margin-top:5px;
    color:#667085;
}
.install-phone-home{
    width:100%;
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    gap:10px;
    margin-top:auto;
    padding:14px;
    border:1px solid #dce8ef;
    border-radius:17px;
    background:#fff;
    color:#173b57;
    text-align:left;
}
.install-phone-home span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#e8f5f8;
    color:#197c9b;
    font-size:1.35rem;
}
.install-visual-badge{
    position:absolute;
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#173b57;
    box-shadow:0 16px 35px rgba(23,59,87,.16);
    font-size:.78rem;
    font-weight:900;
    backdrop-filter:blur(8px);
}
.install-badge-home{left:0;top:75px}
.install-badge-update{right:0;bottom:62px}
.install-device-panel{
    display:grid;
    grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);
    gap:28px;
    align-items:start;
    padding:32px;
    border:1px solid #e4e7ec;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 40px rgba(23,59,87,.07);
}
.install-device-heading span{
    color:#197c9b;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.install-device-heading h2{
    margin:8px 0 10px;
    color:#173b57;
    font-size:clamp(1.7rem,3vw,2.45rem);
    line-height:1.08;
}
.install-device-heading p{
    margin:0;
    color:#667085;
    line-height:1.65;
}
.install-device-guide{
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    gap:18px;
    padding:22px;
    border:1px solid #dce7ed;
    border-radius:18px;
    background:#f7fafc;
}
.install-device-guide[hidden]{display:none!important}
.install-device-icon{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    border-radius:18px;
    background:#dcfae6;
    color:#067647;
    font-size:1.6rem;
    font-weight:900;
}
.install-device-icon.is-ios{
    background:#eef1f4;
    color:#173b57;
}
.install-device-icon.is-desktop{
    background:#e8f5f8;
    color:#197c9b;
}
.install-device-guide h3{
    margin:2px 0 10px;
    color:#173b57;
    font-size:1.25rem;
}
.install-device-guide ol{
    margin:0;
    padding-left:1.25rem;
    color:#425d70;
    line-height:1.62;
}
.install-device-guide li+li{margin-top:7px}
.install-app-info{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.install-app-info article{
    min-width:0;
    padding:24px;
    border:1px solid #e4e7ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 32px rgba(23,59,87,.06);
}
.install-app-info article>span{
    display:inline-flex;
    margin-bottom:19px;
    color:#25b985;
    font-size:.8rem;
    font-weight:950;
    letter-spacing:.1em;
}
.install-app-info h2{
    margin:0 0 9px;
    color:#173b57;
    font-size:1.15rem;
}
.install-app-info p{
    margin:0;
    color:#667085;
    line-height:1.58;
}
.install-app-note{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:20px 22px;
    border:1px solid rgba(25,124,155,.18);
    border-left:5px solid #197c9b;
    border-radius:16px;
    background:#eaf5f8;
    color:#29485f;
}
.install-app-note strong{flex:0 0 auto;color:#173b57}
.install-app-note span{line-height:1.55}
@media(max-width:900px){
    .install-app-hero{grid-template-columns:1fr;padding:34px;gap:22px}
    .install-app-copy{text-align:center}
    .install-app-copy h1,.install-app-lead{margin-left:auto;margin-right:auto}
    .install-app-kicker,.install-app-benefits span,.install-app-actions{justify-content:center}
    .install-app-visual{min-height:390px}
    .install-badge-home{left:12%;top:58px}
    .install-badge-update{right:10%;bottom:42px}
    .install-device-panel{grid-template-columns:1fr}
}
@media(max-width:720px){
    .page-install-app .app-container{width:min(100% - 20px,1180px);padding-top:18px}
    .install-app-page{gap:18px}
    .install-app-hero{padding:25px 18px;border-radius:21px}
    .install-app-copy h1{font-size:clamp(2.25rem,13vw,3.45rem)}
    .install-app-lead{font-size:1rem}
    .install-app-benefits{justify-items:start;width:min(100%,390px);margin-left:auto;margin-right:auto;text-align:left}
    .install-app-actions{display:grid;grid-template-columns:1fr;width:100%}
    .install-app-actions .btn{width:100%}
    .install-app-visual{min-height:350px}
    .install-phone{width:205px;min-height:350px;border-width:8px;border-radius:35px}
    .install-phone-screen{min-height:310px;padding:39px 15px 17px;border-radius:23px}
    .install-phone-screen img{width:72px;height:72px;border-radius:20px}
    .install-phone-home{padding:10px;grid-template-columns:36px 1fr;font-size:.78rem}
    .install-phone-home span{width:36px;height:36px}
    .install-visual-badge{min-height:37px;padding:8px 11px;font-size:.69rem}
    .install-badge-home{left:0;top:48px}
    .install-badge-update{right:0;bottom:34px}
    .install-device-panel{padding:22px 17px;border-radius:18px}
    .install-device-guide{grid-template-columns:1fr;padding:18px}
    .install-device-icon{width:52px;height:52px;border-radius:15px}
    .install-app-info{grid-template-columns:1fr}
    .install-app-info article{padding:20px}
    .install-app-note{display:grid;padding:18px}
}
@media(max-width:420px){
    .install-app-hero{padding-left:14px;padding-right:14px}
    .install-phone{transform:none}
    .install-badge-home{left:-4px}
    .install-badge-update{right:-3px}
}
