/* ===========================
   RESET BÁSICO
   Aplica a TODAS las páginas
   =========================== */
body, h1, h2, p {
    margin: 0;
    padding: 0;
}


body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #bfc6cc; /* Fondo neutro,*/
    color: #333;              /* Color base del texto */
    line-height: 1.6;
}



h1 {
    font-size: 2.5em;
    color: #004080; /* Azul corporativo */
    margin: 20px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center; /* centro */
}

h2 {
    font-size: 1.8em;
    color: #0066cc; /* Azul secundario */
    margin-top: 25px;
    margin-bottom: 10px;
    padding-bottom: 5px;
    text-align: center; /* centro */
}

/* 
   PÁRRAFOS GENERALES */
p {
    font-size: 1.1em;
    max-width: 800px;
    margin: 10px auto;
    text-align: justify;
     text-align: center;  /* Central la p*/
}

/* CENTRADO DE CONTENIDO */
center {
    display: block;
    margin: 0 auto;
    text-align: center;
}

center h2, center p {
    margin-left: auto;
    margin-right: auto;
}




/*  PÁGINA DE TIENDAS */

/* Contenedor de logos en cuadrícula acomoda  */
.contenedor-tiendas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 25px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}

/* Estilo de los logos de tiendas */
.logo-tienda {
    width: 150px;
    height: auto;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px;
    background-color: white;
    padding: 10px;
}

/* Efecto hover en los logos */
.logo-tienda:hover {
    transform: scale(1.1);
    box-shadow: 0 40px 12px rgba(0,0,0,0.2);
    cursor: pointer;
}









/* ===========================
   GALERÍA DE SERVICIOS
   =========================== */

/* Contenedor en cuadrícula */
.galeria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    max-width: 1000px;
    margin: 20px auto;
    padding: 10px;
}

/* Cada figura */
.galeria-grid figure {
    text-align: center;
    background: #fff;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.galeria-grid figure:hover {
    transform: scale(1.05);
}

/* Miniaturas */
.miniatura {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

/* Texto debajo de cada imagen */
.galeria-grid figcaption {
    margin-top: 8px;
    font-size: 0.9em;
    color: #555;
}


/* ===========================
   VISOR LIGHTBOX
   =========================== */

/* Overlay que cubre toda la pantalla */
.visor-overlay {
    display: none; /* se activa con JS */
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.8);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Contenido del visor */
.visor-contenido {
    position: relative;
    text-align: center;
    max-width: 90%;
    max-height: 90%;
}

/* Imagen grande */
.visor-imagen {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}

/* Título */
.visor-titulo {
    margin-top: 10px;
    color: #fff;
    font-size: 1.2em;
}

/* Botón cerrar */
.visor-cerrar {
    position: fixed;
    top: 20px;
    right: 20px;
    background: rgba(255,255,255,0.9);
    border: none;
    padding: 10px 14px;
    cursor: pointer;
    border-radius: 50%;
    font-size: 1.2em;
    transition: background 0.3s ease;
    z-index: 10000;
}
.visor-cerrar:hover {
    background: #ddd;
}

/* Flechas navegación */
.visor-prev,
.visor-next {
    position: fixed;          /* fijas en la ventana */
    top: 50%;                 /* centradas verticalmente */
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    border: none;
    padding: 14px 18px;
    cursor: pointer;
    border-radius: 50%;
    font-size: 1.4em;
    transition: background 0.3s ease;
    z-index: 10000;
}

.visor-prev { left: 30px; }
.visor-next { right: 30px; }

.visor-prev:hover,
.visor-next:hover {
    background: #ddd;
}





/* ===========================
   FORMULARIO DE CONTACTO
   =========================== */

/* Centra el formulario en la página */
form {
    max-width: 500px;               /* Limita el ancho del formulario */
    margin: 30px auto;              /* Centra horizontalmente */
    padding: 20px;
    background: #fff;               /* Fondo blanco del formulario */
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Etiquetas de cada campo */
form label {
    display: block;
    margin-top: 15px;
    font-weight: bold;
    color: #004080;                 /* Azul corporativo */
}

/* Campos de entrada y área de texto */
form input,
form textarea {
    width: 90%;                     /* Ajusta el ancho relativo al formulario */
    margin: 0 auto;                 /* Centra horizontalmente */
    display: block;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Evita que el textarea se pueda agrandar */
form textarea {
    resize: none;
    height: 100px;                  /* Altura fija para consulta */
}

/* Efecto al enfocar campos */
form input:focus,
form textarea:focus {
    border-color: #0066cc;
    box-shadow: 0 0 6px rgba(0,102,204,0.3);
    outline: none;
}

/* Botones de enviar y limpiar */
.botones {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}

.botones button {
    flex: 1;
    margin: 0 5px;
    padding: 10px;
    font-size: 1em;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.botones button[type="submit"] {
    background: #0066cc;
    color: #fff;
}

.botones button[type="submit"]:hover {
    background: #004080;
}

.botones button[type="reset"] {
    background: #ccc;
    color: #333;
}

.botones button[type="reset"]:hover {
    background: #999;
}

/* Mensaje de éxito o error */
#mensaje {
    margin-top: 15px;
    font-weight: bold;
    text-align: center;
}





/* tabla tarifas1 */

.tabla-tarifas {
  margin: 20px auto;       /* Centra horizontalmente */
  border-collapse: collapse;
  width: 80%;              /* Opcional: controla el ancho */
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: hidden;
}


.tabla-tarifas th,
.tabla-tarifas td {
  padding: 12px 16px;
  text-align: center;
  border-bottom: 1px solid #ccc;
  font-size: 1em;
}

.tabla-tarifas th {
  background-color: #004080;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.tabla-tarifas tr:hover {
  background-color: #f0f4f8;
}


/*mpara los completar*/
form select {
    width: 90%;              /* mismo ancho que los inputs */
    margin: 0 auto;          /* centra horizontalmente */
    display: block;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
    background: #fff;        /* fondo blanco */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto al enfocar */
form select:focus {
    border-color: #0066cc;
    box-shadow: 0 0 6px rgba(0,102,204,0.3);
    outline: none;
}