/* Retro 2010 - base minimale (non troppo CSS, ma meno “glass”) */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    /* no Inter: font di sistema stile “old web” */
    font-family: Tahoma, Arial, Helvetica, sans-serif;

    /* sfondo caldo + leggero pattern (texture) */
    background-color:#f2f2f2;
    background-image:
        linear-gradient(0deg, rgba(0,0,0,.03), rgba(0,0,0,.03)),
        repeating-linear-gradient(45deg, rgba(0,0,0,.02) 0, rgba(0,0,0,.02) 1px, transparent 1px, transparent 6px);
    color:#0b4fa3;
}

.container{
    width:90%;
    max-width:1400px;
    margin:auto;
}

section{
    padding:120px 0;
}

/* Ensure footer is pushed after content (no overlap / not floating too high) */
main, section{ position:relative; }

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

/* Push footer to bottom when content is short */
footer{ margin-top:auto; }



h1,h2,h3{
    letter-spacing:0;
}

.section-subtitle{
    margin-top:14px;
    color:#1f6fd1;
    max-width:720px;
}

.primary-btn, .secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:0;
    padding:12px 18px;
    font-weight:700;
    border:2px solid #1f6fd1;
    transition:none;
}

.primary-btn{
    background:#ffffff;
    color:#0b4fa3;
}

.primary-btn:hover{
    background:#e6f0ff;
}

.secondary-btn{
    background:#f7f7f7;
    color:#0b4fa3;
    border-color:#1f6fd1;
}

.secondary-btn:hover{
    background:#ffffff;
}

.link{
    color:#0b4fa3;
    text-decoration:underline;
}

.link:hover{ text-decoration:none; }

/* layout helpers for multi-page sections */
.about-grid,
.points-grid,
.steps,
.security-grid,
.download-head,
.contacts-grid{
    display:grid;
}

h2{
    color:#0b4fa3;
    font-size:2.4rem;
    line-height:1.05;
    margin-top:18px;
}

.about-grid{
    color:#0b4fa3;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}

.points-grid{
    grid-template-columns:1fr;
    gap:12px;
}

.pill-list{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    list-style:none;
}

.pill-list li{
    padding:10px 12px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
    color:#0b4fa3;
    font-weight:700;
}

/* steps */
.steps{
    margin-top:22px;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.step{
    padding:18px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
}


.step-num{
    width:34px;
    height:34px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    background:#e6f0ff;
    border:2px solid #1f6fd1;
    color:#0b4fa3;
    margin-bottom:10px;
}

.step h3{
    font-size:1.05rem;
    margin-bottom:6px;
}

.step p{
    color:#333;
    line-height:1.6;
}

/* security */
.security-grid{
    margin-top:22px;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

.security-card{
    padding:16px 14px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
    backdrop-filter:none;
    color:#0b4fa3;
    font-weight:800;
}

/* download */
.download-card{
    padding:26px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
    backdrop-filter:none;
}

.download-head{
    grid-template-columns:1fr;
    gap:16px;
    align-items:start;
}

.download-version{
    font-weight:900;
    font-size:1.15rem;
    color:#0b4fa3;
}

.download-req{
    margin-top:8px;
    color:#0b4fa3;
    line-height:1.5;
}

.download-list{
    margin-top:16px;
    padding-left:18px;
    display:flex;
    flex-direction:column;
    gap:10px;
    color:#0b4fa3;
}

.download-note{
    margin-top:14px;
    color:#0b4fa3;
    line-height:1.55;
}

.download-cta{
    margin-top:18px;
}

/* contacts */
.contacts-grid{
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:start;
    margin-top:28px;
}

/* On contacts page the right column (contact-form) is removed, so let the card take full width */
.contacts-grid:has(.contacts-card):not(:has(.contact-form)){
    grid-template-columns:1fr;
}

.contacts-card{
    padding:22px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
    backdrop-filter:none;
}

.contact-form{
    padding:22px;
    border-radius:0;
    background:#ffffff;
    border:2px solid #d7e7ff;
    backdrop-filter:none;
}

.contacts-card h3,
.contact-form h3{
    font-size:1.05rem;
    margin-bottom:10px;
    color:#0b4fa3;
}

.contacts-card p{
    margin-bottom:16px;
    color:#0b4fa3;
}

.contact-form form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;
    border-radius:0;
    border:2px solid #d7e7ff;
    background:#ffffff;
    color:#0b4fa3;
    padding:12px;
    outline:none;
    font-family: Tahoma, Arial, Helvetica, sans-serif;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:rgba(31,111,209,.75);
}

.form-note{
    color:#333;
    font-size:.95rem;
    line-height:1.45;
}

/* small utilities */
@media (max-width: 900px){
    section{ padding:90px 0; }

    .about-grid{ grid-template-columns:1fr; }
    .steps{ grid-template-columns:1fr; }
    .security-grid{ grid-template-columns:1fr; }
    .contacts-grid{ grid-template-columns:1fr; }
}




