/* =========================================
   IMPORTACIÓN DE FUENTES
   ========================================= */

@font-face {
    font-family: 'Mulish';
    src: url('../recursos/Tipografias/Mulish/Mulish-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Mulish';
    src: url('../recursos/Tipografias/Mulish/Mulish-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Prompt';
    src: url('../recursos/Tipografias/Prompt/Prompt-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Prompt';
    src: url('../recursos/Tipografias/Prompt/Prompt-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

/* =========================================
   COLORES
   ========================================= */
:root {
    --color-rojo: #ac1416;
    --color-blanco: #ffffff;
    --color-negro: #001a23;
    --color-gris: #d9d9d9;
}

/* =========================================
   ESTILOS GENERALES
   ========================================= */
* 
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body 
{
    font-family: 'Mulish', sans-serif;
    color: var(--color-negro);
    background-color: var(--color-blanco);
    line-height: 1.6;
}

h1, h2, h3, h4 
{
    font-family: 'Prompt', sans-serif;
    margin-bottom: 15px;
}

img 
{
    max-width: 100%;
    height: auto;
    display: block;
}

a 
{
    text-decoration: none;
}

ul 
{
    list-style: none;
}


/* =========================================
   HEADER Y NAVEGACIÓN (PC)
   ========================================= */
.header 
{
    background-color: var(--color-rojo);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 100px;
    height: 124px;
    position: sticky; /* Hace que se quede pegado al hacer scroll */
    top: 0; /* Lo fija en el techo de la página */
    z-index: 1000; /* Le da prioridad máxima para que siempre pase por encima de las fotos */
    transition: top 0.6s ease; /* ¡Clave! Hace que cuando el JS lo oculte o lo muestre, sea con una animación suave */
}

.logo img 
{
    height: 84px;
    transition: .5s ease;
}

.logo a:hover img 
{
    transform: scale(1.05);
    }

.navegacion ul 
{ 
    display: flex;
    gap: 40px;
}

.navegacion a 
{
    color: var(--color-blanco);
    font-family: 'Prompt', sans-serif;
    font-weight: bold;
    font-size: 20px;
    display: inline-block;
    transition: .5s ease;  
}

.navegacion a:hover 
{
  transform: scale(1.05);
  padding: 0 5px;
}



/* =========================================
   SECCIÓN INICIO / HERO (PC)
   ========================================= */
.lema 
{
    background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('../recursos/Imagenes/fondo-Portada.png');
    background-size: cover;
    background-position: center;
    height: 524px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 100px;
}

.lemaco 
{
    max-width: 700px;
    text-align: center;
}

.lematxt
{
    max-width: 600px;
    margin: 0 auto;
}

.lemaco h1 
{
    color: var(--color-blanco);
    font-size: 40px; 
    margin-bottom: 24px;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
}

.lemaco p 
{
    color: var(--color-blanco);
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 40px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}

/* Botones */
.button-group
 {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.btnrs, .btnct 
{
    background-color: var(--color-rojo);
    color: var(--color-blanco);
    font-family: 'Prompt', sans-serif;
    font-weight: bold;
    font-size: 20px;
    padding: 16px 40px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.5s ease;
}

.btnrs:hover, .btnct:hover 
{
    transform: scale(1.05);
    background-color: var(--color-negro); 
}



/* =========================================
   SECCIÓN EXPERIENCIA (PC)
   ========================================= */
.beneficios 
{
    padding: 80px 100px; 
    background-color: var(--color-blanco);
    text-align: center;

}

.beneficios h2 
{ 
    color: var(--color-negro);
    font-size: 40px;
    margin-bottom: 60px;
}

.beneficios-grid 
{
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px;
}

.beneficioitem 
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.beneficioitem img 
{
    height: 225px;
    object-fit: contain;
    transition: 0.3s ease;
}

.beneficioitem:hover img
{
    transform: scale(1.1);
    padding-bottom: 20px;
}

.beneficioitem h3 
{
    margin-top: 24px;
    color: var(--color-negro);
    font-size: 24px;
    margin-bottom: 12px;
}

.beneficioitem p 
{
    color: var(--color-negro);
    width: 200px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
}


/* =========================================
   SECCIÓN SERVICIOS
   ========================================= */


.tiposservicios 
{
    background-color: var(--color-rojo);
    padding: 80px 100px;
    text-align: center;
}

.tiposservicios h2 
{
    color: var(--color-blanco);
    font-size: 40px;
    margin-bottom: 60px;
    text-transform: uppercase;
}

.services-grid 
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
}

/* Estructura de la Tarjeta */
.card 
{
    height: 520px;
    perspective: 1000px;
    background: transparent;
}

.card-inner 
{
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

/* El giro */
.card:hover .card-inner 
{
    transform: rotateY(180deg);
}

/* Caras Frontal y Trasera */
.card-front, .card-back 
{
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* --- REVERSO --- */

.card-back 
{
    background-color: var(--color-negro);
    display: flex;
    width: 100%;
    height: 100%;
}

.card-back img 
{
    transform:scale(2.5) translate(-9%);
    width: auto;
    opacity: 0.05;
    margin: auto; 
}

/* --- FRONTAL --- */
.card-front 
{
    background-color: var(--color-blanco);
    transform: rotateY(180deg);
}

.card-image-wrap 
{
    width: 100%;
    height: 50%;
    overflow: hidden;
}


.card-image-wrap img 
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
}

.card:nth-child(3) .card-image-wrap img 
{
    transform: scale(1.75) translateY(-6%);
}

.card:nth-child(2) .card-image-wrap img 
{
    transform: scale(1.25) translateY(-10%) translateX(-4%);
}

.card:nth-child(1) .card-image-wrap img 
{
    transform: scale(1.3) translateY(-7%);
}

.card-header {
    background-color: #D9D9D9;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #ccc;
}

.card-header h3
{
    color: var(--color-negro);
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    text-transform: uppercase;
}

.card-body 
{
    background-color: var(--color-blanco);
    flex-grow: 1;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-body p 
{
    color: var(--color-negro);
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    margin: 0;
}



/* =========================================
   SECCIÓN SOBRE NOSOTROS Y RÉCORDS
   ========================================= */

.about 
{
    background-color: var(--color-negro);
    padding:60px 100px;
    color: var(--color-blanco);
}

.aboutcontenido 
{
    display: flex;
    align-items: center;
    gap: 60px;
    max-width: 1400px;
    margin: 0 auto 80px auto;
}

.abouttexto 
{
    flex: 1;
}

.abouttexto h2 
{
    color: #D9D9D9;
    font-size: 40px;
    font-style: italic;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.abouttexto h3 
{
    font-size: 40px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 30px;
}

.abouttexto p 
{
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #f0f0f0;
}

.frase
{
    font-weight: bold;
}

.aboutimagen 
{
    flex: 1;
}

.aboutimagen img {
    height: 625px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    display: block;
}

/* --- RÉCORDS --- */
.records 
{

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 60px auto 0 auto;
    width: 100%;
}

.recordsitem 
{
    text-align: center;
}

.recordsitem h2 
{
    font-size: 76px;
    font-style: italic;
    margin-bottom: 10px;
    color: var(--color-blanco);
    line-height: 1;
}

.recordsitem p 
{
    font-size: 36px;
    font-weight: bold;
    color: var(--color-blanco);
    line-height: 1.2;
    margin: 0;
    padding: 0 10px; 
}



/* =========================================
   SECCIÓN CERTIFICACIONES
   ========================================= */

.certificaciones 
{
    background-color: var(--color-blanco);
    padding: 80px 100px;
    text-align: center;
}

.certificaciones h2 
{
    color: var(--color-negro);
    font-size: 40px;
    font-weight: 900;
    margin-bottom: 60px;
}

.certificacionesgrid 
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    align-items: center; 
    justify-items: center;
}

.certificacionesgrid img 
{
    width: 100%;
    max-width: 280px; 
    max-height: 120px; 
    height: auto;
    object-fit: contain;
}

.certificaciones a
{
    transition: 0.5s ease;
}

.certificaciones a:hover
{
    transform: scale(1.1);
}


/* =========================================
   FOOTER (FINAL)
   ========================================= */

.footer 
{
    background-color: var(--color-rojo);
    height: 96px;
    padding: 0 100px;
    display: flex;
    justify-content: space-between; 
    align-items: center;
    color: var(--color-blanco);
    box-sizing: border-box;
}
.copyright p 
{
    padding-left: 40px;
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}

.RRSS 
{
    display: flex;
    gap: 20px;
    align-items: center;
}

.RRSS a 
{
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s ease;
}

.RRSS img 
{
    height: 48px;
    object-fit: contain;
    padding-right: 40px;
}

.RRSS a:hover 
{
    transform: scale(1.1);
    padding-right: 5px;
}

/* Ocultar elementos móviles en pantallas grandes */
.menu-toggle {
    display: none;
}
.menu-logo-lateral {
    display: none;
}