/* ════════════════════════════════════════════════════════════════
   Theme: North Woods Lodge
   Palette: Deep forest green header/footer, warm amber accents,
            parchment page, Playfair Display + Source Serif 4
   ════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap');

:root {
    /* ── Accent ── */
    --primary:              #c8842a;
    --primary-dark:         #a86c1f;
    --primary-light:        #fdf3e0;

    /* ── Page surfaces ── */
    --bg-page:              #f5efe0;
    --bg-light:             #ede3cc;
    --border:               #c8ae86;

    /* ── Text ── */
    --text:                 #3d2b1a;
    --text-dark:            #2d1e0e;
    --text-muted:           #7a6550;

    /* ── Links ── */
    --link-color:           #a86c1f;
    --link-hover:           #2d1e0e;

    /* ── Header (dark forest green) ── */
    --header-bg:            #1a3d1a;
    --header-border:        #2a5a2a;
    --header-text:          #f0e8d0;
    --header-tagline:       #9ec890;
    --nav-active:           #e0a040;

    /* ── Submenu ── */
    --submenu-bg:           #163214;
    --submenu-accent:       #c8842a;
    --submenu-item-border:  #2a5a2a;

    /* ── Sidebar ── */
    --sidebar-accent:       #c8842a;

    /* ── Buttons ── */
    --btn-bg:               #c8842a;
    --btn-text:             #ffffff;
    --btn-hover:            #a86c1f;

    /* ── Form ── */
    --label-bg:             #1a3d1a;
    --label-text:           #f0e8d0;
    --input-focus:          #c8842a;

    /* ── Footer (dark forest green) ── */
    --footer-bg:            #1a3d1a;
    --footer-border:        #1a3d1a;
    --footer-text:          #c8b890;
    --footer-link:          #e0a040;
    --footer-nav-divider:   rgba(240,232,208,0.3);

    /* ── Mobile nav drawer ── */
    --mobile-nav-bg:        #f5efe0;

    /* ── Typography ── */
    --font-heading:         'Playfair Display', 'Georgia', serif;
    --font-body:            'Source Serif 4', 'Georgia', serif;
    --font-ui:              'Source Serif 4', 'Georgia', serif;

    /* ── Gallery: polaroid / printed-photo style ── */
    --gallery-gap:          18px;
    --gallery-item-bg:      #ffffff;
    --gallery-item-padding: 8px 8px 26px;
    --gallery-item-border:  none;
    --gallery-item-radius:  2px;
    --gallery-item-shadow:  2px 3px 10px rgba(45,30,14,.28), 0 1px 3px rgba(45,30,14,.15);
    --gallery-img-radius:   1px;
    --gallery-odd-rotate:   -1.1deg;
    --gallery-even-rotate:  1.3deg;
    --gallery-3n-rotate:    -0.6deg;

    /* ── Content panel ── */
    --content-panel-bg:     #fdfaf2;
    --content-panel-border: #d4bc96;
    --content-panel-shadow: 0 4px 24px rgba(45,30,14,0.12);
    --content-panel-radius: 4px;

    /* ── Sponsor slideshow ── */
    --sponsor-slideshow-bg: #ede3cc;

    /* ── Notice ── */
    --notice-success-bg:    #eef7e6;
    --notice-success-border:#2a6e2a;
    --notice-success-text:  #1e4e18;
}

/* ── Body: parchment + subtle warm glow ─────────────────────────── */

html { background: var(--bg-page); }

body {
    background-image:
        radial-gradient(ellipse at 15% 0%,   rgba(200,132,42,.06) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 100%, rgba(26,61,26,.05)   0%, transparent 55%);
}

/* ── Header refinements ─────────────────────────────────────────── */

.site-header { box-shadow: 0 2px 10px rgba(0,0,0,.35); }

/* Logo subtle glow */
.site-logo { filter: drop-shadow(0 0 6px rgba(200,132,42,.25)); }

/* Nav link colour is set via --header-text in base, but sub-menu
   items sit on a dark bg and need explicit colour */
.primary-nav .sub-menu a { color: #e8d8b8; }
.primary-nav .sub-menu a:hover { color: var(--nav-active); }

/* Hamburger icon matches dark header */
.menu-toggle { color: #f0e8d0; }

/* ── Section dividers ───────────────────────────────────────────── */

#main h2 {
    position: relative;
    padding-bottom: 0.45em;
}
#main h2::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 48px;
    height: 2px;
    background: var(--primary);
    border-radius: 2px;
}

/* ── Tables ─────────────────────────────────────────────────────── */

th { background: #ede3cc; color: var(--text-dark); font-style: italic; }

/* ── Slideshow: warm vignette frame ────────────────────────────── */

.slideshow {
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(45,30,14,.3);
}

/* ── Gallery: polaroid hover lifts the card ────────────────────── */

.img-grid a:hover {
    transform: rotate(0deg) scale(1.05) translateY(-4px);
    box-shadow: 4px 8px 24px rgba(45,30,14,.38);
    z-index: 1;
    position: relative;
}

/* ── Contact form ───────────────────────────────────────────────── */

.form-row label { letter-spacing: 0.04em; }

.form-row input,
.form-row textarea {
    background: #fdf8ef;
    border-color: #c8ae86;
}

/* ── Sidebar widget title: amber underline ──────────────────────── */

.widget-title {
    color: var(--text-dark);
    border-bottom: 2px solid var(--primary);
    padding-bottom: 6px;
    margin-bottom: 1em;
}

/* ── Sponsor logos: cream card on parchment ─────────────────────── */

.sponsor-list a {
    background: #fff8ec;
    padding: 20px 32px;
    border-radius: 4px;
    box-shadow: 1px 2px 8px rgba(45,30,14,.15);
    transition: box-shadow 0.2s, transform 0.2s;
}
.sponsor-list a:hover {
    box-shadow: 2px 4px 16px rgba(45,30,14,.25);
    transform: translateY(-2px);
}

/* ── Rates table: warm stripe ───────────────────────────────────── */

.rates-table tr:nth-child(odd) td { background: #fdf3e0; }
.rates-table tr:nth-child(even) td { background: #f5efe0; }

/* ── Footer: dark green with amber links ────────────────────────── */

.site-footer a:hover { color: #f5d080; }

.footer-nav a.active,
.footer-sub-nav a.active { color: #f5d080; }

/* ── Mobile nav drawer on parchment ────────────────────────────── */

.mobile-nav-list a { color: var(--text-dark); }
.mobile-nav-list a:hover { color: var(--primary); }

/* ── Page-link (trophy room prompt) ────────────────────────────── */

.page-link-center a { color: var(--primary); }
.page-link-center a:hover { color: var(--primary-dark); }

/* ── Hero: forest-toned overlay with amber CTA ──────────────────── */

:root {
    --hero-overlay: linear-gradient(
        to bottom,
        rgba(10, 30, 10, 0.25) 0%,
        rgba(10, 30, 10, 0.58) 60%,
        rgba(10, 20, 5, 0.75) 100%
    );
}

.hero-eyebrow {
    color: rgba(255, 215, 140, 0.88);
    letter-spacing: 0.22em;
}

.hero-btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.hero-btn-primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
}
