/* Temporaire ( a defaut de Honey and Smoke ) */
@import url('https://fonts.googleapis.com/css2?family=Borel&display=swap');

/* Reset default margins and padding */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Custom font declaration */
@font-face {
    font-family: 'Latina Essential';
    src: url('assets/fonts/LatinaEssential/LatinaEssential-Medium.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Latina Essential';
    src: url('assets/fonts/LatinaEssential/LatinaEssential-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

/* Full viewport sizing */
html, body {
    font-family: 'Latina Essential', Arial, sans-serif;
    width: 100vw;
    min-height: 100vh;
    overflow: auto;

     /*linear-gradient(to right, #658D18 50%, #FFA06A 50%);*/
}

.overlay {
  position: absolute;
  top: 65%; 

  width: 100%; 
  height: 100%;  
  opacity: .07; 
  z-index: 1;
}

.overlay img {
  width: 100%;
}

/* Container that takes full viewport */
.container {
    width: 100%;
    max-width: 768px;
    margin: 0 auto;

    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    overflow: auto;

    background-color: rgb(255,255,255,.3);
}

/* Content wrapper */
header {
    position: relative;
    width: 100%;
}

.content {
    position: relative;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    z-index: 2;

    margin-top: 100px;
}

.image-placeholder {
    width: 100%;
    overflow: hidden;
}

.image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.image-placeholder img.mobile {
    display: none;
}

/* Logo placeholder styling */
.logo-placeholder {
    width:100%;
    max-width: 640px;
   
    position: absolute;
    bottom: -40px;
    left: calc(50% - 320px) ;

    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;

    background: white;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">\<polygon points="50,0 0,100 100,100" fill="black"/>\</svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><polygon points="50,0 -100,100 200,100" fill="black"/></svg>');
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-mode: alpha;
}

.logo-placeholder img {
    width: 50%;
    max-width: 100%;
    margin-top: 50px;
}

@media (max-width: 768px) {
    .content {
        margin-top: 120px;
    }

   .logo-placeholder {
        max-width:100%;
        left: 0;
        bottom: -90px;
    } 

    .logo-placeholder img {
        width: 40%;
        margin-top: 40px;
    }
    .image-placeholder img.mobile {
        display: block;
    }
    .image-placeholder img.desktop {
        display: none;
    }
}

.title {
    font-family: 'Borel', cursive;
    font-size: 28px;
    line-height: 1.4;
    color:  #658D18;
    text-align: center;
    margin-bottom: 30px;
}

.subtitle {
    display: block;
    font-size:14px;
}

.launching-text {
    position: relative;
    font-family: 'Latina Essential', Arial, sans-serif;
    font-size: 22px;
    color: #658D18;
    line-height: 1.4;
}

.launching-date {
    font-weight: bold;
}

/* Donate text styling */
.donate-text {
    display:flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    font-family: 'Latina Essential', Arial, sans-serif;
    font-size: 16px;
    color: #658D18;
    margin-top: 10px;
}

/* Donate link styling */
.heart-icon {
    vertical-align: middle;
    margin-right: 5px;
}

.donate-link {
    text-decoration: none;
    color: #FFA06A;
    line-height: 1.6;
   
    padding-left: 5px;
}

.donate-button {
    background-color: #FFA06A;
    color: #658D18;
    padding: 1px 10px;
    border-radius: 5px;
}

/* News */
.news { 
    background-color:  #FFA06A;
    padding: 20px;
    border-radius: 8px;
    text-align: left;

    max-width:480px;
    margin: 0 auto;
}

.news-title {
    font-family: 'Borel', cursive;
    font-size: 28px;
    color: white;
    text-shadow: -2px -2px 0 #FFA06A, 2px -2px 0 #FFA06A, -2px 2px 0 #FFA06A, 2px 2px 0 #FFA06A, -2px 0px 0 #FFA06A, 2px 0px 0 #FFA06A, 0px -2px 0 #FFA06A, 0px 2px 0 #FFA06A;
    margin-top: -38px;
}

.news-date {
    display: block;
    font-size: 18px;
    color: #658D18;
}

.news-list {
    list-style: none;
    padding: 0;
} 

.news-list li {
    color: white;
    font-size: 14px;
    margin-bottom: 10px;
}

.news-text {
    display: block;
}

.news-link {
   color: white;
}

/* Email text styling */
.email-text {
    font-family: 'Latina Essential', Arial, sans-serif;
    color: #658D18; /* Brand green color */
    line-height: 1.4;
    text-align:  center;
}

/* Protected email styling */
.protected-email,
.protected-phone a {
    color: #FFA06A; /* Brand orange color */
    padding: 2px 6px;
    text-decoration: none;
    cursor: pointer;
}

/* Social media icons styling */
.social-icons {
    margin: 40px 0;
}

.social-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
   
    text-align: center;
    margin: 0 10px;
    text-decoration: none;
    transition: transform 0.3s ease;
    vertical-align: middle;
}

.social-icon svg {
    width: 32px;
    height: 32px;
    margin: 8px;
}
.social-icon.facebook svg {
    width: 38px;
    height: 38px;
    margin: 8px;
}

.social-icon:hover {
    transform: scale(1.1);
}

.photos {
    width: 100%;
}

.quote {
    font-family: "Borel", cursive;
    color: #658D18;
    font-size: 20px;
    line-height: 1.2;
    margin: 60px 0 0 0;
}

.quote-text {
    text-align: left;
    color: #658D18;
}

.quote-link {
    display: block;
    color: #658D18;
     margin: 10px 0 60px 0;
}

/* Tarifs */
.pricing {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 480px;
    margin:0 auto;

}

.pricing-header {
    font-family: 'Borel', cursive;
    font-size: 28px;
    color: white;
    text-shadow: -2px -2px 0 #658D18, 2px -2px 0 #658D18, -2px 2px 0 #658D18, 2px 2px 0 #658D18, -2px 0px 0 #658D18, 2px 0px 0 #658D18, 0px -2px 0 #658D18, 0px 2px 0 #658D18;
    margin-top: -38px;
    text-align: left;
}

.pricing-table {
    display: flex;
    flex-direction: column;
    background-color: #658D18;
    padding:20px;
    margin:30px 0 20px 0;
    gap:20px;
}

.pricing-text {
    font-size: 16px;
    text-align: left;
    color: #658D18;
    margin-bottom:10px;
}

.pricing-link {
    color: #FFA06A;
}

.section {
    display: flex;
    flex-direction: column;
}

.section .pricing-title {
    font-family: "Borel", cursive;
    color: white;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
    margin-bottom: 2px;
}

.row {
    display: flex;
}

.row div {
    flex: 1;
    font-size: 14px;
    text-align: center;
    border-right: 2px solid #000;
}

.row div:last-child {
    border-right: none;
}

.row.header {
    background-color: #FFA06A;
    font-weight: bold;
    border-bottom: 2px solid #000;
}
.row.body {
    color: white;
}

.row .note {
    flex: 1;
    text-align: center;
    font-style: italic;
    padding: 0 0 8px 0;
    font-size:12px;
    color: white;
    line-height: 1;
}

.participate-button {
    display: inline-flex;
    align-items: center;
    color: #FFA06A;
    background-color: #658D18;
    padding: 1px 10px;
    border-radius: 5px;
    gap:8px;
}

.participate-link {
    text-decoration: none;
    color: #FFA06A;
    line-height: 1.6;
   
    padding-left: 5px;
}

.reservation-button {
    display: inline-flex;
    align-items: center;
    color: white;
    background-color: #FFA06A;
    padding: 1px 10px;
    border-radius: 5px;
    gap:8px;
}

.reservation-link {
    text-decoration: none;
    color: #FFA06A;
    line-height: 1.6;
   
    padding-left: 5px;
}

/* Pied de page */
footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    font-family: 'Latina Essential', Arial, sans-serif;
    font-size: 12px;
    color: #658D18;

    padding:0 20px 20px 20px;
}
footer .logo-mini {
    width:80px;
}

footer .logo-info {
    color: #658D18;
    margin-top: -28px;
    margin-bottom: 10px;
}

footer .logo-info a {
    display: flex;
    align-items: center;
    font-size: 10px;
    color: #658D18; 
    text-decoration: none;
}

footer .logo-text {
    font-size: 10px;
    font-weight: normal;
}