/* Compatibilidad BS3 -> BS5 para el markup heredado de los módulos. Temporal: se elimina al migrar los renderers */

/* Paridad de medidas con BS3: base 14px, contenedor 1170px, columnas posicionadas */
:root{--bs-body-font-size:.875rem;--bs-body-line-height:1.42857}
@media (min-width:1200px){.container{max-width:1170px}}
[class*="col-xs-"],[class*="col-sm-"],[class*="col-md-"],[class*="col-lg-"]{position:relative;min-height:1px}
.btn{--bs-btn-font-size:.875rem;--bs-btn-line-height:1.42857}
.btn-lg{--bs-btn-font-size:1.125rem}
.btn-sm{--bs-btn-font-size:.75rem;--bs-btn-padding-y:.3rem;--bs-btn-padding-x:.6rem}
.form-control,.form-select{font-size:.875rem}
.form-control-lg,.input-lg{font-size:1.125rem}
label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}
h1,.h1{font-size:2.25rem}h2,.h2{font-size:1.875rem}h3,.h3{font-size:1.5rem}h4,.h4{font-size:1.125rem}h5,.h5{font-size:.875rem}h6,.h6{font-size:.75rem}
h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}
h1,h2,h3,h4,h5,h6{line-height:1.1}
p{margin:0 0 10px}
.modal{--bs-modal-width:600px}
/* En BS3 .row era bloque; las filas flex de custom.css (flexbox*) no estiran a los hijos que no son columnas */
.row.flexbox>:not([class*="col"]),.row.flexbox-space>:not([class*="col"]),.row.flexbox-centro>:not([class*="col"]){width:auto}

/* Grid */
.col-xs-1{flex:0 0 auto;width:8.33333333%}.col-xs-2{flex:0 0 auto;width:16.66666667%}.col-xs-3{flex:0 0 auto;width:25%}
.col-xs-4{flex:0 0 auto;width:33.33333333%}.col-xs-5{flex:0 0 auto;width:41.66666667%}.col-xs-6{flex:0 0 auto;width:50%}
.col-xs-7{flex:0 0 auto;width:58.33333333%}.col-xs-8{flex:0 0 auto;width:66.66666667%}.col-xs-9{flex:0 0 auto;width:75%}
.col-xs-10{flex:0 0 auto;width:83.33333333%}.col-xs-11{flex:0 0 auto;width:91.66666667%}.col-xs-12{flex:0 0 auto;width:100%}

/* Visibilidad y utilidades */
.hidden{display:none!important}
.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}
.pull-left{float:left!important}.pull-right{float:right!important}
.center-block{display:block;margin-left:auto;margin-right:auto}
.text-left{text-align:left!important}.text-right{text-align:right!important}
.img-responsive{display:block;max-width:100%;height:auto}
.img-circle{border-radius:50%}.img-rounded{border-radius:6px}
@media (max-width:767.98px){.hidden-xs{display:none!important}}
@media (min-width:768px) and (max-width:991.98px){.hidden-sm{display:none!important}}
@media (min-width:992px) and (max-width:1199.98px){.hidden-md{display:none!important}}
@media (min-width:1200px){.hidden-lg{display:none!important}}
.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}
@media (max-width:767.98px){.visible-xs{display:block!important}}
@media (min-width:768px) and (max-width:991.98px){.visible-sm{display:block!important}}
@media (min-width:992px) and (max-width:1199.98px){.visible-md{display:block!important}}
@media (min-width:1200px){.visible-lg{display:block!important}}
.collapse.in{display:block}
.fade.in{opacity:1}
.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}
.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#6c757d;font-size:.875em}
.page-header{padding-bottom:9px;margin:2rem 0 1.25rem;border-bottom:1px solid var(--px-line,#eee)}
.dl-horizontal dt{font-weight:600}

/* Paneles -> tarjetas */
.panel:not(.card){margin-bottom:1.25rem;background:var(--px-surface,#fff);border:1px solid var(--px-card-line,#e3e5ee);border-radius:var(--px-radius,12px);box-shadow:none;overflow:hidden}
.panel:not(.card)>.panel-body{background:transparent!important}
.panel-heading:not(.card-header){padding:.8rem 1.1rem;border-bottom:1px solid var(--px-line,#e3e5ee);font-weight:600;background:rgba(var(--px-primary-rgb,41,46,82),.04)}
.panel-title:not(.card-title){margin:0;font-size:1.05rem;font-weight:600}
.panel-title:not(.card-title)>a{color:inherit}
.panel-body:not(.card-body){padding:1.1rem}
.panel-body:not(.card-body)::after{content:"";display:table;clear:both}
.panel-footer:not(.card-footer){padding:.75rem 1.1rem;background:var(--px-bg,#f5f6fa);border-top:1px solid var(--px-line,#e3e5ee)}
.panel:not(.card)>.table,.panel:not(.card)>.table-responsive>.table{margin-bottom:0}
.panel:not(.card)>.list-group .list-group-item{border-left:0;border-right:0;border-radius:0}
.panel-group .panel:not(.card){margin-bottom:.5rem}
.panel-primary:not(.card)>.panel-heading:not(.card-header){background:var(--px-primary,#292e52);color:var(--px-on-primary,#fff);border-color:var(--px-primary,#292e52)}
.panel-primary:not(.card){border-color:var(--px-primary,#292e52)}
.panel-success:not(.card)>.panel-heading:not(.card-header){background:#e3f4e4;color:#1e6b23;border-color:#cfe9d1}
.panel-info:not(.card)>.panel-heading:not(.card-header){background:#e1f1fa;color:#0b5a83;border-color:#cbe6f5}
.panel-warning:not(.card)>.panel-heading:not(.card-header){background:#fdf3dc;color:#7a5600;border-color:#f6e3b4}
.panel-danger:not(.card)>.panel-heading:not(.card-header){background:#fbe4e4;color:#8a1f1f;border-color:#f3cccc}
.panel-success:not(.card){border-color:#cfe9d1}.panel-info:not(.card){border-color:#cbe6f5}.panel-warning:not(.card){border-color:#f6e3b4}.panel-danger:not(.card){border-color:#f3cccc}

/* Well, thumbnail, jumbotron, media */
.well{min-height:20px;padding:1.1rem;margin-bottom:1.25rem;background:var(--px-bg,#f5f6fa);border:0;border-radius:var(--px-radius-sm,8px)}
.well-sm{padding:.6rem}.well-lg{padding:1.5rem}
.thumbnail{display:block;padding:4px;margin-bottom:1.25rem;background:#fff;border:1px solid var(--px-line,#ddd);border-radius:var(--px-radius-sm,8px)}
.thumbnail>img{display:block;max-width:100%;height:auto;margin:0 auto}
.thumbnail .caption{padding:9px}
.jumbotron{padding:2.5rem 1.5rem;margin-bottom:1.5rem;background:var(--px-bg,#eee);border-radius:var(--px-radius,12px)}
.media{display:flex;align-items:flex-start;gap:1rem;margin-top:1rem}
.media:first-child{margin-top:0}
.media-body{flex:1}
.media-heading{margin:0 0 .35rem;font-size:1.05rem}
.media-left,.media-right{flex-shrink:0}
.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden;padding-bottom:56.25%}
.embed-responsive-4by3{padding-bottom:75%}
.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* Etiquetas y badges */
.label{display:inline-block;padding:.25em .6em;font-size:75%;font-weight:600;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.35em;background:#6c757d}
.label-primary{background:var(--px-primary,#292e52)}.label-success{background:#198754}.label-info{background:#0dcaf0;color:#000}
.label-warning{background:#ffc107;color:#000}.label-danger{background:#dc3545}.label-default{background:#6c757d}
.badge:not([class*="bg-"]):not([class*="text-bg-"]){background:#6c757d;color:#fff}

/* Botones y formularios */
.btn-default{color:#333;background:#fff;border-color:#ccc}
.btn-default:hover,.btn-default:focus{color:#333;background:#e6e6e6;border-color:#adadad}
.btn-xs{padding:.15rem .4rem;font-size:.75rem;line-height:1.5;border-radius:.2rem}
.btn-block{display:block;width:100%}
.btn-block+.btn-block{margin-top:5px}
.input-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}
.input-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.4rem}
.input-group-addon{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background:#e9ecef;border:1px solid #dee2e6;border-radius:.375rem}
.input-group>.input-group-addon:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.input-group>.input-group-addon:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.input-group-btn{display:flex}
.input-group-btn>.btn{position:relative;z-index:2}
.input-group>.input-group-btn:last-child>.btn{border-top-left-radius:0;border-bottom-left-radius:0}
.input-group>.input-group-btn:first-child>.btn{border-top-right-radius:0;border-bottom-right-radius:0}
.form-group{margin-bottom:1rem}
.control-label{font-weight:600;margin-bottom:.35rem}
.form-horizontal .control-label{padding-top:.4rem}
.form-inline .form-control-static{display:inline-block}
@media (min-width:768px){
.form-inline .form-group,.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}
.form-inline .form-control,.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}
.form-inline .input-group,.navbar-form .input-group{display:inline-flex;width:auto;vertical-align:middle}
.form-inline .checkbox,.form-inline .radio{display:inline-block;margin:0;vertical-align:middle}
}
.checkbox,.radio{display:block;margin:.5rem 0}
.checkbox label,.radio label{font-weight:400;cursor:pointer}
.has-error .form-control{border-color:#dc3545}
.has-success .form-control{border-color:#198754}
.table-condensed>:not(caption)>*>*{padding:.3rem}

/* Cerrar (modales, alertas) */
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5;background:transparent;border:0;padding:0}
.close:hover{opacity:.8}
.modal-header .close{margin-left:auto;order:2}
.modal-header{display:flex;align-items:center}

/* Navegación heredada */
.nav-tabs>li>a,.nav-pills>li>a{display:block;padding:.5rem 1rem}
.nav-tabs>li.active>a,.nav-tabs>li>a.active{color:var(--px-primary,#495057);background:#fff;border:1px solid #dee2e6;border-bottom-color:transparent;border-radius:.375rem .375rem 0 0}
.nav-pills>li.active>a,.nav-pills>li>a.active{color:#fff;background:var(--px-primary,#0d6efd);border-radius:.375rem}
.dropdown-menu>li>a{display:block;padding:.3rem 1rem;clear:both;color:#212529;white-space:nowrap}
.dropdown-menu>li>a:hover{background:#f1f3f5}
.breadcrumb>li+li::before{content:"/\00a0";padding:0 .4rem;color:#6c757d}
.breadcrumb>li{display:inline-block}
.pagination>li>a,.pagination>li>span{display:block;padding:.375rem .75rem;margin-left:-1px;color:var(--px-primary,#0d6efd);background:#fff;border:1px solid #dee2e6}
.pagination>li.active>a,.pagination>li.active>span{color:#fff;background:var(--px-primary,#0d6efd);border-color:var(--px-primary,#0d6efd)}
.pager{padding-left:0;margin:1rem 0;text-align:center;list-style:none}
.pager li{display:inline}
.pager li>a{display:inline-block;padding:5px 14px;background:#fff;border:1px solid #ddd;border-radius:15px}

/* Carrusel BS3 (el shim JS agrega carousel-item / carousel-control-*) */
/* Ítems .item heredados: las hojas BS3 (custom, volcados de cliente) fijan transform/left y matan la animación de BS5 */
.carousel .carousel-inner>.item.carousel-item{left:0;transform:none;transition:transform .6s ease-in-out}
.carousel .carousel-inner>.item.carousel-item-next:not(.carousel-item-start),.carousel .carousel-inner>.item.active.carousel-item-end{transform:translateX(100%)}
.carousel .carousel-inner>.item.carousel-item-prev:not(.carousel-item-end),.carousel .carousel-inner>.item.active.carousel-item-start{transform:translateX(-100%)}
.carousel.carousel-fade .carousel-inner>.item.carousel-item{transform:none;transition-property:opacity}
.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin:0 3px;text-indent:-999px;cursor:pointer;background:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}
.carousel-indicators li.active{opacity:1}
.carousel-control .glyphicon{font-size:1.8rem}

/* Glyphicons -> Font Awesome 6 */
.glyphicon{display:inline-block;font-family:"Font Awesome 6 Free";font-weight:900;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;position:relative;top:1px}
.glyphicon-remove:before{content:"\f00d"}.glyphicon-ok:before{content:"\f00c"}.glyphicon-plus:before{content:"+"}.glyphicon-minus:before{content:"\f068"}
.glyphicon-plus-sign:before{content:"\f055"}.glyphicon-minus-sign:before{content:"\f056"}.glyphicon-remove-circle:before{content:"\f057"}
.glyphicon-ok-sign:before,.glyphicon-ok-circle:before{content:"\f058"}.glyphicon-ban-circle:before{content:"\f05e"}
.glyphicon-play:before{content:"\f04b"}.glyphicon-pause:before{content:"\f04c"}.glyphicon-time:before{content:"\f017"}
.glyphicon-home:before{content:"\f015"}.glyphicon-calendar:before{content:"\f073"}.glyphicon-question-sign:before{content:"\f059"}
.glyphicon-info-sign:before{content:"\f05a"}.glyphicon-exclamation-sign:before{content:"\f06a"}.glyphicon-warning-sign:before{content:"\f071"}
.glyphicon-hourglass:before{content:"\f252"}.glyphicon-chevron-right:before{content:"\f054"}.glyphicon-chevron-left:before{content:"\f053"}
.glyphicon-chevron-up:before{content:"\f077"}.glyphicon-chevron-down:before{content:"\f078"}.glyphicon-arrow-right:before{content:"\f061"}
.glyphicon-arrow-left:before{content:"\f060"}.glyphicon-blackboard:before{content:"\f51b"}.glyphicon-user:before{content:"\f007"}
.glyphicon-upload:before{content:"\f093"}.glyphicon-download:before,.glyphicon-download-alt:before{content:"\f019"}
.glyphicon-search:before{content:"\f002"}.glyphicon-pencil:before,.glyphicon-edit:before{content:"\f303"}.glyphicon-lock:before{content:"\f023"}
.glyphicon-link:before{content:"\f0c1"}.glyphicon-folder-open:before{content:"\f07c"}.glyphicon-folder-close:before{content:"\f07b"}
.glyphicon-education:before{content:"\f19d"}.glyphicon-th-list:before,.glyphicon-list:before{content:"\f03a"}.glyphicon-print:before{content:"\f02f"}
.glyphicon-hand-right:before{content:"\f0a4"}.glyphicon-cog:before{content:"\f013"}.glyphicon-bell:before{content:"\f0f3"}
.glyphicon-trash:before{content:"\f1f8"}.glyphicon-envelope:before{content:"\f0e0"}.glyphicon-star:before{content:"\f005"}
.glyphicon-eye-open:before{content:"\f06e"}.glyphicon-file:before{content:"\f15b"}.glyphicon-refresh:before{content:"\f021"}
.glyphicon-floppy-disk:before{content:"\f0c7"}.glyphicon-phone:before,.glyphicon-earphone:before{content:"\f095"}
.glyphicon-map-marker:before{content:"\f3c5"}.glyphicon-menu-hamburger:before{content:"\f0c9"}.glyphicon-list-alt:before{content:"\f022"}
