html {
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            height: 100%;
        }
        *, *:before, *:after {
            -webkit-box-sizing: inherit;
            -moz-box-sizing: inherit;
            box-sizing: inherit;
        }

        :root {
            --light-green-beige: #c0c2aa;
            --dark-green: #2c4d3c;
            --white: #ffffff;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: var(--white);
            color: var(--dark-green);
            line-height: 1.6;
        }

        .container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 20px;
        }

        .header {
            text-align: center;
            padding: 30px 0;
        }

        .header img {
            max-width: 250px;
            height: auto;
        }
        
        .slider-container {
            position: relative;
            width: 100%;
            max-width: 1200px; 
            height: 60vh; 
            margin: 0 auto;
            overflow: hidden;
            background-color: #f0f0f0; 
        }

        .slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
        }

        .slide.active {
            opacity: 1;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover; 
        }

        .welcome-section {
            text-align: center;
            padding: 60px 20px;
        }

        .welcome-section h1 {
            font-size: 2.5em;
            margin-bottom: 20px;
            font-weight: 300;
        }

        .welcome-section h2 {
            font-size: 2em;
            margin-bottom: 20px;
            font-weight: 300;
        }

        .welcome-section p {
            font-size: 1.1em;
            max-width: 800px;
            margin: 0 auto;
        }

        .booking-widget {
            padding: 40px 20px;
            text-align: center;
            background-color: #f9f9f9;
            border-top: 1px solid #eee;
            border-bottom: 1px solid #eee;
        }
        
        .booking-widget h2 {
            font-weight: 400;
            margin-bottom: 15px;
        }
        
        .booking-widget .placeholder {
            border: 2px dashed var(--light-green-beige);
            padding: 50px;
            width: 100%;
            margin: 0 auto;
            color: var(--light-green-beige);
            font-weight: bold;
        }

        footer {
            background-color: var(--dark-green);
            color: var(--white);
            padding: 50px 20px;
            text-align: center;
        }
        
        .footer-content {
            display: flex;
            justify-content: space-around;
            align-items: flex-start;
            flex-wrap: wrap;
            gap: 30px;
        }

        .footer-contact, .footer-social {
            flex: 1;
            min-width: 280px;
        }
        
        footer h3 {
            font-weight: 500;
            font-size: 1.4em;
            margin-bottom: 15px;
            border-bottom: 1px solid var(--light-green-beige);
            display: inline-block;
            padding-bottom: 5px;
        }
        
        .footer-contact address, .footer-contact a {
            font-style: normal;
            line-height: 1.8;
            color: var(--white);
            text-decoration: none;
        }
        
        .footer-contact a:hover {
            text-decoration: underline;
        }

        .social-links a {
            color: var(--white);
            font-size: 2em;
            margin: 0 15px;
            transition: color 0.3s;
        }

        .social-links a:hover {
            color: var(--light-green-beige);
        }

        .footer-copyright {
            margin-top: 50px;
            font-size: 0.9em;
            opacity: 0.7;
        }
            .footer-copyright a { color: #fff; text-decoration: none;}

        .lang-select {
            margin-top: -10px;
            color: #fff;
        }
        .lang-select a {
            text-decoration: none; display: inline-block;
            padding: 10px;  color: #fff;
        }

        @media (max-width: 768px) {
            .welcome-section h1 {
                font-size: 2em;
            }
            .slider-container {
                height: 40vh;
            }
            .footer-content {
                flex-direction: column;
                align-items: center;
            }
            .footer-contact, .footer-social {
                margin-bottom: 30px;
            }
            .container {
                width: 95%;
                padding: 0px;
                margin: 80px auto;
            }
                .booking-widget {
                    padding: 0px;
                }
                .booking-widget .placeholder {
                    padding: 10px !important;
                    margin-top: 40px;
                }
        }