/*
* Estilo_Principal.css
* Estilos base claro con override para modo oscuro, alineación y tema consistente en controles.
*/

/* === Variables === */
:root {
	--f3ar-control-height: 38px;

	/* Tema oscuro */
	--f3ar-color-dark-pestana: #282828;
	--f3ar-color-dark-fondo-1: #353535;
	--f3ar-color-dark-fondo-2: #2d2d2d;
	--f3ar-color-dark-fondo-gradiente-ini: #003173;
	--f3ar-color-dark-fondo-gradiente-fin: #0067ac;
	--f3ar-color-dark-texto-principal: #ffffff;
	--f3ar-color-dark-selector-fondo: #343434;
	--f3ar-color-dark-borde: #000000;
	--f3ar-color-dark-barra-gradiente-ini: #2b2b2b;
	--f3ar-color-dark-barra-gradiente-fin: #262626;
	--f3ar-color-dark-hover-bg: rgba(255, 255, 255, 0.03);
	--f3ar-color-dark-hover-shadow: rgba(255, 255, 255, 0.05);
	--f3ar-color-dark-boton-ini: #353535;
	--f3ar-color-dark-boton-fin: #323232;
}

/* === Fuentes === */
@font-face {
	font-family: 'Fonarto';
	src: url('../FONT/Fonarto.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

/* === Body y Elementales === */
body {
	margin: 0;
	padding: 30px 30px;
	font-family: "Segoe UI", "Ubuntu", sans-serif;
	transition: background-color 0.1s ease, color 0.1s ease;
}

body.fondo-gradiente {
	background: linear-gradient(to right, #0062e6, #33aeff);
	color: #1a1a1a;
}

body.tema-oscuro {
	background: linear-gradient(to right, var(--f3ar-color-dark-fondo-gradiente-ini), var(--f3ar-color-dark-fondo-gradiente-fin));
	color: var(--f3ar-color-dark-texto-principal);
}

p {
	margin: 0;
}

ol {
	margin: 0;
}

/* === Elementos de Bootstrap editados === */
.accordion-item {
	--bs-accordion-btn-bg: #e1dedb;
}
body.tema-oscuro .accordion-item {
	--bs-accordion-btn-bg: var(--f3ar-color-dark-pestana);
}

.accordion {
	--bs-accordion-bg: #ffffff;
}
body.tema-oscuro .accordion {
	--bs-accordion-bg: var(--f3ar-color-dark-fondo-2);
}

/* === Tipografía principal === */
.fuente-fonarto {
	font-family: 'Fonarto', "Segoe UI", "Ubuntu", sans-serif;
}

.titulo-app {
	font-size: 28px;
}

/* === Contenedor principal === */
.ventana-gtk {
	background-color: #f5f5f4;
	border: 1px solid #cccccc;
	border-radius: 6px;
	overflow: hidden;
	max-width: 1280px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease;
}
body.tema-oscuro .ventana-gtk {
	background-color: var(--f3ar-color-dark-fondo-1);
	border-color: var(--f3ar-color-dark-borde);
}
.ventana-gtk.mostrar {
	opacity: 1;
	visibility: visible;
}

/* === Spinner de carga centrado antes de mostrar la ventana === */
#CargandoPantalla {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}

/* === Barra superior === */
.barra-superior-gtk {
	background: linear-gradient(to bottom, #e1dedb 0%, #dbd6d2 100%);
	color: #000;
	border-bottom: 1px solid #aaa;
	padding: 10px 20px;
}

body.tema-oscuro .barra-superior-gtk {
	background: linear-gradient(to bottom, var(--f3ar-color-dark-barra-gradiente-ini) 25%, var(--f3ar-color-dark-barra-gradiente-fin) 60%);
	color: var(--f3ar-color-dark-texto-principal);
	border-bottom: 1px solid var(--f3ar-color-dark-borde);
}

/* === Botones Barra superior === */
.btn-barra-superior {
	height: var(--f3ar-control-height);
}

.btn-light {
	--bs-btn-bg: var(--bs-body-bg);
}

body.tema-oscuro .btn-barra-superior.btn-dark {
	background: linear-gradient(to bottom, var(--f3ar-color-dark-boton-ini) 0%, var(--f3ar-color-dark-boton-fin) 100%) !important;
	border: 1px solid var(--f3ar-color-dark-borde) !important;
	color: #ffffff !important;
	border-radius: 4px;
	box-shadow: inset 0 0 0px rgba(0, 0, 0, 0.6);
}

.copy-button {
	cursor: pointer;
	transition: color 0.2s ease;
}

/* === Selector de idioma === */
#SelectorIdioma {
	height: var(--f3ar-control-height);
	width: 110px;
	margin-left: 12px;
	color: #000;
	border-radius: 4px;
	border: 1px solid var(--bs-btn-border-color);
}

body.tema-oscuro #SelectorIdioma {
	background-color: var(--f3ar-color-dark-selector-fondo) !important;
	color: #ffffff;
	border: 1px solid var(--f3ar-color-dark-borde);
}

/* === Secciones con Hover Activo === */
section.seccion-hover {
	padding: 12px 12px;
	border-radius: 6px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

section.seccion-hover:hover {
	background-color: rgba(0, 0, 0, 0.03);
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

body.tema-oscuro section.seccion-hover:hover {
	background-color: var(--f3ar-color-dark-hover-bg);
	box-shadow: 0 0 4px var(--f3ar-color-dark-hover-shadow);
}

/* === Responsivo === */

@media (max-width: 768px) {
	body {
		padding: 0 !important;
	}

	.ventana-gtk {
		border-radius: 0px;
	}
}

.code-box {
	background-color: #1e1e1e;
	color: #dcdcdc;
	border-radius: 6px;
	overflow: hidden;
	font-family: "Courier New", monospace;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	margin-bottom: 1rem;
}

.code-box .code-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #2d2d2d;
	color: #ffffff;
	padding: 8px 12px;
	font-size: 14px;
}

.code-box pre {
	margin: 0;
	padding: 12px;
	font-size: 14px;
	white-space: pre-wrap;
	word-break: break-word;
}

