/**
 * Tyler Insider Business Directory CSS
 * Version: NO-CACHING-SIMPLE-VERSION
 * REMOVED ALL PERFORMANCE OPTIMIZATIONS THAT CAUSED CACHING ISSUES
 */

/* =============================================================================
   CSS VARIABLES - Complete design system for Tyler Insider
   
   Usage: var(--variable-name)
   Example: color: var(--ti-primary); background: var(--ti-white);
   
   To customize the entire site theme, simply change these values.
   All components inherit from this centralized system.
   ============================================================================= */
   :root {
    /* 🎨 BRAND COLORS - Core Tyler Insider identity */
    --ti-primary: #d32323;           /* Tyler Insider Red - buttons, links, accents */
    --ti-primary-dark: #b32020;      /* Darker red for hover states */
    --ti-primary-light: #f8f8f8;     /* Light backgrounds and subtle areas */
    
    /* 📝 TEXT COLORS - Hierarchy for readability */
    --ti-text: #333;                 /* Main text color - headings, body text */
    --ti-text-light: #666;           /* Secondary text - descriptions, captions */
    --ti-text-meta: #999;            /* Meta information - timestamps, counts */
    
    /* 🖼️ UI COLORS - Interface elements */
    --ti-border: #e6e6e6;            /* Main borders - cards, inputs, dividers */
    --ti-border-light: #f0f0f0;      /* Light borders - subtle separations */
    --ti-background: #f5f5f5;        /* Page background - body, sections */
    --ti-white: #ffffff;             /* Cards and content areas - clean surfaces */
    
    /* 🎨 GRAY SCALE - Extended palette for complex UIs */
    --ti-gray-50: #f9fafb;           /* Very light gray - subtle backgrounds */
    --ti-gray-100: #f3f4f6;          /* Light gray - hover states, disabled */
    --ti-gray-200: #e5e7eb;          /* Medium gray - borders, separators */
    --ti-gray-300: #d1d5db;          /* Darker gray - form controls */
    --ti-gray-600: #4b5563;          /* Dark gray - secondary text */
    --ti-gray-700: #374151;          /* Very dark gray - dark mode text */
    
    /* Rating & Review Colors */
    --ti-star: #ff6600;              /* Star ratings */
    --ti-price: #00aa00;             /* Price indicators */
    --ti-quote-bg: #fffbf0;          /* Quote backgrounds */
    --ti-quote-border: #ffe066;      /* Quote borders */
    --ti-factor-bg: #e8f5e8;         /* Decision factor backgrounds */
    
    /* Delivery Service Colors */
    --ti-doordash-primary: #ff6b35;   /* DoorDash orange */
    --ti-doordash-dark: #ea580c;      /* DoorDash dark orange */
    --ti-uber-primary: #10b981;       /* Uber Eats green */
    --ti-uber-dark: #059669;          /* Uber Eats dark green */
    --ti-phone-order: #dc2626;        /* Phone order red */
    --ti-claim-button: #f39c12;       /* Claim button orange */
    
    /* Business Page Colors */
    --ti-price-indicator: #059669;    /* Price level indicator */
    --ti-quote-text: #334155;         /* Featured quote text */
    --ti-quote-attribution: #64748b;  /* Quote attribution */
    --ti-factor-bg: #dcfce7;          /* Decision factor background */
    --ti-factor-text: #166534;        /* Decision factor text */
    --ti-factor-border: #bbf7d0;      /* Decision factor border */
    --ti-factor-check: #22c55e;       /* Decision factor check mark */
    --ti-use-case-bg: #f8f9fa;        /* Use case tag background */
    --ti-use-case-text: #495057;      /* Use case tag text */
    --ti-use-case-border: #e9ecef;    /* Use case tag border */
    
    /* Ad Spaces */
    --ti-ad-bg: #f9f9f9;             /* Ad placeholder backgrounds */
    --ti-ad-border: #ddd;            /* Ad placeholder borders */
    --ti-ad-text: #999;              /* Ad placeholder text */
    
    /* Typography */
    --ti-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ti-font-size-base: 1rem;
    --ti-line-height: 1.5;
    
    /* 📏 SPACING SYSTEM - Consistent spacing throughout site */
    --ti-spacing-xs: 4px;            /* Extra small - tight spacing */
    --ti-spacing-sm: 8px;            /* Small - button gaps, close elements */
    --ti-spacing-md: 16px;           /* Medium - standard spacing */
    --ti-spacing-lg: 24px;           /* Large - section spacing */
    --ti-spacing-xl: 30px;           /* Extra large - major sections */
    --ti-spacing-2xl: 40px;          /* XXL - page-level spacing */
    
    /* 🔘 COMMON PATTERNS - Reusable padding combinations */
    --ti-padding-button: 12px 16px;  /* Standard button padding */
    --ti-padding-input: 16px 20px;   /* Input field padding */
    --ti-padding-section: 20px;      /* Section content padding */
    --ti-padding-container: 0 20px;  /* Container side padding */
    
    /* Layout */
    --ti-max-width: 1200px;
    --ti-sidebar-width: 300px;
    --ti-border-radius: 4px;
    
    /* Transitions */
    --ti-transition: all 0.2s ease;
}

/* 🚀 PERFORMANCE UTILITIES - Common patterns to reduce CSS duplication */
.ti-flex-center { display: flex !important; align-items: center !important; justify-content: center !important; }
.ti-flex-between { display: flex !important; align-items: center !important; justify-content: space-between !important; }
.ti-flex-start { display: flex !important; align-items: center !important; }
.ti-reset { margin: 0 !important; padding: 0 !important; }
.ti-no-border { border: none !important; }
.ti-full-width { width: 100% !important; }

/* 🚀 PERFORMANCE: Lazy loading image optimization */
.ti-lazy-load {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    background-color: var(--ti-background);
}

.ti-lazy-load.loaded {
    opacity: 1;
}

/* 📱 MOBILE TOUCH INTERACTIONS - Enhanced UX for touch devices */
@media (hover: none) and (pointer: coarse) {
    /* Touch-optimized interactions for mobile devices */
    .ti-business-card {
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
        cursor: pointer !important;
    }
    
    .ti-business-card:active {
        transform: scale(0.98) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    }
    
    /* Remove hover effects on touch devices */
    .ti-business-card:hover {
        transform: none !important;
    }
    
    /* Touch-friendly buttons with active states */
    .ti-btn,
    .ti-action-btn,
    .ti-search-btn {
        -webkit-tap-highlight-color: rgba(211, 35, 35, 0.2);
        transition: all 0.15s ease;
    }
    
    .ti-btn:active,
    .ti-action-btn:active,
    .ti-search-btn:active {
        transform: scale(0.96);
        opacity: 0.8;
    }
    
    /* Optimize filter tabs for touch */
    .ti-filter-tab {
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    
    .ti-filter-tab:active {
        background: var(--ti-primary-dark) !important;
        transform: scale(0.98);
    }
}

/* 📱 MOBILE-SPECIFIC INPUT OPTIMIZATIONS */
@media (max-width: 768px) {
    /* Search input optimization for mobile keyboards */
    .ti-search-input,
    input[type="search"],
    input[type="text"] {
        font-size: 16px !important; /* Prevents zoom on iOS */
        border-radius: 8px !important;
        padding: 16px 20px !important;
        min-height: 44px !important;
        -webkit-appearance: none;
        appearance: none;
    }
    
    /* Mobile-optimized form controls */
    select,
    input[type="select"] {
        font-size: 16px !important;
        min-height: 44px !important;
        padding: 12px 16px !important;
    }
}

/* =============================================================================
   🔘 BUTTON COMPONENTS - Unified button system for consistent interactions
   
   Available Classes:
   - .ti-btn, .ti-action-btn     → Base button (inherits primary styling)
   - .ti-btn-primary            → Red primary button  
   - .ti-btn-secondary          → White secondary button with border
   - .ti-btn-delivery-doordash  → DoorDash branded button
   - .ti-btn-delivery-uber      → Uber Eats branded button  
   - .ti-btn-phone-order        → Phone order call-to-action
   
   Usage: <a class="ti-btn ti-btn-primary" href="...">Click Me</a>
   ============================================================================= */

/* 🎯 BASE BUTTON STYLES - Foundation for all button variants */
.ti-btn, .ti-action-btn {
    display: inline-flex;           /* Flexible alignment for text + icons */
    align-items: center;            /* Vertical centering */
    justify-content: center;        /* Horizontal centering */
    gap: var(--ti-spacing-sm);      /* Space between icon and text */
    padding: var(--ti-padding-button); /* Consistent comfortable padding */
    text-decoration: none;          /* Remove link underlines */
    border-radius: var(--ti-border-radius); /* Consistent rounded corners */
    text-align: center;             /* Center text alignment */
    font-weight: 600;               /* Medium-bold weight for readability */
    transition: var(--ti-transition); /* Smooth hover animations */
    border: none;                   /* Remove default button borders */
    cursor: pointer;                /* Hand cursor on hover */
    font-size: 1em;                 /* Inherit parent font size */
}

/* 🚀 PERFORMANCE: Simplified button selectors */
.ti-btn-primary, .ti-action-btn-primary {
    background: var(--ti-primary);
    color: var(--ti-white);
}

.ti-btn-primary:hover, .ti-action-btn-primary:hover {
    background: var(--ti-primary-dark);
    text-decoration: none;
    color: var(--ti-white);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* LEGACY: Complex selector for backwards compatibility */
.ti-action-btn:not(.secondary):not(.doordash):not(.ubereats):not(.claim) {
    background: var(--ti-primary);
    color: var(--ti-white);
}

.ti-action-btn:not(.secondary):hover {
    background: var(--ti-primary-dark);
    text-decoration: none;
    color: var(--ti-white);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* Secondary Button */
.ti-btn-secondary, .ti-action-btn.secondary {
    background: var(--ti-white);
    color: var(--ti-primary);
    border: 1px solid var(--ti-primary);
}

.ti-btn-secondary:hover, .ti-action-btn.secondary:hover {
    background: var(--ti-primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* Delivery Service Buttons */
.ti-btn-delivery-doordash, .ti-action-btn.doordash {
    background: linear-gradient(135deg, var(--ti-doordash-primary), var(--ti-doordash-dark));
    color: var(--ti-white);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ti-btn-delivery-uber, .ti-action-btn.ubereats {
    background: linear-gradient(135deg, var(--ti-uber-primary), var(--ti-uber-dark));
    color: var(--ti-white);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Phone Order Button */
.ti-btn-phone-order {
    background: var(--ti-white);
    color: var(--ti-phone-order);
    border: 2px solid var(--ti-phone-order);
}

/* Claim Button */
.ti-action-btn.claim {
    background: var(--ti-claim-button);
    color: var(--ti-white);
}

/* Hover effects for delivery buttons */
.ti-btn-delivery-doordash:hover, .ti-btn-delivery-uber:hover, .ti-action-btn.doordash:hover, .ti-action-btn.ubereats:hover, .ti-action-btn.claim:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* =============================================================================
   🔍 SEARCH COMPONENTS - Hero search and page search elements
   
   Components:
   - .ti-search-container  → Main search wrapper with max-width constraint
   - .ti-search-title      → Large heading above search box
   - .ti-search-subtitle   → Descriptive text below title
   - .ti-search-box        → Flexbox container for input + button
   - .ti-search-input      → Text input field
   - .ti-search-btn        → Search submit button
   
   Layout: Title → Subtitle → [Input][Button]
   Used in: Hero section, search pages, category pages
   ============================================================================= */

/* Search Container */
.ti-search-container {
    max-width: var(--ti-max-width) !important;
    margin: 0 auto !important;
    padding: var(--ti-padding-container) !important;
    text-align: center !important;
}

/* Search Titles */
.ti-search-title {
    font-size: 2.2em !important;
    font-weight: 700 !important;
    color: var(--ti-text) !important;
    margin-bottom: var(--ti-spacing-sm) !important;
    font-family: var(--ti-font-family) !important;
}

.ti-search-subtitle {
    color: var(--ti-text-light) !important;
    font-size: 1.1em !important;
    margin-bottom: var(--ti-spacing-lg) !important;
}

/* Search Box */
.ti-search-box {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.ti-search-input {
    flex: 1;
    padding: var(--ti-padding-input);
    border: none;
    font-size: 1.1em;
    color: var(--ti-text) !important;
}

.ti-search-input:focus {
    outline: none;
}

.ti-search-btn {
    background: var(--ti-white);
    color: var(--ti-primary);
    border: none;
    padding: var(--ti-padding-input);
    font-weight: 600;
    cursor: pointer;
    transition: var(--ti-transition);
}

.ti-search-btn:hover {
    background: var(--ti-gray-100);
}

/* =============================================================================
   RESET & BASE STYLES
   ============================================================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--ti-font-family);
    line-height: var(--ti-line-height);
    color: var(--ti-text);
    background: var(--ti-background);
    font-size: var(--ti-font-size-base);
}

/* =============================================================================
   GENERAL PAGE STYLING - PAGES ONLY (NOT HOMEPAGE) - Performance Optimized 
   
   🚀 PERFORMANCE NOTE: The old complex selectors like:
   body.page:not(.home):not(.archive):not(.category):not(.tax) 
   
   Have been replaced with the simple .ti-static-page class for better performance.
   Templates can add this class to body for optimal rendering speed.
   ============================================================================= */

/* Main content area for static pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .site-main,
body.page:not(.home):not(.archive):not(.category):not(.tax) #main,
body.page:not(.home):not(.archive):not(.category):not(.tax) #primary,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content,
body.page:not(.home):not(.archive):not(.category):not(.tax) article {
    max-width: var(--ti-max-width) !important;
    margin: 0 auto !important;
    padding: 15px 20px !important;
    background: var(--ti-white) !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Page titles - pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .page-title,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-title,
body.page:not(.home):not(.archive):not(.category):not(.tax) h1.title {
    font-size: 2.5em !important;
    font-weight: 700 !important;
    color: var(--ti-primary) !important;
    margin-bottom: 30px !important;
    text-align: center !important;
}

/* Page content typography - pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content p,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content p {
    margin-bottom: 16px !important;
    line-height: 1.7 !important;
    font-size: 1.1em !important;
    color: var(--ti-text) !important;
    border: none !important;
}

/* Remove ALL borders from page content - pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content *,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content *,
body.page:not(.home):not(.archive):not(.category):not(.tax) .site-main *,
body.page:not(.home):not(.archive):not(.category):not(.tax) #main *,
body.page:not(.home):not(.archive):not(.category):not(.tax) #primary * {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content h2,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content h2 {
    font-size: 1.8em !important;
    font-weight: 600 !important;
    color: var(--ti-primary) !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content h3,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content h3 {
    font-size: 1.4em !important;
    font-weight: 600 !important;
    color: var(--ti-text) !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content ul,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content ul {
    margin: 16px 0 16px 25px !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content li,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content li {
    margin-bottom: 8px !important;
    line-height: 1.6 !important;
}

/* Links styling - pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content a,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content a {
    color: var(--ti-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content a:hover,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content a:hover {
    color: var(--ti-primary-dark) !important;
    text-decoration: underline !important;
}

/* Contact forms and buttons - pages only */
body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content .wp-block-button a,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content .wp-block-button a,
body.page:not(.home):not(.archive):not(.category):not(.tax) input[type="submit"],
body.page:not(.home):not(.archive):not(.category):not(.tax) button[type="submit"] {
    background: var(--ti-primary) !important;
    color: var(--ti-white) !important;
    padding: 12px 25px !important;
    border-radius: 6px !important;
    border: none !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

body.page:not(.home):not(.archive):not(.category):not(.tax) .page-content .wp-block-button a:hover,
body.page:not(.home):not(.archive):not(.category):not(.tax) .entry-content .wp-block-button a:hover,
body.page:not(.home):not(.archive):not(.category):not(.tax) input[type="submit"]:hover,
body.page:not(.home):not(.archive):not(.category):not(.tax) button[type="submit"]:hover {
    background: var(--ti-primary-dark) !important;
    text-decoration: none !important;
}

/* =============================================================================
   LAYOUT COMPONENTS - HOMEPAGE ONLY
   ============================================================================= */

/* WordPress Theme Reset - Simplified selector */
.tyler-insider-homepage * {
    box-sizing: border-box !important;
}

/* Main Layout Grid - Homepage Context */
.home .ti-main-content {
    max-width: var(--ti-max-width) !important;
    margin: 0 auto !important;
    padding: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr 280px !important;
    gap: 30px !important;
    background: none !important;
    border: none !important;
}

/* Single column variation - Simplified */
.ti-main-content.single-column {
    grid-template-columns: 1fr !important;
}

/* =============================================================================
   SEARCH SECTION (Homepage ONLY) 
   ============================================================================= */
/* Tyler-Breakout: Full-width container system */
.tyler-breakout {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


.home .ti-search-section {
    background: var(--ti-primary) !important;
    color: var(--ti-white) !important;
    padding: 40px 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Search container - extends base container pattern with center alignment and different padding */
.ti-search-container {
    max-width: var(--ti-max-width) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    text-align: center !important;
}

.ti-search-title {
    font-size: 2.2em !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    color: var(--ti-white) !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.ti-search-subtitle {
    font-size: 1.1em !important;
    margin-bottom: 30px !important;
    opacity: 0.9 !important;
    color: var(--ti-white) !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.ti-search-box {
    max-width: 600px !important;
    margin: 0 auto !important;
    position: relative !important;
    text-align: center !important;
}

.ti-search-input {
    width: 100% !important;
    padding: 14px 120px 14px 16px !important;
    font-size: 1em !important;
    border: none !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    font-family: var(--ti-font-family) !important;
    background: var(--ti-white) !important;
    color: #333 !important;
}

.ti-search-btn {
    position: absolute !important;
    right: 2px !important;
    top: 2px !important;
    bottom: 2px !important;
    background: var(--ti-primary-dark) !important;
    color: var(--ti-white) !important;
    border: none !important;
    padding: 0 20px !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-family: var(--ti-font-family) !important;
    transition: var(--ti-transition) !important;
}

.ti-search-btn:hover {
    background: #9a1a1a !important;
}

/* =============================================================================
   RESTAURANT PAGES - RESTORE PROPER LAYOUT
   ============================================================================= */

/* Single Restaurant Page Layout - extends base container with grid layout */
.single-business .ti-main-container {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 30px;
}

.single-business .ti-content-area {
    background: var(--ti-white);
    border-radius: var(--ti-border-radius);
    border: 1px solid var(--ti-border);
    overflow: hidden;
}

.single-business .ti-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.single-business .ti-sidebar-section {
    background: var(--ti-white);
    border-radius: var(--ti-border-radius);
    border: 1px solid var(--ti-border);
    padding: 20px;
}


/* Action Buttons */
/* Simplified - business-specific element */
.ti-action-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* OLD ACTION BUTTONS - Removed dead code block */
.ti-filters {
    background: var(--ti-white) !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--ti-border) !important;
    margin: 0 !important;
    width: 100% !important;
}

.ti-filters-container {
    max-width: var(--ti-max-width) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.ti-filter-tabs {
    display: flex !important;
    gap: 0 !important;
    overflow-x: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ti-filter-tab {
    padding: 10px 20px !important;
    background: #f7f7f7 !important;
    border: 1px solid #ddd !important;
    border-right: none !important;
    text-decoration: none !important;
    color: var(--ti-text-light) !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    transition: var(--ti-transition) !important;
    font-family: var(--ti-font-family) !important;
    display: block !important;
    margin: 0 !important;
}

.ti-filter-tab:first-child {
    border-radius: 4px 0 0 4px !important;
}

.ti-filter-tab:last-child {
    border-radius: 0 4px 4px 0 !important;
    border-right: 1px solid #ddd !important;
}

.ti-filter-tab.active {
    background: var(--ti-primary) !important;
    color: var(--ti-white) !important;
    border-color: var(--ti-primary) !important;
}

.ti-filter-tab:hover:not(.active) {
    background: #e8e8e8 !important;
    color: var(--ti-text-light) !important;
    text-decoration: none !important;
}

/* =============================================================================
   CONTENT SECTIONS - ALL PAGES
   ============================================================================= */
.ti-content-section {
    padding: var(--ti-spacing-lg);
    border-bottom: 1px solid var(--ti-border-light);
}

.ti-content-section:last-child {
    border-bottom: none;
}

.ti-section-title {
    font-size: 1.3em;
    font-weight: 600;
    margin-bottom: var(--ti-spacing-md);
    color: var(--ti-text);
}

/* Featured Quote */
.ti-featured-quote {
    background: var(--ti-quote-bg);
    border: 1px solid var(--ti-quote-border);
    border-radius: var(--ti-border-radius);
    padding: var(--ti-spacing-md);
    margin-bottom: var(--ti-spacing-md);
}

.ti-quote-text {
    font-style: italic;
    color: var(--ti-text);
    font-size: 1em;
    line-height: 1.4;
    margin-bottom: var(--ti-spacing-sm);
}

.ti-quote-attribution {
    color: var(--ti-text-light);
    font-size: 0.9em;
    font-weight: 500;
}

/* Images */
.ti-image-section {
    padding: 0;
}

.ti-featured-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

/* =============================================================================
   HOMEPAGE CONTENT AREA ONLY
   ============================================================================= */
.home .ti-content-area {
    background: var(--ti-white) !important;
    border-radius: var(--ti-border-radius) !important;
    border: 1px solid var(--ti-border) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Results Header - Simplified selector */
.ti-results-header {
    padding: 20px !important;
    border-bottom: 1px solid var(--ti-border) !important;
    margin: 0 !important;
    background: var(--ti-white) !important;
}

/* Results Title - Simplified selector */
.ti-results-title {
    font-size: 1.4em !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-font-family) !important;
}

/* Results Count - Simplified selector */
.ti-results-count {
    color: var(--ti-text-light) !important;
    font-size: 0.9em !important;
    margin: 0 !important;
}

/* =============================================================================
   📱 CONSOLIDATED RESPONSIVE BREAKPOINTS - Mobile First (768px and below)
   
   Strategy: Single comprehensive mobile breakpoint at 768px
   All mobile adaptations consolidated here for easy maintenance
   
   Sections:
   1. Layout Changes    → Grid to single-column, sidebar positioning
   2. Typography       → Smaller font sizes for mobile screens  
   3. Hero Section     → Adjusted padding and search layout
   4. Filter Navigation → Horizontal scrolling tabs
   5. Sidebar          → Reordering and spacing adjustments
   
   Benefits: One place to find all mobile styles, consistent breakpoint
   ============================================================================= */
/* 📱 MOBILE-FIRST RESPONSIVE DESIGN - Modern breakpoint system */

/* 📱 Small Mobile Phones (320px - 480px) */
@media (max-width: 480px) {
    :root {
        --ti-spacing-xs: 6px;
        --ti-spacing-sm: 12px;
        --ti-spacing-md: 20px;
        --ti-spacing-lg: 28px;
        --ti-font-size-base: 16px; /* Better mobile readability */
    }
    
    /* 📱 Clean container layout */
    .ti-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
    }
    
    /* Touch-friendly buttons - minimum 44px target */
    .ti-btn,
    .ti-action-btn,
    .ti-search-btn,
    .ti-filter-tab {
        min-height: 44px !important;
        padding: 12px 20px !important;
        font-size: 16px !important; /* Prevent zoom on iOS */
    }
    
    /* Mobile-optimized typography */
    .ti-hero-title {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }
    
    .ti-hero-subtitle {
        font-size: 1rem !important;
        line-height: 1.4 !important;
    }
    
    /* Stack business cards vertically on small screens */
    .ti-businesses-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    /* Optimize images for small screens */
    .ti-card-image,
    .ti-main-image {
        height: 200px !important;
        object-fit: cover !important;
    }
    
    /* 🎯 PRECISE SIDEBAR REMOVAL - Only hide sidebar on single business pages, not homepage */
    .single-business .ti-sidebar,
    .single-business aside.ti-sidebar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* 📱 HOMEPAGE SIDEBAR - HIDE COMPLETELY on mobile */
    .home .ti-sidebar,
    .home aside.ti-sidebar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Make main content visible and full width */
    .ti-main-content,
    main.ti-main-content {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        float: none !important;
        clear: both !important;
    }
    
    /* Ensure business cards are visible */
    .ti-businesses-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
    }
    
    .ti-business-card {
        display: block !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }
    
    /* Clean up container */
    .ti-container {
        padding: 0 15px;
        max-width: 100%;
        display: block !important;
    }
    
    /* 📱 MOBILE LAYOUT: Simplified business cards */
    .ti-businesses-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0;
    }
    
    .ti-business-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        margin: 0;
        border-radius: 8px;
        background: white;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border: 1px solid #e1e5e9;
    }
    
    .ti-business-image {
        width: 100% !important;
        height: 180px !important;
        flex-shrink: 0;
        margin: 0 !important;
        border-radius: 8px 8px 0 0;
        overflow: hidden;
        background: #f8f9fa;
    }
    
    .ti-business-image img,
    .ti-card-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .ti-placeholder-image {
        width: 80px !important;
        height: 80px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: var(--ti-bg-light) !important;
        border-radius: 8px !important;
        font-size: 2rem !important;
        margin-right: 16px !important;
    }
    
    .ti-business-info {
        flex: 1 !important;
        min-width: 0 !important; /* Allow text truncation */
        display: flex !important;
        padding: 16px !important;
        flex-direction: column !important;
    }
    
    .ti-business-name {
        font-size: 1.1rem !important;
        line-height: 1.3 !important;
        margin-bottom: 6px !important;
        font-weight: 600 !important;
    }
    
    .ti-business-name a {
        display: block !important;
        text-decoration: none !important;
        color: var(--ti-primary-color) !important;
        /* Limit to 2 lines with ellipsis */
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .ti-business-meta {
        font-size: 0.85rem !important;
        margin-bottom: 8px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        align-items: center !important;
    }
    
    .ti-rating-group {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        background: rgba(255, 193, 7, 0.1) !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
    }
    
    .ti-stars {
        font-size: 0.75rem !important;
        line-height: 1 !important;
    }
    
    .ti-rating-value {
        font-weight: 600 !important;
        color: #f39c12 !important;
        font-size: 0.85rem !important;
    }
    
    .ti-review-count {
        color: var(--ti-text-muted) !important;
        font-size: 0.75rem !important;
        margin-left: 2px !important;
    }
    
    .ti-price-level {
        background: rgba(39, 174, 96, 0.1) !important;
        color: #27ae60 !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
        font-size: 0.75rem !important;
        font-weight: 600 !important;
    }
    
    .ti-cuisine-tag {
        background: var(--ti-bg-light) !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
        font-size: 0.75rem !important;
        color: var(--ti-text-muted) !important;
    }
    
    .ti-card-quote,
    .ti-card-description {
        font-size: 0.85rem !important;
        color: var(--ti-text-secondary) !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        /* Limit to 2 lines with ellipsis */
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        flex: 1 !important;
    }
    
    .ti-card-actions {
        margin-top: auto !important;
        padding: 0 16px 16px 16px !important;
        display: block !important;
    }
    
    .ti-view-btn {
        background: var(--ti-primary) !important;
        color: white !important;
        padding: 12px 20px !important;
        display: inline-block !important;
        width: 100% !important;
        text-align: center !important;
        border-radius: 6px !important;
        text-decoration: none !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        min-height: 36px !important;
        line-height: 1.2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.15s ease !important;
        white-space: nowrap !important;
    }
    
    .ti-view-btn:hover {
        background: var(--ti-primary-hover) !important;
        transform: none !important; /* Remove transform on mobile */
    }
    
    /* 📱 MOBILE LAYOUT: Optimized sidebar widgets */
    .ti-sidebar-widget {
        background: var(--ti-white) !important;
        border: 1px solid var(--ti-border-light) !important;
        border-radius: 12px !important;
        padding: 20px !important;
        margin-bottom: 20px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
    }
    
    .ti-widget-title {
        font-size: 1.1rem !important;
        margin-bottom: 16px !important;
        color: var(--ti-primary-color) !important;
        font-weight: 600 !important;
    }
    
    .ti-action-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .ti-action-buttons .ti-btn {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 12px 16px !important;
    }
    
    /* 📱 MOBILE LAYOUT: Simplified filter tabs */
    .ti-filter-tabs {
        display: flex !important;
        overflow-x: auto !important;
        gap: 8px !important;
        padding: 0 4px 8px 4px !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        scroll-behavior: smooth !important;
    }
    
    .ti-filter-tabs::-webkit-scrollbar {
        display: none !important;
    }
    
    .ti-filter-tab {
        flex-shrink: 0 !important;
        padding: 8px 16px !important;
        background: var(--ti-white) !important;
        border: 2px solid var(--ti-border-light) !important;
        border-radius: 20px !important;
        color: var(--ti-text-secondary) !important;
        text-decoration: none !important;
        font-size: 0.9rem !important;
        font-weight: 500 !important;
        white-space: nowrap !important;
        transition: all 0.2s ease !important;
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .ti-filter-tab:hover,
    .ti-filter-tab:focus {
        border-color: var(--ti-primary-color) !important;
        color: var(--ti-primary-color) !important;
        background: rgba(211, 35, 35, 0.05) !important;
    }
    
    /* 📱 MOBILE LAYOUT: Single restaurant page optimizations */
    .single-business .ti-main-layout {
        display: block !important;
    }
    
    .single-business .ti-business-header {
        text-align: center !important;
        padding: 13px 0 !important;
        margin-bottom: 18px !important;
    }
    
    .single-business .ti-business-title {
        font-size: 1.6rem !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }
    
    .single-business .ti-business-subtitle {
        font-size: 1rem !important;
        color: var(--ti-text-secondary) !important;
        margin-bottom: 12px !important;
    }
    
    .single-business .ti-business-meta {
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }
    
    .single-business .ti-featured-image {
        margin-bottom: 18px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
    
    .single-business .ti-main-image {
        width: 100% !important;
        height: 250px !important;
        object-fit: cover !important;
    }
    
    .single-business .ti-section {
        margin-bottom: 24px !important;
        padding: 20px !important;
        background: var(--ti-white) !important;
        border: 1px solid var(--ti-border-light) !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
    }
    
    .single-business .ti-section-title {
        font-size: 1.2rem !important;
        margin-bottom: 16px !important;
        color: var(--ti-primary-color) !important;
        font-weight: 600 !important;
    }
    
    .single-business .ti-decision-factors {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    
    .single-business .ti-factor-tag {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        background: rgba(39, 174, 96, 0.1) !important;
        color: #27ae60 !important;
        padding: 8px 12px !important;
        border-radius: 8px !important;
        font-size: 0.85rem !important;
        font-weight: 500 !important;
    }
    
    .single-business .ti-factor-check {
        font-size: 0.9rem !important;
        color: #27ae60 !important;
    }
    
    .single-business .ti-use-cases {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    
    .single-business .ti-use-case-tag {
        background: rgba(211, 35, 35, 0.1) !important;
        color: var(--ti-primary-color) !important;
        padding: 6px 12px !important;
        border-radius: 6px !important;
        font-size: 0.85rem !important;
        font-weight: 500 !important;
    }
    
    /* 📱 MOBILE LAYOUT: Contact and sidebar improvements */
    .single-business .ti-contact-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .single-business .ti-contact-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid var(--ti-border-light) !important;
    }
    
    .single-business .ti-contact-item:last-child {
        border-bottom: none !important;
    }
    
    .single-business .ti-contact-label {
        font-weight: 600 !important;
        color: var(--ti-text-primary) !important;
        min-width: 60px !important;
        font-size: 0.9rem !important;
    }
    
    .single-business .ti-contact-value {
        color: var(--ti-primary-color) !important;
        text-decoration: none !important;
        font-size: 0.9rem !important;
        flex: 1 !important;
    }
    
    .single-business .ti-hours-section {
        background: var(--ti-bg-light) !important;
        border-radius: 8px !important;
        padding: 16px !important;
    }
    
    .single-business .ti-hours-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 6px 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.05) !important;
        font-size: 0.9rem !important;
    }
    
    .single-business .ti-hours-row:last-child {
        border-bottom: none !important;
    }
    
    .single-business .ti-hours-day {
        font-weight: 600 !important;
        color: var(--ti-text-primary) !important;
    }
    
    .single-business .ti-hours-time {
        color: var(--ti-text-secondary) !important;
        text-align: right !important;
    }
    
    /* 📱 MOBILE LAYOUT: Review cards */
    .single-business .ti-reviews-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .single-business .ti-review-item {
        background: var(--ti-bg-light) !important;
        padding: 16px !important;
        border-radius: 8px !important;
        border-left: 4px solid var(--ti-primary-color) !important;
    }
    
    .single-business .ti-review-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 8px !important;
    }
    
    .single-business .ti-reviewer-name {
        font-weight: 600 !important;
        color: var(--ti-text-primary) !important;
        font-size: 0.9rem !important;
    }
    
    .single-business .ti-review-rating {
        font-size: 0.8rem !important;
    }
    
    .single-business .ti-review-text {
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
        color: var(--ti-text-secondary) !important;
        margin-bottom: 8px !important;
        font-style: italic !important;
    }
    
    .single-business .ti-review-date {
        font-size: 0.8rem !important;
        color: var(--ti-text-muted) !important;
        text-align: right !important;
    }
}

/* 📱 Standard Mobile (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
    /* Two-column layout for larger mobile screens */
    .ti-businesses-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    /* Slightly larger touch targets */
    .ti-btn,
    .ti-action-btn {
        min-height: 48px !important;
    }
}

/* 📱 Tablets (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .ti-businesses-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
    
    /* Maintain desktop-like experience on tablets */
    .ti-main-content {
        grid-template-columns: 2fr 1fr !important;
    }
}

/* 📱 Legacy mobile support (max-width: 768px) - Enhanced */
@media (max-width: 768px) {
    /* 📐 LAYOUT CHANGES - Convert grids to single column */
    .ti-main-content,
    .ti-main-container {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 15px !important;
    }
    
    .ti-main-layout { 
        display: block !important; 
        grid-template-columns: none !important;
        gap: 0 !important;
    }
    
    /* HOMEPAGE MOBILE - Force single column layout */
    .home .ti-main-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .ti-businesses-grid { 
        grid-template-columns: 1fr; 
        gap: 20px; 
    }

    /* Typography Adjustments */
    .home .ti-search-title {
        font-size: 1.8em !important;
    }

    .home .ti-search-subtitle {
        font-size: 1em !important;
    }
    
    .ti-hero-title { 
        font-size: 2.2em; 
        color: var(--ti-white) !important; 
    }
    
    
    .single-business .ti-business-title { 
        font-size: 2em; 
    }
    
    .ti-category-title { 
        font-size: 2em; 
    }

    /* Hero Section Mobile Adjustments - balanced spacing */
    .home .ti-hero-section.tyler-breakout { 
        padding: 20px 15px 15px 15px !important;
    }
    
    .ti-search-box { 
        flex-direction: column; 
    }
    
    .ti-search-input, .ti-search-btn { 
        border-radius: 0; 
    }
    
    .ti-search-input { 
        border-bottom: 1px solid #e0e0e0; 
        color: var(--ti-text) !important; 
    }

    /* Filter Navigation Mobile */
    .home .ti-filter-tabs {
        overflow-x: auto !important;
        padding-bottom: 5px !important;
    }
    
    .ti-filters.tyler-breakout { 
        padding: 20px 0; 
    }
    
    .ti-filter-tabs { 
        justify-content: flex-start; 
        overflow-x: auto; 
        padding: 0 20px 10px 20px; 
        gap: 2px; 
    }
    
    .ti-filter-tab { 
        padding: 12px 18px; 
        font-size: 0.9em; 
        white-space: nowrap; 
        min-width: 80px;
        flex-shrink: 0;
    }
    
    .ti-filter-tab:first-child { 
        border-radius: 6px 0 0 6px; 
    }
    
    .ti-filter-tab:last-child { 
        border-radius: 0 6px 6px 0; 
    }

    /* Sidebar Adjustments */
    .single-business .ti-sidebar {
        order: -1;
        margin-top: 20px;
    }
}


.ti-rating-section {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
}

.ti-stars {
    color: var(--ti-star) !important;
    font-size: 0.9em !important;
    margin: 0 !important;
}

.ti-rating-number {
    font-weight: 600 !important;
    font-size: 0.9em !important;
    margin: 0 !important;
    color: var(--ti-text) !important;
}

.ti-review-count {
    color: var(--ti-text-light) !important;
    font-size: 0.85em !important;
    margin: 0 !important;
}

.ti-price-level {
    font-size: 1em !important;
    font-weight: 600 !important;
    color: var(--ti-price) !important;
    margin: 0 !important;
}

.ti-cuisine-type {
    color: var(--ti-text-light) !important;
    font-size: 0.9em !important;
    margin: 0 !important;
}


/* =============================================================================
   TAGS & BADGES - WordPress Compatible
   ============================================================================= */
.ti-tags-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ti-tag {
    background: #f0f0f0 !important;
    color: var(--ti-text-light) !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
    font-size: 0.8em !important;
    font-weight: 500 !important;
    margin: 0 !important;
    display: inline-block !important;
    font-family: var(--ti-font-family) !important;
}

.ti-tag.ti-highlight,
.ti-tag.highlight {
    background: var(--ti-factor-bg) !important;
    color: var(--ti-price) !important;
}

/* Decision Factors */
.ti-factor-tag {
    background: var(--ti-factor-bg) !important;
    color: var(--ti-price) !important;
    padding: 6px 12px !important;
    border-radius: 12px !important;
    font-size: 0.85em !important;
    font-weight: 500 !important;
    border: 1px solid var(--ti-price) !important;
    margin: 0 !important;
    display: inline-block !important;
}

/* Perfect For Tags */
.ti-perfect-tag {
    background: #f0f0f0 !important;
    color: var(--ti-text-light) !important;
    padding: 6px 12px !important;
    border-radius: 12px !important;
    font-size: 0.85em !important;
    font-weight: 500 !important;
    margin: 0 !important;
    display: inline-block !important;
}

/* =============================================================================
   MOBILE CONTACT INFO - Show address/phone visually on mobile
   ============================================================================= */
.ti-mobile-contact-section {
    display: none; /* Hidden by default, shown only on mobile */
}

@media (max-width: 768px) {
    .ti-mobile-contact-section {
        display: block;
    }
    
    .ti-mobile-contact-info {
        display: block;
    }
    
    .ti-mobile-contact-item {
        display: flex;
        align-items: center;
        margin-bottom: 12px;
        padding: 8px 0;
    }
    
    .ti-mobile-contact-item:last-child {
        margin-bottom: 0;
    }
    
    .ti-mobile-contact-icon {
        font-size: 1.2em;
        margin-right: 12px;
        width: 24px;
        text-align: center;
    }
    
    .ti-mobile-contact-text {
        font-size: 0.95em;
        color: var(--ti-text);
        line-height: 1.4;
        font-weight: 500;
    }
}

/* =============================================================================
   MOBILE STICKY ACTION BAR - Revenue Critical Actions Always Visible
   ============================================================================= */
.ti-mobile-action-bar {
    display: none; /* Hidden by default, shown only on mobile */
}

@media (max-width: 768px) {
    /* Show sticky action bar only on single business pages on mobile */
    .single-business .ti-mobile-action-bar {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: var(--ti-white) !important;
        border-top: 1px solid var(--ti-border) !important;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1) !important;
        z-index: 1000 !important;
        display: flex !important;
        justify-content: space-around !important;
        align-items: center !important;
        padding: 12px 15px !important;
        gap: 10px !important;
        min-height: 60px !important;
    }
    
    .ti-mobile-action-btn {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        color: var(--ti-text) !important;
        font-size: 0.75em !important;
        font-weight: 500 !important;
        padding: 8px 4px !important;
        border-radius: 8px !important;
        transition: var(--ti-transition) !important;
        background: transparent !important;
        border: none !important;
        min-height: 44px !important; /* Accessibility - minimum touch target */
        text-align: center !important;
    }
    
    .ti-mobile-action-btn:hover,
    .ti-mobile-action-btn:focus {
        background: var(--ti-bg-light) !important;
        color: var(--ti-primary) !important;
        text-decoration: none !important;
        transform: translateY(-1px) !important;
    }
    
    .ti-mobile-action-btn .ti-action-icon {
        font-size: 1.4em !important;
        margin-bottom: 2px !important;
        display: block !important;
    }
    
    /* Primary action button (Order Online) - highlighted */
    .ti-mobile-action-btn.ti-primary-action {
        background: var(--ti-primary) !important;
        color: var(--ti-white) !important;
        font-weight: 600 !important;
    }
    
    .ti-mobile-action-btn.ti-primary-action:hover,
    .ti-mobile-action-btn.ti-primary-action:focus {
        background: var(--ti-primary-dark) !important;
        color: var(--ti-white) !important;
        transform: translateY(-2px) !important;
    }
    
    /* Add bottom padding to page content to prevent overlap */
    .single-business .ti-main-container {
        padding-bottom: 80px !important; /* Space for sticky bar */
    }
    
    /* 🚨 NUCLEAR HOMEPAGE MOBILE FIX - Target actual homepage structure */
    .home .ti-container,
    body.home .ti-container,
    .home .ti-homepage,
    body.home .ti-homepage {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }
    
    /* 🚨 OVERRIDE THE DESKTOP GRID THAT'S CAUSING THE PROBLEM */
    .home .ti-main-content,
    body.home .ti-main-content {
        display: block !important;
        grid-template-columns: none !important;
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 !important;
        padding: 20px 15px !important;
    }
    
    /* 🚨 HOMEPAGE SIDEBAR - Hide on mobile (keep clean UX) */
    .home .ti-sidebar,
    body.home .ti-sidebar,
    .home aside.ti-sidebar,
    body.home aside.ti-sidebar {
        display: none !important;
    }
}

/* =============================================================================
   404 ERROR PAGE - SEO-Compliant User-Friendly Design
   ============================================================================= */
.ti-404-page {
    padding: 40px 0;
    min-height: 60vh;
}

.ti-404-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.ti-404-header {
    text-align: center;
    margin-bottom: 40px;
}

.ti-404-title {
    font-size: 2.5em;
    color: var(--ti-primary);
    margin-bottom: 15px;
    font-weight: 700;
}

.ti-404-subtitle {
    font-size: 1.2em;
    color: var(--ti-text-secondary);
    margin-bottom: 0;
}

.ti-404-search {
    text-align: center;
    margin-bottom: 50px;
    padding: 30px;
    background: var(--ti-bg-light);
    border-radius: 16px;
}

.ti-404-search h2 {
    margin-bottom: 20px;
    color: var(--ti-text);
    font-size: 1.5em;
}

.ti-404-suggestions {
    margin-bottom: 40px;
}

.ti-404-suggestions h2 {
    text-align: center;
    margin-bottom: 30px;
    color: var(--ti-text);
    font-size: 1.8em;
}

.ti-404-restaurants-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.ti-404-restaurant-card {
    background: var(--ti-white);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
}

.ti-404-restaurant-card:hover {
    transform: translateY(-2px);
}

.ti-404-restaurant-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.ti-404-restaurant-info {
    padding: 15px;
}

.ti-404-restaurant-name {
    margin-bottom: 8px;
    font-size: 1.1em;
}

.ti-404-restaurant-name a {
    color: var(--ti-text);
    text-decoration: none;
    font-weight: 600;
}

.ti-404-restaurant-name a:hover {
    color: var(--ti-primary);
}

.ti-404-restaurant-meta {
    margin-bottom: 12px;
    font-size: 0.9em;
}

.ti-404-restaurant-meta span {
    margin-right: 10px;
    color: var(--ti-text-secondary);
}

.ti-404-browse {
    margin-bottom: 40px;
    text-align: center;
}

.ti-404-browse h2 {
    margin-bottom: 25px;
    color: var(--ti-text);
    font-size: 1.6em;
}

.ti-404-cuisine-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.ti-404-cuisine-link {
    display: block;
    padding: 15px 20px;
    background: var(--ti-white);
    border: 2px solid var(--ti-border-light);
    border-radius: 8px;
    text-decoration: none;
    color: var(--ti-text);
    font-weight: 500;
    transition: all 0.2s ease;
}

.ti-404-cuisine-link:hover {
    background: var(--ti-primary);
    color: var(--ti-white);
    border-color: var(--ti-primary);
    text-decoration: none;
}

.ti-404-links {
    margin-bottom: 40px;
    text-align: center;
}

.ti-404-links h2 {
    margin-bottom: 25px;
    color: var(--ti-text);
    font-size: 1.6em;
}

.ti-404-helpful-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.ti-404-link {
    display: inline-block;
    padding: 12px 20px;
    background: var(--ti-bg-light);
    border-radius: 8px;
    text-decoration: none;
    color: var(--ti-text);
    font-weight: 500;
    transition: background 0.2s ease;
}

.ti-404-link:hover {
    background: var(--ti-primary);
    color: var(--ti-white);
    text-decoration: none;
}

.ti-404-owner-cta {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 16px;
    border: 1px solid var(--ti-border-light);
}

.ti-404-owner-cta h3 {
    margin-bottom: 15px;
    color: var(--ti-text);
    font-size: 1.4em;
}

.ti-404-owner-cta p {
    margin-bottom: 20px;
    color: var(--ti-text-secondary);
}

.ti-cta-button {
    display: inline-block;
    padding: 14px 28px;
    background: var(--ti-primary);
    color: var(--ti-white);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.ti-cta-button:hover {
    background: var(--ti-primary-dark);
    text-decoration: none;
    color: var(--ti-white);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .ti-404-title {
        font-size: 2em;
    }
    
    .ti-404-restaurants-grid {
        grid-template-columns: 1fr;
    }
    
    .ti-404-cuisine-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .ti-404-helpful-links {
        flex-direction: column;
        align-items: center;
    }
    
    .ti-404-link {
        width: 200px;
        text-align: center;
    }
}

/* =============================================================================
   SEARCH RESULTS PAGE - Professional Restaurant Search Interface
   ============================================================================= */
.ti-search-results {
    padding: 30px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.ti-search-header {
    margin-bottom: 30px;
    padding: 0 20px;
}

.ti-search-title-section {
    text-align: center;
    margin-bottom: 25px;
}

.ti-search-title {
    font-size: 2.2em;
    color: var(--ti-text);
    margin-bottom: 10px;
    font-weight: 700;
}

.ti-search-meta {
    color: var(--ti-text-secondary);
    font-size: 1.1em;
}

.ti-results-count {
    font-weight: 500;
}

.ti-search-box-section {
    max-width: 600px;
    margin: 0 auto;
}

.ti-search-filters {
    margin-bottom: 30px;
    padding: 0 20px;
    text-align: center;
}

.ti-filter-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--ti-bg-light);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--ti-border-light);
}

.ti-filter-tab {
    display: inline-block;
    padding: 10px 18px;
    background: var(--ti-white);
    border: 1px solid var(--ti-border-light);
    border-radius: 8px;
    text-decoration: none;
    color: var(--ti-text);
    font-weight: 500;
    font-size: 0.9em;
    transition: all 0.2s ease;
}

.ti-filter-tab:hover,
.ti-filter-tab.active {
    background: var(--ti-primary);
    color: var(--ti-white);
    border-color: var(--ti-primary);
    text-decoration: none;
}

.ti-search-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
    padding: 0 20px;
    margin-bottom: 40px;
}

.ti-search-pagination {
    text-align: center;
    padding: 30px 20px;
}

.ti-search-pagination .page-numbers {
    display: inline-block;
    padding: 10px 15px;
    margin: 0 5px;
    background: var(--ti-white);
    border: 1px solid var(--ti-border-light);
    border-radius: 6px;
    text-decoration: none;
    color: var(--ti-text);
    font-weight: 500;
    transition: all 0.2s ease;
}

.ti-search-pagination .page-numbers:hover,
.ti-search-pagination .page-numbers.current {
    background: var(--ti-primary);
    color: var(--ti-white);
    border-color: var(--ti-primary);
    text-decoration: none;
}

/* No Results Section */
.ti-no-results {
    text-align: center;
    padding: 60px 20px;
}

.ti-no-results-content {
    max-width: 800px;
    margin: 0 auto;
}

.ti-no-results h2 {
    font-size: 1.8em;
    color: var(--ti-text);
    margin-bottom: 30px;
}

.ti-search-suggestions {
    margin-bottom: 40px;
}

.ti-search-suggestions h3 {
    font-size: 1.3em;
    color: var(--ti-text);
    margin-bottom: 20px;
}

.ti-suggestion-tags {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
}

.ti-suggestion-tag {
    display: inline-block;
    padding: 10px 20px;
    background: var(--ti-bg-light);
    border: 1px solid var(--ti-border-light);
    border-radius: 20px;
    text-decoration: none;
    color: var(--ti-text);
    font-weight: 500;
    transition: all 0.2s ease;
}

.ti-suggestion-tag:hover {
    background: var(--ti-primary);
    color: var(--ti-white);
    border-color: var(--ti-primary);
    text-decoration: none;
}

.ti-popular-alternatives {
    margin-bottom: 40px;
}

.ti-popular-alternatives h3 {
    font-size: 1.4em;
    color: var(--ti-text);
    margin-bottom: 25px;
}

.ti-popular-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 15px;
    max-width: 600px;
    margin: 0 auto;
}

.ti-popular-item {
    background: var(--ti-white);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
}

.ti-popular-item:hover {
    transform: translateY(-2px);
}

.ti-popular-link {
    display: block;
    text-decoration: none;
    color: var(--ti-text);
}

.ti-popular-link:hover {
    text-decoration: none;
    color: var(--ti-text);
}

.ti-popular-image {
    width: 100%;
    height: 120px;
    object-fit: cover;
}

.ti-popular-info {
    padding: 12px;
}

.ti-popular-name {
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 0.9em;
}

.ti-popular-cuisine {
    font-size: 0.8em;
    color: var(--ti-text-secondary);
}

.ti-search-help {
    margin-top: 30px;
}

.ti-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.ti-btn-primary {
    background: var(--ti-primary);
    color: var(--ti-white);
}

.ti-btn-primary:hover {
    background: var(--ti-primary-dark);
    text-decoration: none;
    color: var(--ti-white);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .ti-search-title {
        font-size: 1.8em;
    }
    
    .ti-search-results-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .ti-filter-tabs {
        flex-direction: column;
        align-items: center;
    }
    
    .ti-filter-tab {
        width: 200px;
        text-align: center;
    }
    
    .ti-suggestion-tags {
        flex-direction: column;
        align-items: center;
    }
    
    .ti-suggestion-tag {
        width: 200px;
        text-align: center;
    }
    
    .ti-popular-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =============================================================================
   SIDEBAR - WordPress Compatible
   ============================================================================= */
.ti-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ti-sidebar-section {
    background: var(--ti-white) !important;
    border-radius: 4px !important;
    border: 1px solid var(--ti-border) !important;
    padding: 20px !important;
    margin: 0 !important;
}

.ti-sidebar-title {
    font-size: 1.1em !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-font-family) !important;
}

/* Sidebar Lists */
.ti-sidebar-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ti-sidebar-list li {
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--ti-border-light) !important;
    margin: 0 !important;
}

.ti-sidebar-list li:last-child {
    border-bottom: none !important;
}

.ti-sidebar-list a {
    text-decoration: none !important;
    color: var(--ti-text-light) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 0.9em !important;
    transition: var(--ti-transition) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ti-sidebar-list a:hover {
    color: var(--ti-primary) !important;
    text-decoration: none !important;
}

.ti-count {
    color: var(--ti-text-meta) !important;
    font-size: 0.8em !important;
}

/* Perfect For List */
.ti-perfect-for-list {
    display: flex;
    flex-direction: column;
    gap: var(--ti-spacing-sm);
}

.ti-perfect-for-item {
    padding: 10px 12px;
    background: #f7f7f7;
    border-radius: var(--ti-border-radius);
    text-decoration: none;
    color: var(--ti-text-light);
    font-size: 0.9em;
    transition: var(--ti-transition);
}

.ti-perfect-for-item:hover {
    background: #e8e8e8;
    color: var(--ti-primary);
}

/* Quick Info */
.ti-quick-info {
    list-style: none;
}

.ti-quick-info li {
    padding: 6px 0;
    color: var(--ti-text-light);
    font-size: 0.9em;
}

.ti-quick-info strong {
    color: var(--ti-text);
}

/* =============================================================================
   BUTTONS & ACTIONS
   ============================================================================= */
.ti-action-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ti-action-btn {
    padding: 12px;
    background: var(--ti-primary);
    color: var(--ti-white);
    text-decoration: none;
    border-radius: var(--ti-border-radius);
    text-align: center;
    font-weight: 600;
    transition: var(--ti-transition);
    border: none;
    cursor: pointer;
}

.ti-action-btn:hover {
    background: var(--ti-primary-dark);
    text-decoration: none;
    color: var(--ti-white);
}

.ti-action-btn.secondary {
    background: var(--ti-white);
    color: var(--ti-primary);
    border: 1px solid var(--ti-primary);
}

.ti-action-btn.secondary:hover {
    background: var(--ti-primary-light);
}

/* Button Colors */
.ti-action-btn.doordash {
    background: #ff6b35;
}

.ti-action-btn.ubereats {
    background: #00b2a0;
}

.ti-action-btn.claim {
    background: #f39c12;
}

/* =============================================================================
   CONTACT & HOURS
   ============================================================================= */
.ti-contact-grid {
    display: grid;
    gap: 12px;
}

.ti-contact-item {
    display: flex;
    align-items: center;
    gap: var(--ti-spacing-sm);
    font-size: 0.9em;
}

.ti-contact-item a {
    color: var(--ti-primary);
    text-decoration: none;
}

.ti-contact-item a:hover {
    text-decoration: underline;
}

.ti-hours-grid {
    display: grid;
    gap: var(--ti-spacing-xs);
}

.ti-hour-row {
    display: flex;
    justify-content: space-between;
    padding: var(--ti-spacing-xs) 0;
    font-size: 0.9em;
}

.ti-day {
    font-weight: 500;
}

.ti-time {
    color: var(--ti-text-light);
}

/* =============================================================================
   REVIEWS
   ============================================================================= */
.ti-reviews-grid {
    display: grid;
    gap: var(--ti-spacing-md);
}

.ti-review-item {
    padding: var(--ti-spacing-md);
    background: #fafafa;
    border-radius: var(--ti-border-radius);
    border: 1px solid var(--ti-border-light);
}

.ti-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--ti-spacing-sm);
}

.ti-reviewer-name {
    font-weight: 600;
    color: var(--ti-text);
}

.ti-review-rating {
    color: var(--ti-star);
}

.ti-review-text {
    color: var(--ti-text);
    line-height: 1.4;
    margin-bottom: 6px;
}

.ti-review-date {
    color: var(--ti-text-meta);
    font-size: 0.85em;
}

/* =============================================================================
   AD SPACES
   ============================================================================= */
.ti-ad-space {
    background: var(--ti-ad-bg);
    border: 1px dashed var(--ti-ad-border);
    padding: 20px;
    text-align: center;
    color: var(--ti-ad-text);
    font-size: 0.9em;
    border-radius: var(--ti-border-radius);
}

.ti-ad-inline {
    margin: var(--ti-spacing-md) 20px;
}

.ti-ad-premium {
    padding: 40px 20px;
}

/* =============================================================================
   RESPONSIVE DESIGN - Additional Mobile Rules
   ============================================================================= */
/* Note: Main mobile grid rules are in first @media section above */
/* Orphaned mobile styles removed - consolidate with main mobile section if needed */
}

/* =============================================================================
   WORDPRESS THEME OVERRIDE FIXES
   ============================================================================= */

/* Force our font family everywhere */
.tyler-insider-homepage,
.tyler-insider-homepage * {
    font-family: var(--ti-font-family) !important;
}

/* Remove WordPress theme margins/padding that break our layout */
.tyler-insider-homepage .ti-content-area,
.tyler-insider-homepage .ti-sidebar,
.tyler-insider-homepage .ti-search-section,
.tyler-insider-homepage .ti-filters {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Removed - duplicate of homepage main layout grid above */

/* Fix any WordPress link styling interference */
.tyler-insider-homepage a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Fix WordPress list styling interference */
.tyler-insider-homepage ul,
.tyler-insider-homepage ol {
    margin: 0 !important;
    padding: 0 !important;
}

/* Results Header Styles */
.ti-results-header {
    padding: 20px !important;
    border-bottom: 1px solid var(--ti-border) !important;
    margin: 0 !important;
    background: var(--ti-white) !important;
}

.ti-results-title {
    font-size: 1.4em !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    color: var(--ti-text) !important;
    font-family: var(--ti-font-family) !important;
}

.ti-results-count {
    color: var(--ti-text-light) !important;
    font-size: 0.9em !important;
    margin: 0 !important;
}

/* =============================================================================
   UTILITY CLASSES - WordPress Compatible
   ============================================================================= */
/* Removed unused utility classes - not referenced in templates */

.ti-hidden { display: none !important; }
.ti-visible { display: block !important; }

/* WordPress Content Fixes */
.ti-wp-content p {
    margin-bottom: 16px !important;
    color: var(--ti-text) !important;
    line-height: 1.5 !important;
}

.ti-wp-content p:last-child {
    margin-bottom: 0 !important;
}

/* ===== HEADER GAP FIX - AGGRESSIVE ===== */
/* Remove ALL possible gaps between header and homepage content */

/* Additional homepage container resets */
.home [data-colibri-id],
.home .ct-page-title-container,
.home .hero-section,
.home #page,
.home #content,
.home .site,
.home .site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Force header to have no bottom spacing */
.home header,
.home .site-header,
.home #site-header,
.home .header,
.home .main-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Targeted margin resets - homepage only */
.home .site-header,
.home .site-main,
.home #main,
.home #primary,
.home .entry-content,
.home article,
.home .content-area,
.home .hentry,
.home .entry,
.home .ct-container,
.home .ct-container-fluid,
.home main,
.home .main-content {
    margin-top: 0 !important;
}

/* Essential Single Business Template Classes */
/* Breadcrumb styling removed - using theme defaults */
/* =============================================================================
   📦 CONSOLIDATED CONTAINER SYSTEM - Unified layout containers
   
   Philosophy: DRY principle - one base container, extend with specifics
   
   Container Classes:
   - .ti-container        → Generic content container
   - .ti-category-page    → Category listing pages  
   - .ti-homepage         → Homepage content (custom padding)
   - .ti-main-container   → Main content areas
   
   All inherit: max-width constraint, center alignment, consistent padding
   Benefits: Change one rule, updates entire site layout
   ============================================================================= */

/* 🎯 BASE CONTAINER - Shared properties for all content containers */
.ti-container,
.ti-category-page,
.ti-homepage,
.ti-main-container {
    max-width: var(--ti-max-width);  /* Constrain content width (1200px) */
    margin: 0 auto;                  /* Center container horizontally */
    padding: 20px;                   /* Consistent inner spacing */
}

/* Homepage container - custom padding */
.ti-homepage {
    padding: 0 20px 20px 20px;
}

.ti-main-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 30px; }
.single-business .ti-main-content { background: var(--ti-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); overflow: hidden; }
.single-business .ti-business-header { padding: 13px 20px 0 20px; }
.single-business .ti-business-title { font-size: 2.5em; font-weight: 700; color: var(--ti-text); margin: 0 0 5px 0; line-height: 1.1; }
.single-business .ti-business-subtitle { color: var(--ti-text-light); font-size: 1.15em; margin: 0 0 10px 0; }
.single-business .ti-business-meta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 0 20px 6px 20px; border-bottom: none !important; margin: 0 0 6px 0; }
/* CRITICAL: Remove grey line and tighten spacing - AGGRESSIVE OVERRIDE */
.single-business .ti-business-meta::after { display: none !important; }
.single-business .ti-featured-image { margin-top: 0 !important; }

/* NUCLEAR OPTION: Ultra-aggressive layout fixes that should be impossible to miss */
.single-business .ti-business-meta { 
    border-bottom: none !important; 
    border: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.single-business .ti-featured-image { 
    margin-top: -10px !important; 
    margin-bottom: 0 !important;
}
.single-business .ti-rating-group { display: flex !important; align-items: center !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; }
.single-business .ti-stars { margin: 0 !important; padding: 0 !important; display: inline-block !important; }
/* Simplified: Remove deep nesting for rating group */
.ti-rating-group:first-child { margin-left: 0 !important; padding-left: 0 !important; }
.single-business .ti-rating-value { font-size: 1.1em; }
.single-business .ti-price-level { font-size: 1.2em; font-weight: 600; color: var(--ti-price-indicator); padding-left: 15px; border-left: 1px solid var(--ti-border-light); }
.single-business .ti-cuisine-tag { color: var(--ti-text-light); padding: 6px 12px; background: var(--ti-border-light); border-radius: 20px; font-size: 0.9em; }
.single-business .ti-featured-image { 
    margin: 0 !important; 
    display: block !important; 
    clear: both !important; 
    position: static !important; 
    height: auto !important;
    width: 100% !important;
    overflow: visible !important;
}
.single-business .ti-main-image { 
    width: 100% !important; 
    height: auto !important; 
    display: block !important; 
    position: static !important; 
    max-width: 100% !important;
}
.single-business .ti-section { padding: 15px 30px !important; clear: both !important; display: block !important; position: static !important; margin-top: 0 !important; }
.single-business .ti-section:first-of-type { margin-top: 20px !important; }
.single-business .ti-featured-quote { background: #f8fafc; border-left: 4px solid #3b82f6; border-radius: 8px; padding: 20px; margin: 12px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.05); border: 1px solid #e2e8f0; }
.single-business .ti-quote-text { font-size: 1.2em; font-style: italic; line-height: 1.6; color: var(--ti-quote-text); margin: 0 0 12px 0; font-weight: 500; }
.single-business .ti-quote-attribution { color: var(--ti-quote-attribution); font-size: 1em; font-weight: 600; }
.single-business .ti-section-title { font-size: 1.5em; font-weight: 600; color: var(--ti-text); margin: 0 0 15px 0; }
.single-business .ti-section-subtitle { font-size: 1.25em; font-weight: 600; color: var(--ti-text); margin: 0 0 12px 0; }
.single-business .ti-decision-factors { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.single-business .ti-factor-tag { background: var(--ti-factor-bg); color: var(--ti-factor-text); padding: 10px 18px; border-radius: 25px; font-size: 0.95em; font-weight: 600; display: inline-flex; align-items: center; gap: var(--ti-spacing-sm); transition: var(--ti-transition); border: 1px solid var(--ti-factor-border); }
.single-business .ti-factor-tag:hover { background: #bbf7d0; transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.single-business .ti-factor-check { color: var(--ti-factor-check); font-weight: bold; }
.single-business .ti-use-cases { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.single-business .ti-use-case-tag { background: var(--ti-use-case-bg); color: var(--ti-use-case-text); padding: 10px 18px; border-radius: 25px; font-size: 0.95em; border: 1px solid var(--ti-use-case-border); font-weight: 500; transition: var(--ti-transition); }
.single-business .ti-use-case-tag:hover { background: #e9ecef; transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.single-business .ti-sidebar { display: flex; flex-direction: column; gap: 20px; }
.single-business .ti-sidebar-widget { background: var(--ti-white); border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px; }
.single-business .ti-widget-title { font-size: 1.15em; font-weight: 700; margin: 0 0 15px 0; color: var(--ti-text); }
.single-business .ti-action-buttons { display: flex; flex-direction: column; gap: 10px; }
/* OLD TI-BTN SYSTEM - Removed dead code block */
.single-business .ti-affiliate-note { margin-top: 15px; font-size: 0.8em; color: #6b7280; text-align: center; }
.single-business .ti-info-list { line-height: 1.8; }
.single-business .ti-info-item { margin-bottom: 10px; }
.single-business .ti-contact-info { line-height: 1.8; }
.single-business .ti-contact-item { margin-bottom: 16px; }
.single-business .ti-contact-label { font-weight: 600; margin-bottom: 4px; }
.single-business .ti-contact-value { text-decoration: none; }
.single-business .ti-contact-value.ti-hours { white-space: pre-wrap; line-height: 1.5; }
.single-business .ti-hours-section { padding: 4px 0; }
.single-business .ti-hours-row { 
    display: flex;
    justify-content: space-between;
    padding: 10px 16px; 
    margin: 0 -16px;
    border-bottom: 1px solid #f3f4f6;
    align-items: center;
}
.single-business .ti-hours-row:last-child { border-bottom: none; }
.single-business .ti-hours-row:hover { background-color: #fafafa; }
.single-business .ti-hours-day { 
    font-weight: 600; 
    color: #1f2937;
    font-size: 0.95em;
}
.single-business .ti-hours-time { 
    color: #4b5563;
    font-size: 0.95em;
    text-align: right;
}
.ti-category-header { text-align: center; margin-bottom: 40px; padding: 30px 20px; background: var(--ti-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.ti-category-title { font-size: 2.5em; font-weight: 700; color: var(--ti-text); margin: 0 0 15px 0; }
.ti-category-description { color: var(--ti-text-light); font-size: 1.1em; margin: 0 0 20px 0; }
.ti-results-count { color: var(--ti-text-light); font-weight: 600; }
.ti-businesses-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 25px; margin-bottom: 40px; }

.ti-business-card { background: var(--ti-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); overflow: hidden; transition: var(--ti-transition); }
.ti-business-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.ti-business-image { position: relative; overflow: hidden; height: 200px; }
.ti-card-image { width: 100%; height: 100%; object-fit: cover; }
.ti-placeholder-image { display: flex; align-items: center; justify-content: center; background: #f8f9fa; height: 100%; }
.ti-placeholder-icon { font-size: 3em; opacity: 0.3; }
.ti-business-info { padding: 20px; }
.ti-business-name { font-size: 1.4em; font-weight: 700; margin: 0 0 15px 0; }
.ti-business-name a { color: var(--ti-text); text-decoration: none; }
.ti-business-name a:hover { color: var(--ti-primary); }
.ti-card-quote { color: var(--ti-text-light); font-style: italic; margin: 10px 0 15px 0; font-size: 0.95em; }
.ti-card-description { color: var(--ti-text-light); margin: 10px 0 15px 0; font-size: 0.95em; }
.ti-card-actions { margin-top: 15px; }
.ti-view-btn { display: inline-block; background: var(--ti-primary); color: var(--ti-white); padding: 10px 20px; border-radius: 6px; text-decoration: none; font-weight: 600; transition: var(--ti-transition); }
.ti-view-btn:hover { background: var(--ti-primary-dark); color: var(--ti-white); text-decoration: none; }
.ti-no-businesses { text-align: center; padding: 60px 20px; background: var(--ti-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.ti-pagination { margin-top: 40px; text-align: center; }

/* Hero section - rebalanced spacing for better visual hierarchy */
.home .ti-hero-section.tyler-breakout {
    margin-top: -30px !important;
    text-align: center !important; 
    padding: 25px 20px 20px 20px !important; 
    background: var(--ti-primary) !important; 
    color: var(--ti-white) !important;
}
.ti-hero-title { font-size: 2.8em; font-weight: 700; margin: 0 0 8px 0; color: var(--ti-white) !important; }
.ti-hero-subtitle { font-size: 1.2em; margin: 0 0 20px 0; opacity: 0.95; color: var(--ti-white) !important; }
.ti-search-box { max-width: 500px; margin: 0 auto; display: flex; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.ti-search-input { flex: 1; padding: 16px 20px; border: none; font-size: 1.1em; color: #333 !important; }
.ti-search-input:focus { outline: none; }
.ti-search-btn { background: var(--ti-white); color: var(--ti-primary); border: none; padding: 16px 24px; font-weight: 600; cursor: pointer; transition: var(--ti-transition); }
.ti-search-btn:hover { background: #f3f4f6; }

/* Filters section specific styling */
.ti-filters.tyler-breakout {
    background: var(--ti-white); 
    padding: 25px 0; 
    border-top: none; 
    border-bottom: 2px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.ti-filter-tabs { display: flex; justify-content: center; gap: 0; flex-wrap: wrap; max-width: var(--ti-max-width); margin: 0 auto; padding: 0 20px; }
.ti-filter-tab { 
    padding: 15px 25px; 
    background: var(--ti-white); 
    border: 1px solid #ddd; 
    color: #666; 
    text-decoration: none; 
    font-weight: 500; 
    transition: var(--ti-transition); 
    font-size: 1em;
    min-width: 100px;
    text-align: center;
}
.ti-filter-tab:first-child { border-radius: 8px 0 0 8px; }
.ti-filter-tab:last-child { border-radius: 0 8px 8px 0; border-right: 1px solid #ddd; }
.ti-filter-tab:not(:last-child) { border-right: none; }
.ti-filter-tab:hover, .ti-filter-tab.active { background: var(--ti-primary); color: var(--ti-white); text-decoration: none; border-color: var(--ti-primary); }
.ti-results-header { margin-bottom: 30px; text-align: center; }
.ti-results-title { font-size: 2em; font-weight: 700; color: var(--ti-text); margin: 0 0 10px 0; }
.ti-results-count { color: var(--ti-text-light); font-size: 1.1em; }
.ti-ad-space { background: #f8f9fa; border: 2px dashed #dee2e6; padding: 30px; text-align: center; border-radius: 8px; margin: 20px 0; }
.ti-sidebar-section { background: var(--ti-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); padding: 20px; margin-bottom: 25px; }
.ti-sidebar-title { font-size: 1.2em; font-weight: 700; margin: 0 0 15px 0; color: var(--ti-text); }
.ti-sidebar-list { list-style: none; margin: 0; padding: 0; }
.ti-sidebar-list li { margin-bottom: 8px; }
.ti-sidebar-list a { color: var(--ti-text); text-decoration: none; display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.ti-sidebar-list a:hover { color: var(--ti-primary); }
.ti-count { color: var(--ti-text-light); font-size: 0.9em; }
.ti-perfect-for-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ti-perfect-for-item { display: inline-block; background: #f8f9fa; color: var(--ti-text); padding: 8px 12px; border-radius: 15px; text-decoration: none; font-size: 0.9em; transition: var(--ti-transition); }
.ti-perfect-for-item:hover { background: var(--ti-primary); color: var(--ti-white); text-decoration: none; }
/* Removed - consolidated into main responsive block */

/* Hide Contact Info sections on desktop - user requested removal */
@media (min-width: 769px) {
    /* Hide entire sidebar Contact Information widget */
    .ti-sidebar-widget:nth-child(4),
    .ti-sidebar-widget:has(.ti-contact-info) {
        display: none !important;
    }

    /* Hide mobile contact section on desktop */
    .ti-mobile-contact-section {
        display: none !important;
    }

    /* Alternative selectors for Contact Information - multiple approaches */
    .ti-contact-info,
    .ti-widget-title:contains("📍"),
    h3[class*="widget-title"]:nth-of-type(4) {
        display: none !important;
    }

    /* Specific targeting by content structure */
    .ti-sidebar .ti-sidebar-widget:last-of-type {
        display: none !important;
    }
}