* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
@font-face {
    font-family: "Death Star";
    src: url("/Fonts/death_star/Death\ Star.otf");
}

/* Header ocupa toda la pantalla al inicio */
body.cargando .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999;
    background-color: #e6c200;
    transition: all 0.8s ease;
    opacity: 1;
}

/* Sidebar y main escondidos al inicio */
body.cargando .sidebar,
body.cargando .main-content {
    transform: translateY(50px);
    opacity: 0;
}

/* Ya animando */
body.animado .header,
body.animado .sidebar,
body.animado .main-content {
    opacity: 1;
    transition: all 0.8s ease;
}

/* Header regresando a su tamaño normal */
body.animado .header {
    position: relative;
    width: 100%;
    height: 120px;
}

/* Sidebar y main subiendo desde abajo */
body.animado .sidebar,
body.animado .main-content {
    transform: translateY(0);
}

body {
    font-family: sans-serif;
    line-height: 1.6;
    background-color: #0b0b0b;
}

h1 {
    color: #FFD700;
    font-family: "Death Star", sans-serif;
    letter-spacing: 3px;
    font-size: 38px;
    margin-bottom: 40px;
}

.header h1 { 
    margin-bottom: 10px;
    color: black;
    font-size: 80px;
    letter-spacing: 3px;
}

hr {
    border: 1px solid #FFD700;
}

.container {
    display: grid;
    grid-template-rows: 120px 1fr;
    grid-template-columns: 300px 1fr;
    min-height: 100vh;
}

.header {
    font-family: "Death Star", sans-serif;
    font-size: 45px;
    grid-column: 1 / -1;
    /* background-image: linear-gradient(to bottom, black, #1a1b1b);  */
    background-color: #e6c200;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header img{
    max-width: 100px;
    max-height: 100px;
    margin-left: 20px;
}

.sidebar {
    background-color: #1a1b1b;
    padding:0;
}

.main-content {
    background-color: #1a1b1b;
}

.main-content iframe {
    width: 100%; 
    height: 100%; 
    border: none; 
    min-height: 500px;
}

.main-content {
    display: flex;
}

/* Botones imagen */
.sidebar img {
    width: 100%;
    height: auto;
    display: block; 
}

/* Botones */

#btnIniciar {
    padding: 10px 20px;
    font-size: 18px;
    background-color: #FFD700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    color: black;
}

#btnIniciar:hover {
    background-color: #e6c200;
}

#boton {
    margin: 10px;
}

/* Informacion general */

.contenido {
    width: 90%;
    max-width: 900px;
    margin: 40px auto;
    color: #FFD700;
}

.contenido h1 {
    color: #FFD700;
    font-family: "Death Star", sans-serif;
    letter-spacing: 3px;
    font-size: 38px;
    margin-bottom: 40px;
}

.card {
    margin-top:50px;
    background: #111; 
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 25px;
    border: 1px solid #FFD70033;
    box-shadow: 0 0 15px #FFD70026;
    transition: 0.3s ease;
    font-size: 20px;
    text-align: center;
}

.card-rojo:hover{
    box-shadow: 0 0 25px #ff0000d7;
    background-color: #28272759;
}
.card-azul:hover {
    box-shadow: 0 0 25px #0d00faef;
    background-color: #28272759;
}

.card h2 {
    color: #FFD700;
    margin-bottom: 25px;
    font-family: "Death Star", sans-serif;
    letter-spacing: 2px;
    font-size: 28px;
    text-align: center;
}

.card p {
    color: #FFD700;
    line-height: 1.6;
}

.lista {
    width: 60%;
    list-style: none;
    padding-left: 0;
    margin: 10px auto;
}

.lista li {
    padding: 8px 0;
    padding-left: 25px;
    position: relative;
    color: #FFD700;
    font-size: 20px;
    text-align: left;
}

.lista li::before {
    content: "✔";
    color: #FFD700;
    font-weight: bold;
    position: absolute;
    left: 0;
}


/* Carrusel */

.carrusel-1{
    width: 100%;
    overflow-x: auto;
    margin: 3em auto;
    display: flex;
    gap: 0;
    scroll-behavior: smooth;
    anchor-name: --carrusel-1;
    scroll-snap-type: x mandatory;
    scroll-marker-group: after;
}

.carrusel-1::scroll-marker-group{
    display: flex;
    justify-content: center;
    gap: .5em;
}

.card2::scroll-marker{
    content: '';
    height: 1em;
    width: 1em;
    background-color: #e6c200;
    border-radius: 50%;
}

.card2::scroll-marker:target-current{
    background-color: white;
}

.carrusel-1::-webkit-scrollbar{
    display: none;
}

.carrusel-1::scroll-button(right), .carrusel-1::scroll-button(left){
    content: '→';
    border: none;
    background-color: black;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 3rem;
    color: #e6c200;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    padding-bottom: .1em;
    cursor: pointer;
    position: fixed;
    position-anchor: --carrusel-1;
    position-area: right center;
    translate: -50%;
}

.carrusel-1::scroll-button(left){
    content: '←';
    position-area: left center;
    translate: 50%;
}

.carrusel-1::scroll-button(right):disabled, .carrusel-1::scroll-button(left):disabled {
    opacity: 0.5;
    cursor: auto;
}

.card2{
    scroll-snap-align: center;
    flex: 0 0 100%;
    max-height: 650px;
    min-width: 0;
    background-color: black;
    padding: 1em;
    border-radius: .5em;
    text-align: center;
    align-content: center   ;
}
.card2 img {
    width: 100%;
    height: 100%;
}

@media(max-width:500px){
    .card2{
        flex: 0,0,100%;
    }
}

/* Carrusel*/

.carrusel-2{
    width: 100%;
    overflow-x: auto;
    margin: 3em auto;
    display: flex;
    gap: 0;
    scroll-behavior: smooth;
    anchor-name: --carrusel-2;
    scroll-snap-type: x mandatory;
    scroll-marker-group: after;
}

.carrusel-2::scroll-marker-group{
    display: flex;
    justify-content: center;
    gap: .5em;
}

.carrusel-2::-webkit-scrollbar{
    display: none;
}

.carrusel-2::scroll-button(right), .carrusel-2::scroll-button(left){
    content: '→';
    border: none;
    background-color: black;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 3rem;
    color: #e6c200;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    padding-bottom: .1em;
    cursor: pointer;
    position: fixed;
    position-anchor: --carrusel-2;
    position-area: right center;
    translate: -50%;
}

.carrusel-2::scroll-button(left){
    content: '←';
    position-area: left center;
    translate: 50%;
}

.carrusel-2::scroll-button(right):disabled, .carrusel-2::scroll-button(left):disabled {
    opacity: 0.5;
    cursor: auto;
}


/**/

/* Links Tiendas */


.card-content-split {
    display: flex;
    gap: 20px;
    align-items: stretch; 
    text-align: left;
    padding-top: 15px;
}

.card-imagen {
    flex: 0 0 35%; 
    max-width: 35%; 
    display: flex; 
    justify-content: center;
    align-items: center;
    border-right: 1px dashed #FFD700;
}

.card-imagen a {
    display: block; 
    width: 100%;
    text-align: center;
}

.card-imagen img {
    width: 50%; 
    height: auto;
    border-radius: 8px;
}
.card-texto {
    flex: 1 1 50%; 
}

.card-texto p {
    text-align: left; 
}

/* Form Contacto */

/*Form Contacto*/

#contacto {
    width: 90%;
    max-width: 600px;
    margin: 40px auto;
    background: #111;
    padding: 30px;
    border-radius: 12px;
    border: 1px solid #FFD70033;
    box-shadow: 0 0 15px #FFD70026;
    color: #FFD700;
}

#contacto:hover {
    box-shadow: 0 0 25px #FFD70059;
}

#contacto h1 {
    color: #FFD700;
    font-family: "Death Star", sans-serif;
    letter-spacing: 3px;
    font-size: 38px;
    text-align: center;
    margin-bottom: 25px;
}

#contacto table {
    width: 100%;
}

#contacto td {
    padding: 10px 0;
}

#contacto label {
    color: #FFD700;
    font-size: 18px;
    font-weight: bold;
}

#contacto input[type="text"],
#contacto input[type="email"],
#contacto input[type="number"],
#contacto textarea {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #FFD70055;
    background-color: #1a1b1b;
    color: #FFD700;
    font-size: 16px;
    margin-bottom: 25px;
}

#contacto input[type="text"]:focus,
#contacto input[type="email"]:focus,
#contacto input[type="number"]:focus,
#contacto textarea:focus {
    outline: none;
    box-shadow: 0 0 10px #FFD70055;
    border-color: #FFD700;
    
}


#btnEnviar,
#btnLimpiar {
    padding: 10px 20px;
    font-size: 18px;
    background-color: #FFD700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    color: black;
    margin-right: 10px;
    margin-top: 15px;
    transition: .3s;
}

#btnEnviar:hover,
#btnLimpiar:hover {
    background-color: #e6c200;
}

#contacto td[colspan="2"] {
    text-align: center;
}

#contacto hr {
    margin-bottom: 40px;
}

#contacto select {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #FFD70055;
    background-color: #1a1b1b;
    color: #FFD700;
    font-size: 16px;
    margin-bottom: 25px;
}

#contacto select:focus {
    outline: none;
    box-shadow: 0 0 10px #FFD70055;
    border-color: #FFD700;
}

#contacto h3 {
    text-align: center;
    color: #FFD700;
    margin-top: -15px;
    margin-bottom: 20px;
}


/* --- Calculadora --- */

.instrucciones p {
    font-size: large;
}

#calculadora {
    width: 70%; 
    margin: 40px auto;
    
    background: #111;
    padding: 30px;
    border-radius: 12px;
    border: 1px solid #FFD70033;
    box-shadow: 0 0 15px #FFD70026;
    color: #FFD700;
}

#calculadora:hover {
    box-shadow: 0 0 25px #FFD70059;
}

#calculadora h1 {
    color: #FFD700;
    font-family: "Death Star", sans-serif; 
    letter-spacing: 3px;
    font-size: 38px;
    text-align: center;
}

#calculadora h2{
    font-family: "Death Star", sans-serif;
    margin-bottom:20px;
}

#calculadora hr {
    border-color: #FFD70055;
    margin-bottom: 30px;
    margin-top: 30px;
}

/* --- ESTILOS DE LA TARJETA INTERNA DE CÁLCULO (.cotizador-card) --- */
.cotizador-card {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px; 
    background-color: #1a1b1b; 
    padding: 20px;
    border-radius: 8px;
}

.cotizador-header h2 {
    color: #FFD700; /* Título de la tarjeta en dorado */
    margin-top: 0;
    margin-bottom: 5px;
}

.cotizador-header p {
    font-size: 1em;
    opacity: 0.8;
    color: #ccc;
    margin-bottom: 2em;
}


/* --- ESTILOS PARA SELECCION DE SERVICIO (.cotizador-servicio) --- */
.cotizador-servicio {
    display: flex;
    align-items: center;
    justify-content: space-between; 
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #FFD70033; /* Línea divisoria dorada sutil */
}

.cotizador-servicio label {
    color: #FFD700;
    font-size: 18px;
    font-weight: bold;
}

.cotizador-servicio select {
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #FFD70055;
    background-color: #222;
    color: #FFD700;
    font-size: 16px;
}


/* --- ESTILOS PARA LA LÍNEA DE CÁLCULO (.cotizador-calculo) --- */
.cotizador-calculo {
    display: flex;
    align-items: center; 
    gap: 15px;
    font-size: 1.4em;
    margin-bottom: 25px;
}

/* El input de peso */
.input-peso {
    width: 80px; 
    padding: 10px;
    font-size: 1.2em;
    text-align: center;
    
    /* Estilo Dorado/Naranja de la calculadora en la imagen */
    border: 2px solid #ff5722; 
    border-radius: 6px;
    background-color: transparent; 
    color: white; 
    font-weight: bold;
}

/* Estilos para las etiquetas KG, x, = */
.label-cotizacion {
    color: #ccc;
}

/* El resultado total */
.total-pago {
    font-weight: bold;
    color: #ff5722; /* Color principal de resultado, naranja/dorado fuerte */
    font-size: 1.8em;
}

/* --- ESTILOS PARA LA NOTA INFERIOR (.cotizador-nota) --- */
.cotizador-nota p {
    font-size: 0.85em;
    opacity: 0.6;
    color: #aaa;
    line-height: 1.4;
    padding-top: 15px;
    border-top: 1px solid #FFD70033; /* Separador */
}


#btnEnviar,
#btnLimpiar {
    padding: 10px 20px;
    font-size: 18px;
    background-color: #FFD700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    color: black;
    margin-right: 10px;
    transition: .3s;
}

#btnEnviar:hover,
#btnLimpiar:hover {
    background-color: #e6c200;
}

#contacto td[colspan="2"] {
    text-align: center;
}

#contacto hr {
    margin-bottom: 40px;
}

#contacto select {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #FFD70055;
    background-color: #1a1b1b;
    color: #FFD700;
    font-size: 16px;
    margin-bottom: 25px;
}

#contacto select:focus {
    outline: none;
    box-shadow: 0 0 10px #FFD70055;
    border-color: #FFD700;
}

/*  Estilos para la Ventana Modal (Aviso) */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background-color: rgba(0, 0, 0, 0.7); 
    
    display: none;
    justify-content: center;
    align-items: center;
    
    z-index: 1000; 
}

.modal-content {
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    max-width: 450px;
    width: 90%;
    text-align: center;
    
    transform: scale(0.9);
    animation: bounceIn 0.3s forwards;
}

/* --- Estilos del Captcha (Cuadrícula 3x3) --- */

.number-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 10px;
    width: 100%;
    margin: 20px 0;
}

.grid-cell {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    font-size: 24px;
    font-weight: bold;
    background-color: #f0f0f0;
    cursor: pointer;
    border: 1px solid #ccc;
    transition: background-color 0.2s;
}

.grid-cell.selected {
    background-color: #FFD700;
    color: black;
}

#verifyButton, .close-btn {
    padding: 10px 15px;
    font-weight: bold;
    border: none;
    cursor: pointer;
    margin: 0 5px;
}

#verifyButton {
    background-color: #007bff; 
    color: white;
}

.close-btn {
    background-color: #ccc;
    color: #333;
}

@keyframes bounceIn {
    0% { transform: scale(0.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}