/* Premio Miano Form - Design Moderno */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

#premio-miano-form-wrapper{max-width:900px;margin:0 auto;padding:20px;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.premio-alert{padding:20px;margin-bottom:30px;border-radius:12px;border-left:5px solid}
.premio-alert-error{background:#fff3cd;border-color:#dc3545;color:#721c24}
.premio-alert h4{margin-top:0;font-size:18px;font-weight:600}
.premio-alert ul{margin:10px 0 0 20px}
.premio-step{background:#fff;padding:50px 40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,48,87,0.08)}
.premio-step h2{font-size:32px;color:#003057;margin-bottom:10px;text-align:center;font-weight:700;letter-spacing:-0.5px}
.step-subtitle{text-align:center;font-size:17px;color:#64748b;margin-bottom:35px;font-weight:500}
.modalita-scelta-container h2{font-size:36px;margin-bottom:45px;font-weight:700;color:#003057}
.modalita-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:45px 0}
@media (max-width:768px){.modalita-wrapper{grid-template-columns:1fr}}
.modalita-card{background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);border:2px solid #e2e8f0;border-radius:16px;padding:40px 30px;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden}
.modalita-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:#003057;transform:scaleX(0);transition:transform 0.3s ease}
.modalita-card:hover{border-color:#003057;transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,48,87,0.15)}
.modalita-card:hover::before{transform:scaleX(1)}
.modalita-icon{font-size:68px;margin-bottom:24px;filter:drop-shadow(0 4px 8px rgba(0,48,87,0.1))}
.modalita-card h3{font-size:24px;color:#1e293b;margin-bottom:18px;font-weight:700}
.modalita-card ul{text-align:left;padding-left:28px;margin:24px 0}
.modalita-card ul li{font-size:16px;margin:12px 0;line-height:1.6;color:#475569}
.consigliato{background:linear-gradient(135deg,#e0f2fe,#dbeafe);padding:12px 18px;border-radius:8px;font-size:15px;font-weight:600;color:#003057;margin:24px 0;border-left:3px solid #003057}
.email-request-container{max-width:680px;margin:0 auto}
.email-request-container h2{font-size:34px;margin-bottom:18px;color:#003057;font-weight:700}
.email-request-container .subtitle{font-size:18px;color:#64748b;text-align:center;margin-bottom:32px}
.documenti-list{background:#f8fafc;padding:28px;border-radius:12px;margin:28px 0;border:1px solid #e2e8f0}
.doc-item{font-size:17px;color:#003057;padding:14px 0;border-bottom:1px solid #e2e8f0;font-weight:500}
.doc-item:last-child{border-bottom:none}
.email-form{background:#fff;padding:35px;border-radius:12px;border:1px solid #e2e8f0}
.back-link{text-align:center;margin-top:28px}
.torna-scelta{color:#003057;text-decoration:none;font-size:16px;font-weight:600;transition:all 0.3s;border-bottom:2px solid transparent;padding-bottom:2px}
.torna-scelta:hover{color:#003057;border-bottom-color:#003057;text-decoration:none}
.sezioni-wrapper{margin:35px 0}
.sezione-item{display:flex;align-items:flex-start;padding:24px;margin:18px 0;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all 0.3s;background:#fff;position:relative}
.sezione-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#003057;border-radius:12px 0 0 12px;transform:scaleY(0);transition:transform 0.3s}
.sezione-item:hover{background:#f8fafc;border-color:#003057;transform:translateX(4px)}
.sezione-item:hover::before{transform:scaleY(1)}
.sezione-item input[type="checkbox"]{width:26px;height:26px;margin-right:18px;margin-top:4px;cursor:pointer;flex-shrink:0;accent-color:#003057}
.sezione-content{flex:1}
.sezione-content strong{font-size:19px;color:#003057;font-weight:700}
.sezione-content small{display:block;font-size:15px;color:#64748b;margin-top:6px;font-weight:500}
.quota-calculator{background:linear-gradient(135deg,#dbeafe,#e0f2fe);padding:28px;border-radius:12px;margin:35px 0;text-align:center;border:2px solid #003057}
.quota-calculator h3{font-size:24px;margin-bottom:12px;color:#003057;font-weight:700}
#quota-totale{font-size:42px;color:#003057;font-weight:800;text-shadow:0 2px 4px rgba(0,48,87,0.1)}
#dettaglio-quota{font-size:16px;color:#475569;margin-top:12px;font-weight:500}
.form-row{display:flex;gap:24px;margin-bottom:24px}
.form-row .col-12{flex:0 0 100%}
.form-row .col-md-6{flex:0 0 calc(50% - 12px)}
@media (max-width:768px){.form-row{flex-direction:column}.form-row .col-md-6{flex:0 0 100%}}
.form-group{margin-bottom:28px}
.form-group label{display:block;font-size:17px;font-weight:600;margin-bottom:10px;color:#1e293b}
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group input[type="date"],.form-group input[type="number"],.form-group textarea,.form-group select{width:100%;font-size:17px;padding:16px;border:2px solid #e2e8f0;border-radius:10px;transition:all 0.3s;font-family:'Inter',sans-serif;background:#fff}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#003057;box-shadow:0 0 0 3px rgba(0,48,87,0.1)}
.form-group small{display:block;font-size:14px;color:#64748b;margin-top:6px;font-weight:500}
.form-group input[type="file"]{font-size:16px;padding:14px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;width:100%;background:#f8fafc;transition:all 0.3s}
.form-group input[type="file"]:hover{border-color:#003057;background:#fff}
.checkbox-label{display:flex;align-items:flex-start;font-size:16px;cursor:pointer;padding:14px;border-radius:8px;transition:background 0.3s}
.checkbox-label:hover{background:#f8fafc}
.checkbox-label input[type="checkbox"]{width:24px;height:24px;margin-right:14px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color:#003057}
.checkbox-label span{flex:1;line-height:1.5;color:#475569}
.upload-section{background:#f8fafc;padding:28px;margin:24px 0;border-left:5px solid #003057;border-radius:10px;border:1px solid #e2e8f0}
.upload-section h3{font-size:24px;color:#003057;margin-bottom:18px;font-weight:700}
.warning{background:#fef3c7;padding:14px 18px;border-left:4px solid #f59e0b;font-size:16px;margin-bottom:24px;border-radius:6px;font-weight:600;color:#92400e}
.opera-pittura{background:#fff;padding:24px;margin:24px 0;border-radius:10px;border:1px solid #e2e8f0}
.opera-pittura h4{font-size:19px;margin-bottom:18px;color:#1e293b;font-weight:600}
.payment-info{background:linear-gradient(135deg,#f8fafc,#fff);padding:28px;border-radius:12px;margin-bottom:32px;border:2px solid #e2e8f0}
.payment-info h3{font-size:22px;margin-bottom:24px;color:#003057;font-weight:700}
.payment-table{width:100%;border-collapse:collapse}
.payment-table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;font-size:16px}
.payment-table td:first-child{width:160px;font-weight:600;color:#1e293b}
.payment-table td:last-child{color:#475569}
.privacy-section{background:#f8fafc;padding:28px;border-radius:12px;margin-top:32px;border:1px solid #e2e8f0}

/* LINK - Colore #003057 */
a {
    color: #003057;
    text-decoration: none;
    transition: all 0.3s;
}
a:hover {
    color: #002040;
    text-decoration: underline;
}

/* BOTTONI - Esattamente come richiesto */
[type=button], [type=submit], button {
    background-color: #003057;
    border: 1px solid #003057;
    color: white !important;
}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: #003057;
    border: 1px solid #003057;
    color: white;
}

.step-navigation{display:flex;justify-content:space-between;margin-top:45px;gap:24px}
.step-navigation button{flex:1;max-width:220px}
.premio-progress{margin:35px 0}
.progress-bar{height:10px;background:#e2e8f0;border-radius:12px;overflow:hidden}
.progress-fill{height:100%;background:#003057;transition:width 0.4s ease;box-shadow:0 2px 8px rgba(0,48,87,0.3)}
.progress-text{text-align:center;margin-top:12px;font-size:17px;color:#64748b;font-weight:600}
.loading{opacity:0.6;pointer-events:none}

@media (max-width:768px){
    #premio-miano-form-wrapper{padding:12px}
    .premio-step{padding:28px 22px}
    .premio-step h2{font-size:26px}
    .modalita-icon{font-size:52px}
    .step-navigation{flex-direction:column}
    .step-navigation button{max-width:100%}
}

/* Bottone submit finale - assicura visibilità */
button[name="premio_submit"] {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 18px !important;
    padding: 18px 40px !important;
    background-color: #003057 !important;
    border: 1px solid #003057 !important;
    color: white !important;
    cursor: pointer !important;
    display: block !important;
}

button[name="premio_submit"]:hover,
button[name="premio_submit"]:focus {
    background-color: #003057 !important;
    border: 1px solid #003057 !important;
    color: white !important;
}

.btn-large {
    font-size: 18px !important;
    padding: 18px 40px !important;
    width: 100%;
}
