/* tipografías
head {
font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}

Titulos{
font-family: "Ramabhadra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

subtitulo{
font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
}

textos{
font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}
*/

:root{
    --AzulClaro: #40BFFF;
    --AzulMedio: #1D6FB8;
    --AzulOscuro: #0C2747;
    --Amarillo: #FFC300;
    --NaranjaSuave: #F58C4B;
    --BeigeClaro: #FCE3D3;
    --Blanco: #FFFFFF;
    --GrisNeuto: #D9D9D9;
    --Negro: #000;
}

*{
    margin: 0;
    padding: 0;
}

.alineacion_head {
    background-color: var(--Negro);
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
}

.imagen_head img{
    height: 10rem;
}

.panel_head{
    width: 38rem;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}

.panel_head a{
    text-decoration: none;
    color: var(--Blanco);
}

.cuadro_head{
    background-color: var(--Amarillo);
    padding: 1rem;
    border-radius: 1rem;
}

.cuadro_head a{
    color: var(--Negro);
}

nav{
    text-align: center;
    padding: 2rem;
    background-image: linear-gradient(
        to top,
        rgba(13, 58, 92, 0.6),      /* Abajo: negro con opacidad */
        rgba(0, 0, 0, 0.6)  /* Arriba: azul con opacidad */
    ),
    url(/img/contacto/business-woman-hand-with-financial-charts-mobile-phone-laptop-table.jpg);
    background-position: center;
    background-size: cover;
}

nav h1{
    font-family: "Ramabhadra", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 6rem;
  color: var(--Blanco);
}

.contactos{
    margin: 2rem;
    display: flex;
    justify-content: space-evenly;
}

.locacion, .mail, .telefono{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.locacion a, .mail a,.telefono a{
    text-decoration: none;
}

.locacion h2, .mail h2, .telefono h2{
    margin: 1rem;
    font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
color: var(--Amarillo);
font-size: 2rem;
}

.locacion p, .mail p, .telefono p{
    font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #000;
  font-size: 1.2rem;
}

.locacion:hover, .mail:hover, .telefono:hover{
    padding: 2rem;
    background-color: var(--AzulMedio);
    border-radius: 3rem;
}

.quote-section {
  background: #f8f9fa;
  padding: 2rem;
  margin: 3rem auto;
  max-width: 700px;
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.quote-section h2 {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  color: #1a1a1a;
  font-family: "Ramabhadra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.quote-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
}

.quote-form label {
  font-weight: 600;
  margin-bottom: 0.3rem;
  color: #333;
}

.required {
  color: red;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  padding: 0.75rem 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  border-color: #004aad;
  box-shadow: 0 0 0 3px rgba(0,74,173,0.2);
  outline: none;
}

.cta-button {
  background: var(--Amarillo);
  color: var(--Negro);
  font-size: 1.1rem;
  font-weight: bold;
  padding: 0.9rem 1.2rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.cta-button:hover {
  background: var(--AzulClaro);
  transform: translateY(-2px);
}

.cta-button:active {
  transform: translateY(0);
}

/* footer */

.fondo_footer{
    background-color: var(--Negro);
    display: flex;
    align-items: start;
    justify-content: space-evenly;
    padding: 2rem;
}

.imagen_footer img{
    height: 20rem;
}

.links h2 {
    color: var(--Blanco);
    margin: 0rem 0rem 2rem 0rem;
    font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
}

.links a {
    text-decoration: none;
    color: var(--Blanco);
    margin: .2rem;
    display: flex;
    justify-content: left;
    font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.home_footer, .about_footer, .services_footer, .projects, .mail_footer{
    display: flex;
    align-items: center;
    flex-direction: row;
}

.schedule h2{
    color: var(--Blanco);
    margin: 0rem 0rem 2rem 0rem;
    text-align: center;
    font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
}

.schedule p{
    text-decoration: none;
    color: var(--Blanco);
    margin: .2rem;
    display: flex;
    justify-content: center;
    font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.dias, .horas, .sunday, .closed{
    display: flex;
    align-items: center;
    flex-direction: row;
}

svg{
    margin: .5rem;
    color: var(--AzulClaro);
}

.contactinfo_footer h2{
    color: var(--Blanco);
    margin: 0rem 0rem 2rem 0rem;
    text-align: center;
    font-family: "Barlow", sans-serif;
font-weight: 500;
font-style: normal;
}

.contactinfo_footer a{
    text-decoration: none;
    color: var(--Blanco);
    margin: .2rem;
    display: flex;
    justify-content: left;
    font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.numero_footer, .ubi_footer, .correo_footer{
    display: flex;
    align-items: center;
    flex-direction: row;
}

/* ===== MEDIA QUERIES RESPONSIVE ===== */

/* Teléfonos pequeños (hasta 480px) */
@media (max-width: 480px) {
    /* Header */
    .alineacion_head {
        flex-direction: column;
        padding: 1rem 0;
    }

    .imagen_head img {
        height: 6rem;
    }

    .panel_head {
        width: 100%;
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
        width: auto;
    }

    .panel_head a {
        font-size: 1rem;
        padding: 0.5rem;
    }

    .cuadro_head {
        padding: 0.8rem;
        margin: 0.5rem;
    }

    /* Navegación */
    nav {
        padding: 1rem;
        text-align: center;
    }

    nav h1 {
        font-size: 3rem;
    }

    /* Contactos */
    .contactos {
        flex-direction: column;
        margin: 1rem;
        gap: 1rem;
    }

    .locacion, .mail, .telefono {
        margin: 0.5rem 0;
        padding: 1rem;
    }

    .locacion h2, .mail h2, .telefono h2 {
        font-size: 1.5rem;
        margin: 0.5rem 0;
    }

    .locacion p, .mail p, .telefono p {
        font-size: 1rem;
    }

    .locacion:hover, .mail:hover, .telefono:hover {
        padding: 1rem;
    }

    /* Formulario */
    .quote-section {
        margin: 2rem 1rem;
        padding: 1.5rem;
    }

    .quote-section h2 {
        font-size: 1.5rem;
    }

    .quote-form {
        gap: 0.8rem;
    }

    .quote-form input,
    .quote-form select,
    .quote-form textarea {
        padding: 0.6rem 0.8rem;
        font-size: 0.9rem;
    }

    .cta-button {
        font-size: 1rem;
        padding: 0.8rem 1rem;
    }

    /* Footer */
    .fondo_footer {
        flex-direction: column;
        padding: 1.5rem;
        gap: 2rem;
        align-items: center;
    }

    .imagen_footer {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .imagen_footer img {
        height: 12rem;
    }

    .links, .schedule, .contactinfo_footer {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .links h2, .schedule h2, .contactinfo_footer h2 {
        font-size: 1.3rem;
        text-align: center;
    }

    .links a, .schedule p, .contactinfo_footer a {
        justify-content: center;
        font-size: 0.9rem;
    }
}

/* Teléfonos medianos (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
    /* Header */
    .imagen_head img {
        height: 8rem;
    }

    .panel_head {
        width: 90%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.8rem;
    }

    .panel_head a {
        font-size: 0.9rem;
    }

    /* Navegación */
    nav h1 {
        font-size: 4rem;
    }

    /* Contactos */
    .contactos {
        flex-direction: column;
        gap: 1.5rem;
        margin: 1.5rem;
    }

    .locacion, .mail, .telefono {
        padding: 1.5rem;
    }

    .locacion h2, .mail h2, .telefono h2 {
        font-size: 1.8rem;
    }

    .locacion p, .mail p, .telefono p {
        font-size: 1.1rem;
    }

    /* Formulario */
    .quote-section {
        margin: 2rem auto;
        padding: 1.8rem;
    }

    .quote-section h2 {
        font-size: 1.6rem;
    }

    .quote-form input,
    .quote-form select,
    .quote-form textarea {
        padding: 0.7rem 0.9rem;
        font-size: 1rem;
    }

    /* Footer */
    .fondo_footer {
        flex-direction: column;
        gap: 2rem;
        padding: 2rem;
        align-items: center;
    }

    .imagen_footer {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .imagen_footer img {
        height: 15rem;
    }

    .links, .schedule, .contactinfo_footer {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .links h2, .schedule h2, .contactinfo_footer h2 {
        font-size: 1.4rem;
        text-align: center;
    }

    .links a, .schedule p, .contactinfo_footer a {
        justify-content: center;
        font-size: 1rem;
    }
}

/* Tabletas (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    /* Header */
    .imagen_head img {
        height: 9rem;
    }

    .panel_head {
        width: 85%;
        gap: 1rem;
    }

    .panel_head a {
        font-size: 1rem;
        padding: 0.3rem;
    }

    /* Navegación */
    nav {
        padding: 1.5rem;
    }

    nav h1 {
        font-size: 5rem;
    }

    /* Contactos */
    .contactos {
        gap: 2rem;
        margin: 1.5rem;
    }

    .locacion h2, .mail h2, .telefono h2 {
        font-size: 1.9rem;
    }

    .locacion p, .mail p, .telefono p {
        font-size: 1.15rem;
    }

    /* Formulario */
    .quote-section {
        max-width: 600px;
        padding: 1.8rem;
    }

    .quote-section h2 {
        font-size: 1.7rem;
    }

    /* Footer */
    .fondo_footer {
        gap: 1.5rem;
        padding: 2rem;
        align-items: center;
    }

    .imagen_footer {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .imagen_footer img {
        height: 18rem;
    }

    .links, .schedule, .contactinfo_footer {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .links h2, .schedule h2, .contactinfo_footer h2 {
        font-size: 1.5rem;
        text-align: center;
    }

    .links a, .schedule p, .contactinfo_footer a {
        justify-content: center;
        font-size: 1rem;
    }
}
