mirror of
https://github.com/ganglyglub2-gif/cotizador-impresion-3D.git
synced 2026-07-17 18:55:11 +00:00
275 lines
4.7 KiB
CSS
275 lines
4.7 KiB
CSS
/* ==========================
|
|
ESTILO BASE ORIGINAL
|
|
========================== */
|
|
body {
|
|
font-family: "Poppins", sans-serif;
|
|
background: linear-gradient(135deg, #2c3e50, #4ca1af);
|
|
color: #fff;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
min-height: 100vh;
|
|
margin: 0;
|
|
padding: 20px;
|
|
}
|
|
|
|
/* CONTENEDOR PRINCIPAL */
|
|
.contenedor {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(10px);
|
|
border-radius: 16px;
|
|
padding: 30px 40px;
|
|
width: 900px;
|
|
max-width: 95%;
|
|
text-align: center;
|
|
box-shadow: 0 8px 20px rgba(0,0,0,0.3);
|
|
}
|
|
|
|
h1 {
|
|
margin-bottom: 20px;
|
|
font-size: 1.6em;
|
|
}
|
|
|
|
/* CAMPOS DEL FORMULARIO */
|
|
.campo {
|
|
margin-bottom: 15px;
|
|
text-align: left;
|
|
}
|
|
|
|
label {
|
|
display: block;
|
|
margin-bottom: 6px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* DROPDOWNS MÁS COMPACTOS */
|
|
select {
|
|
width: 100%;
|
|
padding: 8px 10px;
|
|
border-radius: 8px;
|
|
border: none;
|
|
outline: none;
|
|
font-size: 0.9em;
|
|
height: 40px;
|
|
}
|
|
|
|
input[type="file"] {
|
|
width: 100%;
|
|
padding: 10px;
|
|
border-radius: 8px;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
|
|
|
|
.boton {
|
|
margin-top: 15px;
|
|
width: 60%;
|
|
background-color: #00b894;
|
|
border: none;
|
|
color: white;
|
|
font-weight: bold;
|
|
padding: 12px;
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
transition: background 0.3s;
|
|
font-size: 0.95em;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
display: block;
|
|
}
|
|
|
|
.boton:hover {
|
|
background-color: #019875;
|
|
}
|
|
|
|
/* ==========================
|
|
RESULTADOS
|
|
========================== */
|
|
.resultado {
|
|
margin-top: 25px;
|
|
width: 100%;
|
|
}
|
|
|
|
/* TARJETAS DE RESULTADOS */
|
|
.card-resultado {
|
|
background: linear-gradient(145deg, #00b894, #019875);
|
|
color: #fff;
|
|
border-radius: 14px;
|
|
padding: 25px;
|
|
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
|
|
animation: aparecer 0.6s ease;
|
|
height: fit-content;
|
|
}
|
|
|
|
.card-resultado h2,
|
|
.card-resultado h3 {
|
|
text-align: center;
|
|
margin-bottom: 10px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.res-item {
|
|
margin: 6px 0;
|
|
font-size: 1.05em;
|
|
}
|
|
|
|
.card-resultado hr {
|
|
border: none;
|
|
border-top: 1px solid rgba(255,255,255,0.4);
|
|
margin: 15px 0;
|
|
}
|
|
|
|
.total {
|
|
font-size: 1.2em;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.card-resultado.error {
|
|
background: linear-gradient(145deg, #ff7675, #d63031);
|
|
}
|
|
|
|
/* BOTÓN DESCARGAR */
|
|
.acciones {
|
|
text-align: center;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.boton-descargar {
|
|
display: inline-block;
|
|
background-color: #0984e3;
|
|
color: #fff;
|
|
padding: 10px 16px;
|
|
border-radius: 8px;
|
|
text-decoration: none;
|
|
transition: background 0.3s;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.boton-descargar:hover {
|
|
background-color: #74b9ff;
|
|
}
|
|
|
|
/* ==========================
|
|
DOS COLUMNAS LATERALES
|
|
========================== */
|
|
.resultado-dos-columnas {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 20px;
|
|
margin-top: 25px;
|
|
width: 100%;
|
|
}
|
|
|
|
.resultado-dos-columnas .card-resultado {
|
|
flex: 1;
|
|
min-width: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* ==========================
|
|
ANIMACIÓN
|
|
========================== */
|
|
@keyframes aparecer {
|
|
from { opacity: 0; transform: translateY(10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
/* ==========================
|
|
ADAPTABILIDAD MÓVIL
|
|
========================== */
|
|
@media (max-width: 768px) {
|
|
body {
|
|
height: auto;
|
|
padding: 20px;
|
|
}
|
|
|
|
.contenedor {
|
|
width: 100%;
|
|
max-width: 420px;
|
|
padding: 20px;
|
|
}
|
|
|
|
.resultado-dos-columnas {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.resultado-dos-columnas .card-resultado {
|
|
flex: 1 1 100%;
|
|
}
|
|
|
|
.boton {
|
|
width: 80%;
|
|
}
|
|
}
|
|
|
|
/* =============================
|
|
🔵 Loader (Barra y Spinner)
|
|
============================= */
|
|
|
|
#loader-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, 0.85);
|
|
z-index: 9999;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
color: #fff;
|
|
font-family: Arial, sans-serif;
|
|
text-align: center;
|
|
opacity: 0;
|
|
transition: opacity 0.4s ease;
|
|
}
|
|
|
|
#loader-overlay[style*="display: flex"] {
|
|
opacity: 1;
|
|
}
|
|
|
|
.loader-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.loader-spinner {
|
|
width: 80px;
|
|
height: 80px;
|
|
border: 6px solid rgba(255, 255, 255, 0.2);
|
|
border-top-color: #00b4d8;
|
|
border-radius: 50%;
|
|
animation: girar 1s linear infinite;
|
|
}
|
|
|
|
.loader-text {
|
|
margin-top: 20px;
|
|
font-size: 18px;
|
|
font-weight: 500;
|
|
text-shadow: 0 0 6px rgba(0, 180, 216, 0.8);
|
|
}
|
|
|
|
.barra-contenedor {
|
|
width: 80%;
|
|
max-width: 400px;
|
|
height: 12px;
|
|
background: rgba(255, 255, 255, 0.2);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.barra-progreso {
|
|
width: 0%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, #00b4d8, #48cae4, #90e0ef);
|
|
transition: width 0.2s ease-in-out;
|
|
}
|
|
|
|
@keyframes girar {
|
|
to { transform: rotate(360deg); }
|
|
} |