/* Aggiunte comuni a tutte le pagine (in coda ai fogli di stile originali) */

.portfolio-info.border-dark { border-bottom-color: var(--blu-scuro); }
.portfolio-info.border-mid { border-bottom-color: var(--azzurro); }
.portfolio-info.border-light { border-bottom-color: var(--celeste); }

/* Campo trappola anti-spam, invisibile alle persone */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Esito invio dei moduli */
.form-alert {
    margin: 0 8% 30px 8%;
    padding: 18px 25px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.form-alert.ok {
    background: white;
    border-left: 5px solid var(--azzurro);
    color: var(--blu-scuro);
}
.form-alert.error {
    background: #fff4f4;
    border-left: 5px solid #d64545;
    color: #8a1f1f;
}

.legal-content a { color: var(--azzurro); }

/* Pagine personalizzate create dal pannello */
.custom-section {
    padding: 20px 10% 100px 10%;
}
.custom-content {
    color: var(--testo-secondario);
    font-size: 16px;
    line-height: 1.8;
}
.custom-content.layout-box,
.custom-content.layout-wide {
    background-color: white;
    border-radius: 10px;
    padding: 50px 60px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.custom-content.layout-box {
    max-width: 800px;
    margin: 0 auto;
}
.custom-content > :first-child { margin-top: 0; }
.custom-content h2 { color: var(--blu-scuro); font-size: 26px; margin: 40px 0 15px 0; }
.custom-content h3 { color: var(--testo-principale); font-size: 20px; margin: 30px 0 10px 0; }
.custom-content h4 { color: var(--testo-principale); font-size: 17px; margin: 25px 0 8px 0; }
.custom-content p { margin: 0 0 18px 0; }
.custom-content strong { color: var(--testo-principale); }
.custom-content a { color: var(--azzurro); }
.custom-content ul, .custom-content ol { padding-left: 22px; margin: 0 0 20px 0; }
.custom-content li { margin-bottom: 8px; }
.custom-content blockquote {
    margin: 25px 0;
    padding: 15px 25px;
    border-left: 4px solid var(--azzurro);
    background: var(--grigio-sfondo);
    border-radius: 0 10px 10px 0;
}
.custom-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    margin: 25px 0;
}
.custom-content figure { margin: 25px 0; }
.custom-content figure img { margin: 0; }
.custom-content figcaption { font-size: 13px; margin-top: 8px; text-align: center; }
.custom-content iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
    border-radius: 10px;
    margin: 25px 0;
}
.custom-content table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px; }
.custom-content th, .custom-content td { padding: 10px 14px; border-bottom: 1px solid #e5e5e5; text-align: left; }
.custom-content th { color: var(--blu-scuro); }
.custom-content hr { border: 0; border-top: 1px solid #e5e5e5; margin: 35px 0; }

.draft-banner {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2000;
    background: #d99a1a;
    color: white;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 18px;
    border-radius: 0 0 8px 8px;
}

@media (max-width: 900px) {
    .custom-section { padding: 10px 5% 60px 5% !important; }
    .custom-content.layout-box,
    .custom-content.layout-wide { padding: 25px 20px !important; }
    .draft-banner { position: static; transform: none; border-radius: 0; text-align: center; }
}
