/* =====================================================
   Compatibilidad Bootstrap 5.3 ↔ diseño Cristex
   Bootstrap se carga antes; aquí se neutraliza lo que su "reboot"
   cambia respecto al diseño original, sin tocar sus utilidades.
   ===================================================== */

/* Reboot: márgenes y sangrías que el diseño original no tenía */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding-left: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; line-height: inherit; color: inherit; }
h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.17em; }
h4 { font-size: 1em; } h5 { font-size: .83em; } h6 { font-size: .67em; }
legend { float: none; width: auto; padding: 0; font-size: inherit; line-height: inherit; }
label { display: inline; }
img, svg { vertical-align: baseline; }
small { font-size: smaller; }
b, strong { font-weight: bold; }
th { font-weight: bold; }
table { caption-side: top; }
button:focus:not(:focus-visible) { outline: 0; }
::placeholder { opacity: .6; }

/* Botones: las variantes del tema usan las variables de Bootstrap (--bs-btn-*),
   así hover / active / focus de Bootstrap respetan los colores del tema. */
.btn {
  --bs-btn-padding-x: 32px; --bs-btn-padding-y: 17px;
  --bs-btn-font-family: var(--body); --bs-btn-font-size: 12px; --bs-btn-font-weight: 500;
  --bs-btn-line-height: 1.6; --bs-btn-border-radius: 0; --bs-btn-border-width: 1px;
  --bs-btn-focus-box-shadow: 0 0 0 .2rem rgba(107,183,227,.45);
  --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-btn-hover-color);
}
.btn--light, .btn--lime, .btn--dark {
  --bs-btn-color: var(--white); --bs-btn-bg: var(--navy); --bs-btn-border-color: var(--navy);
  --bs-btn-hover-color: var(--white); --bs-btn-hover-bg: var(--blue); --bs-btn-hover-border-color: var(--blue);
}
.btn--ghost {
  --bs-btn-color: var(--navy); --bs-btn-bg: transparent; --bs-btn-border-color: var(--navy);
  --bs-btn-hover-color: var(--white); --bs-btn-hover-bg: var(--navy); --bs-btn-hover-border-color: var(--navy);
}
.btn--outline-light {
  --bs-btn-color: var(--white); --bs-btn-bg: transparent; --bs-btn-border-color: rgba(255,255,255,.5);
  --bs-btn-hover-color: var(--navy); --bs-btn-hover-bg: var(--white); --bs-btn-hover-border-color: var(--white);
}
.cta-band .btn--lime, .studio .btn--lime, .contact .btn--lime, .promo-card--cta .btn--lime {
  --bs-btn-color: var(--navy); --bs-btn-bg: var(--white); --bs-btn-border-color: var(--white);
  --bs-btn-hover-color: var(--navy); --bs-btn-hover-bg: var(--celeste); --bs-btn-hover-border-color: var(--celeste);
}
.btn--small { --bs-btn-padding-x: 22px; --bs-btn-padding-y: 12px; --bs-btn-font-size: 11px; }
