/* Theme: rincon — warm artisan palette (scaffold; final branding comes later). */
:root {
    --theme-primary: #a0522d;
    --theme-secondary: #6b4f3a;
    --theme-accent: #c45c26;
    --theme-background: #f7f1e8;
    --theme-surface: #fffbf5;
    --theme-text: #3d2b1f;
    --theme-heading: #2c1810;
    --theme-font-title: 'Cinzel', serif;
    --theme-font-body: 'Lato', sans-serif;
    --theme-border-radius: 10px;
    --theme-page-bg-color: var(--theme-background);

    --gold: var(--theme-primary);
    --gold-light: #d4a574;
    --color-gold: var(--theme-accent);
    --color-primary: var(--theme-primary);
    --color-background: #f3eadc;
    --color-surface: var(--theme-surface);
    --bg-body: var(--theme-background);
    --color-text: var(--theme-text);
    --color-heading: var(--theme-heading);
    --primary: #2c1810;
    --secondary: var(--theme-secondary);
    --color-border: #e4d5c3;
    --font-title: var(--theme-font-title);
    --font-body: var(--theme-font-body);
    --border-radius-md: var(--theme-border-radius);
}

body.theme-layout {
    position: relative;
    min-height: 100vh;
    background-color: var(--theme-page-bg-color, var(--bg-body));
}

body.theme-layout[style*="--theme-bg-image"]::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-image: var(--theme-bg-image);
    background-repeat: var(--theme-bg-repeat, no-repeat);
    background-position: var(--theme-bg-position, center center);
    background-size: var(--theme-bg-size, cover);
    background-attachment: var(--theme-bg-attachment, scroll);
}

body.theme-layout[style*="--theme-bg-overlay"]::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: var(--theme-bg-overlay);
}

.theme-page-shell {
    position: relative;
    z-index: 0;
}

.theme-institutional-header--rincon {
    background: linear-gradient(135deg, #f3eadc 0%, #e8d4bc 100%);
    border-bottom: 1px solid #e4d5c3;
    color: var(--theme-heading);
}

.theme-header-logo,
.theme-footer-logo {
    max-height: 3rem;
    width: auto;
}

.theme-header-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--theme-secondary);
}

.theme-header-title {
    font-family: var(--font-title);
    font-size: 1.35rem;
    color: var(--theme-heading);
}

.theme-header-tagline,
.theme-header-hours,
.theme-header-contact li {
    color: var(--theme-text);
}

.theme-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid rgba(61, 43, 31, 0.15);
    color: var(--theme-heading);
    text-decoration: none;
}

.theme-social-link:hover {
    background: rgba(160, 82, 45, 0.1);
    color: var(--theme-primary);
}

.theme-banner-slot {
    border-radius: var(--theme-border-radius);
    overflow: hidden;
    border: 1px dashed #d4a574;
    background: rgba(255, 251, 245, 0.8);
    min-height: 4.5rem;
}

.theme-banner-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.theme-navbar--rincon {
    background: rgba(255, 251, 245, 0.98);
    border-bottom: 1px solid #e4d5c3;
}

.theme-navbar-brand {
    font-family: var(--font-title);
    font-weight: 700;
    color: var(--theme-heading);
}

.theme-search-group .input-group-text {
    background: #fffbf5;
    border-color: #e4d5c3;
}

.theme-site-footer--rincon {
    background: #3d2b1f;
    color: rgba(255, 248, 240, 0.85);
}

.theme-site-footer--rincon .theme-footer-heading,
.theme-site-footer--rincon .theme-footer-brand {
    color: #fff8f0;
    font-family: var(--font-title);
}

.theme-site-footer--rincon .theme-footer-tagline,
.theme-site-footer--rincon .theme-footer-contact,
.theme-site-footer--rincon .theme-footer-links a {
    color: rgba(255, 248, 240, 0.72);
}

.theme-site-footer--rincon .theme-footer-links a:hover {
    color: #f0d8b8;
}

.theme-site-footer--rincon .theme-footer-divider {
    border-color: rgba(255, 248, 240, 0.15);
}

.theme-site-footer--rincon .theme-social-link {
    border-color: rgba(255, 248, 240, 0.25);
    color: #fff8f0;
}

[data-theme="dark"] {
    --theme-background: #1c1612;
    --theme-surface: #2a211c;
    --theme-text: #f0e6d8;
    --theme-heading: #fff8f0;
    --bg-body: var(--theme-background);
    --color-surface: var(--theme-surface);
    --color-text: var(--theme-text);
    --color-heading: var(--theme-heading);
    --primary: #f0e6d8;
    --color-border: #3d322a;
    --theme-page-bg-color: var(--theme-background);
}

[data-theme="dark"] .theme-institutional-header--rincon {
    background: #1c1612;
    border-bottom-color: #3d322a;
}

[data-theme="dark"] .theme-navbar--rincon {
    background: #1c1612 !important;
    border-bottom-color: #3d322a;
}

[data-theme="dark"] .theme-site-footer--rincon {
    background: #140f0c !important;
}
