@charset "UTF-8";

/* ==========================================================================
   Reset
   ========================================================================== */

/* 1. Box sizing básico para evitar problemas de cálculo */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2. Eliminar márgenes por defecto de elementos clave */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* 3. Ajustar el comportamiento de las imágenes y medios */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/* 4. Asegurar que los inputs y botones hereden tipografía */
input, button, textarea, select {
  font: inherit;
}

/* 5. Eliminar estilos de lista por defecto */
ul, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 6. Evitar desbordamiento de texto */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}


/* ==========================================================================
   Configuración Base y Tipografía
   ========================================================================== */
@font-face {
    font-family: 'Marcellus';
    src: url('../fonts/Marcellus-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/HindSiliguri-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/HindSiliguri-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/HindSiliguri-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* Normalización y prevención de scroll */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden; 
    box-sizing: border-box;
    /* Escalado base 16px para escritorio */
    font-size: 16px; 
    background: url('../img/fondo-esc.jpg') no-repeat center center;
    background-size: cover;
    font-family: 'Hind Siliguri', sans-serif;
    color: #1B223F;
}

*, *:before, *:after {
    box-sizing: inherit;
}

a {
    text-decoration: none;
    color: inherit;
}

/* ==========================================================================
   Estructura Principal
   ========================================================================== */
.main-container {
    display: block;
    width: 60em; /* 960px */
    height: auto;
    max-height: 100vh;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

/* ==========================================================================
   Elementos Específicos
   ========================================================================== */
/* 1. Logotipo */
.logo {
    width: 18em; /* 347px */
    height: auto; /* 159px */
    margin-bottom: 3.125em; /* 50px */
    display: block;
    margin: 50px auto 50px auto;
}

/* Líneas Separadoras */
.line {
    width: 100%;
    border: none;
    height: 0.0625em; /* 1px */
    margin: 0;
}

.line-solid {
    background-color: #A18561;
}

.line-transparent {
    background-color: rgba(161, 133, 97, 0.3);
}

.line-mb-20 { margin-bottom: 1em; } /* 30px */
.line-mb-30 { margin-bottom: 1.875em; } /* 30px */
.line-mb-50 { margin-bottom: 2.125em; } /* 50px */
.line-mt-50 { margin-top: 2.125em; }    /* 50px */

/* 3. H1 */
h1 {
    font-family: 'Marcellus', serif;
    font-size: 2.1875em; /* 35px */
    color: #1B223F;
    margin: 0;
    margin-bottom: 0.858em; /* 30px */
    font-weight: normal;
}

/* Textos Generales */
.text-regular {
    font-size: 1.2em; /* 25px */
    font-family: 'Hind Siliguri', sans-serif;
    font-weight: 400;
}

/* Iconos */
.icon {
    width: 1.2em; /* 24px */
    height: 1.2em; /* 24px */
    margin-right: 0.9375em; /* 15px */
    vertical-align: middle;
}

/* ==========================================================================
   Componentes (Botones y Contacto)
   ========================================================================== */
/* 5. Botones */
.actions-container {
    display: flex;
    flex-direction: row;
    gap: 1.875em; /* Separación prudencial entre botones */
    justify-content: center;
    width: 100%;
}

.btn {
    height: 3em; /* 54px */
    width: auto;
    padding: 0 2em;
    border-radius: 100vh;
    font-size: 1.2em; /* 25px */
    font-family: 'Hind Siliguri', sans-serif;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-primary {
    background-color: #2C4BFF;
    color: #ffffff;
    border: 0.0625em solid #2C4BFF;
}



.btn-secondary {
    background-color: transparent;
    color: #2C4BFF;
    border: 0.0625em solid #2C4BFF;
}

/* 7. Teléfonos y Email */
.contact-container {
    display: flex;
    flex-direction: row;
    gap: 6.875em; /* 110px */
    justify-content: center;
    align-items: center;
    width: 100%;
}

.contact-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.unclickable-desktop {
    pointer-events: none; /* Desactivado por defecto si no es link, ajustado en a:href */
}

a.contact-item {
    pointer-events: auto;
}

/* 9. Dirección */
.address-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1em; /* 30px */
}

.address-content {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.625em;
}

.btn-text {
    color: #2C4BFF;
    font-size: 1.1em; /* 23px */
    font-family: 'Hind Siliguri', sans-serif;
    font-weight: 700;
    text-decoration: underline;
}

/* 11. Horario e Instagram */
.schedule-container,
.instagram-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   Media Queries: Responsive (Tablet y Móvil)
   ========================================================================== */

/* TABLET */
@media screen and (max-width: 1024px) {
    .main-container {
        width: 90%;
    }
    .contact-container {
        gap: 2em; /* Reducción de los 110px para evitar desbordamiento */
    }
}




.actions-container {
    display: flex;
    flex-direction: row;
    gap: 30px; /* Corregido */
    justify-content: center;
    width: 100%;
    flex-wrap: wrap; /* Recomendado para que no se corten en móviles muy estrechos */
}

.btn {
    height: 2.8em;
    width: auto; /* Por defecto, esto debería bastar */
    min-width: max-content; /* Fuerza a que no se encoja más que el texto */
    padding: 0 1.5em;
    border-radius: 100vh;
    font-size: 1.2em;
    font-family: 'Hind Siliguri', sans-serif;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none; /* Asegura que no tenga subrayado */
    white-space: nowrap;    /* Evita que el texto del botón salte de línea */
}








/* MÓVIL */
@media screen and (max-width: 768px) {
    
    body {
        background: url('../img/fondo-mv.jpg') no-repeat center center;
        background-size: cover;     
    }


    .main-container {
        width: 320px; /* 320px convertido, pero escalable según el font-size de body */
        padding:0;
    }

    .line-mb-20 { margin-bottom: 10px; }
    .line-mb-30 { margin-bottom: 20px; } 
    .line-mb-50 { margin-bottom: 25px; } 
    .line-mt-50 { margin-top: 25px; }    
    

    h1 {font-size: 1.2em; line-height: 1.4em;}

    .actions-container {
        flex-direction: column;
        gap: 1em;
    }

    .logo {
    width: 10em; /* 347px */
    margin: 30px auto 20px auto;
}

   .contact-container {
    display: flex;
    flex-wrap: wrap; /* CRÍTICO: permite el salto de línea */
    gap: 0.5rem;       /* Espacio entre ellos */
    width: 100%;     /* Asegura que el contenedor ocupe el ancho disponible */
    }
    
    .text-regular {font-size: 1em;}
    .btn-text {font-size: 1em;}

    .icon {
    width: 1.1em;
    height: 1.1em;
    margin-right: 0.8em;
    vertical-align: top;
    margin-top: 6px;
    }

    .contact-item {
        display: flex;   /* Mantiene el icono y el texto alineados */
        align-items: center;
        flex: 0 0 calc(50% - 0.5rem); /* Dos por fila */
        text-decoration: none;
    }

    /* Forzar que el tercero ocupe todo el ancho */
    .contact-item:nth-child(3) {
        flex: 0 0 100%;
    }

    .address-content {
        flex-direction: row;
        text-align: left;
        gap: 0.5em;
        vertical-align: top;
    }
    .instagram-container{display:block;}

    .icon {
        
        margin-bottom: 0.5em;
    }
    
    .contact-item {
        flex-direction: row;
    }

    /* Forzar ajuste al contenido anulando cualquier herencia previa */
.actions-container {
    display: flex;
    flex-direction: row;
    justify-content: center; /* Esto es lo que centra los elementos hijos */
    align-items: center;     /* Alineación vertical */
    gap: 15px;
    width: 100%;
    font-size: 0.8em;
}

.actions-container .btn {
    width: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important; /* IMPORTANTE: evita que crezcan */
    max-width: fit-content !important;
}

}