@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Crimson+Text:ital,wght@0,400;0,600;1,400;1,600&display=swap');

/* ── Brand tokens ─────────────────────────────────────────────────── */
:root {
    --primary:        #C49B6B;
    --primary-light:  #D4B488;
    --accent:         #8B6F47;
    --accent-light:   #A88A63;
    --bg:             #000000;
    --bg-deep:        #0A0A0A;
    --bg-card:        #111111;
    --bg-card2:       #1A1A1A;
    --text-dark:      #FFFFFF;
    --text-medium:    #B3B3B3;
    --text-light:     #888888;
    --font-heading:   'Montserrat', sans-serif;
    --font-body:      'Crimson Text', serif;
}

/* ── Base ─────────────────────────────────────────────────────────── */
body {
    background-color: var(--bg);
    color: var(--text-dark);
    font-family: var(--font-body);
    font-size: 1.1rem;
    line-height: 1.75;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-dark);
    letter-spacing: 0.02em;
}

/* ── Typography helpers ───────────────────────────────────────────── */
.site-eyebrow {
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 12px;
}

.site-hero-h1 {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.12;
    color: var(--text-dark);
    margin-bottom: 24px;
}

.site-section-h2 {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-dark);
    margin-bottom: 16px;
}

.site-accent { color: var(--primary); }
.site-gold   { color: var(--primary); }

/* ── Buttons ──────────────────────────────────────────────────────── */
.site-btn {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 3px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.site-btn-primary {
    background: var(--primary);
    color: #000 !important;
    border: 2px solid var(--primary);
}
.site-btn-primary:hover {
    background: var(--primary-light);
    border-color: var(--primary-light);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(196,155,107,0.4);
}

.site-btn-secondary {
    background: transparent;
    color: var(--text-dark) !important;
    border: 2px solid rgba(255,255,255,0.4);
}
.site-btn-secondary:hover {
    border-color: var(--primary);
    color: var(--primary) !important;
    transform: translateY(-2px);
}

.site-btn-outline-gold {
    background: transparent;
    color: var(--primary) !important;
    border: 2px solid var(--primary);
}
.site-btn-outline-gold:hover {
    background: var(--primary);
    color: #000 !important;
}

.site-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; margin-top: 32px; }

/* ── Cards ────────────────────────────────────────────────────────── */
.site-menu-card {
    background: var(--bg-card);
    border: 1px solid rgba(196,155,107,0.15);
    border-radius: 8px;
    padding: 32px 28px;
    transition: border-color 0.3s, transform 0.3s;
}
.site-menu-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
}

.site-menu-card h3 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.site-menu-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    gap: 12px;
}
.site-menu-item:last-child { border-bottom: none; }
.site-menu-item-name  { font-family: var(--font-body); font-size: 1rem; color: var(--text-dark); }
.site-menu-item-desc  { font-family: var(--font-body); font-size: 0.88rem; color: var(--text-medium); font-style: italic; }
.site-menu-item-price { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 600; color: var(--primary); white-space: nowrap; }

/* ── Divider / ornament ───────────────────────────────────────────── */
.site-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px auto;
    max-width: 240px;
}
.site-divider::before,
.site-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--primary);
    opacity: 0.4;
}
.site-divider-diamond {
    width: 8px;
    height: 8px;
    background: var(--primary);
    transform: rotate(45deg);
    flex-shrink: 0;
}

/* ── Stats / trust ────────────────────────────────────────────────── */
.site-stat {
    text-align: center;
    padding: 24px 16px;
}
.site-stat-num {
    display: block;
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 800;
    color: var(--primary);
    line-height: 1;
}
.site-stat-label {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-medium);
    margin-top: 8px;
}

.site-trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(196,155,107,0.08);
    border: 1px solid rgba(196,155,107,0.2);
    border-radius: 4px;
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--primary);
}

/* ── Event / catering cards ───────────────────────────────────────── */
.site-event-card {
    background: var(--bg-card);
    border: 1px solid rgba(196,155,107,0.12);
    border-top: 3px solid var(--primary);
    border-radius: 6px;
    padding: 32px 28px;
}
.site-event-card h3 {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

/* ── Live music schedule ──────────────────────────────────────────── */
.site-music-night {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 24px;
    background: var(--bg-card);
    border-left: 3px solid var(--primary);
    margin-bottom: 12px;
    border-radius: 0 6px 6px 0;
}
.site-music-day {
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--primary);
    min-width: 80px;
}
.site-music-info { flex: 1; }
.site-music-info strong { color: var(--text-dark); font-family: var(--font-heading); }
.site-music-info span  { color: var(--text-medium); font-size: 0.9rem; }

/* ── Pill links (nearby / nav) ────────────────────────────────────── */
.site-pill-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.site-pill {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(196,155,107,0.1);
    border: 1px solid rgba(196,155,107,0.25);
    border-radius: 20px;
    font-family: var(--font-heading);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--primary);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.site-pill:hover { background: var(--primary); color: #000; }

/* ── Divi overrides ───────────────────────────────────────────────── */
.et_pb_section { background-color: var(--bg); }

.et_pb_blurb .et_pb_blurb_description { color: var(--text-medium) !important; font-family: var(--font-body) !important; font-size: 0.95rem; }
.et_pb_blurb_container .et_pb_module_header { font-family: var(--font-heading) !important; font-weight: 700 !important; }

/* Remove Divi default button styling conflicts */
.et_pb_button { letter-spacing: 0.08em !important; }

/* ── Mobile CTA bar ───────────────────────────────────────────────── */
.ristegios-mobile-cta {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #111;
    border-top: 1px solid rgba(196,155,107,0.3);
    padding: 10px 16px;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.ristegios-mobile-cta a:first-child {
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
}
.ristegios-mcta-btn {
    background: var(--primary);
    color: #000 !important;
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 3px;
    white-space: nowrap;
}

/* ── Animations ───────────────────────────────────────────────────── */
@keyframes site-fade-up    { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes site-glow-pulse { 0%,100%{box-shadow:0 4px 24px rgba(196,155,107,.38)} 50%{box-shadow:0 4px 48px rgba(196,155,107,.72)} }
@keyframes site-float      { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

.site-reveal            { opacity:0; transform:translateY(28px);
                          transition: opacity .65s cubic-bezier(.16,1,.3,1), transform .65s cubic-bezier(.16,1,.3,1); }
.site-reveal.is-visible { opacity:1; transform:translateY(0); }

/* ── Gradient on dark sections ────────────────────────────────────── */
.et_pb_section[style*="background-color: #000"],
.et_pb_section[style*="background-color:#000"],
.et_pb_section[style*="background-color: #0A0A0A"],
.et_pb_section[style*="background-color:#0A0A0A"] {
    background-image:
        radial-gradient(ellipse 80% 55% at 50% -5%, rgba(196,155,107,.08) 0%, transparent 65%)
        !important;
}

/* ── Ninja Forms restyle ──────────────────────────────────────────── */
.nf-form-cont { background: var(--bg-card) !important; border: 1px solid rgba(196,155,107,.2) !important; border-radius: 12px !important; padding: 40px 36px !important; }
.nf-field-label label { font-family: var(--font-heading) !important; font-size:.72rem !important; font-weight:700 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--text-medium) !important; }
.nf-field-element input,
.nf-field-element textarea,
.nf-field-element select { background: var(--bg-deep) !important; border:1.5px solid rgba(196,155,107,.2) !important; border-radius:6px !important; padding:14px 16px !important; color:var(--text-dark) !important; font-family:var(--font-body) !important; transition: border-color .2s, box-shadow .2s !important; }
.nf-field-element input:focus,
.nf-field-element textarea:focus { border-color: var(--primary) !important; box-shadow: 0 0 0 3px rgba(196,155,107,.15) !important; outline: none !important; }
.nf-field-element input[type="submit"] { background: var(--primary) !important; color: #000 !important; font-family: var(--font-heading) !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; border: none !important; width: 100% !important; cursor: pointer !important; animation: site-glow-pulse 2.5s ease-in-out infinite !important; }
.nf-response-msg { background: rgba(196,155,107,.1) !important; border-left: 3px solid var(--primary) !important; padding: 16px !important; border-radius: 4px !important; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 980px) {
    .ristegios-mobile-cta { display: flex; }
    body { padding-bottom: 64px; }
}

@media (max-width: 767px) {
    .site-hero-btns { flex-direction: column; align-items: center; }
    .site-music-night { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
