/* Paleta WebMey: colores extraidos de la referencia de la usuaria. */
:root {
    --mey-rojo: #FF3031;
    --mey-vino: #9F1625;
    --mey-amarillo: #FFCC51;
    --mey-celeste: #00AAFF;
    --mey-azul: #153C8A;
    --mey-fondo: #faf9f6;
    --mey-superficie: #ffffff;
    --mey-borde: #dce3ef;
    --bs-primary: #153C8A;
    --bs-primary-rgb: 21, 60, 138;
    --bs-danger: #9F1625;
    --bs-danger-rgb: 159, 22, 37;
    --bs-warning: #FFCC51;
    --bs-warning-rgb: 255, 204, 81;
    --bs-info: #00AAFF;
    --bs-info-rgb: 0, 170, 255;
    --bs-link-color: #9F1625;
    --bs-link-color-rgb: 159, 22, 37;
    --bs-link-hover-color: #153C8A;
    --bs-link-hover-color-rgb: 21, 60, 138;
    --bs-body-bg: #faf9f6;
    --bs-body-color: #233957;
    --bs-heading-color: #153C8A;
    --bs-border-color: #dce3ef;
    --bs-secondary-color: #56647a;
}
.theme-webmey {
    background-color: var(--mey-fondo);
    background-image: url('../img/Background.svg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: var(--bs-body-color);
}
.theme-webmey.mey-chromium { background-image: url('../img/Background.png'); }
.theme-webmey ::selection { background: var(--mey-amarillo); color: var(--mey-azul); }
.theme-webmey h1, .theme-webmey h2, .theme-webmey h3, .theme-webmey legend { color: var(--mey-azul); }
.theme-webmey h1 { font-weight: 800; letter-spacing: -.035em; }
.theme-webmey h1::after { content: ''; display: block; width: 56px; height: 5px; margin-top: 16px; border-radius: 5px; background: var(--mey-rojo); }
.theme-webmey .text-center h1::after, .theme-webmey h1.text-center::after { margin-inline: auto; }
.theme-webmey h2 { font-weight: 750; }
.theme-webmey a { text-underline-offset: 4px; }
.theme-webmey a:focus-visible { outline: 3px solid var(--mey-celeste); outline-offset: 4px; }

/* Navegacion y pie compartidos. */
.mey-navbar {
    background: var(--mey-azul);
    --bs-navbar-color: #ffffff;
    --bs-navbar-hover-color: #FFCC51;
    --bs-navbar-active-color: #FFCC51;
    --bs-navbar-brand-color: #ffffff;
    --bs-navbar-brand-hover-color: #FFCC51;
    --bs-navbar-toggler-border-color: rgba(255,255,255,.55);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    border-top: 6px solid var(--mey-rojo);
    box-shadow: 0 5px 20px rgba(21,60,138,.08);
}
.mey-navbar .nav-link { border-radius: 10px; padding: .6rem .85rem; font-weight: 600; }
.mey-navbar .nav-link:hover, .mey-navbar .nav-link:focus-visible { background: rgba(255,255,255,.08); }
.mey-navbar .navbar-toggler:focus { box-shadow: 0 0 0 3px var(--mey-celeste); }
.mey-navbar .dropdown-menu {
    --bs-dropdown-color: #153C8A;
    --bs-dropdown-link-color: #153C8A;
    --bs-dropdown-link-hover-color: #153C8A;
    --bs-dropdown-link-hover-bg: #fff2cd;
    --bs-dropdown-link-active-bg: #153C8A;
    --bs-dropdown-link-active-color: #ffffff;
    --bs-dropdown-bg: #ffffff;
    border-color: var(--mey-borde); border-radius: 14px;
    box-shadow: 0 12px 32px rgba(21,60,138,.12); padding: 8px;
}
.mey-navbar .dropdown-item { border-radius: 8px; }
.mey-footer { background: var(--mey-azul); color: #ffffff; border-top: 4px solid var(--mey-amarillo); }
.mey-footer p:first-child { color: var(--mey-amarillo); font-weight: 750; }
.mey-footer a { color: var(--mey-amarillo); }

/* Botones de contorno: se conserva el comportamiento elegido. */
.btn-rojo-crema {
    --bs-btn-color: #9F1625;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: #FF3031;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #9F1625;
    --bs-btn-hover-border-color: #9F1625;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #153C8A;
    --bs-btn-active-border-color: #153C8A;
    --bs-btn-disabled-color: #9F1625;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #9F1625;
    --bs-btn-focus-shadow-rgb: 0, 170, 255;
    font-weight: 650;
}
.theme-webmey .btn-danger, .theme-webmey .btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #9F1625;
    --bs-btn-border-color: #9F1625;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #153C8A;
    --bs-btn-hover-border-color: #153C8A;
    --bs-btn-active-bg: #153C8A;
    --bs-btn-active-border-color: #153C8A;
    --bs-btn-focus-shadow-rgb: 0,170,255;
}
.theme-webmey .btn-primary { --bs-btn-bg: #153C8A; --bs-btn-border-color: #153C8A; --bs-btn-hover-bg: #9F1625; --bs-btn-hover-border-color: #9F1625; }
.theme-webmey .btn-outline-danger {
    --bs-btn-color: #9F1625; --bs-btn-border-color: #9F1625;
    --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #9F1625; --bs-btn-hover-border-color: #9F1625;
    --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #9F1625; --bs-btn-active-border-color: #9F1625;
    --bs-btn-focus-shadow-rgb: 0,170,255;
}
.theme-webmey .btn-link { --bs-btn-color: #153C8A; --bs-btn-hover-color: #9F1625; }
.theme-webmey .btn:focus-visible { outline: 3px solid var(--mey-celeste); outline-offset: 3px; }

/* Formularios publicos, acceso y administracion. */
.theme-webmey .form-label { color: var(--mey-azul); font-weight: 600; }
.theme-webmey .form-control, .theme-webmey .form-select {
    background-color: var(--mey-superficie); color: #233957; border-color: #bdcbe0; border-radius: 12px;
}
.theme-webmey .form-control:focus, .theme-webmey .form-select:focus {
    border-color: var(--mey-celeste); box-shadow: 0 0 0 3px rgba(0,170,255,.17);
}
.theme-webmey .form-control::placeholder { color: #64748a; opacity: 1; }
.theme-webmey .form-control::file-selector-button { color: var(--mey-azul); background: #eaf5ff; }
.theme-webmey .form-check-input:checked { background-color: var(--mey-azul); border-color: var(--mey-azul); }
.theme-webmey .text-danger { color: var(--mey-vino) !important; }
.theme-webmey .alert { border-radius: 14px; }
.theme-webmey .alert-danger { --bs-alert-color: #9F1625; --bs-alert-bg: #fff0f1; --bs-alert-border-color: #efc3c8; }
.theme-webmey .alert-warning { --bs-alert-color: #153C8A; --bs-alert-bg: #fff4d6; --bs-alert-border-color: #FFCC51; }
.theme-webmey .alert-info, .theme-webmey .alert-success { --bs-alert-color: #153C8A; --bs-alert-bg: #eaf7ff; --bs-alert-border-color: #a8def9; }

/* Galerias, visores y tablas. */
.theme-webmey .card { --bs-card-bg: #ffffff; --bs-card-color: #233957; --bs-card-border-color: #dce3ef; --bs-card-border-radius: 18px; }
.theme-webmey .dibujo-miniatura, .theme-webmey .comision-miniatura { background: #edf5fb; }
.theme-webmey .dibujo-abrir:focus-visible, .theme-webmey .comision-abrir:focus-visible { outline-color: var(--mey-celeste); }
.theme-webmey .card-footer { padding-top: 12px; }
.theme-webmey .modal-content { --bs-modal-bg: #ffffff; --bs-modal-color: #233957; --bs-modal-border-color: #dce3ef; --bs-modal-border-radius: 18px; }
.theme-webmey .modal-header { background: #edf5fb; border-bottom: 3px solid var(--mey-amarillo); }
.theme-webmey .table { --bs-table-bg: #ffffff; --bs-table-color: #233957; --bs-table-border-color: #dce3ef; --bs-table-striped-bg: #edf5fb; --bs-table-striped-color: #233957; }
.theme-webmey .table thead { --bs-table-bg: #153C8A; --bs-table-color: #ffffff; }
.theme-webmey .table > :not(caption) > * > * { padding: .95rem; }
.theme-webmey .badge.text-bg-secondary { color: #153C8A !important; background: #FFCC51 !important; }
.theme-webmey #titulo-novedades { color: var(--mey-azul); }
.theme-webmey #titulo-novedades::after { content: ''; display: block; width: 64px; height: 5px; border-radius: 4px; margin: 16px auto 0; background: var(--mey-amarillo); }

/* Acciones de edicion y confirmacion. */
.theme-webmey .btn-editar {
    --bs-btn-color: #153C8A;
    --bs-btn-bg: #FFCC51;
    --bs-btn-border-color: #FFCC51;
    --bs-btn-hover-color: #153C8A;
    --bs-btn-hover-bg: #ffe39a;
    --bs-btn-hover-border-color: #FFCC51;
    --bs-btn-active-color: #153C8A;
    --bs-btn-active-bg: #FFCC51;
    --bs-btn-active-border-color: #153C8A;
}
.theme-webmey .btn-guardar {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #153C8A;
    --bs-btn-border-color: #153C8A;
    --bs-btn-hover-color: #153C8A;
    --bs-btn-hover-bg: #bde9ff;
    --bs-btn-hover-border-color: #153C8A;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #153C8A;
    --bs-btn-active-border-color: #153C8A;
}
/* Mostrar y ocultar contraseñas sin alterar el formulario. */
.mey-clave { position: relative; width: 100%; }
.mey-clave .form-control { padding-right: 3.5rem; }
.mey-clave-toggle {
    position: absolute; right: 3px; top: 0; bottom: 0; width: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 0; border-radius: 10px; background: transparent;
    color: var(--mey-azul); cursor: pointer;
}
.mey-clave-toggle:hover { color: var(--mey-vino); background: rgba(255,204,81,.2); }
.mey-clave-toggle:focus-visible { outline: 3px solid var(--mey-celeste); outline-offset: 1px; }
/* Inicio: superficies translucidas para leer sobre el fondo ilustrado. */
.theme-webmey .inicio-texto-panel,
.theme-webmey .inicio-titulo-panel,
.theme-webmey .inicio-video-titulo:not(:empty) {
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(21, 60, 138, .15);
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(21, 60, 138, .08);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.theme-webmey .inicio-texto-panel { padding: clamp(1.25rem, 3vw, 2rem); }
.theme-webmey .inicio-texto-panel > :last-child { margin-bottom: 0; }
.theme-webmey .inicio-titulo-panel { width: fit-content; max-width: 100%; margin-inline: auto; padding: 1rem 2rem; }
.theme-webmey .inicio-video-titulo:not(:empty) { padding: .75rem 1rem; border-radius: 14px; }
/* Imagen de proyectos: tamano contenido y proporcion original. */
.theme-webmey .inicio-proyectos-imagen {
    display: block;
    width: 100%;
    max-width: 340px;
    max-height: 380px;
    height: auto;
    object-fit: contain;
    margin-inline: auto;
}
