/* =============================================
   LUXURY VEGAS DARK MODE v4.0.0
   Clean, consistent, premium aesthetic
   ============================================= */

:root {
    --lv-bg-main: #0B0B0B;
    --lv-bg-card: #161616;
    --lv-border: #262626;
    --lv-gold: var(--primary-accent);
    --lv-gold-dark: #B8860B;
    --lv-text: #EDEDED;
    --lv-text-muted: #888888;
    --lv-terracotta: #E07A5F;
}

/* =============================================
   BACKGROUNDS - Deep Black
   ============================================= */

html, body {
    background-color: var(--lv-bg-main) !important;
    color: var(--lv-text) !important;
}

body, .site-main, .content-area, main, article, .entry-content,
.ct-container, .ct-page-content, .post-content, .page-content,
#primary, #main, .site-content, .homepage, .cuisine-page {
    background: var(--lv-bg-main) !important;
    color: var(--lv-text) !important;
}

/* =============================================
   HEADER - Clean Dark
   ============================================= */

header, nav, .ct-header, .ct-header [data-row],
.ct-header [data-row=middle], #masthead {
    background-color: var(--lv-bg-main) !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

.ct-header .site-title a, .ct-header nav a {
    color: var(--lv-text) !important;
}

.ct-header nav a:hover {
    color: #ffffff !important;
}

/* =============================================
   CARDS - Subtle Elevated Look
   ============================================= */

.std-card, a.std-card, .std-card-grid .std-card,
.card, .restaurant-card, .listing-item,
.tx-card, .vg-card {
    background-color: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    border-radius: 12px !important;
    overflow: hidden;
    transition: all 0.3s ease;
}

.std-card:hover, a.std-card:hover {
    transform: translateY(-6px) !important;
    border-color: #333 !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
}

.std-card-content, .card-content {
    background: var(--lv-bg-card) !important;
    padding: 20px;
}

.std-card-name, .card-title {
    color: var(--lv-text) !important;
}

.std-card-meta, .std-card-city {
    color: var(--lv-text-muted) !important;
}

/* =============================================
   RATING BADGES - Gold Gradient
   ============================================= */

.badge-rating, .std-card-badge, .satisfaction-score,
.badge-primary, [class*='badge'] {
    background: var(--star-gold) !important;
    color: #000 !important;
    font-weight: 700 !important;
    border: none !important;
    padding: 6px 12px;
    border-radius: 6px;
}

/* =============================================
   BUTTONS - Gold Gradient
   ============================================= */

.btn-primary, .vg-btn-primary, .ti-btn-primary,
button[type='submit'], .search-form button,
.webigniter-cta, .view-all-btn {
    background: var(--star-gold) !important;
    color: #000 !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 12px 24px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.btn-primary:hover, .vg-btn-primary:hover,
button[type='submit']:hover, .webigniter-cta:hover {
    filter: brightness(1.1) !important;
    transform: translateY(-2px);
}

/* =============================================
   LOCALS RECOMMEND - Terracotta
   ============================================= */

.locals-recommend, .heart-icon, .heart,
.recommend-heart, .locals-love,
.std-card-recommend-label {
    color: #ffffff !important;
}

.std-card-cuisine {
    color: #ffffff !important;
}

.std-card-price {
    color: #4CAF50 !important;
}

/* =============================================
   HERO SECTIONS - Dark Gradient
   ============================================= */

.tx-hero, .vg-hero, .cuisine-hero, .hero-section {
    background: linear-gradient(135deg, 
        var(--lv-bg-main) 0%, 
        #1a1515 50%, 
        #201818 100%) !important;
    color: var(--lv-text);
    border-bottom: 1px solid var(--lv-border);
}

.tx-hero h1, .vg-hero h1, .cuisine-hero h1 {
    color: var(--lv-text) !important;
}

/* =============================================
   SIDEBAR CARDS
   ============================================= */

.tx-sidebar-card, .vg-sidebar-card {
    background: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    border-left: 4px solid var(--primary-accent) !important;
}

/* =============================================
   HIDDEN GEMS / FEATURE BOXES
   ============================================= */

.hidden-gems-header, .feature-box {
    background: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    border-left: 4px solid var(--primary-accent) !important;
    border-radius: 12px;
}

.hidden-gems-header h2 {
    color: #ffffff !important;
}

.hidden-gems-header p {
    color: var(--lv-text-muted) !important;
}

/* =============================================
   QUOTE BOXES
   ============================================= */

.tx-quote-box, .vg-quote-box, .locals-say {
    background: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    border-left: 4px solid var(--lv-terracotta) !important;
    color: var(--lv-text);
}

/* =============================================
   CUISINE PILLS
   ============================================= */

.cuisine-pill {
    background: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    color: var(--lv-text) !important;
}

.cuisine-pill:hover {
    border-color: #ffffff !important;
    color: #ffffff !important;
}

/* =============================================
   INPUTS & FORMS
   ============================================= */

input, textarea, select {
    background: var(--lv-bg-card) !important;
    border: 1px solid var(--lv-border) !important;
    color: var(--lv-text) !important;
}

input:focus, textarea:focus, select:focus {
    border-color: #ffffff !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(var(--primary-accent-rgb), 0.2) !important;
}

input::placeholder {
    color: var(--lv-text-muted) !important;
}

/* =============================================
   FOOTER - Deepest Black
   ============================================= */

footer, .site-footer, #ct-footer, [data-footer],
.cbd-footer-grid, .webigniter-section {
    background: #050505 !important;
    border-top: 1px solid var(--lv-border) !important;
    color: var(--lv-text-muted);
}

.cbd-footer-column h4 {
    color: var(--lv-text) !important;
}

.cbd-footer-column a {
    color: var(--lv-text-muted) !important;
}

.cbd-footer-column a:hover {
    color: #ffffff !important;
}

.cbd-footer-bottom a {
    color: #ffffff !important;
}

/* =============================================
   LINKS
   ============================================= */

a {
    color: var(--primary-accent);
}

a:hover {
    color: #E5C158;
}

/* =============================================
   SCROLLBAR
   ============================================= */

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--lv-bg-main);
}

::-webkit-scrollbar-thumb {
    background: var(--lv-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-accent);
}

/* =============================================
   CARD ELEVATION & POP v4.1.0
   Make cards float above the page
   ============================================= */

/* Cards with elevation shadow */
.restaurant-card, .card, .std-card, a.std-card,
.std-card-grid .std-card, .listing-item {
    background: #161616 !important;
    border: 1px solid #262626 !important;
    border-radius: 16px !important;
    box-shadow: 
        0 10px 30px rgba(0,0,0,0.4),
        0 4px 10px rgba(0,0,0,0.3) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border 0.3s ease !important;
    overflow: hidden;
}

/* Hover lift effect */
.restaurant-card:hover, .card:hover, .std-card:hover, a.std-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 
        0 20px 50px rgba(0,0,0,0.5),
        0 8px 20px rgba(0,0,0,0.4),
        0 0 30px rgba(var(--primary-accent-rgb), 0.1) !important;
    border: 1px solid var(--primary-accent) !important;
}

/* Card images - rounded top corners */
.std-card-image, .card-image, .restaurant-card img,
.std-card-image img, .card img {
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden;
}

/* Satisfaction/Rating badges - Gold gradient medal */
.satisfaction-badge, .satisfaction-score,
.badge-rating, .std-card-badge, .badge-primary,
[class*='satisfaction'], [class*='badge'] {
    background: var(--star-gold) !important;
    color: #000 !important;
    font-weight: 800 !important;
    box-shadow: 2px 4px 12px rgba(0,0,0,0.3) !important;
    border: none !important;
    padding: 6px 14px;
    border-radius: 8px;
}

/* Card content area */
.std-card-content, .card-body, .card-content {
    background: #161616 !important;
    padding: 20px;
    border-radius: 0 0 16px 16px;
}

/* Card title */
.std-card-name, .card-title, h3.card-title {
    color: #EDEDED !important;
    font-weight: 600;
    margin-bottom: 8px;
}

/* Card meta info */
.std-card-meta, .card-meta {
    color: #888888 !important;
}

/* Cuisine tag - Gold */
.std-card-cuisine, .cuisine-tag {
    color: #ffffff !important;
    font-weight: 500;
}

/* Price - Green */
.std-card-price {
    color: #4CAF50 !important;
}

/* City/Location */
.std-card-city {
    color: #666666 !important;
    font-size: 0.85rem;
}

/* Locals Recommend - Terracotta */
.std-card-recommend, .locals-recommend,
.std-card-recommend-label {
    color: #ffffff !important;
}

.std-card-recommend .heart, .heart-icon {
    color: #ffffff !important;
}

/* Tags inside cards */
.std-card-tag {
    background: #1E1E1E !important;
    color: #EDEDED !important;
    border: 1px solid #333 !important;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
}

/* =============================================
   BADGE CONTAINER AND NON-RATING BADGES FIX
   Must be at END of file to override wildcards
   ============================================= */
.bento-hero__badges,
body .bento-hero__badges,
html body .bento-hero__badges,
[class*='__badges'] {
    background: transparent !important;
    background-color: transparent !important;
}

.bento-badge--reviews,
.bento-badge--cuisine,
.bento-badge--price,
.bento-badge--bestfor,
body .bento-badge--reviews,
body .bento-badge--cuisine,
body .bento-badge--price,
body .bento-badge--bestfor,
html body .bento-badge--reviews,
html body .bento-badge--cuisine,
html body .bento-badge--price,
html body .bento-badge--bestfor {
    background: var(--primary-accent) !important;
    background-color: var(--primary-accent) !important;
    color: var(--button-text) !important;
}

/* =============================================
   HOURS BADGE STYLING FIX
   ============================================= */
.cbd-hours-badge,
body .cbd-hours-badge,
html body .cbd-hours-badge {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.cbd-hours-badge.cbd-hours-open,
body .cbd-hours-badge.cbd-hours-open {
    color: #4CAF50 !important;
}

.cbd-hours-badge.cbd-hours-closed,
body .cbd-hours-badge.cbd-hours-closed {
    color: #f44336 !important;
}

/* =============================================
   404 PAGE DARK MODE FIX
   ============================================= */
.ti-404-cuisine-link,
body .ti-404-cuisine-link {
    background: #1E1E1E !important;
    border-color: #333 !important;
    color: #EDEDED !important;
}

.ti-404-cuisine-link:hover,
body .ti-404-cuisine-link:hover {
    background: var(--primary-accent) !important;
    border-color: var(--primary-accent) !important;
    color: var(--button-text) !important;
}

.ti-404-link,
body .ti-404-link {
    background: #1E1E1E !important;
    color: #EDEDED !important;
}

.ti-404-link:hover,
body .ti-404-link:hover {
    background: var(--primary-accent) !important;
    color: var(--button-text) !important;
}

.ti-404-owner-cta,
body .ti-404-owner-cta {
    background: linear-gradient(135deg, #1a1a1a 0%, #252525 100%) !important;
    border-color: #333 !important;
}

.ti-404-owner-cta h3,
body .ti-404-owner-cta h3 {
    color: #EDEDED !important;
}

.ti-404-owner-cta p,
body .ti-404-owner-cta p {
    color: #999 !important;
}
