:root {
    --color-primary: #2C4C3B;
    --color-secondary: #8B5A2B;
    --color-bg: #FDFBF7;
    --color-white: #FFFFFF;
    --font-heading: 'Merriweather', serif;
    --font-body: 'Open Sans', sans-serif;
}

body { font-family: var(--font-body); background: var(--color-bg); color: #333; margin:0; line-height:1.6; }
h1, h2, h3 { font-family: var(--font-heading); color: var(--color-primary); }

/* Layout Helpers */
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
section { padding: 60px 0; }
.bg-light { background: #E8E4DB; }
.bg-primary { background: var(--color-primary); color: white; }
.text-white { color: white !important; }

/* Header */
header { background: var(--color-white); box-shadow: 0 2px 10px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 100; padding: 10px 0; }
.nav-container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.5rem; font-weight: bold; color: var(--color-secondary); }
nav ul { display: flex; gap: 20px; list-style: none; padding:0; }
nav a { text-decoration: none; color: var(--color-primary); font-weight: 600; }
.btn-nav { background: var(--color-secondary); color: white; padding: 8px 15px; border-radius: 4px; }

/* Hero */
.hero { 
    background: url('img/hero.jpg') center/cover no-repeat, #2C4C3B; 
    height: 70vh; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    position: relative; 
    color: white; 
}
.overlay { position: absolute; top:0; left:0; right:0; bottom:0; background: rgba(0,0,0,0.4); }
.hero-content { position: relative; z-index: 1; }
.hero h1 { color: white; font-size: 3rem; margin-bottom: 10px; }
.btn { background: var(--color-secondary); color: white; padding: 12px 25px; text-decoration: none; display: inline-block; border-radius: 5px; border:none; cursor: pointer; font-size: 1rem;}
.btn:hover { background: #6d4620; }

/* Features */
.features-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media(min-width: 768px) { .features-grid { grid-template-columns: 1fr 1fr; align-items: center; } }
.check-list li { margin-bottom: 5px; }
img { max-width: 100%; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }

/* Galerie */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease;
}
.gallery-item img:hover { transform: scale(1.02); }

/* Amenities */
.amenities-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.amenity-item { background: white; padding: 20px; border-radius: 8px; text-align: center; border-bottom: 3px solid var(--color-secondary); }

/* Table */
.table-responsive { overflow-x: auto; }
.price-table { width: 100%; border-collapse: collapse; background: white; margin-bottom: 20px; }
.price-table th { background: var(--color-primary); color: white; padding: 15px; text-align: left; }
.price-table td { padding: 15px; border-bottom: 1px solid #eee; }
.conditions-box { background: #fff3cd; padding: 20px; border-radius: 8px; border-left: 5px solid #ffc107; }

/* Contact */
.split-contact { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media(min-width: 768px) { .split-contact { grid-template-columns: 1fr 1fr; } }
.contact-form-wrapper { background