/* =========================================================
   Pagina Open Day — INFROP
   Palette: #0065AE · #171F32 · #FF5421
   ========================================================= */

.od-hero {
    background: linear-gradient(135deg, #0065AE, #171F32);
    color: #fff;
    padding: 4rem 0;
    text-align: center;
}
.od-hero__eyebrow { color: rgba(255,255,255,.8); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; }
.od-hero__title { color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin: .5rem 0 1rem; }
.od-hero__sub { color: rgba(255,255,255,.9); max-width: 720px; margin: 0 auto 1.8rem; line-height: 1.6; }
.od-hero__cta {
    display: inline-block; background: #FF5421; color: #fff; text-decoration: none;
    padding: .9rem 2.2rem; border-radius: 8px; font-weight: 600; transition: background .2s;
}
.od-hero__cta:hover { background: #ff450c; color: #fff; }

.od-section-title {
    color: #171F32; font-size: 1.8rem; font-weight: 700; text-align: center; margin-bottom: 2rem;
}

.od-steps { padding: 4rem 0; }
.od-step {
    background: #f7f8fa; border: 1px solid #e6e8ec; border-radius: 12px;
    padding: 2rem 1.5rem; height: 100%; text-align: center;
}
.od-step__n {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 50%;
    background: #0065AE; color: #fff; font-weight: 700; font-size: 1.2rem; margin-bottom: 1rem;
}
.od-step h3 { color: #171F32; font-size: 1.2rem; margin-bottom: .5rem; }
.od-step p { color: #555; margin: 0; }

.od-info { padding: 0 0 4rem; }
.od-info__list {
    max-width: 720px; margin: 0 auto; list-style: none; padding: 0;
}
.od-info__list li {
    position: relative; padding: .6rem 0 .6rem 2rem; border-bottom: 1px solid #eef0f3; color: #333;
}
.od-info__list li::before {
    content: "✓"; position: absolute; left: 0; color: #0065AE; font-weight: 700;
}

.od-form-section { padding: 0 0 5rem; }
.od-form-card {
    max-width: 640px; margin: 0 auto;
    background: #0064b2; color: #fff; border-radius: 14px; padding: 2.5rem;
}
.od-form-card__title { color: #fff; font-size: 1.6rem; font-weight: 700; margin: 0 0 1.5rem; }
.od-empty { color: rgba(255,255,255,.9); }

.od-field { margin-bottom: 1rem; }
.od-field label { display: block; color: #fff; font-weight: 600; font-size: .9rem; margin-bottom: .35rem; }
.od-field input,
.od-field select,
.od-field textarea {
    width: 100%; border: none; border-radius: 8px; padding: .7rem .85rem; color: #171F32; background: #fff;
}
.od-field input:focus,
.od-field select:focus,
.od-field textarea:focus { outline: none; box-shadow: 0 0 0 .2rem rgba(255,255,255,.35); }
.od-field select:disabled { background: #e9ecef; color: #888; }

.od-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 575px) { .od-grid { grid-template-columns: 1fr; } }

.od-check { display: flex; align-items: flex-start; gap: .5rem; margin: .5rem 0 1.2rem; }
.od-check input { margin-top: .25rem; }
.od-check label { font-size: .9rem; color: #fff; }
.od-check a { color: #fff; text-decoration: underline; }

.od-submit {
    background: #FF5421; color: #fff; border: none; border-radius: 8px;
    padding: .85rem 2.2rem; font-weight: 600; cursor: pointer; transition: background .2s;
}
.od-submit:hover { background: #ff450c; }
.od-submit:disabled { opacity: .6; cursor: default; }

.od-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.od-feedback { margin-top: 1rem; font-size: .95rem; }
.od-feedback.is-success { color: #d6f5df; font-weight: 600; }
.od-feedback.is-error { color: #ffd9d9; font-weight: 600; }
