/* Global rustic layer: lightweight overrides for a countryside feel */
:root {
    --logo-blue: #2F4A3A;
    --logo-black: #3d2c1d;
    --warm-cream: #F4EDE2;
    --text-gray: #3d2c1d;
    --heritage-orange: #A3B39F;
}

body {
    color: var(--text-gray);
    background: linear-gradient(180deg, #f8f3ea 0%, var(--warm-cream) 100%);
}

img {
    max-width: 100%;
    height: auto;
}

main img,
section img,
article img {
    display: block;
}

/* Keep common gallery/card images tidy and responsive */
.gallery-item img,
.gallery-row img,
.bbq-pack-card img,
.thumb-200 img {
    width: 100%;
    object-fit: cover;
}

.thumb-200 img,
.bbq-pack-card img {
    aspect-ratio: 1 / 1;
}

/* Override legacy fixed inline dimensions on small screens */
img[style*="width: 300px"],
img[style*="width:300px"],
img[style*="height: 300px"],
img[style*="height:300px"],
img[width="300"][height="300"] {
    width: min(100%, 300px) !important;
    height: auto !important;
}

img[style*="width: 230px"],
img[style*="width:230px"],
img[style*="height: 180px"],
img[style*="height:180px"] {
    width: min(100%, 230px) !important;
    height: auto !important;
}

/* System serif stack keeps load fast (no extra font request) */
h1, h2, h3, h4, h5, h6,
.dropbtn,
nav a {
    font-family: Georgia, "Times New Roman", Times, serif;
}

header {
    background: linear-gradient(180deg, #ffffff 0%, #f7f1e7 100%);
    border-bottom-color: var(--logo-blue) !important;
    box-shadow: 0 3px 10px rgba(61, 44, 29, 0.12);
}

.top-bar,
.trail-banner {
    background: linear-gradient(90deg, var(--logo-blue) 0%, #3c5f4b 100%) !important;
}

nav a:hover,
nav a.nav-active,
.dropbtn:hover,
.dropdown-content a:hover {
    color: var(--logo-blue) !important;
}

.card,
.menu-card,
.info-card,
.heritage-box,
.pillar-card,
.review-card,
.menu-item,
.feature-card {
    background: linear-gradient(180deg, #fffdf8 0%, var(--warm-cream) 100%) !important;
    border: 1px solid rgba(61, 44, 29, 0.12) !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 16px rgba(61, 44, 29, 0.1) !important;
}

.btn-primary,
.btn-blue,
.btn-pillar,
.floating-btn,
.cta-btn,
.hero-tag,
button {
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(47, 74, 58, 0.2) !important;
}

.btn-primary,
.btn-blue,
.btn-pillar,
.floating-btn,
.cta-btn {
    background: linear-gradient(180deg, #47614f 0%, var(--logo-blue) 100%) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-blue:hover,
.btn-pillar:hover,
.floating-btn:hover,
.cta-btn:hover {
    background: linear-gradient(180deg, #3d5545 0%, #2b4235 100%) !important;
}

.gallery-item img,
.thumb-200 img,
img[style*="border-radius"] {
    border-radius: 12px !important;
    box-shadow: 0 5px 12px rgba(61, 44, 29, 0.12) !important;
}

footer {
    background: linear-gradient(180deg, #3a2a1d 0%, #2e2218 100%) !important;
    color: #f5efe4;
}

@media (max-width: 768px) {
    .content-section,
    .section {
        padding-left: 6% !important;
        padding-right: 6% !important;
    }

    header {
        box-shadow: 0 2px 6px rgba(61, 44, 29, 0.1);
    }

    .card,
    .menu-card,
    .info-card,
    .heritage-box,
    .pillar-card,
    .review-card,
    .menu-item,
    .feature-card {
        box-shadow: 0 2px 8px rgba(61, 44, 29, 0.08) !important;
        border-radius: 10px !important;
    }

    .btn-primary,
    .btn-blue,
    .btn-pillar,
    .floating-btn,
    .cta-btn,
    .hero-tag,
    button {
        box-shadow: 0 2px 8px rgba(47, 74, 58, 0.16) !important;
        border-radius: 8px !important;
    }

    .gallery-item img,
    .thumb-200 img,
    img[style*="border-radius"] {
        width: 100% !important;
        height: auto !important;
        box-shadow: 0 2px 8px rgba(61, 44, 29, 0.1) !important;
        border-radius: 10px !important;
    }

    .gallery-row {
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}
