/* General styles */
/* NOT SURE WHICH FOUND SHOULD I UUUUUUUUSEEEEEE */
/* I NEED TO ORGANIZE ALL THE RESPONSIVE DESIGN FROM THE SITE UNIFY IT, MAKE JUST LAPTOP, LARGER SCREEN AND SMARTPHONES */

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

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Prevents padding from affecting width */
    scrollbar-width: none; /* hide scrollbar */
}



html, body {
    height: 100%; /* Ensures the body takes up the full height of the screen */
}

html {
    background: #fffff2; /*should we use vibran colors for the different pages but keep header and footer with that yellow?*/
    color: #3f3e3e;
    font-family: "aktiv-grotesk", sans-serif !important; /*should I use garamond captions?*/
     font-kerning: normal;
     font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5 !important;
}

body {
    word-break: keep-all;
    line-height: 19px;
    -webkit-font-smoothing: antialiased;
}


/* Estilo de palabras subrayadas */
u {
    text-decoration-style: dotted; 
}


/* Top Navigation Bar */

.nav {
    display: flex;
    list-style: none;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4rem; /* Adjust as needed */
    background-color: inherit;
    padding: 0 2rem;
    z-index: 1000;
    background: #fffff2; 
    border-bottom: 1px solid black; /* Horizontal line at the top */
}


.nav li a {
    font-size: 1rem;
    text-decoration: none;
    color: #3f3e3e;
    white-space: nowrap;
    transition: color 0.3s ease; 
}

.nav li a:hover {
    color: red;
}

.home-return {
    margin-right: auto;
}

/* Language Button Styling */
.language-switcher {
    border: none; 
    font-size: 1rem; 
    background-color: transparent; 
    color: black; 
    cursor: pointer;
    transition: color 0.3s ease; 
}

/* Hover Effect */
.language-switcher:hover {
    color: red; 
}

/* General Styles for Instagram and Email Links */
.nav li a {
    font-size: 1rem;
    text-decoration: none;
    color: #3f3e3e;
    display: inline-block;
}

/* Mobile View: Make the text a little smaller */
@media (max-width: 768px) {
    .nav li a {
        font-size: 0.90rem; /* Adjust font size to make it smaller on mobile */
    }
    .language-switcher {
        font-size: 0.90rem; /* Adjust font size to make it smaller on mobile */ 
    }
}




/* Footer */
footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: inherit;
    padding: 1rem 2rem;
    border-top: 1px solid black;
    font-size: 16px;
    line-height: 1.6;
    background: #fffff2;
}


.footer-content {
    display: flex; /* Enables flexbox layout */
    justify-content: space-between; /* Space between text and button */
    align-items: center; /* Align items vertically */
    width: 100%; /* Full width of the footer */
    margin-bottom: 4px;
}

.footer-text {
    text-align: center; 
    flex-grow: 1; /* El texto pilla el espacio que queda */
}


/* Main Content */

main {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    padding: 2rem;
    box-sizing: border-box;
    flex-direction: column; /* Stacking vertically */
    height: auto;
}


/* Paragraph Styling */
.home-text {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: center;
    max-width: 80%; /* Ensure text doesn't stretch too wide */
    padding: 0 2rem;
    word-wrap: break-word;
}

/* Small screen adjustments */
@media (max-width: 768px) {
    .home-text {
        font-size: 1.5rem;  
        max-width: 90%;      
        text-align: left;
    }
}

@media (max-width: 480px) {
    .home-text {
        font-size: 1.125rem; /* Further reduce font size for very small screens */
        max-width: 95%;      /* Max width adjusts */
    }
}

/* Links General Styling */
a {
    color: #3f3e3e;
    text-decoration: none;
    transition: color 0.3s ease; 
}

a:hover {
    color: red;
}


/* Laptop Responsive Design */
@media only screen and (min-width: 1224px) {
    main {
        padding: 2rem; /* Add more padding for larger screens */
        width: 100%; /* Ensure full width on larger screens */
    }

    p {
        font-size: 1.5rem; /* Adjust font size for larger screens */
        width: 70%; /* Limit width on larger screens for better readability */
        margin: 0 auto; /* Center the text */
    }

    .home-text {
        font-size: 1.5rem; /* Adjust font size for larger screens */
        width: 70%; /* Limit width on larger screens for better readability */
        margin: 0 auto; /* Center the text */
        
    }

}

@media screen and (min-width: 1920px) {
    main {
        padding: 2rem; /* Add more padding for larger screens */
        width: 100%; /* Ensure full width on larger screens */
    }

    p {
        font-size: 2.75rem; /* Adjust font size for larger screens */
        width: 70%; /* Limit width on larger screens for better readability */
        margin: 0 auto; /* Center the text */
    }

    .home-text {
        font-size: 2.75rem; /* Adjust font size for larger screens */
        width: 70%; /* Limit width on larger screens for better readability */
        margin: 0 auto; /* Center the text */
    }
}

/* Tablet and Mobile */
@media (max-width: 1224px) {
    main {
        padding: 1rem; /* Adjust padding for smaller screens */
        
    }

    p {
        font-size: 1.125rem !important; /* Adjust font size for smaller screens */
        max-width: 90%; /* Use more width on smaller devices */
    }

    .home-text {
        font-size: 1.125rem; /* Adjust font size for smaller screens */
        max-width: 90%; /* Use more width on smaller devices */    
    }
}

/* Mobile */
@media (max-width: 768px) {

    main {
        padding-top: 2rem; /* Optional, if you want space in main */
    }
    
    .home-text {
        position: fixed;
        top: 7.5rem; /* Adjust space from the top */
        left: 50%;
        transform: translateX(-50%); /* Center horizontally */
        width: 100%;
        max-width: 95%; /* Fit well on the screen */
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    main {
        padding: 1rem;
    }

    p {
        font-size: 1.125rem !important; /* Further reduce font size for very small screens */
        max-width: 100%; /* Allow full width for text */
    }

    .home-text {
        font-size: 1.125rem; /* Further reduce font size for very small screens */
        max-width: 100%; /* Allow full width for text */
    }
}

/* Table Styling For the People Page */
table {
    border-collapse: collapse; 
    width: 50%; 
    margin: 4rem auto; 
    font-size: 1rem; 
    line-height: 1.5; 
    border-collapse: collapse; 
}

td {
    text-align: left; 
    padding: 0.2rem 1rem;
    white-space: nowrap; 
    
}

/* Responsive Design for Smaller Screens */
@media (max-width: 1024px) {
    table {
        width: 70%; /* Allow more space for the table */
        font-size: 1rem !important; /* Reduce font size */
        margin-bottom: 90px;
        margin-left: 8px;
        margin-top: 2px;
    }
}

@media (max-width: 768px) {
    table {
        width: 90%; /* Table takes most of the screen */
        font-size: 0.875rem; /* Smaller font size */
        margin-top: 40px;
       
    }

    td {
        padding: 0.2rem 0.5rem; /* Reduce padding for tighter fit */
        
    }
}

@media (max-width: 480px) {
    table {
        width: 100%; /* Full width on very small screens */
        font-size: 0.75rem; /* Adjust font size for small screens */
    }

    td {
        padding: 0.2rem 0.3rem; /* Minimal padding */
    }
}

/* Stay With Us Page + House Page */ 
/* I'm not sure about the .row height... still deciding should it be 50%? 300px? Decide which one is best*/ 


.row {
    width: 100%;
    height: 50%;
    display: block;
    border-bottom: 1px black solid;
    padding: 10px;
    overflow-y: scroll;
  }

.content {
    position: absolute;
    top: 60px;
    bottom: 40px; /* Reserve space for the footer if needed */
    width: 100%;
    overflow-y: auto;
}
  
.staywithus-text {
    margin-bottom: 12px;
    margin-left: 2rem;
    font-size: 16px;
    line-height: 24px;
    margin-top: 0rem;
}

  .staywithus-lists {
    margin-top: 20px;
    margin-bottom: 15px;
    margin-left: 6rem;
    font-size: 16px;
    list-style-type: square;
  }


  /* Tool tip to add extra text to some keywords that way we can add more info or make it less serious :-)
  Helena take a look to write this texts in some key places */ 

 /* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
    cursor: pointer;
  }
  
/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: yellowgreen;
    color: Black;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
  }
  
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
  }

/* This makes the text appear on the top */
  .tooltip .tooltiptext {
    width: 120px;
    bottom: 100%;
    left: 50%;
    margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
  }

/* Located Page WIP I NEED TO ADD THE VIDEOS TO THE RIGHT*/
/* I STILL NEED TO MAKE THE PAGE RESPONSIVE RIGHT NOW ITS NOT WORKING SUPER FINE*/
.container {
    display: flex;           /* Flexbox to align items side by side */
    height: 100vh;           /* Full height of the viewport */
    flex-direction: row;     /* Default: horizontal layout */
}

/* Box1 - Left Column */
.box1 {
    flex: 1;                 /* Takes available space */
    padding: 6rem;
    overflow-y: auto;        /* Enable vertical scrolling for this box */
    height: 100vh;          /* Full height of the viewport */
}

/* Box2 - Right Column */
.box2 {
    flex: 1;                 /* Takes available space */
    padding: 6rem;
    overflow-y: auto;        /* Enable vertical scrolling for this box */
    height: 100vh;           /* Full height of the viewport */
}

/* Vertical separator line between box1 and box2 */
.separator {
    width: 1px;              /* Thin vertical line */
    background-color: black; /* Color of the line */
    height: 100vh;           /* Same height as the boxes */
}

/* Las mismas propiedades para la pag de Casa Estrela */
.located-text {
    margin-bottom: 12px;
    margin-left: 0; /* Remove or adjust the negative margin */
    font-size: 1.2rem;
    line-height: 24px;
    margin-top: 0;
    width: 100%;
}


.located-video {
    width: 100%; /* Make video responsive */
    height: 100%;
    object-fit: cover; 
    border: 2px solid #ccc;
    border-radius: 8px;
    box-shadow: 0px 4px 10px yellowgreen;
}

/* Located Page + Casa Estrela Responsive */
@media (max-width: 768px) {
    /* Stack boxes vertically and adjust padding */
    .container {
        flex-direction: column; 
        align-items: center; 
        justify-content: center;
        height: auto; 
    }

    /* Adjust box padding and width */
    .box1, .box2 {
        padding: 2rem; /* Reduce padding for smaller screens */
        width: 100%; /* Make boxes take full width */
        gap: -10px;
    }

    .box1 {
        margin-top: 50px;
    }

    /* Linea separacion horizontal */
    .separator {
        width: 100%;              
        height: 1px;              
        background-color: black;  
        margin: 2rem 0;           
    }
    

    /* Adjust text alignment and font size */
    .located-text {
        margin-left: 0; /* Remove left margin */ 
        font-size: 0.9rem; 
        text-align: left;
    }

    /* Ensure video scales properly */
    .located-video {
        width: 100%;
        height: auto;
        margin-bottom: 100px;
    }

     /* Imagen del about pero en un futuro puede ser video*/
    .about-images {
        width: 100%;
        height: auto;
        margin-bottom: 100px;
    }

    /* Adjust button styles */
    .button {
        width: 100%; /* Make buttons full width */
        text-align: center;
        padding: 1rem; /* Adjust padding */
    }
}



/* Projects Page A grid With Boxes for Each project */
.projects-grid {
    display: grid;
    background-color: #fffff2; /* Background color */
    padding: 0.2px; /* Padding around the grid */
    grid-template-columns: repeat(auto-fit, 20%);
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 6rem;
    padding-right: 6rem;
}

/* Individual Box */
.grid-item {
    background-color: #f8f2f2; /* Change to your desired box color */
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1; /* Keep boxes square */
    outline: 1px solid black; /* Use outline instead of border */
    overflow: hidden; /* Keep content inside box boundaries */
}
  
.projects-img {
   width: 50%;
   opacity: 0.9; /* Slight fade */
  }


/* Hover Effect for Images */
/* Not shure if I should use a hover */
  .grid-item:hover .projects-img {
    cursor: pointer;
  }



/* Hide the message by default */
.mobile-warning {
    display: none;  
    position: fixed;  
    top: 45%;  
    left: 50%;  
    transform: translate(-60%, -50%);  
    display: flex;  
    align-items: center;  
    justify-content: center;  
    text-align: left;
    font-size: 40px;
    line-height: 46px;
    padding: 20px;
    background-color: yellowgreen; 
    border: 1px solid black;
    border-radius: 12px;
    margin: 20px;
    z-index: 9999;  
}

.mobile-warning,
.projects-grid {
    display: none;
}
/* Show the message on small screens */
@media (max-width: 768px) {
    .mobile-warning {
        display: flex;  /* Mostrar mensaje phone */
        position: fixed;
    }

    .projects-grid {
        display: none;  /* Esconde el grid para phone */
    }
}

/* Aparece el grid para pantallas normales */
@media (min-width: 769px) {
    .projects-grid {
        display: grid; /* Show the project grid on larger screens */
    }
}




/* About Page */
  
.about-images {
    width: 100%;
    height: 100%;
  }



