/* ============================================================
   BASE
   Sustituye a Bootstrap 5.3.0-alpha1, que se servía entero (220 KB
   de CSS más el JS) desde un CDN externo para usar 44 clases.

   Este archivo NO está escrito a mano: se extrajo de ese mismo
   bootstrap.min.css conservando literalmente

     1. las variables --bs-* que las reglas de abajo referencian,
     2. Reboot completo (los selectores de elemento: box-sizing,
        márgenes de h1-h6, p, ul, enlaces, formularios…), que es lo
        que de verdad afectaba a todo el documento, y
     3. las reglas de las 44 clases que el sitio usa de verdad.

   Se descartó el modo oscuro ([data-bs-theme=dark]): el sitio no lo
   tiene. Regenerable con tools/generar-base-css.py.
   ============================================================ */

:root {
    --bs-body-bg: #fff;
    --bs-body-color: #212529;
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-border-width: 1px;
    --bs-code-color: #d63384;
    --bs-dark-rgb: 33,37,41;
    --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-highlight-bg: #fff3cd;
    --bs-link-color-rgb: 13,110,253;
    --bs-link-hover-color-rgb: 10,88,202;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-white-rgb: 255,255,255;
}

/* ---------- Reboot ---------- */
*,::after,::before { box-sizing:border-box }
body { margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent }
hr { margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25 }
p { margin-top:0;margin-bottom:1rem }
abbr[title] { -webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none }
address { margin-bottom:1rem;font-style:normal;line-height:inherit }
ol,ul { padding-left:2rem }
dl,ol,ul { margin-top:0;margin-bottom:1rem }
ol ol,ol ul,ul ol,ul ul { margin-bottom:0 }
dt { font-weight:700 }
dd { margin-bottom:.5rem;margin-left:0 }
blockquote { margin:0 0 1rem }
b,strong { font-weight:bolder }
sub,sup { position:relative;font-size:.75em;line-height:0;vertical-align:baseline }
sub { bottom:-.25em }
sup { top:-.5em }
a { color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline }
a:hover { --bs-link-color-rgb:var(--bs-link-hover-color-rgb) }
a:not([href]):not([class]),a:not([href]):not([class]):hover { color:inherit;text-decoration:none }
code,kbd,pre,samp { font-family:var(--bs-font-monospace);font-size:1em }
pre { display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em }
pre code { font-size:inherit;color:inherit;word-break:normal }
code { font-size:.875em;color:var(--bs-code-color);word-wrap:break-word }
a>code { color:inherit }
kbd { padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem }
kbd kbd { padding:0;font-size:1em }
figure { margin:0 0 1rem }
img,svg { vertical-align:middle }
table { caption-side:bottom;border-collapse:collapse }
caption { padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left }
th { text-align:inherit;text-align:-webkit-match-parent }
tbody,td,tfoot,th,thead,tr { border-color:inherit;border-style:solid;border-width:0 }
label { display:inline-block }
button { border-radius:0 }
button:focus:not(:focus-visible) { outline:0 }
button,input,optgroup,select,textarea { margin:0;font-family:inherit;font-size:inherit;line-height:inherit }
button,select { text-transform:none }
[role=button] { cursor:pointer }
select { word-wrap:normal }
select:disabled { opacity:1 }
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { display:none!important }
[type=button],[type=reset],[type=submit],button { -webkit-appearance:button }
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) { cursor:pointer }
::-moz-focus-inner { padding:0;border-style:none }
textarea { resize:vertical }
fieldset { min-width:0;padding:0;margin:0;border:0 }
legend { float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit }
legend+* { clear:left }
::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field { padding:0 }
::-webkit-inner-spin-button { height:auto }
[type=search] { outline-offset:-2px;-webkit-appearance:textfield }
::-webkit-search-decoration { -webkit-appearance:none }
::-webkit-color-swatch-wrapper { padding:0 }
::-webkit-file-upload-button { font:inherit;-webkit-appearance:button }
::file-selector-button { font:inherit;-webkit-appearance:button }
output { display:inline-block }
iframe { border:0 }
summary { display:list-item;cursor:pointer }
progress { vertical-align:baseline }
[hidden] { display:none!important }
@media (prefers-reduced-motion:no-preference) {
    :root { scroll-behavior:smooth }
}
@media (min-width:1200px) {
    legend { font-size:1.5rem }
}
@keyframes progress-bar-stripes {
    0% { background-position-x:1rem }
}
@keyframes spinner-border {
    to { transform:rotate(360deg) }
}
@keyframes spinner-grow {
    0% { transform:scale(0) }
    50% { opacity:1;transform:none }
}
@keyframes placeholder-glow {
    50% { opacity:.2 }
}
@keyframes placeholder-wave {
    100% { -webkit-mask-position:-200% 0%;mask-position:-200% 0% }
}

/* ---------- Rejilla, contenedor y utilidades en uso ---------- */
h1,h2,h3,h4,h5,h6 { margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color,inherit) }
h1 { font-size:calc(1.375rem + 1.5vw) }
h2 { font-size:calc(1.325rem + .9vw) }
h3 { font-size:calc(1.3rem + .6vw) }
h4 { font-size:calc(1.275rem + .3vw) }
h5 { font-size:1.25rem }
h6 { font-size:1rem }
small { font-size:.875em }
mark { padding:.1875em;background-color:var(--bs-highlight-bg) }
.img-fluid { max-width:100%;height:auto }
.container { --bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto }
.row { --bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x)) }
.row>* { flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y) }
.g-0 { --bs-gutter-x:0 }
.g-0 { --bs-gutter-y:0 }
.btn { --bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out }
.btn:hover { color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color) }
.btn:focus-visible { color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow) }
.btn.active,.btn.show,.btn:first-child:active { color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color) }
.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible { box-shadow:var(--bs-btn-focus-box-shadow) }
.btn:disabled,fieldset:disabled .btn { color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity) }
.btn-danger { --bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545 }
.btn-lg { --bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem }
.btn-sm { --bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem }
.collapse:not(.show) { display:none }
.collapsing { height:0;overflow:hidden;transition:height .35s ease }
.nav-link { display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out }
.nav-link:focus,.nav-link:hover { color:var(--bs-nav-link-hover-color) }
.navbar-nav { --bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none }
.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link { color:var(--bs-navbar-active-color) }
.navbar-collapse { flex-basis:100%;flex-grow:1;align-items:center }
.navbar-toggler { padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition) }
.navbar-toggler:hover { text-decoration:none }
.navbar-toggler:focus { text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width) }
.navbar-toggler-icon { display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100% }
.breadcrumb { --bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius) }
.breadcrumb-item+.breadcrumb-item { padding-left:var(--bs-breadcrumb-item-padding-x) }
.breadcrumb-item+.breadcrumb-item::before { float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") }
.breadcrumb-item.active { color:var(--bs-breadcrumb-item-active-color) }
.badge { --bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius) }
.badge:empty { display:none }
.btn .badge { position:relative;top:-1px }
.d-flex { display:flex!important }
.flex-column { flex-direction:column!important }
.flex-wrap { flex-wrap:wrap!important }
.justify-content-end { justify-content:flex-end!important }
.justify-content-center { justify-content:center!important }
.align-items-center { align-items:center!important }
.align-items-stretch { align-items:stretch!important }
.align-self-center { align-self:center!important }
.mx-3 { margin-right:1rem!important;margin-left:1rem!important }
.my-5 { margin-top:3rem!important;margin-bottom:3rem!important }
.mt-3 { margin-top:1rem!important }
.me-auto { margin-right:auto!important }
.mb-4 { margin-bottom:1.5rem!important }
.mb-5 { margin-bottom:3rem!important }
.ms-3 { margin-left:1rem!important }
.p-3 { padding:1rem!important }
.px-5 { padding-right:3rem!important;padding-left:3rem!important }
.py-3 { padding-top:1rem!important;padding-bottom:1rem!important }
.py-5 { padding-top:3rem!important;padding-bottom:3rem!important }
.text-center { text-align:center!important }
.text-dark { --bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important }
.bg-white { --bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important }
@media (min-width:1200px) {
    h1 { font-size:2.5rem }
    h2 { font-size:2rem }
    h3 { font-size:1.75rem }
    h4 { font-size:1.5rem }
    .container { max-width:1140px }
}
@media (min-width:576px) {
    .container { max-width:540px }
}
@media (min-width:768px) {
    .container { max-width:720px }
    .col-md-4 { flex:0 0 auto;width:33.33333333% }
    .col-md-5 { flex:0 0 auto;width:41.66666667% }
    .col-md-7 { flex:0 0 auto;width:58.33333333% }
    .mt-md-0 { margin-top:0!important }
    .mb-md-0 { margin-bottom:0!important }
}
@media (min-width:992px) {
    .container { max-width:960px }
    .d-lg-flex { display:flex!important }
    .d-lg-none { display:none!important }
}
@media (min-width:1400px) {
    .container { max-width:1320px }
}
@media (prefers-reduced-motion:reduce) {
    .btn { transition:none }
    .collapsing { transition:none }
    .nav-link { transition:none }
    .navbar-toggler { transition:none }
}

