.front-page-hero {
    background-image: url('/wp-content/uploads/2024/03/2015_08_@ThomasObrien_Rasteau_Ete_Vignoble_Paysage-18-scaled-1.jpg');
    background-size: cover;
    background-position: center;
    height: 100vh;
    background-repeat: no-repeat;
}

.front-page-hero .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.front-page-hero .container > div:first-child {
    transform: translateY(20vh);
}

.front-page-hero .container > div {
    text-align: center;
    color: #000000;
    padding: 1rem;
}

.front-page-hero .container > div > div {
    padding: 1rem;
    border-radius: 8px;
}

.front-page-hero .container > div p {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.front-page-hero .container .logo {
    max-width: 600px;
}

.front-page-hero .container .logo img {
    width: 100%;
    height: auto;
}

.welcome-text span {
    display: inline-block;
    font-family: 'Trajan', serif;
    color: white;
    text-shadow: -2px -2px 0 #333, 2px -2px 0 #333, -2px 2px 0 #333, 2px 2px 0 #333;
}

.welcome-text span:first-child {
    transform: translateY(50px);
    opacity: 0;
    animation: shadeIn 0.7s forwards;
    animation-delay: 0.5s;
}

@keyframes shadeIn {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

section.links ul {
    flex-wrap: wrap;
    gap: 1rem;
    padding: 0;
}

section.links ul li {
    max-width: 40%;
    flex: 1;
    height: 500px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

section.links ul li::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.1),
        transparent
    );
}

section.links ul li.elicio-link {
    background-image: url('/wp-content/uploads/2022/06/Cascavel-Elicio-Rouge-Blanc-Rose-1.jpg');
}

section.links ul li.cascavel-link {
    background-image: url('/wp-content/uploads/2022/06/Accueil-age-gate-Cascavel-1.jpg');
}

section.links ul li a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    color: #fff;
    text-decoration: none;
    text-align: center;
    z-index: 999;
}

section.links ul li a div, section.links ul li a div h4 {
    color: white;
    width: 100%;
}

section.links ul li.cascavel-link a div {
    background-color: rgb(140 161 148 / 60%);
}

section.links ul li.elicio-link a div {
    background-color: rgb(112 88 71 / 60%);
}

section.links ul li div.link-text {
    height: 120px;
}

section.links ul li div.link-text h4 {
    margin: 0.5rem;
}

.front-page-cards-section .container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.front-page-card {
    max-height: 80vh;
}

.front-page-card-left, .front-page-card-right {
    flex: 1;
}

.front-page-card-left {
    padding: 1rem;
}

.front-page-card-left h3.front-page-card-title {
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    letter-spacing: clamp(0.1rem, 0.5vw, 10px);
    align-self: flex-start;
}

.front-page-card-left h3.front-page-card-title .first-word {
    font-size: var(--font-size-subtitle);
    order: -1;
    font-style: italic;
}

.front-page-card-left p:first-of-type::first-letter {
    font-size: var(--font-size-title);
}

.front-page-card-left .front-page-card-link {
    display: block;
    margin-top: 3rem;
    padding: 1rem;
    font-size: var(--font-size-text);
    font-family: Lato, sans-serif;
    background-color: transparent;
    color: var(--primary-color);
    border-left: 4px solid var(--orange);
    text-decoration: none;
}

.front-page-card-right .front-page-card-image {
    position: relative;
    padding-right: 150px;
    height: 100%;
}

.front-page-card-right .front-page-card-image::after {
    content: attr(data-label);
    position: absolute;
    bottom: 50px;
    right: 10px;
    padding: 0.5rem;
    color: #fff;
    letter-spacing: clamp(0.1rem, 0.5vw, 8px);
    text-transform: uppercase;
    background: var(--orange);
    font-size: clamp(8px, 2vw, 14px);
    font-family: 'Theano Didot', sans-serif;
}

.front-page-card-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    clip-path: polygon(100% 0, 100% 100%, 35% 100%, 35% 0, 27% 0, 27% 70%, 0 70%, 0 0);
}

/* Hover effects */ 
@media (hover: hover) and (pointer: fine) {

   section.links ul li:hover::before {
        left: 100%;
        transition: left 0.6s ease;
    }

    section.links ul li:hover {
        transform: translateY(-5px);
        -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5); 
        box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
    }

}

@media (max-width: 960px) {
    .front-page-card {
        flex-direction: column;
        max-height: none;
    }
    
    .front-page-card-image img {
        max-height: 400px;
    }

    section.links ul {
        flex-direction: column;
        padding: 0 2rem;
    }

    section.links ul li {
        max-width: 100%;
        flex: initial;
        max-height: 30vh;
        box-shadow: 0 4px 8px var(--brown);
    }

}

@media (max-width: 625px) {
    .front-page-card-right .front-page-card-image {
        padding: 0;
    }

    .front-page-card-right .front-page-card-image::after {
        right: auto;
        left: 10px;
        bottom: 10px;
    }
}

