:root {
    --cafe-lenj-accent: #d68b3c;
    --cafe-lenj-bg: #111111;
    --cafe-lenj-surface: rgba(255,255,255,.06);
    --cafe-lenj-border: rgba(255,255,255,.10);
    --cafe-lenj-text: #f6f0e7;
    --cafe-lenj-muted: rgba(246,240,231,.72);
    --cafe-lenj-shadow: 0 14px 40px rgba(0,0,0,.25);
}

body.cafe-lenj-theme {
    margin: 0;
    background: linear-gradient(180deg, var(--cafe-lenj-bg), #18120d 60%, #1b1510);
    color: var(--cafe-lenj-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.site-header, .site-footer {
    padding: 1rem 1.25rem;
}

.site-header-inner, .site-footer-inner, .site-content {
    max-width: 1400px;
    margin: 0 auto;
}

.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-brand, .site-brand:hover {
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .85rem;
}

.site-brand-logo, .custom-logo { width: 52px; height: 52px; object-fit: cover; border-radius: 14px; }
.site-title, .cafe-lenj-title { display: block; font-weight: 800; letter-spacing: 0; }
.site-tagline, .cafe-lenj-subtitle { display: block; color: var(--cafe-lenj-muted); font-size: .95rem; }

.site-nav-list, .cafe-lenj-nav-list, .cafe-lenj-filters { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.site-nav-list a, .cafe-lenj-nav-list a, .cafe-lenj-filter, .cafe-lenj-phone {
    color: inherit;
    text-decoration: none;
    background: var(--cafe-lenj-surface);
    border: 1px solid var(--cafe-lenj-border);
    border-radius: 999px;
    padding: .55rem .9rem;
}

.site-main { padding: 0 1rem 2rem; }
.cafe-lenj-shell {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1rem;
}

.cafe-lenj-hero {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 1rem;
    align-items: end;
    padding: 1.25rem;
    border: 1px solid var(--cafe-lenj-border);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    box-shadow: var(--cafe-lenj-shadow);
}

.cafe-lenj-brand { display: flex; gap: 1rem; align-items: center; }
.cafe-lenj-logo { width: 72px; height: 72px; object-fit: cover; border-radius: 18px; }
.cafe-lenj-actions { display: flex; flex-direction: column; gap: .75rem; align-items: flex-end; }
.cafe-lenj-nav-list { justify-content: flex-end; }

.cafe-lenj-toolbar {
    display: grid;
    gap: .75rem;
    margin: 1rem 0;
}
.cafe-lenj-search {
    width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid var(--cafe-lenj-border);
    background: rgba(255,255,255,.05);
    color: inherit;
    padding: 0 .95rem;
}
.cafe-lenj-search::placeholder { color: rgba(246,240,231,.5); }
.cafe-lenj-filter { cursor: pointer; }
.cafe-lenj-filter.is-active { background: var(--cafe-lenj-accent); color: #241609; border-color: transparent; }

.cafe-lenj-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(var(--cafe-lenj-columns, 5), minmax(0, 1fr));
}

.cafe-lenj-card {
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255,255,255,.05);
    border: 1px solid var(--cafe-lenj-border);
    min-height: 320px;
    display: flex;
    flex-direction: column;
}
.cafe-lenj-card-media {
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
}
.cafe-lenj-media-1 { background-image: linear-gradient(135deg, rgba(214,139,60,.95), rgba(69,30,10,.8)), radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 35%); }
.cafe-lenj-media-2 { background-image: linear-gradient(135deg, rgba(96,54,28,.96), rgba(234,192,140,.65)), radial-gradient(circle at 70% 30%, rgba(255,255,255,.2), transparent 35%); }
.cafe-lenj-media-3 { background-image: linear-gradient(135deg, rgba(80,80,90,.92), rgba(25,20,18,.82)), radial-gradient(circle at 40% 40%, rgba(255,255,255,.18), transparent 38%); }
.cafe-lenj-media-4 { background-image: linear-gradient(135deg, rgba(168,121,69,.92), rgba(45,25,16,.76)), radial-gradient(circle at 60% 25%, rgba(255,255,255,.24), transparent 30%); }
.cafe-lenj-media-5 { background-image: linear-gradient(135deg, rgba(137,90,47,.92), rgba(19,14,11,.84)), radial-gradient(circle at 30% 50%, rgba(255,255,255,.2), transparent 38%); }
.cafe-lenj-media-6 { background-image: linear-gradient(135deg, rgba(77,34,20,.93), rgba(211,164,101,.7)), radial-gradient(circle at 72% 24%, rgba(255,255,255,.2), transparent 32%); }

.cafe-lenj-card-body { padding: .9rem; display: flex; flex-direction: column; gap: .7rem; flex: 1; }
.cafe-lenj-card-top { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.cafe-lenj-card-title { margin: 0; font-size: 1rem; line-height: 1.35; }
.cafe-lenj-price { white-space: nowrap; color: var(--cafe-lenj-accent); font-weight: 700; }
.cafe-lenj-price small { font-size: .72rem; }
.cafe-lenj-card-desc { margin: 0; color: var(--cafe-lenj-muted); font-size: .94rem; line-height: 1.7; }
.cafe-lenj-card-meta { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: auto; }
.cafe-lenj-category, .cafe-lenj-badge {
    font-size: .8rem;
    padding: .3rem .55rem;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid var(--cafe-lenj-border);
}
.cafe-lenj-badge { background: color-mix(in srgb, var(--cafe-lenj-accent) 22%, transparent); }

.cafe-lenj-footer { color: var(--cafe-lenj-muted); padding: 1rem .25rem 0; }

body[data-theme-style='light'], .cafe-lenj-shell[data-theme-style='light'] {
    --cafe-lenj-text: #24190f;
    --cafe-lenj-muted: rgba(36,25,15,.7);
    --cafe-lenj-surface: rgba(36,25,15,.04);
    --cafe-lenj-border: rgba(36,25,15,.12);
    background: linear-gradient(180deg, #f5efe5, #efe4d4 58%, #ece1cf);
}

body[data-theme-style='light'] .cafe-lenj-card,
.cafe-lenj-shell[data-theme-style='light'] .cafe-lenj-card,
body[data-theme-style='light'] .cafe-lenj-hero,
.cafe-lenj-shell[data-theme-style='light'] .cafe-lenj-hero {
    background: rgba(255,255,255,.58);
}

@media (max-width: 1200px) {
    .cafe-lenj-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cafe-lenj-hero { grid-template-columns: 1fr; }
    .cafe-lenj-actions { align-items: flex-start; }
}

@media (max-width: 760px) {
    .site-header-inner, .cafe-lenj-brand, .cafe-lenj-card-top { flex-direction: column; align-items: flex-start; }
    .cafe-lenj-grid { grid-template-columns: 1fr; }
    .cafe-lenj-shell { padding: .75rem; }
    .cafe-lenj-card { min-height: 0; }
}
