/* FONT KREON */
@import url('https://fonts.googleapis.com/css2?family=Kreon:wght@300..700&display=swap');
/* FONT POPPINS */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* RESET STYLES */
* {
    margin: 0;
    padding: 0;
    font-family: 'Poppins';
    box-sizing: border-box;
    color: #501616;
    list-style: none;
    transition: all 0.3s ease-in;
    scroll-behavior: smooth;
}
a,
button {
    text-decoration: none;
    color: inherit;
    background-color: inherit;
    border: inherit;
    cursor: pointer;
}
body {
    background-color: #fff7f7;
}
main {
    width: 100%;
    position: relative;
    padding: 0 15%;
    background-color: #fff7f7;
    z-index: 999;
}

/* NAVBAR */
header {
    width: 70%;
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 25px;
    left: 15%;
    padding: 10px 50px;
    background-color: #FFFFFFB3;
    backdrop-filter: blur(5px);
    border-radius: 10px;
    box-shadow: #C3C3C3 0px 0px 10px;
}
header *{
    font-family: 'Kreon';
}
header .name {
    color: #FF5555;
}
header nav ul {
    display: flex;
    align-items: center;
    gap: 20px;
}
header nav ul li {
    font-size: 1.2rem;
}
header nav ul li button:last-child {
    padding: 5px 15px;
    font-size: 1.2rem;
    color: #FFF;
    background-color: #FF5555;
    border-radius: 5px;
}
header nav ul li button:hover {
    background: #d13a3a;
    color: #fff;
}
header img {
    width: 100px;
    height: 100px;
    position: absolute;
    top: -20px;
    left: calc(50% - 50px);
    padding: 10px;
    background-color: #FFF;
    border-radius: 50%;
}

/* HERO SECTION */
.hero {
    width: 100%;
    display: flex;
    margin-top: 120px;
    align-items: stretch; /* Ensures children have equal height */
    min-height: 400px; /* Optional: set a minimum height for the hero section */
}
.hero .text {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    /* Make sure it stretches to match .imgs */
    align-self: stretch;
}
.hero .text h1 {
    font-size: 3rem;
}
.hero .text p {
    font-size: 1.5rem;
}
.hero .text .callToAction {
    display: flex;
    gap: 20px;
}
.hero .text .callToAction button,
.hero .text .callToAction a {
    padding: 5px 20px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFF;
    background-color: #FF5555;
    border-radius: 5px;
    border: none;
    display: inline-block;
    text-align: center;
}
.hero .text .callToAction button:hover,
.hero .text .callToAction a:hover {
    background: #d13a3a;
    color: #fff;
}
.hero .text .callToAction button:last-child,
.hero .text .callToAction a:last-child {
    color: #FF5555;
    background-color: #fff7f7;
    border: 2px solid #FF5555;
}
.hero .text .callToAction button:last-child:hover,
.hero .text .callToAction a:last-child:hover {
    background: #FF5555;
    color: #fff;
    border: 2px solid #FF5555;
}
.hero .imgs {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hero .imgs img {
    width: 100%;
    object-fit: cover;
}

/* SLIDER SECTION */
.slider {
    width: 100%;
    margin: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.slider h2 {
    width: 100%;
    font-size: 2rem;
    color: #501616;
    text-align: left;
    margin-bottom: 20px;
}
.slider-container {
    width: 100%;
    max-width: 1100px;
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 30px;
    padding: 10px 0;
}
.slide {
    min-width: 260px;
    max-width: 300px;
    background: #fff7f7;
    border-radius: 15px;
    box-shadow: 0 2px 10px #c3c3c3aa;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    transition: transform 0.3s;
}
.slide img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
.slide h3 {
    font-size: 1.1rem;
    color: #501616;
    text-align: center;
    padding: 15px 10px;
}
.slider-controls {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.slider-controls button {
    background: #FF5555;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.slider-controls button:hover {
    background: #d13a3a;
}

/* Hide scrollbar for slider-container */
.slider-container::-webkit-scrollbar {
    display: none;
}
.slider-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ABOUT US SECTION */
.aboutUs {
    width: 100%;
    margin: 80px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
.aboutUs h2 {
    width: 100%;
    font-size: 2rem;
    color: #501616;
}
.aboutUs .content {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 1100px;
    background: #fff7f7;
    border-radius: 15px;
    box-shadow: 0 2px 10px #c3c3c3aa;
    padding: 40px;
}
.aboutUs .content .text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.aboutUs .content .text p {
    font-size: 1.2rem;
    color: #501616;
    line-height: 1.7;
}
.aboutUs .content .text h3 {
    font-size: 1.3rem;
    color: #FF5555;
    font-family: 'Kreon', serif;
    margin-top: 10px;
}
.aboutUs .content img {
    flex: 1;
    max-width: 400px;
    width: 100%;
    border-radius: 15px;
    object-fit: cover;
    box-shadow: 0 2px 10px #c3c3c3aa;
}

/* GALLERIA SECTION */
.galleria {
    width: 100%;
    padding: 80px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
.galleria h2 {
    width: 100%;
    font-size: 2rem;
    color: #501616;
    margin-bottom: 20px;
}
.galleria .grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(5, 150px);
    gap: 0px;
    width: 100%;
    max-width: 1100px;
}
.galleria .div1 {
    grid-row: span 2 / span 2;
}
.galleria .div5 {
    grid-column-start: 1;
    grid-row-start: 3;
}
.galleria .div8 {
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 4;
}
.galleria .div2 {
    grid-row: span 3 / span 3;
    grid-column-start: 2;
    grid-row-start: 1;
}
.galleria .div9 {
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 4;
}
.galleria .div6 {
    grid-row: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 3;
}
.galleria .div3 {
    grid-row: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 1;
}
.galleria .div7 {
    grid-column-start: 4;
    grid-row-start: 3;
}
.galleria .div4 {
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 1;
}
.galleria .div10 {
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 4;
}
.galleria .grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galleria .callToAction {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: start;
}
.galleria .callToAction button,
.galleria .callToAction a {
    padding: 8px 22px;
    font-size: 1.1rem;
    font-weight: bold;
    color: #FFF;
    background-color: #FF5555;
    border-radius: 5px;
    border: none;
    transition: background 0.2s;
    display: inline-block;
    text-align: center;
}
.galleria .callToAction button:last-child,
.galleria .callToAction a:last-child {
    color: #FF5555;
    background-color: #fff7f7;
    border: 2px solid #FF5555;
}
.galleria .callToAction button:hover,
.galleria .callToAction a:hover {
    background: #d13a3a;
    color: #fff;
}

/* FOOTER SECTION */

footer {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 40px;
    position: fixed;
    left: 0;
    bottom: 0;
    padding: 20px 15%;
    background-color: #FF5555;
    z-index: 1;
}
footer .logo {
    width: 200px;
    height: 200px;
    padding: 20px;
    background-color: #fff;
    border-radius: 50%;
}
footer .text {
    width: 100%;
}
footer .text .name {
    font-size: 2rem;
    font-family: 'Kreon', serif;
    color: #fff;
}
footer .text p {
    width: 100%;
    font-size: 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .text p span,
footer .text p a {
    color: #fff;
}
footer .text p a {
    text-decoration: underline;
}



/* OTHER DISPLAY */
@media ( max-width: 1200px ) {
    main {
        padding: 0 10%;
    }
    header {
        width: 80%;
        left: 10%;
    }


    .hero .text h1 {
        font-size: 2.5rem;
    }
    .hero .text p {
        font-size: 1.2rem;
    }

    footer .text p {
        flex-direction: column;
        align-items: start;
    }
    footer .text p span:first-child {
        font-size: 1rem;
    }

}

@media (max-width: 992px) {
    main {
        padding: 0 5%;
    }
    header {
        width: 90%;
        left: 5%;
        padding: 10px 20px;
    }
    header img {
        width: 80px;
        height: 80px;
        top: -10px;
        left: calc(50% - 40px);
    }

    .hero .text h1 {
        font-size: 2rem;
    }
    .hero .text p {
        font-size: 1rem;
    }
    .hero .text .callToAction button {
        font-size: 1rem;
    }

    .slider-container {
        max-width: 100%;
        gap: 20px;
    }
    .slide {
        min-width: 200px;
        max-width: 220px;
    }
    .slide img {
        height: 300px;
    }

    .aboutUs .content {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }
    .aboutUs .content img {
        max-width: 100%;
        height: auto;
    }

    .galleria .grid {
        grid-template-rows: repeat(5, 100px);
        max-width: 100%;
    }
    .galleria .grid img {
        height: 100%;
    }
}

@media (max-width: 768px) {
    main {
        padding: 0;
    }
    header {
        width: 100%;
        height: 50px;
        flex-direction: row-reverse;
        justify-content: center;
        gap: 10px;
        position: static;
        border-radius: 0;
    }
    header nav {
        display: none;
    }
    header img {
        width: 60px;
        height: 60px;
        position: static;
        background-color: #ffffff00;
    }

    .hero {
        margin-top: 20px;
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }
    .hero .text {
        width: 100%;
        padding: 0 5%;
    }
    .hero .text h1 {
        font-size: 1.8rem;
    }
    .hero .text p {
        font-size: 1rem;
    }
    .hero .text .callToAction {
        flex-direction: column;
        align-items: center;
    }
    .hero .text .callToAction button,
    .hero .text .callToAction a {
        width: 100%;
        font-size: 1rem;
    }
    .hero .imgs {
        width: 100%;
        padding: 0 10%;
        background-size: cover;
        background-position: center;
        margin-top: 20px;
    }

    .slider {
        margin: 50px 0;
        padding: 0 5%;
    }
    .slider h2 {
        font-size: 1.3rem;
    }
    .slider-container {
        gap: 15px;
    }
    .slide {
        min-width: 150px;
        max-width: 160px;
    }
    .slide img {
        height: 250px;
    }

    .aboutUs {
        margin: 50px 0;
        padding: 0 5%;
    }
    .aboutUs h2 {
        font-size: 1.3rem;
    }

    .galleria {
        padding: 20px 5%;
    }
    .galleria h2 {
        font-size: 1.3rem;
    }
    .galleria .grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 120px);
        gap: 5px;
    }
    .galleria .grid img {
        height: 100%;
    }
    .galleria .callToAction {
        flex-direction: column;
        align-items: center;
    }
    .galleria .callToAction button,
    .galleria .callToAction a {
        width: 100%;
        font-size: 1rem;
    }

    footer {
        flex-direction: column;
        gap: 20px;
    }
    footer .logo {
        margin-right: 0;
        margin-bottom: 10px;
    }
    footer .text {
        align-items: center;
        text-align: center;
    }
    footer .text p {
        width: 100%;
        display: flex;
        justify-content: space-between;
        text-align: left;
    }
}

@media (max-width: 576px) {
    .galleria .grid {
        grid-template-rows: repeat(5, 80px);
    }
    .galleria .grid img {
        height: 100%;
    }
}