*{
    font-family: Arial, Helvetica, sans-serif;
    margin:0; padding:0; box-sizing:border-box;
}
body{ background:#fafafa; line-height:1.6; color:#222; }
img{ display:block; max-width:100%; }
a{ text-decoration:none; }

/* HEADER */
header{
    width:100%; background:white;
    box-shadow:0 3px 10px rgba(0,0,0,.12);
    position:sticky; top:0; z-index:1000;
}
.top-bar{
    max-width:1300px; margin:auto;
    display:flex; justify-content:space-between; align-items:center;
    padding:15px 40px; flex-wrap:wrap;
}
.logo-area{ display:flex; align-items:center; gap:15px; }
.logo-area img{ width:60px; height:60px; border-radius:50%; object-fit:cover; }
.logo-area h1{ font-size:26px; color:#166534; }
.logo-area p{ color:#777; font-size:13px; }
nav ul{ display:flex; list-style:none; gap:28px; }
nav a{ font-size:16px; font-weight:600; color:#222; transition:.3s; }
nav a:hover, nav .current a{ color:#166534; }
.social-icons{ display:flex; gap:10px; }
.social-icons img{ width:30px; transition:.3s; }
.social-icons img:hover{ transform:scale(1.15); }

/* BUTTONS */
.btn-primary, .btn-secondary, .btn-light, .btn{
    padding:14px 32px; border-radius:50px; font-size:16px; font-weight:bold;
    display:inline-block; transition:.3s; border:none; cursor:pointer;
}
.btn-primary{ background:#166534; color:white; }
.btn-primary:hover{ background:#0f4f27; transform:translateY(-3px); }
.btn-secondary{ background:transparent; border:2px solid #ffcc33; color:#ffcc33; }
.btn-secondary:hover{ background:#ffcc33; color:#222; transform:translateY(-3px); }
.btn-light{ background:white; color:#14532d; }
.btn-light:hover{ background:#ffcc33; color:#222; }

/* HERO - HOME */
.hero{
    height:90vh; min-height:500px;
    background-image:url("../images/garden-front-right.jpg");
    background-size:cover; background-position:center;
    position:relative; display:flex; align-items:center; justify-content:center;
}
.hero-overlay{
    width:100%; height:100%;
    background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6));
    display:flex; align-items:center; justify-content:center; padding:30px;
}
.hero-content{ max-width:900px; text-align:center; color:white; animation:fadeIn 1.2s ease; }
.hero-content h4{ letter-spacing:5px; font-size:18px; color:#ffcc33; margin-bottom:10px; }
.hero-content h1{ font-size:64px; font-weight:800; margin-bottom:15px; line-height:1.1; }
.hero-content p{ font-size:18px; line-height:1.7; margin-bottom:30px; color:#f3f3f3; }
.hero-buttons{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

/* ABOUT + GENERIC PAGE HERO */
.about-hero, .restaurant-hero, .rooms-hero, .gallery-hero, .page-hero{
    height:60vh; min-height:350px;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    position:relative; display:flex; align-items:center; justify-content:center;
}
.about-hero{ background-image:url("../images/walkway.jpg"); }
.restaurant-hero{ background-image:url("../images/restaurantbanner.png"); }
.rooms-hero{ background-image: url("../images/room1\(2\).jpg");}
.gallery-hero{background-image: url("../images/gallerybanner.jpeg");}
.page-hero{ background:#0b3d2c; }
.about-overlay, .restaurant-overlay, .rooms-overlay, .gallery-overlay, .page-overlay{
    width:100%; height:100%; background:rgba(0,0,0,.55);
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    text-align:center; padding:20px; color:white;
}
.about-overlay h1, .restaurant-overlay h1, .page-overlay h1{ font-size:52px; margin-bottom:10px; line-height:1.1; }
.about-overlay p, .restaurant-overlay p, .page-overlay p{ font-size:18px; color:#ffcc33; max-width:700px; }

/* CONTAINERS */
.container{ width:85%; max-width:1100px; margin:auto; padding:50px 0; text-align:center; }
.about-container, .restaurant-container, .rooms-container, .gallery-container, .contact-container{ width:90%; max-width:1200px; margin:auto; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.three-col{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.four-col{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }

/* HOME SECTIONS */
.features, .rooms{ padding:60px 40px; text-align:center; }
.features h2, .rooms h2, .about-preview h2{ font-size:32px; color:#166534; margin-bottom:25px; }
.feature-grid, .room-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; margin-top:30px; }
.feature-box{ background:white; padding:30px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.room-card{ background:white; box-shadow:0 0 10px rgba(0,0,0,.08); border-radius:10px; overflow:hidden; text-align:left; }
.room-card img{ width:100%; height:230px; object-fit:cover; }
.room-info{ padding:18px; } .room-info h3{ margin-bottom:6px; color:#166534; }
.cta{ background:#14532d; color:white; text-align:center; padding:70px 20px; }
.cta h2{ margin-bottom:20px; }

/* ABOUT */
.about{ padding:80px 0; background:white; }
.about-image img{ width:100%; border-radius:16px; box-shadow:0 15px 30px rgba(0,0,0,.12); }
.about-content h2{ font-size:36px; margin-bottom:18px; color:#166534; }
.about-content p{ margin-bottom:16px; font-size:17px; color:#333; }
.story{ padding:70px 0; background:#fff; text-align:center; }
.story h2{ font-size:36px; margin-bottom:20px; color:#166534; }
.story p{ max-width:850px; margin:auto; font-size:18px; color:#444; line-height:1.7; }
.about-features{ padding:80px 0; background:#f4f7f4; }
.about-features h2{ text-align:center; font-size:36px; margin-bottom:50px; color:#166534; }
.about-feature-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:25px; }
.about-feature{ background:white; padding:28px; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06); transition:.3s; }
.about-feature:hover{ transform:translateY(-6px); }
.about-feature h3{ margin-bottom:10px; color:#166534; font-size:18px; }
.mission{ padding:80px 0; background:white; }
.box{ background:#166534; color:white; padding:35px; border-radius:16px; }
.box h3{ margin-bottom:15px; font-size:22px; color:#ffcc33; }
.box ul{ list-style:none; } .box ul li{ margin-bottom:8px; } .box ul li::before{ content:"✓ "; color:#ffcc33; }
.stats{ padding:60px 0; background:#ffcc33; color:#0b3d2c; }
.stats h2{ font-size:48px; font-weight:800; } .stats p{ font-weight:600; }
.about-cta{ padding:80px 20px; text-align:center; background:#0b3d2c; color:white; }
.about-cta h2{ font-size:38px; margin-bottom:15px; }

/* RESTAURANT */
.restaurant-intro{ padding:80px 0; background:white; }
.restaurant-image img{ width:100%; border-radius:16px; box-shadow:0 15px 30px rgba(0,0,0,.12); }
.restaurant-content h2{ font-size:36px; margin-bottom:18px; color:#166534; }
.restaurant-content p{ margin-bottom:16px; font-size:17px; color:#333; line-height:1.7; }
.restaurant-highlights{ display:flex; gap:15px; flex-wrap:wrap; margin:20px 0 25px; font-weight:600; color:#166534; }
.menu-section{ padding:80px 0; background:#f4f7f4; }
.section-title{ text-align:center; font-size:36px; color:#166534; margin-bottom:50px; }
.menu-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:25px; }
.menu-box{ background:white; padding:30px; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06); border-top:4px solid #166534; }
.menu-box h3{ margin-bottom:15px; font-size:22px; color:#166534; }
.menu-box ul{ list-style:none; } .menu-box ul li{ padding:10px 0; border-bottom:1px dashed #ddd; font-size:15px; } .menu-box ul li:last-child{ border:none; } .menu-box ul li::before{ content:"• "; color:#ffcc33; font-weight:bold; }

/* ROOMS */
.rooms-section{ padding:80px 0; background:white; }
.room-detail{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-bottom:70px; background:#f9f9f9; border-radius:16px; overflow:hidden; padding:20px; }
.room-detail img{ width:100%; height:350px; object-fit:cover; border-radius:12px; }
.room-detail.reverse{ direction:rtl; } .room-detail.reverse > *{ direction:ltr; }
.room-detail h3{ font-size:28px; color:#166534; margin-bottom:12px; }
.room-detail ul{ list-style:none; margin:15px 0 20px; } .room-detail ul li{ margin-bottom:6px; } .room-detail ul li::before{ content:"✓ "; color:#166534; font-weight:bold; }
.amenities{ padding:50px 0; background:#f4f7f4; text-align:center; } .amenities h2{ color:#166534; margin-bottom:25px; }
.amenities-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:15px 30px; font-weight:600; }

/* GALLERY */
.gallery-section{ padding:80px 0; background:white; }
.gallery-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:15px; }
.gallery-grid img{ width:100%; height:280px; object-fit:cover; border-radius:12px; transition:.3s; cursor:pointer; }
.gallery-grid img:hover{ transform:scale(1.03); box-shadow:0 10px 20px rgba(0,0,0,.15); }

/* CONTACT */
.contact-section{ padding:80px 0; background:white; }
.contact-section .contact-container{ display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.contact-info h2{ color:#166534; font-size:32px; margin-bottom:20px; }
.contact-info p{ margin-bottom:12px; font-size:16px; }
.contact-form{ background:#f9f9f9; padding:30px; border-radius:16px; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.contact-form h3{ margin-bottom:20px; color:#166534; }
.contact-form input, .contact-form select, .contact-form textarea{ width:100%; padding:14px; margin-bottom:15px; border:1px solid #ddd; border-radius:8px; font-size:15px; font-family:inherit; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus{ outline:none; border-color:#166534; }
.form-note{ font-size:13px; color:#666; margin-top:10px; text-align:center; }

/* FOOTER */
footer{ background:#0b3d2c; color:white; padding-top:60px; margin-top:40px; }
.footer-container{ max-width:1300px; margin:auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:40px; padding:0 40px; }
.footer-column h3{ margin-bottom:15px; font-size:20px; color:#ffcc33; }
.footer-column p{ line-height:1.7; font-size:15px; margin-bottom:10px; }
.footer-column ul{ list-style:none; } .footer-column ul li{ margin-bottom:10px; }
.footer-column a{ color:white; } .footer-column a:hover{ color:#ffcc33; }
.small-icon{ width:16px; display:inline-block; vertical-align:middle; margin-right:6px; }
.footer-social{ display:flex; gap:12px; margin-top:10px; } .footer-social img{ width:34px; }
hr{ margin:40px 0 20px; border:.5px solid rgba(255,255,255,.15); }
.copyright{ text-align:center; padding-bottom:25px; font-size:13px; color:#ccc; }

/* ANIMATIONS + RESPONSIVE */
@keyframes fadeIn{ from{opacity:0; transform:translateY(30px);} to{opacity:1; transform:translateY(0);} }
@media(max-width:900px){
    .top-bar{ flex-direction:column; gap:18px; padding:15px 20px; }
    nav ul{ gap:16px; flex-wrap:wrap; justify-content:center; }
    .hero-content h1{ font-size:44px; } .hero{ height:80vh; }
    .two-col, .three-col, .contact-section .contact-container, .room-detail{ grid-template-columns:1fr; }
    .room-detail.reverse{ direction:ltr; }
    .four-col{ grid-template-columns:repeat(2,1fr); gap:30px; }
    .about-overlay h1, .restaurant-overlay h1, .page-overlay h1{ font-size:36px; }
    .features, .rooms{ padding:40px 20px; }
}
@media(max-width:600px){
    .hero-content h1{ font-size:34px; } .hero-buttons{ flex-direction:column; }
    .btn-primary, .btn-secondary{ width:100%; text-align:center; }
    .four-col{ grid-template-columns:1fr; }
    .about-content h2, .story h2, .about-features h2, .section-title, .about-cta h2{ font-size:28px; }
}
/* PRIVACY PAGE */
.privacy-header{
    background:linear-gradient(rgba(11,61,44,.85),rgba(11,61,44,.85)), url("../images/garden-front-right.jpg");
    background-size:cover; background-position:center;
    height:320px; display:flex; flex-direction:column;
    justify-content:center; align-items:center; text-align:center; color:white;
}
.privacy-header h1{ font-size:52px; margin-bottom:8px; }
.privacy-header p{ font-size:18px; color:#ffcc33; }
.privacy-container{ padding:60px 20px; background:#f4f7f4; }
.policy-card{
    max-width:900px; margin:auto; background:white;
    padding:50px; border-radius:16px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}
.policy-card h2{ color:#166534; margin:30px 0 15px; font-size:22px; }
.policy-card p{ margin-bottom:15px; color:#444; line-height:1.7; }
.policy-card ul{ padding-left:20px; margin-bottom:20px; }
.policy-card li{ margin:8px 0; }
.effective-date{ background:#fff8e1; padding:14px 18px; border-left:5px solid #ffcc33; border-radius:6px; margin-bottom:25px; }
.contact-box{ background:#166534; color:white; padding:22px; border-radius:10px; margin-top:20px; }
.contact-box p{ margin:6px 0; color:white; }
@media(max-width:600px){ .privacy-header h1{ font-size:36px; } .policy-card{ padding:25px; } }

/* HAMBURGER */
.hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
    padding:5px;
}
.hamburger span{
    width:28px; height:3px;
    background:#166534;
    border-radius:2px;
    transition:.3s;
}
.hamburger.active span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.hamburger.active span:nth-child(2){ opacity:0; }
.hamburger.active span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

@media(max-width:900px){
    .hamburger{ display:flex; }
    nav{
        position:absolute;
        top:100%; left:0; width:100%;
        background:white;
        box-shadow:0 5px 15px rgba(0,0,0,.1);
        max-height:0; overflow:hidden;
        transition:max-height .35s ease;
    }
    nav.open{ max-height:400px; }
    nav ul{ flex-direction:column; padding:20px; gap:0; }
    nav ul li{ border-bottom:1px solid #f0f0f0; }
    nav ul li a{ display:block; padding:15px 10px; }
    .social-icons{ display:none; } /* hide on mobile to save space */
}