@import url(wf_barra_arriba.css);

/* TinyMCE fullscreen dentro de ventana_wf */
html.tox-fullscreen .ventana_wf .contenedor_principal,
body.tox-fullscreen .ventana_wf .contenedor_principal {
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
}
/*Escritorio*/
#wf_escritorio{overflow-x:hidden}
.wf_escritorio_controles [data-wf-organizar-estado]{max-width:min(42vw,220px);font-size:.7rem}.wf_escritorio_controles .btn{min-width:29px}
#wf_escritorio_rejilla{display:grid;gap:8px;grid-template-columns:none;grid-template-rows:repeat(8,72px);grid-auto-columns:calc((100% - 24px) / 4);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem;align-content:start;scrollbar-gutter:stable;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x}
#wf_escritorio_rejilla::-webkit-scrollbar{display:none}
.wf_escritorio_celda{grid-column:var(--wf-x,1) / span var(--wf-ancho,1);grid-row:var(--wf-y,1) / span var(--wf-alto,1);min-width:0}
.wf_escritorio_celda .wf_escritorio_acceso{height:100%;min-width:0;overflow:hidden;border-color:rgba(255,255,255,.2)!important}
.wf_escritorio_celda .wf_escritorio_titulo{display:-webkit-box;width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:0.9;white-space:normal;font-size:.75rem;font-weight:400;word-break:break-word}
.wf_escritorio_icono_imagen{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.wf_escritorio_acceso{position:relative}
.wf_escritorio_id{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:#007bff;color:#fff;font-size:.65rem;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35);z-index:1}
.wf_escritorio_widget{background:rgba(255,255,255,.94);overflow:auto}
.wf_escritorio_celda[data-wf-tipo='carpeta'].closed .wf_escritorio_acceso{border-color:#dc3545!important}
.wf_escritorio_celda[data-wf-tipo='carpeta'].closed .wf_escritorio_carpeta_cantidad{background:#dc3545;color:#fff}
.wf_escritorio_celda.wf_escritorio_carpeta_destino{outline:3px solid #28a745!important;outline-offset:-3px}
.wf_escritorio_carpeta_cantidad{position:absolute;top:2px;right:2px;min-width:24px;padding:.12rem .25rem;border-radius:10px;background:#fff;color:#174d76;font-size:.65rem;font-weight:700}
#wf_escritorio_rejilla.wf_escritorio_organizando .wf_escritorio_celda{cursor:grab;touch-action:none;outline:1px dashed rgba(255,255,255,.65);outline-offset:-2px}
#wf_escritorio_rejilla.wf_escritorio_organizando .wf_escritorio_arrastrando{cursor:grabbing;opacity:.65;z-index:2}
@media(min-width:576px){#wf_escritorio_rejilla{grid-auto-columns:calc((100% - 40px) / 6)}}
@media(min-width:768px){#wf_escritorio_rejilla{grid-auto-columns:calc((100% - 56px) / 8)}}
@media(min-width:992px){#wf_escritorio_rejilla{grid-auto-columns:calc((100% - 88px) / 12)}}
@media(min-width:1200px){
	#wf_escritorio_rejilla{grid-auto-columns:calc((100% - 120px) / 16)}
	#wf_escritorio[data-wf-densidad='amplio'] #wf_escritorio_rejilla{grid-auto-columns:calc((100% - 56px) / 8)}
	#wf_escritorio[data-wf-densidad='amplio'] .wf_escritorio_titulo{font-size:.9rem}
}

/* ----------------------------------------------------------------------------------------------------
   WF ALERTA TOAST
---------------------------------------------------------------------------------------------------- */

.wf_alerta_toast_contenedor
{
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 999999;
	width: 360px;
	max-width: calc(100vw - 2rem);
	display: flex;
	flex-direction: column;
	gap: .75rem;
	pointer-events: none;
}

.wf_alerta_toast
{
	position: relative;
	width: 100%;
	min-height: 84px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 62px 1fr;
	align-items: center;
	gap: .75rem;
	padding: 1.1rem 1.2rem 1.3rem 1.1rem;
	border-radius: .35rem;
	box-shadow: 0 .5rem 1.8rem rgba(0, 0, 0, .22);
	pointer-events: auto;
	opacity: 0;
	transform: translateX(120%);
	transition: opacity .25s ease, transform .25s ease;
}

.wf_alerta_toast_show
{
	opacity: 1;
	transform: translateX(0);
}

.wf_alerta_toast_hide
{
	opacity: 0;
	transform: translateX(120%);
}

.wf_alerta_toast_ok
{
	background: rgb(222, 253, 203);
	color: #155724;
}

.wf_alerta_toast_error
{
	background: rgb(253, 222, 222);
	color: #721c24;
}

.wf_alerta_toast_info
{
	background: rgb(218, 237, 255);
	color: #0c5460;
}

.wf_alerta_toast_contenido
{
	min-width: 0;
}

.wf_alerta_toast_titulo
{
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.25;
	margin-bottom: .15rem;
}

.wf_alerta_toast_texto
{
	font-size: 1rem;
	line-height: 1.35;
	word-break: break-word;
}

.wf_alerta_toast_icono
{
	position: relative;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	font-size: 1.4rem;
}

.wf_alerta_toast_icono_error
{
	border: 3px solid #dc3545;
	color: #dc3545;
}

.wf_alerta_toast_icono_info
{
	border: 3px solid #17a2b8;
	color: #17a2b8;
}

.wf_alerta_toast_icono_ok
{
	color: #28a745;
}

.wf_alerta_toast_success_ring
{
	position: absolute;
	inset: 0;
	border: 3px solid rgba(40, 167, 69, .35);
	border-radius: 50%;
}

.wf_alerta_toast_success_line_tip,
.wf_alerta_toast_success_line_long
{
	position: absolute;
	display: block;
	height: 4px;
	background: #28a745;
	border-radius: 2px;
	transform-origin: left center;
}

.wf_alerta_toast_success_line_tip
{
	width: 16px;
	left: 12px;
	top: 27px;
	transform: rotate(45deg);
}

.wf_alerta_toast_success_line_long
{
	width: 28px;
	left: 23px;
	top: 31px;
	transform: rotate(-45deg);
}

.wf_alerta_toast_progress_container
{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: rgba(0, 0, 0, .08);
}

.wf_alerta_toast_progress
{
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .25);
}

.wf_alerta_toast_ok .wf_alerta_toast_progress
{
	background: rgba(40, 167, 69, .65);
}

.wf_alerta_toast_error .wf_alerta_toast_progress
{
	background: rgba(220, 53, 69, .65);
}

.wf_alerta_toast_info .wf_alerta_toast_progress
{
	background: rgba(23, 162, 184, .65);
}

.wf_alerta_toast_warning
{
	background: #fff3cd;
	color: #856404;
}

.wf_alerta_toast_icono_warning
{
	border: 3px solid #ffc107;
	color: #856404;
}

.wf_alerta_toast_warning .wf_alerta_toast_progress
{
	background: rgba(255, 193, 7, .75);
}

@media (max-width: 575.98px)
{
	.wf_alerta_toast_contenedor
	{
		top: .75rem;
		right: .75rem;
		left: .75rem;
		width: auto;
		max-width: none;
	}

	.wf_alerta_toast
	{
		grid-template-columns: 52px 1fr;
		padding: 1rem 1rem 1.2rem 1rem;
	}

	.wf_alerta_toast_icono
	{
		width: 42px;
		height: 42px;
	}
}

.wf_abrir_imagen
{
	cursor: zoom-in;
}

/* OVERLAY */
#wf_abrir_imagen_overlay
{
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.88);
}

/* BLOQUEO SCROLL */
.wf_abrir_imagen_no_scroll
{
	overflow: hidden;
}

/* BARRA SUPERIOR */
.wf_abrir_imagen_barra
{
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	z-index: 2;
}

/* CONTENEDOR IMAGEN */
.wf_abrir_imagen_stage
{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 70px 20px 20px 20px;
}

/* IMAGEN */
.wf_abrir_imagen_visual
{
	max-width: 95vw;
	max-height: 85vh;
	user-select: none;
	transform-origin: center center;
	transition: transform 0.08s linear;
}

/* ESTADO ACTIVO */
.wf_abrir_imagen_visual[src]
{
	display: block;
}

.wf-switch-label {
	display: block;
	margin-bottom: .35rem;
	font-size: .875rem;
	line-height: 1.2;
}

.wf-switch-label .fa {
	margin-right: .35rem;
}

.wf-switch-linea {
	display: flex;
	align-items: center;
}

.wf-switch {
	position: relative;
	display: inline-block;
	width: 46px;
	height: 24px;
	margin: 0;
}

.wf-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.wf-slider {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	cursor: pointer;
	background-color: #dc3545;
	transition: 1s;
	border-radius: 5px;
}

.wf-slider:before {
	position: absolute;
	content: '';
	height: 18px;
	width: 18px;
	left: 3px;
	top: 3px;
	background-color: #fff;
	transition: .5s;
	border-radius: 30%;
}

.wf-switch input:checked + .wf-slider {
	background-color: #28a745;
}

.wf-switch input:checked + .wf-slider:before {
	transform: translateX(22px);
}

/* MINI CESTA: sólo lo que BT4 no cubre bien */
.wf_cesta_mini__thumb{
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: .5rem;
}
.wf_cesta_mini__thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Elipsis (BT4 no trae .text-truncate multiuso sin condiciones) */
.wf_ellipsis{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

/* Separadores suaves en modal oscuro/claro sin depender del tema */
.wf_div_soft{
	border-color: rgba(0,0,0,.08) !important;
}
.modal-content .wf_div_soft{
	border-color: rgba(255,255,255,.10) !important;
}

/* <a>
 **********************************************/
a[href="#"],
a[href="#"]:hover,
a[href="#"]:focus,
a[href="#"]:active
{
    text-decoration: none !important;
}

/* Audio ayuda.
 **********************************************/
.audio_ayuda.audio_activo {
    animation: parpadeo 1s infinite;
}

@keyframes parpadeo {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

/* Sobreescrituras Code Mirror
 **********************************************/
.CodeMirror-fullscreen {
   z-index: 1100 !important;
}

/* Sobreescrituras text area full scren
 **********************************************/
 .tx-editor-wrapper .tx-editor.expanded {
    z-index: 1030 !important;
}

/* Sobreescrituras choices
 **********************************************/
.choices {
    margin-bottom: 0px !important;
}

/* Sobreescrituras zoomer
 **********************************************/
.zoomer .zoomer-controls span {
    width: 60px !important;
}
.zoomer .zoomer-controls {
    border-radius: 10px !important;
}

.zoomer.zoomer-gallery .zoomer-controls-bottom {
    margin: -7px 0 0 0px !important;
}

/* Sobreescrituras ckeditor
 **********************************************/
 .cke_notifications_area {
    display: none !important;
}
.cke_skin_v2 input.cke_dialog_ui_input_text, 
.cke_skin_v2 input.cke_dialog_ui_input_password {
	/* new lines */
	position: relative !important;
	z-index: 9999 !important;
}

textarea.cke_source {
    font-size: large !important;
    background-color: #000 !important;
    color: #33ff00 !important;
}

/* Sobreescrituras tabulator
 **********************************************/
 .tabulator{
	font-size : 0.8rem !important;
 }
 
 .tabulator-row .tabulator-cell {
    overflow-x: clip !important;
    overflow-y: visible !important;	
}
.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after, 
.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand, 
.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after {
    background: #0027ff !important;
}
.tabulator-row .tabulator-cell .tabulator-data-tree-control {
    border: 1px solid #0027ff !important;
}
.tabulator-row .tabulator-cell .tabulator-data-tree-branch {
    border-bottom: 2px solid #0027ff !important;
    border-left: 2px solid #0027ff !important;
	width: 20px !important;
}
.tabulator-scroll-wrapper{
  width:100%;
}

.tabulator-scroll-top{
  overflow-x:auto;
  overflow-y:hidden;
  height:16px;               /* altura estándar scrollbar */
}

.tabulator-scroll-inner{
  height:1px;
}

/* Opcional: mejor tacto en móvil */
.tabulator-scroll-top{
  -webkit-overflow-scrolling:touch;
}
/* combo_buscador
********************************************* */
.combo_buscador {
    position: relative;
    display: inline-block;
    width: 100%;
}

.combo_buscador button {
    width: 100%;
    text-align: left;
    padding-right: 2rem; /* espacio para la flecha */
}

.combo_buscador button::after {
    content: '';
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    border-top: 0.4em solid;
    border-right: 0.4em solid transparent;
    border-left: 0.4em solid transparent;
    pointer-events: none;
}

.combo_buscador_opciones {
    display: none;
    position: absolute;
    top: 100%;
    z-index: 1050; /* sobre Bootstrap */
    width: 100%;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.2rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

.combo_buscador_opciones.visible {
    display: block;
}

/* Evita que una ventana WF recorte las opciones mientras el combo está abierto. */
.ventana_wf .contenedor_principal:has(.combo_buscador_opciones.visible),
.ventana_wf .contenido:has(.combo_buscador_opciones.visible) {
    overflow: visible !important;
}

.combo_buscador_opciones ul {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 200px;
    overflow-y: auto;
}

.combo_buscador_opciones li {
    padding: 0.375rem 0.75rem;
    cursor: pointer;
}

.combo_buscador_opciones li:hover {
    background-color: #f8f9fa;
}

/* Sobreescrituras Bootstrap
 **********************************************/
.btn-group.compacto {
    max-width: 28px;     /* ancho cerrado */
    overflow: hidden;
    white-space: nowrap;
}

.btn-group.compacto .dropdown-menu {
    position: fixed; /* evita que se corte */
}

 /* Submenús flotantes personalizados Webforever */
/* SUBMENÚS FLOTANTES PERSONALIZADOS */
/* Backdrop para el modo overlay */
.submenu_backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.5);
	z-index: 10000; /* debajo del menú (10001) */
}

/* Caja del menú en overlay (centrado y cómodo en móvil) */
.submenu_flotante.overlay {
	position: absolute;           /* ya seteado en JS */
	border-radius: .5rem;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	max-height: 70vh;
	overflow: auto;
}

.submenu_flotante {
	background: #fff;
	border: 1px solid #ccc;
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	padding: 0.5rem 0;
	min-width: 200px;
	white-space: nowrap;
	list-style: none;
	position: absolute;
	z-index: 9999;
	display: block;
}

.submenu_flotante a.dropdown-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0.5rem 1rem;
	text-decoration: none;
	color: #212529;
	line-height: 1.4;
}

.submenu_flotante a.dropdown-item:hover {
	background-color: #f8f9fa;
}

.submenu_flotante i.fa {
	font-size: 1rem;
	line-height: 1;
	margin-right: 0.5rem;
	vertical-align: middle;
}

.submenu_flotante a.dropdown-item span {
	display: inline-block;
	margin-left: 0.25rem;
}

/* MENÚ PRINCIPAL .barra_negra_30 */
@media (min-width: 992px) /* Scroll horizontal minimalista solo en escritorio */
{
    .barra_negra_30 .menu_deslizable::-webkit-scrollbar {
        height: 6px;
    }

    .barra_negra_30 .menu_deslizable::-webkit-scrollbar-track {
        background: transparent;
    }

    .barra_negra_30 .menu_deslizable::-webkit-scrollbar-thumb {
        background-color: rgba(255,255,255,0.3);
        border-radius: 3px;
    }

    .barra_negra_30 .menu_deslizable::-webkit-scrollbar-thumb:hover {
        background-color: rgba(255,255,255,0.5);
    }

    /* Firefox */
    .barra_negra_30 .menu_deslizable {
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,0.3) transparent;
    }
}

.barra_negra_30 {
	background-color: #343a40 !important;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Contenedor deslizable */
.barra_negra_30 .menu_deslizable {
	flex-grow: 1;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
}

/* Menú en una sola línea */
.barra_negra_30 .menu_deslizable ul.nav {
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

/* Elementos dentro del menú */
.barra_negra_30 .nav-item > .nav-link {
	color: rgba(255,255,255,.5) !important;
	padding: 0.4rem 0.7rem;
	white-space: nowrap;
}

.barra_negra_30 .nav-item > .nav-link:hover {
	color: #fff !important;
}

/* Íconos a la derecha del texto en submenús */
.barra_negra_30 .nav-item.dropdown > .nav-link i.fa {
	order: 2;
	margin-left: 0.5rem;
	margin-right: 0;
}

/* Botón fijo a la derecha (##span##) */
.barra_negra_30 .menu_fijo_derecha {
	flex-shrink: 0;
	padding-left: 0.5rem;
	background-color: #343a40;
}

.barra_negra_30 .menu_fijo_derecha .btn-warning {
	color: #212529;
	font-weight: bold;
}


/* Estilos del menú principal horizontal (barra negra) */

.nav_una_linea {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important; /* para scroll suave en iOS */
    scrollbar-width: thin !important; /* opcional, para Firefox */
}

.nav_una_linea .nav-item {
    flex: 0 0 auto !important; /* para evitar que se compriman */
}

.nav_una_linea::-webkit-scrollbar {
    height: 4px !important; /* opcional: personaliza el scroll horizontal */
}

.nav_una_linea .nav-link.active {
    background-color: #e2e6ea !important;
    color: #212529 !important;
    border-color: #dee2e6 #dee2e6 #fff !important;
}
.nav_una_linea::-webkit-scrollbar-thumb {
    background: #ccc !important;
    border-radius: 2px !important;
}
.tabs_scroll_wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    position: relative;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.tabs_scroll_wrap ul {
    display: flex;
    flex-wrap: nowrap;
}

.tabs_scroll_wrap::-webkit-scrollbar {
    height: 4px;
}

.tabs_scroll_wrap::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
}

.tabs_scroll_wrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);
    pointer-events: none;
}

 .card-img-top-300px {
 	height: 300px !important; /* Altura fija */
    width: 100% !important; /* Ajusta al ancho del contenedor */
    object-fit: cover !important; /* Evita distorsión y recorta los bordes si es necesario */
    display: block !important;
 }

.btn-min {
    padding: .2rem .25rem !important;
    font-size: 0.8rem !important;
    line-height: 1 !important;
    border-radius: .2rem !important;
}
 .dropdown-menu {
    z-index: 1025 !important;
 }
 .modal-xl {
    max-width: 98% !important;
}

.bootstrap-dialog-header
{
	width: 100%;
}

.bootstrap-dialog-close-button .close{
	color: #fff !important;
	opacity: 1 !important;
}

.bootstrap-dialog.size-large .bootstrap-dialog-message {
    font-size: 1rem !important;
}

.bootstrap-dialog.size-large .bootstrap-dialog-title {
    font-size: 1rem !important;
}

.modal {
	overflow-y: auto !important;
}

.rc-anchor-normal {
    max-width: 100%;
}

.modal-full.modal-dialog {
	width:100vw !important;
	height:100vh !important;
	margin:0 !important;
	padding:0 !important;
	max-width:none !important;
}

.modal-full .modal-content {
	height:auto !important;
	height:100vh !important;
	border-radius:0 !important;
	border:none !important;
}

.modal-full .modal-body {
	overflow-y:auto !important;
	padding: 0px !important;
}
	
/* CSS propio matriz
 **********************************************/
 .ventana_wf{
	background-color: rgba(0, 0, 0, 0.8); 
	top:0; left:0; 
	display:none; 
	overflow-y: auto;
    transition: opacity 0.24s ease-in-out;
}

.ventana_wf.visible {
    display: block;
    opacity: 1;
}

.ventana_wf[data-wf-fondo='0']{
	background-color: transparent;
}

.ventana_wf .contenedor_principal{
	position: absolute;
	top: calc(50% - 24px);
	left: 50%;
	transform: translate(-50%, -50%);
	width: 500px;
	/* max-width: 100%; */
	max-width: calc(100vw - 2rem);
	/* 11-09-2026: reserva barra y holgura sin el desplazamiento de mt-1. */
	max-height: calc(100vh - 56px);
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	min-height: 20vh;
	display: flex;
	flex-direction: column; 	/* Asegura que los hijos se distribuyan en columna */
	overflow: hidden; 			/* Evita scroll global */
}

.ventana_wf .contenedor_principal.w500{		width: 500px !important;}
.ventana_wf .contenedor_principal.w576{		width: 576px !important;}
.ventana_wf .contenedor_principal.w768{		width: 768px !important;}
.ventana_wf .contenedor_principal.w992{		width: 992px !important;}
.ventana_wf .contenedor_principal.w1200{	width: 1200px !important;}
.ventana_wf .contenedor_principal.w1500{	width: 1500px !important;}
.ventana_wf .contenedor_principal.wfull{	width: 100vw !important;	height: 100vh !important;}
.ventana_wf .contenedor_principal.wfull-97{	width: 97vw !important;		height: calc(100vh - 48px) !important;}
.ventana_wf .contenedor_principal.w300   { 	width: 300px;  }	/* Compatibilidad BT4 */
.ventana_wf .contenedor_principal.w500   { 	width: 500px;  }	/* Compatibilidad BT4 */
.ventana_wf .contenedor_principal.w800   { 	width: 800px;  }	/* Compatibilidad BT4 */
.ventana_wf .contenedor_principal.w1140  { 	width: 1140px; }	/* Compatibilidad BT4 */
.ventana_wf .contenedor_principal.w1400  { 	width: 1400px; }	/* Compatibilidad BT4 */

.ventana_wf .cabecera{
	position: sticky; /* Mantener fija en la parte superior */
	top: 0;
	z-index: 10;
	flex-shrink: 0; /* Evita que la cabecera se redimensione */
}

.ventana_wf .cabecera .span.text-monospace{
	cursor: grab; /* Indica que es arrastrable */
}

.ventana_wf .contenido{
	min-height: 0; /* Permite reducir el cuerpo flex para alcanzar el final con scroll. */
	overflow-y: auto; /* Activa el scroll interno */
	flex-grow: 1; /* Permite que esta sección crezca según el contenido */
}

 .esquina_derecha{
	 position:absolute !important;
	 right:4px !important;
	 top:4px !important;
 }

.trazo_txt_blanco{
	text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
	1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}

.star-rating{
	font-size: 0;
}

.star-rating__wrap:after{
	content: "";
	display: table;
	clear: both;
}
.star-rating__ico{
	float: right;
	padding-left: 2px;
	cursor: pointer;
	color: #FFB300;
}
.star-rating__ico:last-child{
	padding-left: 0;
}
.star-rating__input{
	display: none;
}
.star-rating__ico:hover:before,
.star-rating__ico:hover ~ .star-rating__ico:before,
.star-rating__input:checked ~ .star-rating__ico:before
{
	content: "\f005";
}

/* -- Cuadradores -- */
.height_350 {
	min-height: 350px !important;
}

.container-700 {
    min-height: 960px;
	overflow-x: hidden;
}
/* -- botones navegación artículos blog -- */
.blog_direc {
    position: fixed;
    bottom: 150px;
    opacity: 0.6;
	z-index: 99;
}

.blog_direc_iz {
    left: 3px;
}

.blog_direc_de {

    right: 3px;
}

.box_google
{
	box-shadow: 0 .25rem .8rem rgba(0,0,0,.10);
	border-radius: .85rem;
	border: 0;
}
.img_fixed_cover {
    background-color: #46769c;
    color: #fff;
    height: 100vh;
    max-height: 100%;
    position: relative;
    display: block;
    
    background-size: cover !important;
    -webkit-background-size: cover !important;
    
    background-position: center !important;
    background-repeat: no-repeat !important;
    /* background-attachment: fixed !important; */
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)  {
     .img_fixed_cover { background-attachment: scroll !important; }
}

.img_fixed_cover .sombra,
.img_fixed_cover .sombra,
.img_fixed_cover .sombra{
	text-shadow: 0px 0px 5px rgba(0,0,0,1);
}

.img_fixed_cover .contenedor{
    opacity: 1;
    position: absolute;
    bottom: 15%;
    left: 27%;
    width: 96%;
    margin: -15% 0px 0px -25%;
    text-align: center;
}

.img_fixed_cover h1 {
    font-size: 5rem;
}

@media (max-width: 1200px) {
	.img_fixed_cover h1 {
	    font-size: 4rem;
	}

	.img_fixed_cover h2 {
	    font-size: 2rem;
	}
}

@media (max-width: 900px) {
	.img_fixed_cover h1 {
	    font-size: 3rem;
	}

	.img_fixed_cover h2 {
	    font-size: 2rem;
	}
}

@media (max-width: 768px) {
	.img_fixed_cover h1 {
	    font-size: 2rem;
	}

	.img_fixed_cover h2 {
	    font-size: 2rem;
	}
}

@media (max-width: 600px) {
	.img_fixed_cover h1 {
	    font-size: 1.5rem;
	}

	.img_fixed_cover h2 {
	    font-size: 1rem;
	}
}

@media (max-width: 320px) {
	.img_fixed_cover h1 {
	    font-size: 09rem;
	}

	.img_fixed_cover h2 {
	    font-size: 1.5rem;
	}
}
    
.as400,
textarea[data-mce-name="code"]{
	background-color: black !important;
	color: #00ff1f !important;
	font-family: monospace !important;
	padding: 0.5%;
	overflow-wrap: break-word;
}

.romper_palabra{
	overflow-wrap: break-word;
}

.g_snippet div{
	width:100%;
	max-width:700px;
}

.g_snippet div{
	margin-bottom: 26px;
}

.g_snippet div > *{
	margin: 0;
}

.g_snippet h3{
	font-size: 1.5rem;
	color: #1a0dab;
}

.g_snippet h3 a{
	color: #1a0dab;
}

.g_snippet h3 a:visited {
    color: #609;
}

.g_snippet h4{
	font-size: 1.5rem;
	color: #006621;
	font-style: normal;
	word-wrap: break-word;
}

.g_snippet p{
	line-height: 1.4;
	word-wrap: break-word;
	font-size: 1rem;
	color: #545454;
}

.puntero{
	cursor:pointer;
}

.cd-top {
  color: chocolate;
  position: fixed;
  bottom: 45px;
  right: 3px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity .3s 0s, visibility 0s .3s;
  -moz-transition: opacity .3s 0s, visibility 0s .3s;
  transition: opacity .3s 0s, visibility 0s .3s;
}

.cd-top.cd-is-visible, 
.cd-top.cd-fade-out, 
.cd-top:hover {
  -webkit-transition: opacity .3s 0s, visibility 0s 0s;
  -moz-transition: opacity .3s 0s, visibility 0s 0s;
  transition: opacity .3s 0s, visibility 0s 0s;
}

.cd-top.cd-is-visible {
  /* the button becomes visible */
  visibility: visible;
  opacity: 0.9;
  z-index: 10;
}

/* Miniatura tienda */

.ec_fixed_buy{
	position:fixed !important;
	bottom:30px;
	z-index:99;
	left:0;
	width:100%;
}

/*	Pié páginas	*/

#pie {	height: 100%;}
#pie > img{	margin: auto;}

.op_00{ opacity: 0.0 !important;}
.op_05{ opacity: 0.5 !important;}
.op_08{	opacity: 0.8 !important;}
.op_095{opacity: 0.95 !important;}
.zi_10{	z-index: 10 !important;}
.zi_100{ z-index: 100 !important;}
.zi_1000{ z-index: 1000 !important;}
.zi_1040{	z-index: 1040 !important;}
.zi_1050{	z-index: 1050 !important;}
.zi_1060{	z-index: 1060 !important;}
.zi_10000{	z-index: 10000 !important;}
.zi_100000{	z-index: 100000 !important;}

.rem07{	font-size : 0.7rem !important;}
.rem08{	font-size : 0.8rem !important;}
.rem09{	font-size : 0.9rem !important;}
.rem1{	font-size:1rem !important;}
.rem12{	font-size:1.2rem !important;}
.rem15{	font-size:1.5rem !important;}
.rem2{	font-size:2rem !important;}
.rem25{	font-size:2.5rem !important;}
.rem3{	font-size:3rem !important;}
.rem4{	font-size:4rem !important;}
.rem5{	font-size:5rem !important;}
.rem6{	font-size:6rem !important;}
.rem7{	font-size:7rem !important;}
.rem8{	font-size:8rem !important;}
.rem9{	font-size:9rem !important;}
.rem10{	font-size:10rem !important;}

.am_400{	max-width: 400px;}
.am_500{	max-width: 500px;}
.am_550{	max-width: 550px;}
.am_600{	max-width: 600px;}
.am_700{	max-width: 700px;}
.am_800{	max-width: 800px;}
.am_900{	max-width: 900px;}
.am_950{	max-width: 950px;}

.fa{	cursor:pointer;}

/*Es una lista ul que emula el resultado de	google*/
.seo_snippet_preview{
	max-width:600px;
	margin:0 !important;
	font-family: arial,sans-serif !important;
	list-style: none !important;
	background-color: white;
}

/*Título SEO*/
.seo_snippet_preview>li:nth-child(1){
	text-decoration: none !important;
	color: #1a0dab !important;
	font-size: 1.2rem !important;
	font-weight: normal !important;
}
/*Url SEO*/
.seo_snippet_preview>li:nth-child(2){
	color: #006621 !important;
	font-style: normal !important;
	font-size: small !important;
	line-height: 16px !important;
}
/*Meta desription SEO*/
.seo_snippet_preview>li:nth-child(3){
	color: #545454 !important;
	font-size: small !important;
	font-family: arial,sans-serif !important;	
	line-height: 1.4 !important;
}

.input-mpago {
  font-size: 2rem;
  /*width: 300px;*/
  text-align: center;
  vertical-align: super;
}

.accesocms{
	position: relative;
	left: 0;
	top: 0;
	opacity: 0.5;
}

.accesocms:hover{
	opacity: 1;
}

.pantalla_completa {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(255, 255, 255);
	z-index: 9999;
	animation: fade_in2 1s;			
}

.espera {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: black;
	z-index: 10000;
	opacity: 0.6;
	background-image: url("/images_sys/ajaxloading.gif");
	background-repeat: no-repeat;
	background-position: center;
	animation: fade_in 1.5s;			
}

@keyframes fade_in {
    from { opacity: 0; }
    to   { opacity: 0.6; }
}

@keyframes fade_in2 {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.pol_cookies{
	position: fixed;
    z-index: 1250;
    background-color: rgb(255 255 255 / 100%);
    bottom: 0;
	padding: 1%;
	box-shadow: 0 0 24px 0 rgba(0,0,0,.25);
	width: 100%;
	margin: 0%;
}

@media all and (min-width:768px){  

	.pol_cookies{
		max-width: 370px;
		margin: 1%;
	}
}

.div_zoomer{
	position:relative;
	width: 96%;
	margin:2%;
	height:400px;	
}

.div_zoomer_big{
	height:650px;	
}

@media all and (max-width:959px){  
	.div_zoomer_big{
		height:400px;	
	}	
}
/**************************************************************************************************** Headers */

nav[data-info=bf_t0] a,
nav[data-info=bf_t0] label,
nav[data-info=bf_t2] a,
nav[data-info=bf_t3] a,
header[data-info=bf_t0] a,
header[data-info=bf_t2] a,
header[data-info=bf_t3] a{
	color: #212529;
}

nav[data-info=bf_t1] > div:nth-child(1) a{
	color: #afafaf;
}

header[data-info=bf_t2] > div:nth-child(2) a,
header[data-info=bf_t2] > div:nth-child(2) label{
	color: #afafaf;
}

nav[data-info=bf_t1] > div:nth-child(2) a,
nav[data-info=bf_t1] > div:nth-child(2) label{
	color: #ffffff;
}

nav[data-info=bf_t1] > div:nth-child(2) nav ul ul a{
	color: #212529;
    text-shadow: 0px 0px 0px;
}

nav[data-info=bf_t1] .navbar-toggler{
	color: #fff;
}


header[data-info=bf_t1] h2,
header[data-info=bf_t1] a{
	color: #fff;
}

header[data-info=bf_t0] h2,
header[data-info=bf_t1] h2,
header[data-info=bf_t2] h2,
header[data-info=bf_t3] h2{
	font-size:3rem;
}

@media all and (max-width:768px){  

	header[data-info=bf_t0] h2,
	header[data-info=bf_t1] h2,
	header[data-info=bf_t2] h2,
	header[data-info=bf_t3] h2{
		font-size:2rem;
	}
}

.h_t1 {
	/* background-attachment: fixed; */
	background-position: center center;
	background-size: cover;
	position: relative;
	min-height: 270px;
	width: 100%;
	padding-top: 85px;
	margin-bottom: 15px;
}

/* Clases para ocultar y superponer */

.bf_ocultar {
	top: -150px !important;
	transition: top .5s;
}

.bf_fijar_arriba {
	top:0 !important;
	/* z-index: 199 !important; */
	transition: top .5s;
}

.bf_ocultar_abajo {
	bottom: -150px !important;
	transition: bottom .5s;
}

.bf_fijar_abajo {
	bottom: 0 !important;
	transition: bottom .5s;
}

/*	Formulario de entrada de datos */
.formulario{
	margin:1%;
	width:98%;
}

.formulario fieldset{
	padding:0;
	margin:0;
}

.formulario dl{
	display:block;
	margin:0;
	padding:0;
}

.formulario dt {/*Le ponemos un radio superior*/
	margin: 1%; 
	width:98%;
}

.formulario dd { /*Dentro sólo habrá párrafos de ancho flexible*/
	margin: 1%; 
	width:98%;

	display: flex; 
	display: -webkit-flex;
	
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	
	align-content: flex-start;
	-webkit-align-content: flex-start;
	
}

@media all and (max-width:959px){
	.formulario dd {
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		
		align-content: stretch;
		-webkit-align-content: stretch;
	}
}

.formulario dd > p{
	width:98%;
	margin:1%;

	flex: 1;
	-webkit-flex: 1;
	position:relative;
}

.formulario dd > p > span{
	color:darkgray;
	display:block;
	font-size: 0.9rem;
}

.formulario dd > img{
	display:block;
	width:98%;
	height: 98%;
	margin:1%;
}

.formulario dd > div{
	border: 1px #808080 dashed;
	padding: 1%;
	width:100%;
	background-color: aliceblue;
}

.formulario dd > p > input,
.formulario dd > p > textarea,
.formulario dd > p > select,
.formulario dd > p > span,
.formulario dd > p > label{
	width:100%;
}
.formulario dd > p > input[type=color]{
	padding: 0px;
	margin: 10px;
}

.formulario dd > p > input[type=radio],
.formulario dd > p > input[type=checkbox] {
    width: 60px;
}

.formulario label input[type=checkbox]{
	display:none;
}

.formulario label input[type=checkbox] + span {
	display: block;
	position: relative;
	height: 19px;
	width: 60px;
	border-radius: 5px;
	padding: 0;
	background-color: crimson;
}

.formulario label input[type=checkbox] + span:before,
.formulario label input[type=checkbox] + span:after{
	content: "";
	position: absolute;
	display: block;
	height: 19px;
	width: 19px;
	top: 0;
	left: 0;
	border-radius: 5px;
	-moz-transition: .25s ease-in-out;
	-webkit-transition: .25s ease-in-out;
	transition: .25s ease-in-out;

}

.formulario label input[type=checkbox] + span:before {
	background: rgba(19,191,17,0);
}

.formulario label input[type=checkbox] + span:after {
	background: white;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.2), 0 2px 4px rgba(0,0,0,.2);
}	

.formulario label input[type=checkbox]:checked + span:before {
	width: 60px;
	background-color: #74bf00;
	border: 1px solid #949494;
}

.formulario label input[type=checkbox]:checked + span:after,
.formulario label input[type=checkbox]:checked + span:after {
	left: 41px;
	box-shadow: inset 0 0 0 1px rgba(98, 167, 255, 1), 0 2px 4px rgba(0,0,0,.2);
}

.formulario_plano{ /* Modifica el contenedor del form quitando fondo y border.*/
    background-color: transparent !important;
    border: 0 !important;
}

/* Usado para forma de pago en procesopago.php */
.formulario label > input[type=radio],
.formulario label input[name=id_fpago]{
	display:none;
}

.formulario label > input[type=radio] + img,
.formulario label input[name=id_fpago] + img{ /* IMAGE STYLES */
	display: block;
	cursor : pointer;
	border : 1px solid transparent;
	opacity : 0.6;
	animation: fade_in 1.5s;
	filter: grayscale(100%);
}

.formulario label > input[type=radio]:checked + img,
.formulario label input[name=id_fpago]:checked + img{ /* (RADIO CHECKED) IMAGE STYLES */
	border:1px solid #b5b5b5;
	opacity : 1;
	filter: grayscale(0%);
}

/* 
   Se le da la clase input_con_2_bot al párrafo y dentro ponemos un input text y dos
   iconos font awesome y queda cuadrado
*/
.formulario .input_con_2_bot > input[type="text"]{
	width:45%;
	margin-right: 15px;
}

.formulario .input_con_2_bot > button{
	vertical-align: bottom;
	width: 15%;
	text-align: center;
	margin-right: 20px;
}

/*	Página: Index 2 */
.index_banner{
	margin-top: 55px;
}

.index_banner img{
	margin: auto;
}

.index_banner .banner{
	margin-top:60px;
}

.index_banner .logo{
	display:none;
}

@media all and (max-width:767px){

	.index_banner .banner{
		display:none;
	}
	
	.index_banner .logo{
		display:block;
	}
}

/*	Header para index y sub páginas */

.header_index{	
	width: 90%;
	margin: 55px 5% 0 5%;
	overflow: hidden;
}

.header_index_over{		/* Poner el banner sobre el slider*/
	position: absolute;
	z-index: 3;
}

@media all and (min-width:992px){

}

.header_index img{
    margin: 1% auto;
    display: block;
    max-width: 100%;
}

.header_index div:nth-of-type(2){
	display:none;
}

@media all and (max-width:959px){  

	.header_index div:nth-of-type(1){
		display:none;
	}

	.header_index div:nth-of-type(2){
		display:block;
	}
	
}

/*	Onuba Menú
 **********************************************/
@keyframes om_kf_entrar{ 
	0% { opacity:0 }
	
	100% { opacity:1 } 
}

.onuba_menu .om_entrar { 
	animation: om_kf_entrar 1.5s both;
}

.onuba_menu .om_salir { 
	display: none;
}

/*	Tema para Onuba Menú */
.om_tema_plano .list-group-item{
	border: 0 !important;
	background-color: transparent !important;
}
.om_tema_plano .list-group-item a{
    color: inherit !important;
}
.om_tema_plano .om_ir{
    color: #b7b7b7 !important;
	padding-left: 40px;
}
.om_tema_plano .list-group-item.active,
.om_tema_plano .list-group-item.active:hover{
	border: 0 !important;
	background-color: #eee !important;
    color: inherit !important;
}

/*	Tema para Onuba Menú */
.om_tema_lista .list-group-item{
	border-bottom: 1px solid #eee !important;
	background-color: #fafafa !important;
}
.om_tema_lista .list-group-item a{
    color: inherit !important;
}
.om_tema_lista .om_ir{
    color: #1abc9c !important;
	padding-left: 40px;
}
.om_tema_lista .list-group-item.active .om_ir,
.om_tema_lista .list-group-item.active:hover .om_ir{
	color: inherit !important;
}

/*	menú Simpler Sidebar
 **********************************************/
.sidebar_styl_cms{
	background: #00609c;
	color: #fff;
	font-size: 0.9rem;
}

.bg_wf{
	background-color: #00609c !important;
}

/* Botón informativo propio WF: independiente de las personalizaciones globales de Bootstrap. */
.btn_wf_info{
	color: #fff;
	background-color: #2f698c;
	border: 0;
}

.btn_wf_info:hover,
.btn_wf_info:focus{
	color: #fff;
	background-color: #255875;
	border: 0;
}

.sidebar_styl_cms hr {
	border-color: inherit;
}

/*	Tema para Onuba Menú */
.sidebar_styl_cms .onuba_menu .list-group-item{
	border: 0 !important;
	background-color: #00609c !important;
}
.sidebar_styl_cms .onuba_menu .list-group-item a{
    color: inherit !important;
}
.sidebar_styl_cms .onuba_menu .om_ir{
    color: #b7b7b7 !important;
}
.sidebar_styl_cms .onuba_menu .list-group-item.active,
.sidebar_styl_cms .onuba_menu .list-group-item.active:hover{
	border: 0 !important;
	background-color: #eee !important;
    color: inherit !important;
}

.sidebar_styl_cms .fa-chevron-right,
.sidebar_styl_cms .fa-chevron-left,
.sidebar_styl_cms .fa-plus,
.sidebar_styl_cms .color2{
    color: rgb(0, 255, 205)  !important;
}

.sidebar_styl_cms .list-group-item:hover{
	color: #01fbca !important;
}

.sidebar_styl_cms .list-group-item:hover a{
	text-decoration: none !important;
}

.sidebar_styl_cms .list-group-item a i{
	margin-right: 10px;
}

.sidebar_styl_cms .onuba_menu .list-group-item.active, 
.sidebar_styl_cms .onuba_menu .list-group-item.active:hover {
    border: 0 !important;
    background-color: #343a40 !important;
    color: rgb(0, 255, 205)  !important;
}

.sidebar_styl_cms .zoom:hover,
.sidebar_styl_cms .zoom_gr > *:hover {
    transform: scale(1.6);
}

.sidebar_styl_cms .zoom,
.sidebar_styl_cms .zoom_gr > *{
    transition: transform 0.3s ease;
    width: 100%;
}

/*	Sweet-Dropdown
 **********************************************/
.dropdown-menu {
    z-index: 9;
}

/*	Clases para form-builder
****************************************************/
.form-builder-overlay {
    z-index: 1050 !important;
}
.form-builder-dialog {
    z-index: 1055 !important;
}


/*	Clases para carrusel
****************************************************/
.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
  }

.rslides li {
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  }

.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
  }

.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
  }

@media all and (max-width:425px){
	.rslides_index img{
		display: block;
		max-height: 525px;
		z-index: -1;
		-webkit-transform: translatex(-50%);
		-moz-transform: translatex(-50%);
		-ms-transform: translatex(-50%);
		-o-transform: translatex(-50%);
		transform: translatex(-50%);
		left: 50%;
		position: relative;	
		width: auto;
	}
}

.rslides .contenido { /*DIV con título y botones.*/
	position: absolute;
	width: 100%;
	padding: 2% 6%;
}

.rslides .contenido p a {
	margin-right: 10px;
}

.rslides .contenido .titulo {
	font-size: 3rem;
	font-weight: bold;
	color: white;
	text-shadow: 0px 0px 5px rgba(0,0,0,1);
}

@media all and (max-width:768px){

	.rslides .contenido .titulo {
		font-size: 2rem;
	}
}

@media all and (max-width:576px){

	.rslides .contenido .titulo {
		font-size: 1.5rem;
	}
}

.rslides .c_c { /*contenido centrado*/
    text-align: center;
}

.rslides .c_d { /*contenido derecha*/
    text-align: right;
}

.rslides .c_i { /*contenido inferior*/
    bottom: 0;
}

.rslides .c_m { /*contenido medio*/
    top: 25%;
}

/*	Clases flexnav
****************************************************/
.fn_barra_arriba li a {
    padding: 0px 20px 0px 5px !important;
}    
/*	Clases para bricklayer
****************************************************/
@media screen and (min-width: 1200px){
	.bricklayer-column-sizer {
		width: 33% !important;
	}
}

/*	Clases para artilugio collage
****************************************************/

.wf_artilugio_masonry div {
	overflow: hidden;
}

.wf_artilugio_masonry div:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    opacity:0.8;
}

.wf_artilugio_masonry div img{
	-webkit-transition: transform 0.5s ease;
    -o-transition: transform 0.5s ease;
    transition: transform 0.5s ease;
    width: 100%;
}

.wf_artilugio_masonry .box_data{ 
    color:#fff;
}

.wf_artilugio_masonry div:hover .box_data{ 
	background: rgba(255, 255, 255, 0.3)
}

.wf_artilugio_masonry .box_data span {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 0.8rem;
    width: 100%;
    padding: 9%;
    background: rgba(0, 0, 0, 0.2);
}


.ec_cupon{
	max-width: 400px !important;
	min-height: 120px;
	border: 2px dashed #dc3545;
}

.ec_cupon .dto{
	background: linear-gradient(313deg, rgba(117,0,6,1) 0%, rgba(255,0,0,1) 100%);
}

.ec_cupon .txt{
	background: linear-gradient(0deg, rgba(224,224,224,1) 0%, rgba(255,255,255,1) 100%);
}

.ec_cupon .open{
	bottom: -1px;right: 3px;position: absolute;
}

.ec_cupon .row{
	min-height: 120px;
}

/* Ficha pública de cupón */
.ec_cupon_ficha {
	display: grid;
	grid-template-columns: minmax(270px, 32%) minmax(0, 68%);
	max-width: 1180px;
	min-height: 380px;
	margin: 1rem auto 3rem;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 24px;
	box-shadow: 0 22px 60px rgba(15, 23, 42, .18);
}

.ec_cupon_ficha__oferta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	color: #fff;
	text-align: center;
	background: linear-gradient(145deg, #c91f3a 0%, #ea3850 55%, #f45168 100%);
	border-right: 2px dashed rgba(255, 255, 255, .55);
}

.ec_cupon_ficha__tipo {
	display: inline-flex;
	padding: .45rem 1rem;
	color: #9f1239;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: #fff;
	border-radius: 999px;
}

.ec_cupon_ficha__importe {
	display: block;
	margin: .8rem 0 .45rem;
	font-size: clamp(3.5rem, 7vw, 6.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.07em;
	text-shadow: 0 6px 20px rgba(91, 5, 27, .25);
}

.ec_cupon_ficha__codigo {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	max-width: 100%;
	margin-bottom: 1.4rem;
	padding: .55rem .9rem;
	overflow-wrap: anywhere;
	font-family: monospace;
	font-size: 1rem;
	font-weight: 700;
	background: rgba(85, 4, 25, .28);
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 10px;
}

.ec_cupon_ficha__cazar,
.ec_cupon_beneficio__boton {
	color: #3f2b00;
	font-weight: 800;
	background: #ffc107;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(90, 55, 0, .22);
}

.ec_cupon_ficha__cazar {
	width: 100%;
	padding: .8rem 1rem;
}

.ec_cupon_ficha__cazar:hover,
.ec_cupon_beneficio__boton:hover {
	color: #201600;
	background: #ffd044;
	transform: translateY(-1px);
}

.ec_cupon_ficha__vigencia {
	margin: 1.25rem 0 0;
	font-size: .9rem;
	line-height: 1.45;
	opacity: .9;
}

.ec_cupon_ficha__contenido {
	display: flex;
	min-width: 0;
	flex-direction: column;
	color: #1f2937;
	background: #fff;
}

.ec_cupon_ficha__contenido--sin_imagen {
	justify-content: center;
	background:
		radial-gradient(circle at 92% 12%, rgba(234, 56, 80, .12), transparent 34%),
		linear-gradient(135deg, #fff 0%, #fff8f9 100%);
}

.ec_cupon_ficha--sin_imagen {
	min-height: 300px;
}

.ec_cupon_ficha__contenido--sin_imagen .ec_cupon_ficha__cuerpo {
	flex: 0;
}

.ec_cupon_ficha__contenido--sin_imagen .ec_cupon_ficha__enlaces {
	margin-top: 1.5rem;
}

.ec_cupon_ficha__media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #eef2f7;
}

.ec_cupon_ficha__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.ec_cupon_ficha__cuerpo {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	padding: 1.65rem 1.8rem;
}

.ec_cupon_ficha__cuerpo h1 {
	margin: 0 0 .65rem;
	color: #111827;
	font-size: clamp(1.45rem, 2.8vw, 2.2rem);
	font-weight: 800;
	line-height: 1.15;
}

.ec_cupon_ficha__descripcion {
	color: #4b5563;
	font-size: 1.02rem;
	line-height: 1.65;
}

.ec_cupon_ficha__enlaces {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: auto;
	padding-top: 1.35rem;
}

.ec_cupon_ficha__enlaces a {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem .8rem;
	color: #9f1239;
	font-size: .88rem;
	font-weight: 700;
	background: #fff1f3;
	border-radius: 999px;
}

.ec_cupon_ficha__enlaces a:hover {
	color: #fff;
	text-decoration: none;
	background: #c91f3a;
}

.ec_cupon_beneficio {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 1180px;
	margin: -1.5rem auto 3rem;
	padding: 1rem 1.25rem;
	color: #0f4c5c;
	background: linear-gradient(135deg, #e7fbff, #c8f2f8);
	border: 1px solid #a5e2eb;
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(15, 76, 92, .12);
}

.ec_cupon_beneficio__icono {
	font-size: 1.8rem;
}

.ec_cupon_beneficio__texto {
	flex: 1;
	font-size: 1.2rem;
	font-weight: 700;
}

.ec_cupon_beneficio__boton {
	padding: .6rem 1rem;
}

/* Selectores administrativos de cupones */
.ec_cupones_selector {
	display: grid;
	grid-template-columns: minmax(280px, .9fr) minmax(340px, 1.1fr);
	gap: 1rem;
	padding: 0 1rem 1rem;
}

.ec_cupones_selector__actuales,
.ec_cupones_selector__disponibles {
	min-width: 0;
	padding: 1rem;
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 12px;
}

.ec_cupones_selector h6 {
	margin-bottom: .85rem;
	font-weight: 800;
}

.ec_cupones_selector__lista,
.ec_cupones_selector__disponibles {
	display: flex;
	flex-direction: column;
	gap: .65rem;
}

.ec_cupones_selector__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .65rem .75rem;
	background: #fff;
	border: 1px solid #e4e7eb;
	border-radius: 9px;
}

.ec_cupones_selector__vacio {
	padding: 1.25rem;
	color: #6c757d;
	text-align: center;
	border: 1px dashed #adb5bd;
	border-radius: 9px;
}

.ec_cupones_selector__control label {
	display: block;
	margin-bottom: .3rem;
	font-size: .82rem;
	font-weight: 700;
}

.ec_cupones_selector__entrada {
	display: flex;
	align-items: stretch;
	gap: .4rem;
}

.ec_cupones_selector__entrada .combo_buscador,
.ec_cupones_selector__entrada .combo_buscador_principal {
	min-width: 0;
	flex: 1;
}

.ec_cupones_selector__entrada .ec_cupones_seleccion_unidades {
	max-width: 88px;
}

.ec_cupones_selector__guardar {
	grid-column: 1 / -1;
}

html.wf_modo_oscuro .ec_cupon_ficha,
html.wf_modo_oscuro .ec_cupon_ficha__contenido {
	color: #f8fafc;
	background: #151922;
	border-color: #323846;
}

html.wf_modo_oscuro .ec_cupon_ficha__contenido--sin_imagen {
	background: radial-gradient(circle at 92% 12%, rgba(234, 56, 80, .17), transparent 34%), #151922;
}

html.wf_modo_oscuro .ec_cupon_ficha__cuerpo h1 {
	color: #fff;
}

html.wf_modo_oscuro .ec_cupon_ficha__descripcion {
	color: #cbd5e1;
}

html.wf_modo_oscuro .ec_cupon_ficha__enlaces a {
	color: #fecdd3;
	background: #3c1720;
}

html.wf_modo_oscuro .ec_cupones_selector__actuales,
html.wf_modo_oscuro .ec_cupones_selector__disponibles,
html.wf_modo_oscuro .ec_cupones_selector__item {
	background: #171a20;
	border-color: #414141;
}

@media (max-width: 767.98px) {
	.ec_cupon_ficha {
		grid-template-columns: 1fr;
		margin-right: .75rem;
		margin-left: .75rem;
		border-radius: 18px;
	}

	.ec_cupon_ficha__oferta {
		padding: 1.5rem;
		border-right: 0;
		border-bottom: 2px dashed rgba(255, 255, 255, .55);
	}

	.ec_cupon_ficha__importe {
		font-size: 4.5rem;
	}

	.ec_cupon_beneficio {
		flex-wrap: wrap;
		margin-right: .75rem;
		margin-left: .75rem;
	}

	.ec_cupon_beneficio__boton {
		width: 100%;
	}

	.ec_cupones_selector {
		grid-template-columns: 1fr;
	}

	.ec_cupones_selector__guardar {
		grid-column: 1;
	}

	.ec_cupones_selector__entrada {
		flex-wrap: wrap;
	}
}

.sombra_txt
{
	text-shadow: 0px 0px 8px rgb(0 0 0);
}

.sombra_txt_fuerte
{
	text-shadow: 2px 2px #000;
}

#wf_barra_arriba_cms #wf_ico_sistema a
{
	color: rgba(255,255,255,.5);
}

/*******************************************************
Depuración.
*******************************************************/
.cabecera_clase_entrada
{
	border-top-left-radius: 1rem!important; 
	border-top-right-radius: 1rem!important;
	background-color: darkgreen;
	padding: .25rem!important; 
	color:aliceblue;
}

.cabecera_clase_salida
{
	border-bottom-left-radius: 1.25rem!important; 
	border-bottom-right-radius: 1rem!important; 
	background-color: darkgreen;
	padding: .25rem!important;color:aliceblue;
}

.cabecera_clase_entrada.destructor { background-color: darkred !important; }
.cabecera_clase_salida.destructor { background-color: darkred !important; }

.cabecera_metodo_entrada
{
	border-top-left-radius: 1rem!important; 
	border-top-right-radius: 1rem!important;
	background-color: darkgreen;
	padding: .25rem!important; 
	color:aliceblue;
}

.cabecera_metodo_salida
{
	border-bottom-left-radius: 1.25rem!important; 
	border-bottom-right-radius: 1rem!important; 
	background-color: darkred;
	padding: .25rem!important;color:aliceblue;
}

/*******************************************************
Barra lateral (sidebar) de sistema.
*******************************************************/

/* nav#wf_barra_arriba_cms{	z-index: 999;} */

/*
Propiedades de contenedor de la barra lateral
Se oculta a la izquierda hasta hacer clic en la 
caja de chequeo.		
*/
div#wf_barra_lateral {
	position: fixed;				/* Fijado sobre todo el contenido */
	top:0px;						/* Lo pegamos arriba */
	width: 300px;					/* Le damos un ancho, cambiando este valor modificamos el ancho */
	margin-left: -300px;			/* Con este valor, lo ocultamos */
	transition: margin-left 1s;	/* Hacemos suave el aparecer y desaparecer */
	height: 100vh;					/* Hacemos que ocupe todo el alto disponible */
	z-index: 1045;
	overflow: auto;
}

/*
Al activar la caja de chequeo se modifica el margen de el
contenedor de la barra lateral
*/
input#wf_barra_lateral_activador:checked~div#wf_barra_lateral{
	margin-left: 0px;				/* Pegamos el contenedor a la derecha */
	transition: margin-left .4s;	/* Suavizamos el cambio */
}

/*
Label que va justo después para aplicar fondo negro
una vez abierto el menú.
*/
div#wf_barra_lateral~label.fondo_oscuro {
	visibility: hidden;				/* Se oculta hasta no activar el checkbox*/
	position: fixed;				/* Fijado sobre todo el contenido */
	top:0px;						/* Lo pegamos arriba */
	left:0px;
	height: 100vh;					/* Hacemos que ocupe todo el alto disponible */
	width: 100%;					/* Le damos un ancho, cambiando este valor modificamos el ancho */
	opacity: 0;
	transition: opacity .4s;			/* Hacemos suave el aparecer y desaparecer */
	z-index: 1029;

}

/* 
El label tiene que estar al mismo nivel que el contenedor de la barra lateral, hace un 
efecto de oscureces e impide que se pulse cualquier otro botón.
*/
input#wf_barra_lateral_activador:checked~label.fondo_oscuro {
	opacity: 0.857;
	transition: opacity 2s;	/* Hacemos suave el aparecer y desaparecer */
	visibility: visible;
}


/* Cursor efecto MSDOS */
.cursor-msdos::after {
	content: "_";
	font-size: 20px;
	animation: blink 1s steps(1) infinite;
}

@keyframes blink {
	0%, 100% { visibility: visible; }
	50%      { visibility: hidden; }
}

/*******************************************************
Barra lateral derecha para cms
*******************************************************/

nav[id*='sidebar_derecha_']{
	z-index: 999;
}

label[for*=sidebar_derecha_activador_]{
	margin-bottom: 0 !important;
}

div[id*='sidebar_derecha_'] {
    position: fixed;
    top: 0;
    right: 0;
    width: 400px;
    margin-right: -400px;
    transition: margin-right 1s;
    height: -webkit-fill-available;
    z-index: 1030;
    overflow-y: scroll;
    overflow-x: hidden;
}

input[id^='sidebar_derecha_'][id*='_activador_']:checked
	~ div[id^='sidebar_derecha_']
{
	margin-right: 0;
	transition: margin-right .4s;
}

/* Overlay oscuro: estado base (NO ocupa espacio) */
label.fondo_oscuro {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s;
	z-index: 1029;
	margin: 0;
	display: block;
}

/* Overlay oscuro: cuando el activador está marcado */
input[id^='sidebar_derecha_'][id*='_activador_']:checked ~ label.fondo_oscuro {
	opacity: 0.85 !important;
	visibility: visible !important;
}

/*forzar tabulator contraer botones Facturas  */
.tabulator-cell[tabulator-field='cliente']
{
    min-width:0;          /* 🔥 CLAVE en flexbox */
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.tabulator-cell[tabulator-field='cliente'] .btn-group
{
    flex-shrink:0;   /* evita que los botones desaparezcan */
}


/* ============================================================
   WF · MODO OSCURO GLOBAL (BOOTSTRAP 4.1 + WEBFOREVER)
   Activado cuando <html class="wf_modo_oscuro">
   ============================================================ */


/* ============================================================
   VARIABLES WF
   ============================================================ */

:root{
	--wf_bg: #ffffff;
	--wf_txt: #101216;

	--wf_surface: #f8f9fa;
	--wf_surface_2: #ffffff;
	--wf_border: rgba(0,0,0,.12);

	--wf_link: #0b5ed7;
	--wf_link_hover: #084298;

	--wf_input_bg: #ffffff;
	--wf_input_txt: #101216;

	--wf_shadow: 0 8px 22px rgba(0,0,0,.12);
}

html.wf_modo_oscuro{
	--wf_bg: #121316;
	--wf_txt: rgba(255,255,255,.92);

	--wf_surface: #101216;
	--wf_surface_2: #101216;
	--wf_border: rgba(255,255,255,.14);

	--wf_link: #7ab7ff;
	--wf_link_hover: #a5d0ff;

	--wf_input_bg: #101216;
	--wf_input_txt: rgba(255,255,255,.92);

	--wf_shadow: 0 12px 30px rgba(0,0,0,.55);
}


/* ============================================================
   BASE GLOBAL
   ============================================================ */

html.wf_modo_oscuro body{
	background-color: var(--wf_bg) !important;
	color: var(--wf_txt) !important;
}

html.wf_modo_oscuro a{	color: var(--wf_link);}
html.wf_modo_oscuro a:hover{	color: var(--wf_link_hover);}


/* ============================================================
   TRANSICIÓN SUAVE (cuando JS añade theme-transition)
   ============================================================ */

html.theme-transition,
html.theme-transition *{
	transition:
		background-color .25s ease,
		color .25s ease,
		border-color .25s ease,
		box-shadow .25s ease !important;
}


/* ==========================================================================
   MINIATURA BLOG · ESTILO 2026 · BASE BT4
   ========================================================================== */
.blog-mini
{
	border: 0;
	border-radius: .85rem;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 .35rem 1.15rem rgba(0,0,0,.10);
	transition: transform .20s ease, box-shadow .20s ease;
	padding: .8rem;
}

.blog-mini:hover
{
	transform: translateY(-4px);
	box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.16);
}

.blog-mini__media
{
	display: block;
	overflow: hidden;
	background: #f1f3f5;
	border-radius: .65rem;
	margin-bottom: .85rem;
}

.blog-mini__img
{
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform .35s ease;
}

.blog-mini:hover .blog-mini__img
{
	transform: scale(1.035);
}

.blog-mini__body
{
	padding: 0;
}

.blog-mini__title
{
	margin: 0 0 .65rem 0;
	font-size: 1.05rem;
	line-height: 1.28;
	font-weight: 700;
	letter-spacing: -.02em;
}

.blog-mini__title a
{
	color: #212529;
	text-decoration: none;
}

.blog-mini__title a:hover
{
	color: #0056b3;
	text-decoration: none;
}

.blog-mini__entry
{
	margin: .7rem 0 0 0;
	font-size: .93rem;
	line-height: 1.5;
	color: #495057;
}

.blog-mini__meta
{
	font-size: .82rem;
	line-height: 1.45;
	color: #6c757d;
}

.blog-mini__footer
{
	padding: .75rem 0 0 0;
}

.blog-mini__more
{
	display: inline-flex;
	align-items: center;
	font-size: .92rem;
	font-weight: 600;
	color: #0d6efd;
	text-decoration: none;
	transition: color .20s ease, transform .20s ease;
}

.blog-mini__more:hover
{
	color: #0a58ca;
	text-decoration: none;
	transform: translateX(3px);
}

.blog-mini__more i
{
	margin-left: .4rem;
	font-size: .78rem;
}

@media (max-width: 575.98px)
{
	.blog-mini__img
	{
		height: 200px;
	}

	.blog-mini__title
	{
		font-size: .98rem;
	}
}

.chat-form textarea.form-control{
	min-height:120px;
	resize:vertical;
}

.chat-form .card,
.chat-form .card-body{
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	padding-left:0;
	padding-right:0;
}

.chat-form .custom-control-label{
	cursor:pointer;
}

.chat-form .form-text{
	margin-top:.4rem;
}

.chat-form .btn{
	min-height:42px;
}
.chat__box{
	border:1px solid rgba(255,255,255,.08);
	border-radius:.35rem;
	padding:1rem;
	background:rgba(255,255,255,.015);
}

.chat-captcha{
	padding:.65rem;
	border:1px solid rgba(255,255,255,.05);
	border-radius:.3rem;
	background:rgba(255,255,255,.018);
}

.chat-form__checks{
	border-top:1px solid rgba(255,255,255,.05);
	margin-top:.35rem;
	padding-top:.9rem;
	margin-bottom:1rem;
}

.chat-empty{
	padding:.8rem 1rem;
	border-radius:.25rem;
	font-size:.875rem;
	color:rgba(255,255,255,.72);
	background:rgba(111, 255, 233, .12);
	border:1px solid rgba(111, 255, 233, .12);
}

.chat__box img[alt='Captcha']{
	display:block;
	max-width:100%;
	height:auto;
	border-radius:.25rem;
	margin-bottom:.5rem !important;
}

.chat__box input[name='txtcaptcha']{
	margin-top:.25rem;
}

.chat__box .g-recaptcha{
	margin-bottom:.5rem;
}

.chat-captcha .form-group{
	margin-bottom:0;
}

.chat-stars{
	width:fit-content;
}

/* -------- blog-default -------- */
.blog-default .blog-meta{
	font-size:.9rem;
	opacity:.8;
}

.blog-default .blog-entrada{
	border-left:3px solid rgba(255,255,255,.14);
	padding-left:1rem;
	font-size:1rem;
	line-height:1.7;
	background:rgba(255,255,255,.02);
	margin-top:1.5rem !important;
	margin-bottom:2rem !important;
}

.blog-default .blog-texto{
	line-height:1.8;
}

.blog-default aside > * + *{
	margin-top:1.5rem;
}

/* ============================================================
   BOOTSTRAP 4
   ============================================================ */

html.wf_modo_oscuro .bg-white{		background-color: var(--wf_surface_2) !important;}
html.wf_modo_oscuro .bg-light{		background-color: var(--wf_surface) !important;}
html.wf_modo_oscuro .bg-dark{		background-color: #1b1c1f  !important;}
html.wf_modo_oscuro .text-dark,
html.wf_modo_oscuro .text-body{		color: var(--wf_txt) !important;}
html.wf_modo_oscuro .text-muted{	color: rgba(255,255,255,.60) !important;}
html.wf_modo_oscuro .border,
html.wf_modo_oscuro .border-top,
html.wf_modo_oscuro .border-right,
html.wf_modo_oscuro .border-bottom,
html.wf_modo_oscuro .border-left{	border-color: var(--wf_border) !important;}
html.wf_modo_oscuro .card,
html.wf_modo_oscuro .modal-content,
html.wf_modo_oscuro .dropdown-menu,
html.wf_modo_oscuro .popover{
									background-color: var(--wf_surface) !important;
									color: var(--wf_txt) !important;
									border-color: var(--wf_border) !important;
									box-shadow: var(--wf_shadow);}
html.wf_modo_oscuro .card-header,
html.wf_modo_oscuro .modal-header{	border-color: var(--wf_border) !important;}
html.wf_modo_oscuro .table{			color: var(--wf_txt) !important;}
html.wf_modo_oscuro .table td,
html.wf_modo_oscuro .table th{		border-color: var(--wf_border) !important;}
html.wf_modo_oscuro .table-hover tbody tr:hover{	background-color: rgba(255,255,255,.04) !important;}
html.wf_modo_oscuro .form-control,
html.wf_modo_oscuro .custom-select,
html.wf_modo_oscuro input,
html.wf_modo_oscuro select,
html.wf_modo_oscuro textarea{
									background-color: #000 !important;
									color: var(--wf_input_txt) !important;
									border-color: var(--wf_border) !important;
}
html.wf_modo_oscuro .form-control::placeholder{	color: rgba(255,255,255,.45) !important;}
html.wf_modo_oscuro .form-control:focus{
									border-color: rgba(110,168,254,.55) !important;
									box-shadow: 0 0 0 .2rem rgba(110,168,254,.18) !important;
}
html.wf_modo_oscuro .navbar-light .navbar-nav .nav-link{	color: rgba(255,255,255,.80) !important;}
html.wf_modo_oscuro .navbar-light .navbar-nav .nav-link:hover{	color: rgba(255,255,255,.95) !important;}
html.wf_modo_oscuro .navbar-light .navbar-toggler{	border-color: var(--wf_border) !important;}
html.wf_modo_oscuro .btn-light{
													background-color: var(--wf_surface) !important;
													color: var(--wf_txt) !important;
													border-color: var(--wf_border) !important;
}
html.wf_modo_oscuro .btn-outline-dark{
													color: var(--wf_txt) !important;
													border-color: var(--wf_border) !important;
}
html.wf_modo_oscuro .badge-light{
													background-color: var(--wf_surface) !important;
													color: var(--wf_txt) !important;
}
html.wf_modo_oscuro #pie{
													background-color: #0b0c0f !important;
													color: rgba(255,255,255,.90) !important;
}
html.wf_modo_oscuro #pie a{							color: rgba(255,255,255,.90) !important;}
html.wf_modo_oscuro .sidebar_styl{					background-color: var(--wf_surface) !important;}
html.wf_modo_oscuro .list-group-item
{
													background-color: #101216;
													border: 1px solid rgba(255, 255, 255,.125);
}
html.wf_modo_oscuro .alert-info {				    color: #21ceeb;
													background-color: #2f4d52;
													border-color: #203133;}
html.wf_modo_oscuro .alert-warning {				color: #ebb20a;
													background-color: #3e3b31;
													border-color: #494333;}
html.wf_modo_oscuro .tabulator .tabulator-header .tabulator-col {   background-color: #101216;}												
html.wf_modo_oscuro .tabulator {    				background-color: #101216;}
html.wf_modo_oscuro .tabulator {				    background-color: #101216;}
html.wf_modo_oscuro .tabulator .tabulator-header {  border-bottom: 2px solid #101216;
													border-top: 1px solid #101216;}
html.wf_modo_oscuro .tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover {    	background-color: #22262e;}		
html.wf_modo_oscuro .tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left {									border-right: 2px solid #22262e;}
html.wf_modo_oscuro .tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right {								    border-left: 2px solid #22262e;}
html.wf_modo_oscuro .tabulator .tabulator-footer {	background-color: #101216;
    												border-top: 1px solid #22262e;}
html.wf_modo_oscuro .tabulator .tabulator-footer .tabulator-page:disabled {	background: #22262e;
    																		border-color: #dee2e6;	
																			color: #ffffff;}
html.wf_modo_oscuro .tabulator .tabulator-footer .tabulator-page.active {	background-color: #004084;
														border-color: #007bff;
														color: #ffffff;}
html.wf_modo_oscuro .nav_una_linea .nav-link.active {	background-color: #4d5667 !important;
														color: #ffffff !important;
														border-color: #22262e#22262e#000 !important;}
html.wf_modo_oscuro .nav-tabs {						    border-bottom: 1px solid #4d5667;}
html.wf_modo_oscuro .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {	border-color: #4d5667 #4d5667 #4d5667;}
html.wf_modo_oscuro .barra_negra_30 .menu_fijo_derecha {					background-color: transparent;}
html.wf_modo_oscuro .tabulator-row {							background-color: #22262e;}
html.wf_modo_oscuro .tabulator-row.tabulator-row-even {			background-color: #101216;}
html.wf_modo_oscuro .tabulator-row {							border-bottom: 0px solid #22262e;}
html.wf_modo_oscuro .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left {    border-right: 2px solid #22262e;}
html.wf_modo_oscuro .tabulator-row.tabulator-selectable:hover {		background-color: #4d5667;}
html.wf_modo_oscuro .combo_buscador_opciones {					    background: #22262e;
																	border: 1px solid #4d5667;}
html.wf_modo_oscuro .combo_buscador_opciones li:hover {				background-color: #4d5667;}
html.wf_modo_oscuro .alert-success {			color: #2fbd4f;
												background-color: #083d15;
												border-color: #354e3b;}
html.wf_modo_oscuro .modal-backdrop.show {    opacity: .8;}
html.wf_modo_oscuro .table-primary, html.wf_modo_oscuro .table-primary>td, html.wf_modo_oscuro .table-primary>th {    background-color: #27425f;}
html.wf_modo_oscuro .table-success, html.wf_modo_oscuro .table-success>td, html.wf_modo_oscuro .table-success>th {    background-color: #083d15;}
html.wf_modo_oscuro .alert-light {	color: #d8d8d8;
									background-color: #252525;
									border-color: #414141;}
html.wf_modo_oscuro .submenu_flotante a.dropdown-item {   color: #b5b5b5;}
html.wf_modo_oscuro .sidebar_styl_cms{	background: #092c41;
										color: #fff;}
html.wf_modo_oscuro .sidebar_styl_cms .onuba_menu .list-group-item,
html.wf_modo_oscuro .bg_wf{				background-color: #092c41 !important;}
.wf_modo_oscuro .btn-primary{   color:#fff;
    							background-color:#3395ff;
							    border-color:#3395ff;}
.wf_modo_oscuro .btn-primary:hover,
.wf_modo_oscuro .btn-primary:focus{    background-color:#1f86ff;
									    border-color:#1f86ff;}
html.wf_modo_oscuro .alert-primary{    color:#8fc3ff;
    									background-color:#081428;
    									border-color:#1e3350;}
html.wf_modo_oscuro .btn-danger{    color:#fff;
									background-color:#ff5a6b;
									border-color:#ff5a6b;}
html.wf_modo_oscuro .btn-danger:hover,
html.wf_modo_oscuro .btn-danger:focus{    background-color:#e04b5c;
										    border-color:#e04b5c;}
html.wf_modo_oscuro .btn-success{    color:#fff;
									background-color:#3ecf6b;
									border-color:#3ecf6b;	}
html.wf_modo_oscuro .border-success {    border-color: #3ecf6b!important;}									
html.wf_modo_oscuro .border-danger {    border-color: #b72d3a!important;}									
html.wf_modo_oscuro .btn-success:hover,
html.wf_modo_oscuro .btn-success:focus{    background-color:#32b95c;
										    border-color:#32b95c;}
html.wf_modo_oscuro .alert-danger {    	color: #b72d3a;
										background-color: #3c070c;
										border-color: #b72d3a;}
html.wf_modo_oscuro .text-primary {    					color: #8fc3ff!important;}
html.wf_modo_oscuro .ventana_wf .contenedor_principal{	border: 1px solid #414141 !important;}
html.wf_modo_oscuro div[id*='sidebar_derecha_']{		border: 1px solid #414141 !important;}
html.wf_modo_oscuro .close {							color: #949494;}
html.wf_modo_oscuro .dropdown-item {					color: #ffffff;}
html.wf_modo_oscuro .dropdown-item:focus, 
html.wf_modo_oscuro .dropdown-item:hover {
    color: #101226 !important;
    text-decoration: none;
    background-color: #f8f9fa;
}
html.wf_modo_oscuro div.inputTags-list,
html.wf_modo_oscuro div.wf_input_tag-list {	border: 1px solid rgb(89 89 89 / 35%);
    										background-color: #101216;
    										box-shadow: 1px 2px 2px rgb(116 116 116 / 20%);}
html.wf_modo_oscuro div.inputTags-list ul.inputTags-autocomplete-list li.is-disabled,
html.wf_modo_oscuro div.wf_input_tag-list ul.wf_input_tag-autocomplete-list{	    background-color: #101216;}
html.wf_modo_oscuro .barra_negra_30 {    border: 1px solid #414141;}
html.wf_modo_oscuro hr {   border-top: 1px solid rgb(255 255 255 / 10%);}
html.wf_modo_oscuro .jumbotron {    background-color: #101216;}
html.wf_modo_oscuro .breadcrumb{	background-color:#343a40;}
html.wf_modo_oscuro .breadcrumb-item a{	color:#ced4da;}
html.wf_modo_oscuro .breadcrumb-item a:hover{	color:#ffffff;	text-decoration:underline;}
html.wf_modo_oscuro .breadcrumb-item.active{	color:#f8f9fa;}
html.wf_modo_oscuro .breadcrumb-item + .breadcrumb-item::before{	color:#adb5bd;} 
html.wf_modo_oscuro .blog-mini
{
	background: #0f172a;
	box-shadow: 0 .35rem 1.15rem rgba(0,0,0,.28);
}
html.wf_modo_oscuro .blog-mini__media{	background: #1e293b;}
html.wf_modo_oscuro .blog-mini__title a{	color: #f8f9fa;}
html.wf_modo_oscuro .blog-mini__title a:hover{	color: #8ec5ff;}
html.wf_modo_oscuro .blog-mini__entry{	color: rgba(255,255,255,.82);}
html.wf_modo_oscuro .blog-mini__meta{	color: rgba(255,255,255,.62);}
html.wf_modo_oscuro .blog-mini__more{	color: #8ec5ff;}
html.wf_modo_oscuro .blog-mini__more:hover{	color: #b8dbff;}
html.wf_modo_oscuro pre {    color: #9e8a00;}
html.wf_modo_oscuro img[src^='/images_sys/editor_magico_'][src*='.png']
{
	filter: brightness(0) invert(1);
}

/* 10-09-2026 CSS001: propiedades tipográficas fijas; familias en css.css. */
body,.letra_propia{font-optical-sizing:auto;font-weight:400;font-style:normal}

/* Conserva el ajuste concurrente de paneles oscuros registrado el 10-09-2026. */
html.wf_modo_oscuro .wf_escritorio_widget{background:#092c41}

/* 11-09-2026: Alameda incorporado desde la copia estable, css/estilo2.css. */
/* Modificadores
 **********************************************/

a {
    cursor: pointer;
}

#pie {
    background-color: #333;
    color: #ccc;
}

#pie a{
    color: #ccc;
}


/*	Formulario de entrada de datos	*/

.formulario fieldset {
    border-radius: 4px;
}

.formulario dd > p > label {
    font-weight: 100;
}

.formulario dd > p > input,
.formulario dd > p > textarea,
.formulario dd > p > select
{
	border: 1px solid #e6e6e6;
	padding: 10px;
}

.formulario dd > p > input[type=text],
.formulario dd > p > input[type=email],
.formulario dd > p > input[type=color],
.formulario dd > p > input[type=date],
.formulario dd > p > input[type=file],
.formulario dd > p > input[type=number], 
.formulario dd > p > input[type=password],
.formulario dd > p > input[type=tel],
.formulario dd > p > input[type=time],
.formulario dd > p > input[type=date], 
.formulario dd > p > textarea,
.formulario dd > p > select
{
	background-color: rgb(248, 248, 248);	
}

.formulario dd > div {
    border: 1px #bce8f1 solid;
    background: #d9edf7 !important;
    padding: 1%;
    margin: 1%;
    color: #31708f;
    border-radius: 4px;
}

/* Modificadores Bootstrap
 **********************************************/

.fn_barra_arriba li a {
    color: #737373 !important;
}

/* Modificadores flexnav
***********************************************/
.menu-button {
    background: #1ABC9C !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
}

.flexnav li a {
	color: white;
	background-color: #1ABC9C;
	font-size: 16px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
}

.flexnav li a:hover {
	background-color: #16a085;
}

.flexnav {
    width: 99.6% !important;
    margin: 0.2% !important;
}

/* Modificadores Responsive multi-level menú
***********************************************/
.dl-menuwrapper li a {
	color: #000 !important;
}

/* Modificadores zoomer
***********************************************/

.zoomer .zoomer-controls { 
	background: rgba(26, 188, 156, 0.8) !important; 
}

@media screen and (min-width: 980px) {
	.zoomer .zoomer-controls span:hover { 
		background: #16a085 !important; 
	}
}

/* Modificadores eventsCalendar
***********************************************/

.eventsCalendar-currentTitle .monthTitle {
	color: #333;
}

.eventsCalendar-list .eventsCalendar-noEvents {
	background-color:#eee;
	color:#333;
	font-weight:bold;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
}

.eventsCalendar-daysList.showAsWeek li.empty {
    background: #eee;
}
.eventsCalendar-list li a.eventTitle {
	color: #1ABC9C !important;
}

.eventsCalendar-daysList li.dayWithEvents a {
    background: #1ABC9C !important;
}
/* Modificadores easy responsive tabs
***********************************************/

.resp-tab-content {
    border: 1px solid #ddd !important;
}

ul.resp-tabs-list {
    margin-left: 25px !important;
}

.resp-tabs-list li {
	font-size: 0.8rem !important;
}

/* Modificadores owl - slider
***********************************************/
.owl-theme .owl-controls .owl-page span.owl-numbers {
    border-radius: 3px !important;
}

.owl-theme .owl-controls .owl-page span {
    background: #16a085 !important;
}

/*	menú Simpler Sidebar
 **********************************************/
.sidebar_styl{
	background-color: #fafafa !important;
}

/*	Modificador de su onuba_menú interior */
.sidebar_styl .onuba_menu .list-group-item{
	background-color: transparent !important;
	border: 0;
	border-bottom: 1px solid #eee !important;
	padding: 14px 10px !important;
}

.sidebar_styl .onuba_menu .list-group-item a{
	color: rgba(0, 0, 20, 0.6) !important;
}

.sidebar_styl .onuba_menu .om_ir,
.sidebar_styl .onuba_menu .list-group-item.active{
	color: #1abc9c !important;
}



/* Asistente de creación de webs ASWEB001
***********************************************/
.asistente-web {
	--asistente-azul: #0669a5;
	--asistente-azul-oscuro: #064e78;
	--asistente-tinta: #172033;
	--asistente-muted: #687386;
	--asistente-linea: #dce4ed;
	--asistente-fondo: #f4f7fa;
	--asistente-superficie: #ffffff;
	background: var(--asistente-superficie);
	color: var(--asistente-tinta);
	min-height: min(78vh, 760px);
	overflow: hidden;
}

.asistente-web * {
	box-sizing: border-box;
}

.asistente-web-cabecera {
	align-items: flex-end;
	background: linear-gradient(120deg, #ffffff 0%, #f3f8fc 58%, #e9f3fa 100%);
	border-bottom: 1px solid var(--asistente-linea);
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	padding: 1.5rem 2rem;
}

.asistente-web-cabecera > div:first-child {
	min-width: 14rem;
}

.asistente-web-progreso {
	background: #d9e2eb;
	border-radius: 999px;
	height: .5rem;
	max-width: 28rem;
	overflow: hidden;
	width: 42%;
}

.asistente-web-progreso span {
	background: linear-gradient(90deg, var(--asistente-azul), #35a7db);
	border-radius: inherit;
	display: block;
	height: 100%;
	transition: width .25s ease;
}

.asistente-web-cuerpo {
	min-height: min(67vh, 650px);
}

.asistente-web-navegacion {
	background: #edf3f8;
	border-right: 1px solid var(--asistente-linea);
	padding: 1.25rem 1rem;
}

.asistente-web-paso-nav {
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: .65rem;
	color: #536174;
	display: flex;
	gap: .75rem;
	margin-bottom: .4rem;
	padding: .75rem;
	text-align: left;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
	width: 100%;
}

.asistente-web-paso-nav:not(:disabled):hover,
.asistente-web-paso-nav:focus {
	background: rgba(255, 255, 255, .78);
	border-color: #cbd9e6;
	color: var(--asistente-azul-oscuro);
	outline: 0;
	transform: translateX(.15rem);
}

.asistente-web-paso-nav:disabled {
	cursor: default;
	opacity: .5;
}

.asistente-web-paso-nav.activo {
	background: var(--asistente-superficie);
	border-color: #bcd4e5;
	box-shadow: 0 .35rem 1rem rgba(25, 55, 79, .08);
	color: var(--asistente-azul-oscuro);
}

.asistente-web-paso-nav.completado .asistente-web-paso-numero {
	background: #23865d;
	color: #ffffff;
}

.asistente-web-paso-nav span:last-child {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.asistente-web-paso-nav strong {
	font-size: .92rem;
}

.asistente-web-paso-nav small {
	font-size: .73rem;
	line-height: 1.3;
	margin-top: .1rem;
}

.asistente-web-paso-numero {
	align-items: center;
	background: #d8e4ed;
	border-radius: 50%;
	color: #40566a;
	display: inline-flex;
	flex: 0 0 2rem;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}

.asistente-web-paso-nav.activo .asistente-web-paso-numero {
	background: var(--asistente-azul);
	color: #ffffff;
}

.asistente-web-contenido {
	background: var(--asistente-superficie);
	overflow-y: auto;
	padding: 2rem 2.25rem 0;
}

.asistente-web-paso {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0 0 6.25rem;
}

.asistente-web [hidden] {
	display: none !important;
}

.asistente-web-paso legend {
	color: var(--asistente-tinta);
	font-size: 1.55rem;
	font-weight: 600;
	line-height: 1.25;
	margin-bottom: .65rem;
}

.asistente-web-paso legend:focus {
	outline: 0;
}

.asistente-web-paso legend small {
	color: var(--asistente-azul);
	display: block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: .25rem;
	text-transform: uppercase;
}

.asistente-web .form-control,
.asistente-web .custom-select {
	border-color: #c7d2df;
	border-radius: .45rem;
	min-height: 2.65rem;
}

.asistente-web textarea.form-control {
	min-height: 7rem;
}

.asistente-web .form-control:focus,
.asistente-web .custom-select:focus {
	border-color: #3c91c2;
	box-shadow: 0 0 0 .2rem rgba(6, 105, 165, .14);
}

.asistente-web-tipo {
	background: #ffffff;
	border: 1px solid #d5dee8;
	border-radius: .8rem;
	color: var(--asistente-tinta);
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 12rem;
	padding: 1.35rem;
	text-align: left;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
	width: 100%;
}

.asistente-web-tipo > i {
	align-items: center;
	background: #e7f2f9;
	border-radius: .7rem;
	color: var(--asistente-azul);
	display: inline-flex;
	font-size: 1.5rem;
	height: 3rem;
	justify-content: center;
	margin-bottom: 1.1rem;
	width: 3rem;
}

.asistente-web-tipo strong {
	font-size: 1rem;
	margin-bottom: .45rem;
}

.asistente-web-tipo span {
	color: var(--asistente-muted);
	font-size: .86rem;
	line-height: 1.5;
}

.asistente-web-tipo:hover,
.asistente-web-tipo:focus {
	border-color: #6aa9ce;
	box-shadow: 0 .55rem 1.3rem rgba(22, 63, 91, .1);
	outline: 0;
	transform: translateY(-.15rem);
}

.asistente-web-tipo.activo {
	background: #f3f9fd;
	border-color: var(--asistente-azul);
	box-shadow: 0 0 0 .18rem rgba(6, 105, 165, .1);
}

.asistente-web-tipo.activo > i {
	background: var(--asistente-azul);
	color: #ffffff;
}

.asistente-web-marca-preview {
	--asistente-marca-principal: #2563eb;
	--asistente-marca-secundario: #0f172a;
	--asistente-marca-acento: #f59e0b;
	--asistente-marca-fondo: #f8fafc;
	--asistente-marca-texto: #111827;
	align-items: flex-start;
	background: var(--asistente-marca-fondo);
	border: 1px solid #cbd6e1;
	border-radius: 1rem;
	color: var(--asistente-marca-texto);
	display: flex;
	flex-direction: column;
	min-height: 21rem;
	overflow: hidden;
	padding: 1.4rem;
	position: sticky;
	top: 1rem;
}

.asistente-web-logo-preview {
	align-items: center;
	background: #ffffff;
	border: 1px dashed #b9c5d1;
	border-radius: .65rem;
	color: #657385;
	display: flex;
	flex-direction: column;
	height: 8rem;
	justify-content: center;
	margin-bottom: 1.4rem;
	overflow: hidden;
	width: 100%;
}

.asistente-web-logo-preview i {
	font-size: 2rem;
	margin-bottom: .4rem;
}

.asistente-web-logo-preview img {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	padding: .75rem;
	width: 100%;
}

.asistente-web-marca-preview > strong {
	color: var(--asistente-marca-secundario);
	font-size: 1.45rem;
	margin-bottom: .25rem;
}

.asistente-web-marca-preview > span {
	opacity: .72;
}

.asistente-web-marca-preview > button {
	background: var(--asistente-marca-principal);
	border: 0;
	border-bottom: .25rem solid var(--asistente-marca-acento);
	border-radius: .45rem;
	color: #ffffff;
	margin-top: auto;
	padding: .7rem 1rem;
}

.asistente-web-modulos > .rem08,
.asistente-web-paso[data-paso='4'] .form-row:last-child > .rem08 {
	background: var(--asistente-fondo);
	border: 1px solid var(--asistente-linea);
	border-radius: .6rem;
	padding: .8rem 1rem;
}

.asistente-web-controles {
	align-items: center;
	background: rgba(255, 255, 255, .96);
	border-top: 1px solid var(--asistente-linea);
	bottom: 0;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	left: 0;
	margin-left: -2.25rem;
	padding: 1rem 2.25rem;
	position: absolute;
	right: 0;
	z-index: 5;
}

.asistente-web-contenido,
.asistente-web-contenido > form {
	position: relative;
}

.asistente-web-contenido > form {
	min-height: 100%;
}

.asistente-web-estado {
	color: var(--asistente-muted);
	font-size: .86rem;
	margin-left: auto;
}

.asistente-web-resumen-lista {
	margin-bottom: 1rem;
}

.asistente-web-resumen-lista > div {
	border-bottom: 1px solid var(--asistente-linea);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(9rem, 32%) 1fr;
	padding: .65rem 0;
}

.asistente-web-resumen-lista dt,
.asistente-web-resumen-lista dd {
	margin: 0;
}

.asistente-web-resumen-lista dd {
	overflow-wrap: anywhere;
}

.asistente-web-paleta {
	display: flex;
	gap: .45rem;
}

.asistente-web-paleta span {
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: 50%;
	display: inline-block;
	height: 2rem;
	width: 2rem;
}

html.wf_modo_oscuro .asistente-web {
	--asistente-tinta: #f0f4f8;
	--asistente-muted: #aab6c4;
	--asistente-linea: #3a4653;
	--asistente-fondo: #202832;
	--asistente-superficie: #171d24;
	background: var(--asistente-superficie);
	color: var(--asistente-tinta);
}

html.wf_modo_oscuro .asistente-web-cabecera {
	background: linear-gradient(120deg, #171d24 0%, #1b2833 100%);
}

html.wf_modo_oscuro .asistente-web-navegacion {
	background: #11171d;
}

html.wf_modo_oscuro .asistente-web-paso-nav.activo,
html.wf_modo_oscuro .asistente-web-paso-nav:not(:disabled):hover,
html.wf_modo_oscuro .asistente-web-paso-nav:focus,
html.wf_modo_oscuro .asistente-web-tipo,
html.wf_modo_oscuro .asistente-web-controles {
	background: #202832;
}

html.wf_modo_oscuro .asistente-web-paso-nav,
html.wf_modo_oscuro .asistente-web-tipo,
html.wf_modo_oscuro .asistente-web-tipo span,
html.wf_modo_oscuro .asistente-web-estado {
	color: #c9d3de;
}

html.wf_modo_oscuro .asistente-web-tipo.activo {
	background: #172c3b;
}

html.wf_modo_oscuro .asistente-web-logo-preview {
	background: #f5f7f9;
	color: #4e5d6a;
}

html.wf_modo_oscuro .asistente-web .card-header {
	background: #202832 !important;
}

.asistente-web button:focus-visible,
.asistente-web input:focus-visible,
.asistente-web textarea:focus-visible,
.asistente-web select:focus-visible {
	outline: .2rem solid #f2a900;
	outline-offset: .12rem;
}

@media (max-width: 991.98px) {
	.asistente-web {
		min-height: 0;
	}

	.asistente-web-cabecera {
		align-items: stretch;
		flex-direction: column;
		gap: 1rem;
		padding: 1.25rem;
	}

	.asistente-web-progreso {
		max-width: none;
		width: 100%;
	}

	.asistente-web-cuerpo {
		min-height: 0;
	}

	.asistente-web-navegacion {
		border-bottom: 1px solid var(--asistente-linea);
		border-right: 0;
		display: grid;
		gap: .45rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: .75rem;
	}

	.asistente-web-paso-nav {
		margin: 0;
		padding: .55rem;
	}

	.asistente-web-paso-nav small {
		display: none;
	}

	.asistente-web-paso-nav:not(:disabled):hover,
	.asistente-web-paso-nav:focus {
		transform: none;
	}

	.asistente-web-contenido {
		overflow: visible;
		padding: 1.35rem 1.25rem 0;
	}

	.asistente-web-controles {
		margin-left: -1.25rem;
		padding: .9rem 1.25rem;
		position: sticky;
	}

	.asistente-web-marca-preview {
		margin-top: 1rem;
		min-height: 18rem;
		position: static;
	}
}

@media (max-width: 575.98px) {
	.asistente-web-cabecera h2 {
		font-size: 1.35rem;
	}

	.asistente-web-navegacion {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.asistente-web-paso-nav strong {
		font-size: .79rem;
	}

	.asistente-web-paso-numero {
		flex-basis: 1.65rem;
		height: 1.65rem;
		width: 1.65rem;
	}

	.asistente-web-contenido {
		padding-left: .85rem;
		padding-right: .85rem;
	}

	.asistente-web-controles {
		align-items: stretch;
		flex-wrap: wrap;
		gap: .55rem;
		margin-left: -.85rem;
		padding: .75rem .85rem;
	}

	.asistente-web-controles .btn {
		flex: 1 1 calc(50% - .3rem);
		white-space: normal;
	}

	.asistente-web-estado {
		flex: 1 0 100%;
		margin: 0;
		order: -1;
		text-align: center;
	}

	.asistente-web-resumen-lista > div {
		gap: .2rem;
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asistente-web *,
	.asistente-web *::before,
	.asistente-web *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
/* -------- Instalación PWA contextual -------- */
.wf_pwa_aviso {
	align-items: stretch;
	animation: wf_pwa_entrada .25s ease-out both;
	backdrop-filter: blur(12px);
	background: linear-gradient(135deg, #3e5062 0%, #243746 100%);
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 999px;
	bottom: 1rem;
	box-shadow: 0 .55rem 1.4rem rgba(22, 42, 58, .25);
	display: inline-flex;
	overflow: hidden;
	position: fixed;
	right: 1rem;
	transition: box-shadow .2s ease, transform .2s ease;
	z-index: 1048;
}

.wf_pwa_aviso_gestion {
	background: linear-gradient(135deg, #0077b9 0%, #00558a 100%);
	bottom: 4.75rem;
}

body:has(#wf_escritorio) .wf_pwa_aviso {
	bottom: 4.75rem;
}

.wf_pwa_instalar,
.wf_pwa_cerrar {
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	min-height: 2.3rem;
}

.wf_pwa_instalar {
	align-items: center;
	display: inline-flex;
	font-size: .8rem;
	gap: .4rem;
	letter-spacing: .01em;
	padding: .48rem .7rem .48rem .8rem;
}

.wf_pwa_instalar i {
	font-size: .85rem;
}

.wf_pwa_cerrar {
	border-left: 1px solid rgba(255, 255, 255, .3);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	padding: .4rem .65rem .48rem .55rem;
}

.wf_pwa_instalar:hover,
.wf_pwa_instalar:focus-visible,
.wf_pwa_cerrar:hover,
.wf_pwa_cerrar:focus-visible {
	background: rgba(255, 255, 255, .12);
	color: #fff;
	outline: 2px solid rgba(255, 255, 255, .65);
	outline-offset: -3px;
}

.wf_pwa_aviso:hover {
	box-shadow: 0 .7rem 1.8rem rgba(22, 42, 58, .32);
	transform: translateY(-1px);
}

@keyframes wf_pwa_entrada {
	from {
		opacity: 0;
		transform: translateY(.7rem) scale(.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 575.98px) {
	.wf_pwa_aviso {
		bottom: .65rem;
		right: .65rem;
	}

	.wf_pwa_aviso_gestion,
	body:has(#wf_escritorio) .wf_pwa_aviso {
		bottom: 4.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wf_pwa_aviso {
		animation: none;
		transition: none;
	}
}
