/* bs4-compat.css — puente de compatibilidad Bootstrap 4 -> 5
   Reimplementa utilidades que BS5 renombró/eliminó y que la web ya usa.
   Permite migrar página a página sin reescribir cada clase a mano. */
.ml-0{margin-left:0!important}
.ml-1{margin-left:.25rem!important}
.ml-2{margin-left:.5rem!important}
.ml-3{margin-left:1rem!important}
.ml-4{margin-left:1.5rem!important}
.ml-5{margin-left:3rem!important}
.ml-auto{margin-left:auto!important}
.mr-0{margin-right:0!important}
.mr-1{margin-right:.25rem!important}
.mr-2{margin-right:.5rem!important}
.mr-3{margin-right:1rem!important}
.mr-4{margin-right:1.5rem!important}
.mr-5{margin-right:3rem!important}
.mr-auto{margin-right:auto!important}
.pl-0{padding-left:0!important}
.pl-1{padding-left:.25rem!important}
.pl-2{padding-left:.5rem!important}
.pl-3{padding-left:1rem!important}
.pl-4{padding-left:1.5rem!important}
.pl-5{padding-left:3rem!important}
.pr-0{padding-right:0!important}
.pr-1{padding-right:.25rem!important}
.pr-2{padding-right:.5rem!important}
.pr-3{padding-right:1rem!important}
.pr-4{padding-right:1.5rem!important}
.pr-5{padding-right:3rem!important}
@media (min-width:576px){.ml-sm-0{margin-left:0!important}}
@media (min-width:576px){.ml-sm-1{margin-left:.25rem!important}}
@media (min-width:576px){.ml-sm-2{margin-left:.5rem!important}}
@media (min-width:576px){.ml-sm-3{margin-left:1rem!important}}
@media (min-width:576px){.ml-sm-4{margin-left:1.5rem!important}}
@media (min-width:576px){.ml-sm-5{margin-left:3rem!important}}
@media (min-width:576px){.ml-sm-auto{margin-left:auto!important}}
@media (min-width:576px){.mr-sm-0{margin-right:0!important}}
@media (min-width:576px){.mr-sm-1{margin-right:.25rem!important}}
@media (min-width:576px){.mr-sm-2{margin-right:.5rem!important}}
@media (min-width:576px){.mr-sm-3{margin-right:1rem!important}}
@media (min-width:576px){.mr-sm-4{margin-right:1.5rem!important}}
@media (min-width:576px){.mr-sm-5{margin-right:3rem!important}}
@media (min-width:576px){.mr-sm-auto{margin-right:auto!important}}
@media (min-width:576px){.pl-sm-0{padding-left:0!important}}
@media (min-width:576px){.pl-sm-1{padding-left:.25rem!important}}
@media (min-width:576px){.pl-sm-2{padding-left:.5rem!important}}
@media (min-width:576px){.pl-sm-3{padding-left:1rem!important}}
@media (min-width:576px){.pl-sm-4{padding-left:1.5rem!important}}
@media (min-width:576px){.pl-sm-5{padding-left:3rem!important}}
@media (min-width:576px){.pr-sm-0{padding-right:0!important}}
@media (min-width:576px){.pr-sm-1{padding-right:.25rem!important}}
@media (min-width:576px){.pr-sm-2{padding-right:.5rem!important}}
@media (min-width:576px){.pr-sm-3{padding-right:1rem!important}}
@media (min-width:576px){.pr-sm-4{padding-right:1.5rem!important}}
@media (min-width:576px){.pr-sm-5{padding-right:3rem!important}}
@media (min-width:768px){.ml-md-0{margin-left:0!important}}
@media (min-width:768px){.ml-md-1{margin-left:.25rem!important}}
@media (min-width:768px){.ml-md-2{margin-left:.5rem!important}}
@media (min-width:768px){.ml-md-3{margin-left:1rem!important}}
@media (min-width:768px){.ml-md-4{margin-left:1.5rem!important}}
@media (min-width:768px){.ml-md-5{margin-left:3rem!important}}
@media (min-width:768px){.ml-md-auto{margin-left:auto!important}}
@media (min-width:768px){.mr-md-0{margin-right:0!important}}
@media (min-width:768px){.mr-md-1{margin-right:.25rem!important}}
@media (min-width:768px){.mr-md-2{margin-right:.5rem!important}}
@media (min-width:768px){.mr-md-3{margin-right:1rem!important}}
@media (min-width:768px){.mr-md-4{margin-right:1.5rem!important}}
@media (min-width:768px){.mr-md-5{margin-right:3rem!important}}
@media (min-width:768px){.mr-md-auto{margin-right:auto!important}}
@media (min-width:768px){.pl-md-0{padding-left:0!important}}
@media (min-width:768px){.pl-md-1{padding-left:.25rem!important}}
@media (min-width:768px){.pl-md-2{padding-left:.5rem!important}}
@media (min-width:768px){.pl-md-3{padding-left:1rem!important}}
@media (min-width:768px){.pl-md-4{padding-left:1.5rem!important}}
@media (min-width:768px){.pl-md-5{padding-left:3rem!important}}
@media (min-width:768px){.pr-md-0{padding-right:0!important}}
@media (min-width:768px){.pr-md-1{padding-right:.25rem!important}}
@media (min-width:768px){.pr-md-2{padding-right:.5rem!important}}
@media (min-width:768px){.pr-md-3{padding-right:1rem!important}}
@media (min-width:768px){.pr-md-4{padding-right:1.5rem!important}}
@media (min-width:768px){.pr-md-5{padding-right:3rem!important}}
@media (min-width:992px){.ml-lg-0{margin-left:0!important}}
@media (min-width:992px){.ml-lg-1{margin-left:.25rem!important}}
@media (min-width:992px){.ml-lg-2{margin-left:.5rem!important}}
@media (min-width:992px){.ml-lg-3{margin-left:1rem!important}}
@media (min-width:992px){.ml-lg-4{margin-left:1.5rem!important}}
@media (min-width:992px){.ml-lg-5{margin-left:3rem!important}}
@media (min-width:992px){.ml-lg-auto{margin-left:auto!important}}
@media (min-width:992px){.mr-lg-0{margin-right:0!important}}
@media (min-width:992px){.mr-lg-1{margin-right:.25rem!important}}
@media (min-width:992px){.mr-lg-2{margin-right:.5rem!important}}
@media (min-width:992px){.mr-lg-3{margin-right:1rem!important}}
@media (min-width:992px){.mr-lg-4{margin-right:1.5rem!important}}
@media (min-width:992px){.mr-lg-5{margin-right:3rem!important}}
@media (min-width:992px){.mr-lg-auto{margin-right:auto!important}}
@media (min-width:992px){.pl-lg-0{padding-left:0!important}}
@media (min-width:992px){.pl-lg-1{padding-left:.25rem!important}}
@media (min-width:992px){.pl-lg-2{padding-left:.5rem!important}}
@media (min-width:992px){.pl-lg-3{padding-left:1rem!important}}
@media (min-width:992px){.pl-lg-4{padding-left:1.5rem!important}}
@media (min-width:992px){.pl-lg-5{padding-left:3rem!important}}
@media (min-width:992px){.pr-lg-0{padding-right:0!important}}
@media (min-width:992px){.pr-lg-1{padding-right:.25rem!important}}
@media (min-width:992px){.pr-lg-2{padding-right:.5rem!important}}
@media (min-width:992px){.pr-lg-3{padding-right:1rem!important}}
@media (min-width:992px){.pr-lg-4{padding-right:1.5rem!important}}
@media (min-width:992px){.pr-lg-5{padding-right:3rem!important}}
@media (min-width:1200px){.ml-xl-0{margin-left:0!important}}
@media (min-width:1200px){.ml-xl-1{margin-left:.25rem!important}}
@media (min-width:1200px){.ml-xl-2{margin-left:.5rem!important}}
@media (min-width:1200px){.ml-xl-3{margin-left:1rem!important}}
@media (min-width:1200px){.ml-xl-4{margin-left:1.5rem!important}}
@media (min-width:1200px){.ml-xl-5{margin-left:3rem!important}}
@media (min-width:1200px){.ml-xl-auto{margin-left:auto!important}}
@media (min-width:1200px){.mr-xl-0{margin-right:0!important}}
@media (min-width:1200px){.mr-xl-1{margin-right:.25rem!important}}
@media (min-width:1200px){.mr-xl-2{margin-right:.5rem!important}}
@media (min-width:1200px){.mr-xl-3{margin-right:1rem!important}}
@media (min-width:1200px){.mr-xl-4{margin-right:1.5rem!important}}
@media (min-width:1200px){.mr-xl-5{margin-right:3rem!important}}
@media (min-width:1200px){.mr-xl-auto{margin-right:auto!important}}
@media (min-width:1200px){.pl-xl-0{padding-left:0!important}}
@media (min-width:1200px){.pl-xl-1{padding-left:.25rem!important}}
@media (min-width:1200px){.pl-xl-2{padding-left:.5rem!important}}
@media (min-width:1200px){.pl-xl-3{padding-left:1rem!important}}
@media (min-width:1200px){.pl-xl-4{padding-left:1.5rem!important}}
@media (min-width:1200px){.pl-xl-5{padding-left:3rem!important}}
@media (min-width:1200px){.pr-xl-0{padding-right:0!important}}
@media (min-width:1200px){.pr-xl-1{padding-right:.25rem!important}}
@media (min-width:1200px){.pr-xl-2{padding-right:.5rem!important}}
@media (min-width:1200px){.pr-xl-3{padding-right:1rem!important}}
@media (min-width:1200px){.pr-xl-4{padding-right:1.5rem!important}}
@media (min-width:1200px){.pr-xl-5{padding-right:3rem!important}}

/* pesos y estilos de fuente (renombrados fw-* / fst-*) */
.font-weight-bold{font-weight:700!important}
.font-weight-bolder{font-weight:bolder!important}
.font-weight-normal{font-weight:400!important}
.font-weight-light{font-weight:300!important}
.font-italic{font-style:italic!important}
/* colores con opacidad eliminados en BS5 */
.text-black-50{color:rgba(0,0,0,.5)!important}
.text-white-50{color:rgba(255,255,255,.5)!important}
/* alineación (renombradas text-start/text-end) */
.text-justify{text-align:justify!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
/* componente media (eliminado en BS5) */
.media{display:flex;align-items:flex-start}
.media-body{flex:1}
/* sr-only (renombrado visually-hidden) */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* badges de color (por si alguna página los usa) */
.badge-primary{color:#fff;background-color:#007bff}
.badge-secondary{color:#fff;background-color:#6c757d}
.badge-danger{color:#fff;background-color:#dc3545}


/* --- Iconos SVG propios (em-icon), sustituyen a FontAwesome --- */
.em-icon{width:1em;height:1em;vertical-align:-.125em;display:inline-block;flex-shrink:0}
.fa-lg{font-size:1.33em}.fa-sm{font-size:.875em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}
.redes-sociales{gap:1.1rem}
.redes-sociales li{margin:0 .5rem}
.redes-sociales li:first-child{margin-left:0}
.redes-sociales li:last-child{margin-right:0}
.redes-sociales a{display:inline-flex;padding:.15rem}
.redes-sociales .em-icon{font-size:1.6em}

/* --- embed-responsive (BS4) -> equivalente para vídeos del hero/secciones --- */
.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}
.embed-responsive::before{display:block;content:""}
.embed-responsive-16by9::before{padding-top:56.25%}
.embed-responsive-4by3::before{padding-top:75%}
.embed-responsive .embed-responsive-item,
.embed-responsive-item{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;object-fit:cover}
.fa-fw{width:1.25em;text-align:center}

/* Fix: contener las tarjetas absolutas de "servicios-imagenes" dentro de su
   columna (antes caían sobre el hero en ancho móvil/tablet). */
.serv-img-1,.serv-img-2,.serv-img-3,.serv-img-4{position:relative}
