/* --------------------------------------------------------------------------------
                        Colores globales
-------------------------------------------------------------------------------- */
:root {
    /* Colores base */
    --azul-base: #5C6D8A;
    --naranja-base: #FD752B;
    --beige-base: #FFEEB1;
  
    
    /* Colores claros */
    --naranja-claro: #FEAD81;
    --beige-claro: #FBF4D7;
    --azul-claro: #CEE1E4;
    --light-dark-overbeige: #E3DABF;
    
    /* Negro */
    --marron-oscuro: #2E2111;
    
    /* Base clara secundaria */
    --verde-base-claro: #DBE5AE;
    --rojo-base-claro: #F792B0;
    --morado-base-claro: #CBBDEA;
    
    /* Contrastes saturados */
    --verde-saturado: #76872C;
    --rojo-saturado: #CD476F;
    --morado-saturado: #7253B4;
    
    /* Saturados luminosos */
    --verde-luminoso: #F1F7D4;
    --rojo-luminoso: #FAB8CC;
    --morado-luminoso: #E1D8F3;
    
    /* Saturados oscuros */
    --verde-saturado-oscuro: #1D4720;
    --morado-saturado-oscuro: #52225E;
    
    /* Base secundaria */
    --verde-base: #D3DF9D;
    --rojo-base: #F682A5;
    --morado-base: #C3B2E7;


    --font-size-h1: clamp(2.5rem, 5vw + 1rem, 3.75rem);     /* 40px -> 60px */
    --font-size-h2: clamp(2rem, 4vw + 1rem, 3rem);          /* 32px -> 48px */
    --font-size-h3: clamp(1.5rem, 3vw + 1rem, 2.25rem);     /* 24px -> 36px */
    --font-size-h4: clamp(1.25rem, 2.5vw + 1rem, 1.75rem);  /* 20px -> 28px */
    --font-size-h5: clamp(1rem, 2vw + 0.5rem, 1.25rem);     /* 16px -> 20px */
    --font-size-h6: clamp(1rem, 1.5vw + 0.5rem, 1.125rem);  /* 16px -> 18px */
    --font-size-p: clamp(0.875rem, 1.5vw + 0.5rem, 0.875rem); /* 14px */
    --font-size-small: clamp(0.625rem, 1vw + 0.5rem, 0.625rem); /* 10px */


    --logo-size: clamp(3rem, 8vw, 6.5rem);
    --spacing-gap-4: clamp(0.188rem, 0.438vw, 0.25rem);
    --spacing-gap-8: clamp(0.375rem, 0.875vw, 0.5rem);
    --spacing-gap-12: clamp(0.563rem, 1.313vw, 0.75rem);
    --spacing-gap-16: clamp(0.75rem, 1.75vw, 1rem);
    --spacing-gap-24: clamp(1.125rem, 2.625vw, 1.5rem);
    --spacing-gap-32: clamp(0.75rem, 2vw, 2rem);
    --spacing-gap-40: clamp(1.5rem, 5vw, 2.5rem);
    --card-padding: clamp(1rem, 2vw, 2.25rem) clamp(1.5rem, 3vw, 2.25rem);

    --borde-pagina: 8%;

    hyphens: none; 
   }



   h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    white-space: normal;
    overflow-wrap: break-word;
    hyphens: none;
    margin-block-start: 0%;
    margin-block-end: 0%;

  }


h1 {
    font-size: var(--font-size-h1);
  }
  
  h2 {
    font-size: var(--font-size-h2);
  }
  
  h3 {
    font-size: var(--font-size-h3);
  }
  
  h4 {
    font-size: var(--font-size-h4);
  }
  
  h5 {
    font-size: var(--font-size-h5);
  }
  
  p {
    font-size: var(--font-size-p);
  }
  
  .small {
    font-size: var(--font-size-small);
  }

  a {
    text-decoration: none;
    color: inherit;
   }

  .manrope-nav-buttons-20 {
    
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    font-size: var(--font-size-h6);
    
    /* Prevenir ruptura de palabras */
    white-space: nowrap;         /* Evita que el texto se divida en múltiples líneas */
           
    

  }

  

   body {  
    margin: 0;
    padding: 0;
    width: 100%;
}



.container-page{
    width: 100%;
    height: 100%;
    
}

*{
    box-sizing: border-box;
}



   /* --------------------------------------------------------------------------------
                        Hero section        Navbar
-------------------------------------------------------------------------------- */

.hero{
    display: flex;
    flex-direction: column;
    gap: 11.25rem;
    width: 100%;
    
    background-color: var(--beige-claro);
    padding: 3rem  var(--borde-pagina) 8.75rem var(--borde-pagina);
}

.navbar {
    width: 100%;
    height: 15.38%;
    
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo{
    display: flex;
    align-items: center;
    gap: var(--spacing-gap-32);
    
}


.titulo-nav {
    color: var(--marron-oscuro);
    font-family: "Manrope", serif;
    font-size: var(--font-size-h2);
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: -0.56px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s ease;
}

.titulo-nav {
    cursor: pointer;
    user-select: none;
}

.titulo-nav span {
    display: inline-block;
    margin-right: 2px; /* Pequeño espacio entre letras */
}



   /* --------------------------------------------------------------------------------
                       Nav buttons
-------------------------------------------------------------------------------- */


.buttons-nav{
    display: flex;
    align-items: center;
    gap: var(--spacing-gap-16);
}

.button-container-nav{
    display: flex;
    align-items: flex-start;
    height: 100%;
}

.primary-button-nav {
    display: flex;
    padding: clamp(0.5rem, 0.75rem, 1rem) clamp(0.75rem, var(--spacing-300, 1rem), 1.25rem);
    justify-content: center;
    align-items: center;
    gap: auto;
    cursor: pointer;
    border-radius: 32px;
    background: var(--marron-oscuro);
    color: var(--beige-claro);
    border: 2px solid var(--marron-oscuro);
    
    
    transition: 
        background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        padding 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.primary-button-nav:hover {
    padding: var(--spacing-gap-12) var(--spacing-gap-40);
    background: var(--naranja-base);
    color: var(--beige-claro);
    transform: scale(1.05); /* Efecto sutil de escala */
    border: none;
}

.secondary-button-nav{
    display: flex;
    padding: clamp(0.5rem, 0.75rem, 1rem) clamp(0.75rem, var(--spacing-300, 1rem), 1.25rem);
    justify-content: center;
    align-items: center;
    gap: auto;
    cursor: pointer;
    border-radius: 32px;
    border: 2px solid var(--marron-oscuro);
    color: var(--marron-oscuro);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.secondary-button-nav:hover{
    border: 2px solid var(--marron-oscuro);
    border-color: var(--naranja-base);
    color: var(--naranja-base);

}


   /* --------------------------------------------------------------------------------
                        Hero section        Tabs
-------------------------------------------------------------------------------- */
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    
}

/* Left Content */
.left-content {
    flex: 1;
    padding-right: 20px;
}

/* Greeting Section */



.greeting {
    font-size: var(--font-size-h1);
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    color: var(--marron-oscuro);
    margin-bottom: var(--spacing-gap-40);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Navigation / Tabs */
.nav-tabs {
    display: flex;
    align-items: center;
    justify-items: center;
    gap: var(--spacing-gap-40);
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    display: flex;
    margin-bottom: var(--spacing-gap-40);
    position: relative;
}

.nav-tab {
    font-size: var(--font-size-h5);
    font-weight: 500;
    color: var(--marron-oscuro);
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    
}

.greeting.hamburger{
    display: none;
}

.nav-tab:hover {
    color: var(--naranja-base);
    scale: 1.08;
}

.nav-tab.active {
    font-size: var(--font-size-h5);
    font-weight: 800;
    color: var(--marron-oscuro);
    padding-left: 0
    
}

.nav-tab.active:hover {
    color: var(--naranja-base);
    
}

.nav-tab.active::after {
    content: '';
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--marron-oscuro);
    transition: all 0.3s ease;
}

.nav-tab.active::after {
    content: none;
}

/* Estilo para la barra deslizante */
.tab-underline {
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    height: 3px;
    background-color: var(--marron-oscuro);
    transition: width 0.5s ease;
}

/* Cuando se hace hover sobre un tab activo, cambiar el color de la barra */
.nav-tab.active:hover .tab-underline {
    background-color: var(--naranja-base);
}



/* Bio Text */
.bio {
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-size: var(--font-size-h4);
    line-height: auto;
    color: var(--marron-oscuro);
    margin-bottom: var(--spacing-gap-24);
    max-width: 70%;
}

/* Social Links */
.social-links {
    display: flex;
    padding-top: clamp(0.625rem, 1vw + 0.75rem, 1rem);
    ;
    justify-content: start;
    align-items: flex-end;
    gap: clamp(0.625rem, 1vw + 0.75rem, 1rem);
    ;
}

.social-link {
    display: flex;
    width: clamp(0.625rem, 5vw + 1rem, 2.875rem);
    height:clamp(0.625rem, 5vw + 1rem, 2.875rem);    ;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    transition: all 0.3s ease-in;
}

.social-link:hover {
    border-radius: 999px;
    background: var(--light-dark-overbeige);
}


/* Profile Image */
.profile-image {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f0f0f0;
    position: relative;
}

.profile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.profile-image img.active {
    opacity: 1;
}


    
.profile-image {
    width: 350px;
    height: 350px;
}


   

   /* --------------------------------------------------------------------------------
                        SECTION 2  WORK-SECTION
-------------------------------------------------------------------------------- */





.work-section{
    height: 100%;
    width: 100%;
    background: var(--beige-claro);
    display: flex;
    align-content: center;
    flex-direction: column;
    justify-content: center;
    padding: 0 var(--borde-pagina);
}


.work-title{
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--marron-oscuro);

    
}

.work-title h2{
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    font-size: var(--font-size-h2);
}


.portafolio-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 740px; 
    align-items: center;
    align-content: center;
    justify-content: center;
    gap: var(--spacing-gap-40);
    
}

  /* ----------------------
         parche
---------------------------------- */

.parche-futbol{
    display: flex;
    width: 50%;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    background-color: var(--verde-base);
    border-radius: var(--spacing-gap-40);
    position: relative;
    gap: 0;
    overflow: hidden;
    
}

.texts-container-parche{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--spacing-gap-12);
    flex: 0 1 0;
    color: var(--verde-saturado-oscuro);
    padding: var(--card-padding) 5%;
}

.title-parche{
    display: flex;
    align-items: flex-start;
    align-self: stretch;
}

.title-parche h4{
    
    flex: 1 0 0;
    color: var(--verde-saturado-oscuro);
    font-family: "Playfair Display";
    font-size: var(--font-size-h4);
    font-style: normal;
    font-weight: 700;
    line-height: 97.596%; 
}

.paragraph-parche{
    display: flex;
    align-items: center;
    gap: var(--spacing-gap-8);
    align-self: stretch;
}

.paragraph-parche p{

    color: var(--verde-saturado-oscuro);
    font-family: "Manrope", serif;;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 24px */
    letter-spacing: -0.4px;
    max-width: 80%;
}

.badges-container{
    display: flex;
    align-items: center;
    gap: var(--spacing-gap-8);
}

.green-badge{

    display: flex;
    padding: var(--spacing-gap-4) var(--spacing-gap-8);
    justify-content: center;
    align-items: center;
    gap: var(--spacing-gap-8);
    border-radius: var(--spacing-gap-8);
    border: 2px solid var(--verde-saturado-oscuro);
    background: var(--verde-luminoso);
    
}

.green-badge p{
    color: var(--verde-saturado-oscuro);
    text-align: center;
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}



.parche-button{
    position: absolute;
    left: 0;
    bottom: var(--spacing-gap-24);
    padding: var(--card-padding);
    width: var(--spacing-gap-40);
    height: var(--spacing-gap-40);
    transition: all 0.3s;
    z-index: 50;
    transition: all 0.3s ease-in;

}

.parche-button:hover{
    fill: var(--verde-luminoso);
    filter: drop-shadow(1.5px 2px 4.1px rgba(29, 71, 32, 0.25));

}

.icon-arrow-green .background-green,
.icon-arrow-green .border-green,
.icon-arrow-green .arrow-green {
  transition: fill 0.3s ease;
  will-change: fill;
}

/* Estado inicial */
.icon-arrow-green .background-green {
  fill: #DBE5AE;
}

.icon-arrow-green .border-green {
  fill: #F1F7D4;
}

.icon-arrow-green .arrow-green {
  fill: #76872C;
}

/* Estado hover */
.icon-arrow-green:hover .background-green {
  fill: #F1F7D4;
}

.icon-arrow-green:hover .border-green {
  fill: #F1F7D4;
}

.icon-arrow-green:hover .arrow-green {
  fill: #1D4720;
}

  /* ----------------------
         image container-parche
---------------------------------- */


.parche-interaction-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: self-start;
    transform: translateX(-10%);
    transition: transform 1.2s cubic-bezier(.81,.02,.42,.78);
}

.parche-interaction-container img {
    position: relative;
    max-width: 375%;
    max-height: 375%;
    width: auto;
    height: auto;
    z-index: 2;
    
    --base-transform: translateX(50%);
    transform: var(--base-transform);
    object-fit: contain;
    transition: transform 0.6s ease-in-out;
    transform: var(--base-transform) scale(0.95);
}

.parche-interaction-container img:hover {
    transform: var(--base-transform) scale(1);
}


  /* --------------------------------------------------
         carrusole dots
/* ------------------------------------------------------- */



/* ---- Estilos para los puntos de navegación ---- */
.carousel-dots {
    width: 100%; /* Ocupa todo el ancho para centrar los puntos */
    display: flex;
    justify-content: center; /* Centra los puntos horizontalmente */
    align-items: center;
    padding: 0; /* Elimina padding si lo hubiera */
    position: absolute; 
    z-index: 10; 
    position: absolute;
    left: 0;
    bottom: 2.5%;
    padding: var(--card-padding);
    height: var(--spacing-gap-40);
}

.dot {
    width: 10px; /* Ancho del punto */
    height: 10px; /* Alto del punto */
    background-color: var(--verde-luminoso); /* Color del punto inactivo (ajusta a tu paleta) */
    border-radius: 50%; /* Hace que sea un círculo */
    margin: 0 5px; /* Espacio entre los puntos */
    display: inline-block; /* Para que estén en línea */
    transition: background-color 0.3s ease; /* Transición suave de color */
}

.dot.active-dot {
    background-color: var(--verde-saturado); /* Color del punto activo (usa tu variable) */
}

/* Ajuste para el botón: asegúrate que tenga suficiente espacio debajo o que los puntos no lo tapen */
.buttons-container {
   /* Puede que necesites ajustar el 'bottom' del botón si los puntos interfieren */
   /* Por ejemplo, aumentar el var(--spacing-gap-24) en el .parche-button */
   /* O añadir un padding-bottom al .parche-futbol */
   padding-bottom: var(--spacing-gap-24); /* Ejemplo de añadir espacio al contenedor padre */
}




  /* --------------------------------------------------
         flimp          flimp
/* ------------------------------------------------------- */


.portafolio-right-container {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-gap-40);
}

.flimp {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    padding: var(--card-padding);
    align-items: center;
    
    background-color: var(--morado-base);
    border-radius: var(--spacing-gap-40);
    justify-content: space-between;
    transition: box-shadow 0.8s ease;
    box-shadow: 0px 0px 0px 0px rgba(82, 34, 94, 0);
    padding-left: 10%;
}

.flimp-button:hover + .flimp {
    box-shadow: 2px 4px 2px 0px rgba(82, 34, 94, 0.3);
}

.texts-container-flimp{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--spacing-gap-12);
    flex: 0 1 0;
}

.title-flimp{
    display: flex;
    align-items: flex-start;
    align-self: stretch;
}

.title-flimp h4{
    
    flex: 1 0 0;
    color: var(--morado-saturado-oscuro);
    font-family: "Playfair Display";
    font-size: var(--font-size-h4);
    font-style: normal;
    font-weight: 700;
    line-height: 97.596%; 
}

.paragraph-flimp{
    display: flex;
    align-items: center;
    align-self: stretch;
}

.paragraph-flimp p{

    color: var(--morado-saturado-oscuro);
    font-family: "Manrope", serif;;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 24px */
    letter-spacing: -0.4px;
}


.purpule-badge{

    display: flex;
    padding: var(--spacing-gap-4) var(--spacing-gap-8);
    justify-content: center;
    align-items: center;
    gap: var(--spacing-gap-8);
    border-radius: var(--spacing-gap-8);
    border: 2px solid var(--morado-saturado-oscuro);
    background: var(--morado-luminoso);
    
}

.purpule-badge p{
    color: var(--morado-saturado-oscuro);
    text-align: center;
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

.flimp-image-container {
    position: relative;
    width: clamp(55%, 65%,70%);          /* Control the width of the image area */
    height: 100%;        /* Take full height of parent */
    display: flex;
    align-items: center;
    justify-content: center;
    
}

/* The image itself - this is where the animation magic happens */
.flimp-image {
    position: absolute;
    width: 100%;         /* Fill the container width */
    height: auto;        /* Maintain aspect ratio */
    transform-origin: center bottom;  /* Anchor point for the animation */
   
    transform:  translateY(0%);      /* Initial position, slightly up */
    transition: all 1.8s cubic-bezier(0.19, 1, 0.22, 1);  /* Smooth animation */
}

/* The hover animation - moves the image down to its final position */
.flimp-image-container:hover .flimp-image {
    transform: translateX(0%) translateY(-30%);         /* Move to final position on hover */
}

.buttons-container{
    position: absolute;
    width: 100%;
    height: 10%;
    bottom: 2%;
    left: 0;
    z-index: 100;
}


.flimp-button{
    position: absolute;
    left: 0;
    bottom: var(--spacing-gap-24);
    padding: var(--card-padding);
    width: var(--spacing-gap-40);
    height: var(--spacing-gap-40);
    flex-shrink: 0;
    fill: var(--rojo-base-claro);
    transition: all 0.4s;
    z-index: 50;
}

.flimp-button:hover{
    fill: var(--rojo-luminoso);
    filter: drop-shadow(1.5px 2px 4.1px rgba(82, 34, 94, 0.30));
}


.icon-arrow-purple .background-purple,
.icon-arrow-purple .border-purple,
.icon-arrow-purple .arrow-purple {
  transition: fill 0.3s ease;
  will-change: fill;
}

/* Estado inicial */
.icon-arrow-purple .background-purple {
  fill: var(--morado-base-claro);
}

.icon-arrow-purple .border-purple {
  fill: var(--morado-luminoso);
}

.icon-arrow-purple .arrow-purple {
  fill: var(--morado-saturado);
}

/* Estado hover */
.icon-arrow-purple:hover .background-purple {
  fill: var(--morado-luminoso);
}

.icon-arrow-purple:hover .border-purple {
  fill: var(--morado-luminoso);
}

.icon-arrow-purple:hover .arrow-purple {
  fill: var(--morado-saturado-oscuro);
}

  /* ----------------------
         movil
---------------------------------- */

.portafolio-row-container{
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    gap: var(--spacing-gap-40);

}



.movil {
    position: relative; 
    display: flex;
    height: 100%;
    width: 100%;
    padding: var(--card-padding);
    flex-direction: column;
    justify-content: flex-start; 
    align-items: flex-start;
    flex: 1 0 0;
    border-radius: var(--spacing-gap-40);
    background: var(--rojo-base);
    overflow: hidden; /* Add this to allow content to overflow */
}

.texts-container-movil{
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-gap-12);
    align-self: stretch;
}

.title-movil{
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-gap-8);
    align-self: stretch;
    color: var(--morado-saturado-oscuro);
}

title.movil h4{
    flex: 1 0 0;
    color: var(--morado-saturado-oscuro);
    font-family: "Playfair Display";
    font-size: var(--font-size-h4);
    font-style: normal;
    font-weight: 700;
    line-height: normal;

}

.paragraph-movil{

    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-gap-8);
    align-self: stretch;
    max-width: 80%;
}

.paragraph-movil p{
    flex: 1 0 0;
    color: var(--morado-saturado-oscuro);
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 400;
    line-height: auto;
    letter-spacing: -0.4px;
}

.badge-movil{
    display: flex;
    padding: var(--spacing-gap-4) var(--spacing-gap-8);
    justify-content: center;
    align-items: center;
    gap: var(--spacing-gap-8);
    border-radius: 8px;
    border: 2px solid var(--morado-saturado-oscuro);
    background: var(--rojo-luminoso);
}

.badge-movil p{
    color: var(--morado-saturado-oscuro);
    text-align: center;
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

.movil-button {
    position: absolute;
    left: 0;
    bottom: var(--spacing-gap-24);
    padding: var(--card-padding);
    
    width: var(--spacing-gap-40);
    height: var(--spacing-gap-40);
    z-index: 50;
    flex-shrink: 0;
    fill: var(--rojo-base-claro);
    transition: all 0.3s;
    cursor: pointer;
}

.movil-button:hover{
    fill: var(--rojo-luminoso);
    filter: drop-shadow(1.5px 2px 4.1px rgba(82, 34, 94, 0.30));
}

.movil-button:hover ~ .movil {
    box-shadow: 2px 4px 2px 0px rgba(82, 34, 94, 0.25);

}

.icon-arrow-red .background-red,
.icon-arrow-red .border-red,
.icon-arrow-red .arrow-red {
  transition: fill 0.3s ease;
  will-change: fill;
}

/* Estado inicial */
.icon-arrow-red .background-red {
  fill: var(--rojo-base-claro);
}

.icon-arrow-red .border-red {
  fill: var(--rojo-luminoso);
}

.icon-arrow-red .arrow-red {
  fill: var(--rojo-saturado);
}

/* Estado hover */
.icon-arrow-red:hover .background-red {
  fill: var(--rojo-luminoso);
}

.icon-arrow-red:hover .border-red {
    fill: var(--rojo-luminoso);
}

.icon-arrow-red:hover .arrow-red {
  fill: var(--morado-saturado-oscuro);
}

  /* ----------------------
         interaction-movil
---------------------------------- */

.movil-interaction-container {
    position: absolute;
    bottom: 0;
    right: clamp(-4rem,-15%,-4rem);
    /* This is our main control value - adjust this to scale everything */
    width: clamp(80%, 90%, 400%);
    min-width: 260px;
    max-width: 325px;
    aspect-ratio: 325/363;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transform: translateY(80%);
}

.image-movil {
    position: relative;
    /* Width is relative to parent container */
    width: 75%;
    height: auto;
    aspect-ratio: 243/498;
    background-size: cover;
    background-position: center;
    z-index: 2;
    transition: all 0.8s cubic-bezier(.17,.67,.84,.21);
}



.red-tab-movil {
    position: absolute;
    /* Width is relative to parent container */
    width: 68.9%;
    height: auto;
    aspect-ratio: 226/417;
    padding: 4% 0;
    left: 2.5%;
    bottom: -15%;
    border-radius: 20px;
    background: #FF4612;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateY(-37.5%);
    transition: all 0.8s cubic-bezier(.17,.67,.84,.21);
}

.movil-interaction-container:hover .image-movil {
    transform: translateY(-37.5%);
}

.movil-interaction-container:hover .red-tab-movil {
    transform: translateY(0%);
    opacity: 50%;
}

.vector-movil {
    /* Width is relative to red tab */
    width: 76%;
    height: auto;
    aspect-ratio: 173/74;
}

  /* ----------------------------------------------------------------------------------------           
         Coming soon   Coming soon Coming soon
---------------------------------------------------------------------------------- */

.coming-soon{

    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1 0 0;
    padding: var(--card-padding);
    border-radius: var(--spacing-gap-40);
    border: 4px dashed var(--azul-base);
    text-align: center;
}

.coming-soon h3{
    color: var(--azul-base);
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: var(--font-size-h3);
    text-align: center;
}

.coming-soon h5{
    text-align: center;
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var(--font-size-h5);
    color: var(--azul-base);
}
   /* --------------------------------------------------------------------------------
                        Footer
-------------------------------------------------------------------------------- */

.footer{
    margin-top: 8.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-direction: column;
}

.container-call-to{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-bottom: 8.75rem;
}

footer h2{
    color: var(--marron-oscuro);
    text-align: center;
    font-family: "Manrope", serif;
    font-size: var(--font-size-h2);
    font-style: normal;
    font-weight: 800;
    line-height: 106%;
    letter-spacing: -0.96px;
}


.contact-options{
    
    margin-top: var(--spacing-gap-24);
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: var(--spacing-gap-24);
}



.contact-options-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    font-size: var(--font-size-h6);
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    cursor: pointer;
    font-family: Manrope;
}

.contact-options-container h6 {
    display: inline-flex;
    padding: var(--spacing-gap-12) var(--spacing-gap-16);
    align-items: center;
    border-radius: 32px;
    background: var(--marron-oscuro);
    color: var(--beige-claro);
    margin: 0; 
    transition: all 0.6s ease;
    font-size: var(--font-size-h6);;
    font-family: Manrope;
}

.contact-options-container:hover h6 {
    padding: var(--spacing-gap-12) var(--spacing-gap-40);
    background: var(--naranja-base);
    color: var(--beige-claro);
    transform: scale(1.05); /* Efecto sutil de escala */
}



/* Media Queries para Responsividad */
@media screen and (max-width: 768px) {
    .contact-options-container {
        flex-direction: column;
        gap: 12px;
    }
    
    .contact-options-container h6 {
        padding: 10px 24px;
    }
}



.details{
   
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: space-between;
    background: var(--marron-oscuro);
    padding: 0 var(--borde-pagina);
}

.texts-details{
    display: flex;
    flex-direction: column;
    margin: var(--spacing-gap-24) 0;
    gap: var(--spacing-gap-8);
}

.signature{
    color: var(--beige-claro);
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    max-width: 60%;
    margin: 0;
    padding: 0;
}

.copyright{
    color: var(--beige-claro);
    font-family: "Manrope", serif;
    font-size: var(--font-size-p);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0;
}

.icon-container-contact{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: var(--spacing-gap-16);
}

.mail-icon-container,
.linkedin-icon,
.behance-icon {
    display: flex;
    width: clamp(2.875rem, 5vw + 1rem, 3.5rem);
    height: clamp(2.875rem, 5vw + 1rem, 3.5rem);
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    transition: all 0.3s ease;
}

.mail-icon-container,
.behance-icon {
    flex-direction: column;
}

.linkedin-icon {
    padding: clamp(0.5rem, 1vw + 0.25rem, 0.75rem);
}

/* Hover effects */
.mail-icon-container:hover,
.linkedin-icon:hover,
.behance-icon:hover {
    cursor: pointer;
    transform: scale(1.1);
}


   /* --------------------------------------------------------------------------------
                        Media Qaries
-------------------------------------------------------------------------------- */
@media screen and (max-width: 1650px) {

    .bio{
        max-width: 85%;
    }
}


@media screen and (max-width: 1350px) {


    .portafolio-container {
        
        flex-direction:column;
        width: 100%;
        height: 150vh;
        justify-content: space-evenly;
    }

    .buttons-container{
        bottom: 0%;
    }

    .work-section{
        padding: 0 12%;
    }
    
   /* --------------------------------------
                Parche y futbol
-------------------------------------------- */

    


    .flimp-image-container{
        width: 65%;
    }



    .paragraph-parche h5{
        max-width: 100%;
    }

    .parche-button, 
     .flimp-button, .movil-button{
        
        bottom: calc(var(--spacing-gap-12)*clamp(3,4,5));
    }

    .flimp{
        justify-content: space-between;
    }


    .parche-futbol {
        width: 100%;
        height: 50%;
        flex-direction: row-reverse;
        justify-content: space-evenly;
        align-items: center;
    }



    .balon {
        width: 16rem;
        top: 50%;
        left: 37%;
        transform: translate(-50%, -50%);
    }

    .parche-interaction-container:hover {
        transform: translateX(-170%);
    }
    
    .titulo-nav{
       

        font-size: var(--font-size-h3);
       }

    .bio{
        max-width: 85%;
        font-size: var(--font-size-h5);
    }

    .dev-display{
        display: none;
    }



    .parche-interaction-container {
        align-items: center;
        transform: translateX(-170%);

    }
    
 
    
    .parche-interaction-container img {
        max-width: 250%;
        max-height: 250%;
    
    }


    .carousel-dots {
        bottom: 6.5%;
    }
    


}

@media screen and (max-width: 1000px) {

    .nav-tab{
        font-size: var(--font-size-h6);
    }

    .nav-tab.active{
        font-size: var(--font-size-h6);
    }

    

    .hero{
        gap: 6rem;
    }

    .profile-image {
        width: 300px;
        height: 300px;
        margin-bottom: 5%;
    }

    footer h2{
        font-size: var(--font-size-h3);
    }
    
}

@media screen and (max-width: 900px) {

    .profile-greeting{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column-reverse;

    }


    .header-container {
        flex-direction: column-reverse;
        text-align: center;
        height: auto;
        justify-content: space-around;
    }
    
    
    
    .left-content {
        padding-right: 0;
    }
    
   
    
    .nav-tabs {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .social-links {
        justify-content: center;
        padding-top: 0;
    }
    
    .nav-tab:hover {
        padding-left: 15px; /* No increment on mobile */
    }
    .bio{
        text-align: left;
        justify-content: center;
        max-width: 100%;
        padding: 0 var(--borde-pagina);
    }

   
    .titulo-nav{
        color: var(--beige-claro);
    }

    .greeting.hamburger{
        display: contents;
    }

    .greeting{
        display: none;
    }

    .social-link{
        display: none;
    }

    .profile-image{
        margin-top: 10%;
    }

    .header-container{
        margin-bottom: 10%;
        justify-content: space-around;
    }


    .green-badge p, .purpule-badge p, .badge-movil p{
        font-size: small;
    }

    .texts-container-flimp, .texts-container-parche, .texts-container-movil{
        gap: 0;
    }
    
    .paragraph-flimp, .paragraph-parche{
        max-width: 100%;
    }
    


   

/* ------------------portafolio---------------- */

    
    .portafolio-container{
        height: 250vh;
    }

    .portafolio-row-container{
        flex-direction: column;
        height: 150%;
    }

    .parche-futbol{
        flex-direction: column;
        gap: var(--spacing-gap-32);
    }
    
 
    .paragraph-movil, .paragraph-flimp, .paragraph-parche {
        max-width: 60%;
    }

    .flimp{
        flex-direction: column-reverse;
    }
    
    
    .flimp-image-container{
        width: 100%;
        max-width: 100%;
    }

    .flimp, .parche-futbol, .movil{
        align-items: start;
        padding: clamp(1.5rem, 3rem, 3rem);
    }

    .parche-futbol{
        padding-bottom: 15%;
    }
    


    .red-tab-movil {
        transform: translateY(-37.2%);
    }
    
    .movil-interaction-container:hover .image-movil {
        transform: translateY(-37%);
    }
    
    .movil-interaction-container:hover .red-tab-movil {
        transform: translateY(25%);
        opacity: 50%;
    }
    
    .movil-interaction-container{
        transform: translateY(70%);
    }

    
    .parche-interaction-container {
        width: 95%;
        margin: 0 auto; /* Centra horizontalmente */
        position: relative;
        height: auto;
    }

    .balon {
        width: 21rem;
        position: absolute;
        left: 50%;
        top: 60%;
        transform: translate(-50%, -50%);
    }



    .scroll-to-top {
        /* Reducimos el tamaño del botón */
        width: 2.75rem;
        height: 2.75rem;
        
        /* Ajustamos la posición */
        bottom: 1rem;
        right: 1rem;
    }

    /* Ajustamos el tamaño de la flecha */
    .scroll-to-top .arrow {
        width: 1.2rem;
        height: 1.2rem;
        border-left: 0.3rem solid var(--beige-base);
        border-top: 0.3rem solid var(--beige-base);
        margin-top: 0.3rem;
    }

    /* Modificamos la animación hover para dispositivos táctiles */
    .scroll-to-top:hover {
        transform: translateY(-2px);
    }

    footer h5{
        margin-top: 2%;
    }


    .profile-image {
        width: 300px;
        height: 300px;
        margin-bottom: 5%;
    }


        /* Menú Hamburguesa */


        .hero {
            padding: 0 5%;
            padding-top: 10vh; /* Añadido para compensar el espacio del navbar fixed */
        }
    
        #work-section {
            scroll-margin-top: 20vh;
        }
    
        /* Navbar y Navegación */
        .navbar {
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 3%; /* Añadido padding horizontal para mantener alineación */
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background-color: var(--marron-oscuro); /* Mantener el fondo del navbar */
            z-index: 1000; /* Asegurar que esté por encima de otros elementos */
            transition: all 0.3s ease; /* Suavizar cualquier cambio */
            height: auto;
            padding: 2.5% 5%;
        }
    
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-around;
            width: 2rem;
            height: 2rem;
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 0;
            z-index: 10;
        }
        
        .hamburger span {
            width: 2rem;
            height: 0.25rem;
            background: var(--beige-claro);
            border-radius: 10px;
            transition: all 0.3s linear;
            position: relative;
            transform-origin: 1px;
        }
        .hamburger {
            display: flex;
        }
    
        .hamburger.active {
            span:first-child {
                transform: rotate(45deg);
            }
            
            span:nth-child(2) {
                opacity: 0;
            }
            
            span:nth-child(3) {
                transform: rotate(-45deg);
            }
        }
    
        /* Menú de Navegación */
        .buttons-nav {
            position: fixed;
            top: 0;
            right: -100%;
            height: 100vh;
            width: 100%;
            background: var(--azul-base);
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 2rem;
            transition: right 0.3s ease-in-out;
            z-index: 5;
            
        }
    
        .buttons-nav.active {
            right: 0;
        }
    
        /* Botones de Navegación */
        .button-container-nav {
            width: auto;
            height: auto;
        }
    
        .primary-button-nav,
        .secondary-button-nav {
            padding: clamp(1rem,2rem,2rem) clamp(2rem,3rem,3rem);
            font-size: var(--font-size-h2);
            border-radius: 320px;
        }
    
    
    
        .secondary-button-nav {
            color: var(--beige-claro);
            border:  solid var(--beige-claro);
            
        }


        .parche-interaction-container{
            justify-self: self-start;
        }


    .parche-interaction-container img {

        max-width: 405%;
        max-height: 405%;
    }

    .paragraph-parche p{
        max-width: 100%;
    }


    .carousel-dots {
        bottom: 3vw;
    }



    

}




@media screen and (max-width: 600px) {

    .carousel-dots {
        bottom: 4.5%;
    }


    .nav-tabs {
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .hero {
        padding-top: 7vh;
    }

   


    /* -------------------- */
    /* Contenido de Tabs */
    /* -------------------- */

    .greeting{
        display: flex;
        /* font-size: clamp(2rem, 5vw + 1rem, 4rem); */
    }

    .greeting.hamburger {
        display: none;
    }

    .h2-small{
        font-size: calc(var(--font-size-h2) * 0.75);
        line-height: 142%;
        padding: 0 5%;
    }

    .h1-small{
        font-size: calc(var(--font-size-h2) * 0.9);
        line-height: 142%;
        padding: 0 5%;
    }
    .tab-content {
        display: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(10px);
    }

    .tab-content.active {
        display: flex;
        visibility: visible;
        animation: fadeInMobile 0.5s ease forwards;
    }

    /* Estilos de Texto en Tabs */
    .tab-content h1,
    .tab-content h2 {
        opacity: 0;
        transform: translateY(10px);
    }

    .tab-content.active h1,
    .tab-content.active h2 {
        animation: fadeInMobileText 0.5s ease forwards;
    }

    /* Reset de Animaciones Previas */
    .word-span,
    .horizontal-wave,
    .vertical-wave {
        opacity: 0;
        animation: none;
    }

    .tab-content.active .word-span,
    .tab-content.active .horizontal-wave,
    .tab-content.active .vertical-wave {
        animation: fadeInMobileText 0.5s ease forwards;
    }

        .flimp {
        height: 150%;
    }

    .paragraph-flimp, .paragraph-movil, .paragraph-parche{
        max-width: 100%;
    }

    .work-section{
        padding: 0 5%;
    }

    .parche-futbol{
        height: 35%;
    }
    
    .parche-futbol, .flimp, .movil{
        padding: 5%;
    }

    .buttons-container{
        bottom: 0.5%;
    }
    
    /* -------------------- */
    /* Animaciones */
    /* -------------------- */
    @keyframes fadeInMobile {
        0% {
            visibility: visible;
            opacity: 0;
            transform: translateY(10px);
        }
        100% {
            visibility: visible;
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes fadeInMobileText {
        0% {
            opacity: 0;
            transform: translateY(10px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }
   /* --------------------------------------------------------------------------------
                        SECTION 2  QOUTE & Up-WARD BUTTON
-------------------------------------------------------------------------------- */

    .quote-container h3 {
        font-size: calc(var(--font-size-h3) * 0.8) ;
    }

    .quote-container h4 {
        font-size: calc(var(--font-size-h4) * 0.8) ;
    }

    .scroll-to-top{
        display: none;
    }


       /* --------------------------------------------------------------------------------
                        portafolio section
-------------------------------------------------------------------------------- */

.portafolio-container{
    padding: 0;
}

@media (max-height: 800px) {
    .portafolio-container {
        height: 250vh;
    }
}

/* Para pantallas largas (como iPhone 14) */
@media (min-height: 801px) {
    .portafolio-container {
        height: 200vh;
    }
}

    .portafolio-row-container{
        flex-direction: column;
        height: 70%;
    }

    

    .portafolio-right-container{
        flex-direction: column;
        height: 100%;
    }


    .flimp{
        height: 50%;
    }

    .parche-futbol{
        flex-direction: column;
        height: 50%;
    }

    .parche-button,
     .flimp-button, .movil-button{
        bottom: calc(var(--spacing-gap-12)*5);

    }

    .paragraph-movil, .paragraph-flimp, .paragraph-parche {
        max-width: 90%;
    }

    .flimp, .parche-futbol, .movil{
        align-items: start;
        padding: 5%;
    }

    .red-tab-movil {
        transform: translateY(-37.2%);
    }
    
    .movil-interaction-container:hover .image-movil {
        transform: translateY(-37%);
    }
    
    .movil-interaction-container:hover .red-tab-movil {
        transform: translateY(25%);
        opacity: 50%;
    }
    
    .movil-interaction-container{
        transform: translateY(80%);
    }


    .parche-futbol {
        justify-content: flex-start;
        padding-bottom: 12%;
    }

    .parche-interaction-container {
        width: 90%;
        position: relative; /* Establece el contexto de posicionamiento */
        height: auto;
    }


    /* El cambio clave está aquí */
    .balon {
        width: 55%;
        position: absolute;
        top: 30%;
        left: 50%;
        transform: translate(-50%, 25%);
        
    }

    .signature {
        font-size: var(--font-size-small);
    }
    
    .copyright {
        font-size: var(--font-size-small);
    }


    .profile-image {
        width: 250px;
        height: 250px;
    
    }
    
    .bio{
        padding: 0;
    }
}


 /* -------------------- */
    /* Para desactivarelementos tabs */
    /* -------------------- */
@media screen and (max-width: 471px) {
    
    [data-tab="tab1"],  
    #tab1 {            
        display: none !important;
    } 
    
    .profile-image {
        width: 200px;
        height: 200px;
    
    }



    .pm-display{
        display: none;
    }
}

@media screen and (max-width: 400px) {
    /* Ocultar el primer y quinto tab y sus contenidos */
    [data-tab="tab1"],  /* Oculta el botón del primer tab */
    #tab1,             /* Oculta el contenido del primer tab */
    [data-tab="tab5"],  /* Oculta el botón del quinto tab */
    #tab5 {             /* Oculta el contenido del quinto tab */
        display: none !important;
    }
    
}