/*
  Paleta oficial MiObra
  #063D73 · #006DAE · #FF5A00 · #172E42 · #F5F7F7 · #A95E2E
*/
:root {
  --navy: #063D73;
  --navy2: #006DAE;
  --yellow: #FF5A00;
  --yellow2: #FF5A00;
  --ink: #172E42;
  --white: #F5F7F7;
  --muted: #063D73;
  --cream: #F5F7F7;
  --line: rgba(23, 46, 66, .18);
  --wood: #A95E2E;
}

body { color: #172E42; background: #F5F7F7; }
.topbar,
.purpose,
.sponsors,
.form-panel,
.join-form,
.sponsor-logo { background: #F5F7F7; }
.partner-lockup img,
.sponsor-strip img,
.footer-brand .brand { background: #F5F7F7; }
.topbar { box-shadow: 0 6px 30px rgba(23, 46, 66, .10); }
.nav a:not(.nav-cta):hover,
.section-tag,
.benefit-list article > span { color: #FF5A00; }
.nav-cta { background: #063D73; color: #F5F7F7; border-left-color: #FF5A00; }

.hero {
  background:
    linear-gradient(90deg, rgba(6, 61, 115, .97) 0%, rgba(0, 109, 174, .88) 34%, rgba(0, 109, 174, .40) 63%, rgba(0, 109, 174, .08) 100%),
    url("assets/miobra-hero.png") center/cover;
  color: #F5F7F7;
}
.hero::after {
  background-image: linear-gradient(transparent 95%, rgba(245, 247, 247, .10) 96%), linear-gradient(90deg, transparent 95%, rgba(245, 247, 247, .07) 96%);
}
.eyebrow,
.hero h1 strong,
.card-icon { color: #FF5A00; }
.eyebrow span,
.hero-stats div,
.btn-primary,
.scroll-hint i,
.purpose-points i { border-color: #FF5A00; background-color: #FF5A00; }
.hero-copy { color: #F5F7F7; }
.btn-primary { color: #172E42; box-shadow: 7px 7px 0 rgba(245, 247, 247, .18); }
.btn-primary:hover { background: #FF5A00; }
.btn-ghost { color: #F5F7F7; background: rgba(6, 61, 115, .72); border-color: rgba(245, 247, 247, .42); }
.hero-stats div { background: transparent; border-left-color: #FF5A00; }
.hero-stats span { color: #F5F7F7; }
.hero-badge b { background: #FF5A00; color: #172E42; }
.scroll-hint i { color: #172E42; }

.purpose h2,
.benefits h2,
.sponsors h2 { color: #172E42; }
.purpose h2 em,
.learning h2 em,
.benefits h2 em,
.sponsors h2 em,
.join h2 em { color: #FF5A00; }
.purpose-copy > p,
.benefit-list p,
.sponsors > p,
.sponsor-note { color: #063D73; }
.purpose-points i { color: #172E42; }

.afpro-feature {
  background-color: #006DAE;
  background-image: linear-gradient(rgba(245, 247, 247, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 247, 247, .06) 1px, transparent 1px);
}
.afpro-feature::before { background: linear-gradient(120deg, rgba(6, 61, 115, .96), rgba(0, 109, 174, .92)); }
.afpro-poster { background: #F5F7F7; box-shadow: 18px 18px 0 #FF5A00; }
.feature-kicker,
.material-note span { color: #F5F7F7; background: #FF5A00; }
.afpro-content h2 em { color: #FF5A00; }
.feature-lead,
.afpro-content > small { color: #F5F7F7; }
.course-items article { background: #F5F7F7; color: #172E42; }
.course-items article > span { color: #FF5A00; }
.course-items p { color: #063D73; }
.material-note { background: rgba(6, 61, 115, .45); border-left-color: #FF5A00; }
.material-note span { background: transparent; }

.learning { background: #063D73; color: #F5F7F7; }
.section-head > p,
.learning-card p { color: #F5F7F7; }
.learning-card { background: linear-gradient(135deg, #006DAE, #063D73); border-color: rgba(245, 247, 247, .22); }
.learning-card.presencial { background: linear-gradient(135deg, #A95E2E, #FF5A00); color: #172E42; }
.learning-card.presencial p { color: #172E42; }
.learning-card li::before { color: #FF5A00; }
.presencial li::before { color: #172E42; }
.learning-card > a { border-bottom-color: #FF5A00; }
.presencial > a { border-bottom-color: #172E42; }
.card-number { color: rgba(245, 247, 247, .12); }
.presencial .card-number { color: rgba(23, 46, 66, .18); }

.benefits { background: #F5F7F7; }
.benefit-list article { border-color: rgba(23, 46, 66, .18); }
.logo-row .sponsor-logo { border-color: rgba(23, 46, 66, .16); }
.sponsor-logo:hover { box-shadow: 0 16px 30px rgba(23, 46, 66, .12); }

.join { background: linear-gradient(115deg, #063D73, #006DAE); color: #F5F7F7; }
.join-copy p { color: #F5F7F7; }
.join-form { color: #172E42; box-shadow: 12px 12px 0 #FF5A00; }
.join-form input,
.join-form select { border-color: rgba(23, 46, 66, .28); background: #F5F7F7; color: #172E42; }
.join-form small { color: #063D73; }

footer { background: #172E42; color: #F5F7F7; }
.footer-brand p,
footer > div:not(.footer-brand),
.copyright { color: #F5F7F7; }
.footer-social a { color: #F5F7F7; border-color: rgba(245, 247, 247, .30); }
.copyright { border-top-color: rgba(245, 247, 247, .14); }
.toast { background: #F5F7F7; color: #172E42; border-left-color: #FF5A00; box-shadow: 0 10px 35px rgba(23, 46, 66, .30); }

/* Página de registro */
.registration-page { background: #F5F7F7; color: #172E42; }
.registration-header { background: #F5F7F7; border-bottom-color: rgba(23, 46, 66, .18); }
.back-link,
.form-step,
.form-intro,
.success-card > p:not(.event-label) { color: #063D73; }
.event-panel { background: linear-gradient(145deg, #172E42, #063D73); color: #F5F7F7; }
.blueprint-grid { background-image: linear-gradient(rgba(245, 247, 247, .10) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 247, 247, .10) 1px, transparent 1px); }
.event-panel::after { border-color: rgba(255, 90, 0, .14); }
.event-label,
.form-step span,
.event-benefits span,
.success-icon { background: #FF5A00; }
.event-label { color: #F5F7F7; }
.event-content h1 em,
.data-icon { color: #FF5A00; }
.event-summary,
.event-data small,
.sponsor-strip { color: #F5F7F7; }
.event-data article { background: rgba(6, 61, 115, .48); border-color: rgba(245, 247, 247, .18); }
.event-benefits { border-top-color: rgba(245, 247, 247, .20); }
.event-benefits span,
.success-icon { color: #172E42; }
.form-wrap h2 { color: #063D73; }
.event-form label:not(.check-label),
.event-form legend { color: #172E42; }
.event-form input:not([type="radio"]):not([type="checkbox"]),
.event-form select {
  border-color: rgba(23, 46, 66, .24);
  background: #F5F7F7;
  color: #172E42;
}
.event-form input:focus,
.event-form select:focus { border-color: #006DAE; box-shadow: 0 0 0 3px rgba(0, 109, 174, .14); background: #F5F7F7; }
.event-form fieldset { border-color: rgba(23, 46, 66, .20); }
.check-label,
.privacy-note { color: #063D73; }
.check-label input { accent-color: #FF5A00; }
.register-submit { border-left-color: #063D73; background: #FF5A00; color: #172E42; }
.register-submit:hover { background: #FF5A00; }
.success-reminder { background: rgba(0, 109, 174, .10); border-left-color: #006DAE; color: #172E42; }

/* El marrón madera queda reservado a detalles vinculados con acabados */
.afpro-real,
.location-line { accent-color: #A95E2E; }

@media (max-width: 850px) {
  .hero::before { background: rgba(6, 61, 115, .60); }
}
