/* Single-listing styles (extracted from single-listing.php inline block, v2.14.20).
 * Auto-generated by bin/extract-template-css.py — do not hand-edit.
 * Re-run the script after touching the source template's inline CSS. */

/* AUTO PERFORMANCE OPTIMIZATION - Critical CSS Inline (450ms render blocking savings) */
/* v2.16.2 (Layer 4 CSS hardening): body / html rules and the bare
 * `main, article` entries in the content-wrappers list scoped under
 * body.tkd-active so they never leak to non-plugin pages. `html` keeps
 * its bare form (cannot be scoped under body) but the rule only zeroes
 * out admin-bar offset for the single-listing template; the file is
 * template-specific via TURNKEYDIR_Public::enqueue_styles() so the leak window
 * is single-listing pages only even before scoping. */
html { margin-top: 0 !important; }
body.tkd-active { margin: 0 !important; padding: 0 !important; background: var(--tkd-main-bg-color) !important; font-family: var(--tkd-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif) !important; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Plugin content area: scope width overrides to content wrappers ONLY.
 * v2.14.10: stopped overriding top-level site wrappers that contain the header.
 * v2.16.2: the bare `main` and `article` entries are now scoped under
 * body.tkd-active so they only zero-out theme content padding on plugin
 * pages — previously they would have matched any `<main>` / `<article>`
 * on a non-plugin page if the file ever loaded there. */
body.tkd-active .site-content, body.tkd-active .content-area, body.tkd-active .site-main,
body.tkd-active main, body.tkd-active article, body.tkd-active .entry-content, body.tkd-active .entry-content-wrap,
body.tkd-active #primary, body.tkd-active #content,
body.tkd-active .container, body.tkd-active .content-bg {
    margin-top: 0 !important; padding-top: 0 !important;
    width: 100% !important; max-width: 100% !important;
    padding-left: 0 !important; padding-right: 0 !important;
    float: none !important; box-sizing: border-box !important;
}
.content-area { margin: 0 !important; }
.entry-content-wrap { padding: 0 !important; }
.entry.single-entry, .content-style-boxed .entry { box-shadow: none !important; background: transparent !important; }
/* Phase 2-3: Allow full business name display - removed line clamp to prevent text cut-off */
.glass-business-name { font-size: var(--tkd-h1-size, 32px) !important; font-weight: var(--tkd-h1-weight, 700) !important; line-height: var(--tkd-line-height, 1.3) !important; letter-spacing: var(--tkd-letter-spacing, 0) !important; text-transform: var(--tkd-text-transform, none) !important; font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; margin: 0 0 12px 0 !important; padding: 0 !important; color: #fff; max-height: none !important; min-height: auto !important; overflow: visible !important; word-wrap: break-word !important; word-break: break-word !important; overflow-wrap: break-word !important; hyphens: auto !important; white-space: normal !important; display: block !important; box-sizing: border-box !important; width: 100% !important; will-change: auto; contain: layout style paint; font-display: swap; }
.glass-business-container { min-height: 100vh; padding: 30px 20px 40px 20px; display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 20px; width: 100%; max-width: 1600px; box-sizing: border-box; margin: 0 auto; justify-content: center; }
.glass-main-card { flex: 1; max-width: 900px; background: var(--tkd-main-bg-color); border-radius: 20px; padding: 40px 15px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); display: flex; flex-direction: column; gap: 20px; box-sizing: border-box; contain: layout style; flex-shrink: 0; order: 2; }
#wpadminbar { display: none !important; } .site-footer, .site-navigation { display: none !important; }

/* CRITICAL MOBILE FIX - Must be in inline CSS to override above styles */
@media (max-width: 768px) {
    /* Body Reset */
    body.tkd-active{width:100%!important;max-width:100%!important;overflow-x:hidden!important;margin:0!important;padding:0!important}
    
    /* Main Container - Full Width */
    .glass-business-container{display:block!important;width:100%!important;max-width:100%!important;padding:8px 0 16px 0!important;margin:0!important;grid-template-columns:none!important;min-height:auto!important}
    
    /* Main Card - Full Width with Minimal Side Padding */
    .glass-main-card{width:100%!important;max-width:100%!important;padding:0 6px!important;margin:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;background:transparent!important}
    
    /* Hide Sidebars */
    .glass-ad-sidebar-left,.glass-ad-sidebar-right,[class*="glass-ad-sidebar"]{display:none!important;visibility:hidden!important;position:fixed!important;left:-9999px!important;width:0!important;height:0!important}
    
    /* Card Wrappers - Full Width */
    .glass-card-wrapper{width:100%!important;max-width:100%!important;min-height:auto!important;margin:0 0 10px 0!important}
    .glass-card-wrapper.main-card,.glass-card-wrapper.compact-card,.glass-card-wrapper.wide-card,.glass-card-wrapper.banner-card{min-height:auto!important;height:auto!important}
    .glass-card-top{min-height:auto!important;height:auto!important;border-radius:16px!important}
    .glass-card-content{padding:16px 14px!important;min-height:auto!important;height:auto!important}
    
    /* Business Name - Mobile Size - Phase 2-3: Allow full text */
    .glass-business-name{font-size:22px!important;line-height:1.3!important;max-height:none!important;overflow:visible!important;display:block!important;white-space:normal!important}
    .glass-business-subtitle{font-size:14px!important;margin:0 0 12px 0!important}
    
    /* NUCLEAR OVERRIDE: Prevent position-center from centering on mobile */
    html body .glass-card-wrapper.main-card.position-center,
    body .glass-card-wrapper.main-card.position-center,
    .glass-card-wrapper.main-card.position-center{display:block!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;text-align:left!important}
    html body .glass-card-wrapper.main-card.position-center .glass-card-top,
    body .glass-card-wrapper.main-card.position-center .glass-card-top,
    .glass-card-wrapper.main-card.position-center .glass-card-top{display:block!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;text-align:left!important;width:100%!important}
    html body .glass-card-wrapper.main-card .glass-card-content,
    body .glass-card-wrapper.main-card .glass-card-content,
    .glass-card-wrapper.main-card .glass-card-content,
    .glass-card-content{text-align:left!important;display:block!important;width:100%!important}
    
    /* Rating Section - Single Line, Left Aligned - MAXIMUM SPECIFICITY */
    html body .glass-card-wrapper.main-card .glass-card-content .glass-rating-section,
    body .glass-card-wrapper.main-card .glass-card-content .glass-rating-section,
    .glass-card-wrapper.main-card .glass-card-content .glass-rating-section,
    .glass-card-wrapper.main-card .glass-rating-section,
    .glass-rating-section{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;white-space:nowrap!important;margin:0 0 12px 0!important;margin-left:0!important;margin-right:0!important;margin-top:0!important;padding:0!important;text-align:left!important;width:auto!important;max-width:100%!important;float:none!important}
    html body .glass-card-wrapper.main-card .glass-rating-section .glass-stars,
    body .glass-card-wrapper.main-card .glass-rating-section .glass-stars,
    .glass-card-wrapper.main-card .glass-rating-section .glass-stars,
    .glass-rating-section .glass-stars,
    .glass-stars{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;flex-shrink:0!important;gap:1px!important;padding:0!important;margin:0!important;float:none!important}
    html body .glass-card-wrapper.main-card .glass-rating-section .glass-star,
    body .glass-card-wrapper.main-card .glass-rating-section .glass-star,
    .glass-card-wrapper.main-card .glass-rating-section .glass-star,
    .glass-rating-section .glass-star,
    .glass-star{font-size:14px!important;line-height:1!important;margin:0!important;display:inline-block!important;float:none!important}
    html body .glass-card-wrapper.main-card .glass-rating-section .glass-rating-number,
    body .glass-card-wrapper.main-card .glass-rating-section .glass-rating-number,
    .glass-card-wrapper.main-card .glass-rating-section .glass-rating-number,
    .glass-rating-section .glass-rating-number,
    .glass-rating-number{display:inline-block!important;flex-shrink:0!important;white-space:nowrap!important;font-size:14px!important;font-weight:600!important;margin:0!important;float:none!important}
    html body .glass-card-wrapper.main-card .glass-rating-section .glass-review-wrapper,
    body .glass-card-wrapper.main-card .glass-rating-section .glass-review-wrapper,
    .glass-card-wrapper.main-card .glass-rating-section .glass-review-wrapper,
    .glass-rating-section .glass-review-wrapper,
    .glass-review-wrapper{display:inline-flex!important;align-items:center!important;flex-shrink:0!important;white-space:nowrap!important;font-size:13px!important;margin:0!important;float:none!important}
    
    /* Two Column Layout - Stack Vertically */
    .glass-two-column-container{display:flex!important;flex-direction:column!important;gap:0!important}
    .glass-column,.glass-column-left,.glass-column-right{flex:none!important;width:100%!important;max-width:100%!important}
    
    /* Featured Image */
    .glass-featured-image-container{width:100%!important;margin:14px 0!important}
    .glass-featured-image{width:100%!important;height:220px!important;border-radius:12px!important}
    .mapillary-progressive-container{height:220px!important;min-height:180px!important}
    
    /* Mapillary Overlay Elements - Mobile Optimized */
    .mapillary-click-overlay{background:rgba(0,0,0,0.35)!important;padding:12px!important;gap:8px!important}
    .mapillary-play-button{width:56px!important;height:56px!important;box-shadow:0 3px 12px rgba(0,0,0,0.25)!important}
    .mapillary-play-button i{font-size:22px!important}
    .mapillary-click-overlay p{margin-top:8px!important;font-size:14px!important;line-height:1.3!important;padding:0 8px!important}
    .mapillary-click-overlay p:first-of-type{margin-top:8px!important;font-size:14px!important;font-weight:600!important}
    .mapillary-click-overlay p:last-of-type{margin-top:4px!important;font-size:12px!important;font-weight:400!important;opacity:0.9!important}
    
    /* Business Name/Location Overlay - Top */
    .glass-mapillary-overlay{height:auto!important;min-height:60px!important;max-height:80px!important;padding:10px 12px!important}
    .glass-overlay-header{display:flex!important;flex-direction:column!important;gap:2px!important}
    .glass-overlay-title{font-size:14px!important;font-weight:600!important;line-height:1.2!important;margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    .glass-overlay-location{font-size:12px!important;line-height:1.2!important;margin:0!important;opacity:0.95!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    
    /* Street View Badge - Bottom */
    .glass-image-controls{padding:8px 0!important;margin-top:8px!important}
    .glass-image-info{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:6px 12px!important;background:rgba(0,0,0,0.6)!important;backdrop-filter:none!important;border-radius:16px!important;font-size:12px!important;font-weight:600!important;color:#fff!important}
    .glass-image-info i{font-size:14px!important;color:#4ade80!important}
    .glass-image-info span{font-size:12px!important;color:#fff!important}
    
    /* Action Buttons - 2x2 Grid */
    .glass-action-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
    .glass-action-btn{min-height:72px!important;flex-direction:column!important;padding:14px 10px!important;border-radius:12px!important}
    
    /* Quick Action Button Colors - Active State (all use brand color) */
    a.glass-action-btn.book-btn,a.glass-action-btn.call-btn,a.glass-action-btn.website-btn,a.glass-action-btn.directions-btn{background:var(--tkd-accent-color)!important;color:#fff!important;border-color:var(--tkd-accent-color)!important}
    a.glass-action-btn.book-btn i,a.glass-action-btn.book-btn span,a.glass-action-btn.call-btn i,a.glass-action-btn.call-btn span,a.glass-action-btn.website-btn i,a.glass-action-btn.website-btn span,a.glass-action-btn.directions-btn i,a.glass-action-btn.directions-btn span{color:#fff!important}
    .glass-action-btn.disabled{background:rgba(128,128,128,0.1)!important;color:rgba(128,128,128,0.5)!important}
    
    /* Social Grid */
    .glass-social-grid-compact{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
    
    /* Map */
    .glass-map-container,#tkd-map{height:220px!important;border-radius:12px!important}
    
    /* Similar Businesses - Center Alignment on Mobile */
    html body .glass-card-wrapper.wide-card.position-center,
    html body .glass-card-wrapper.wide-card.position-center .glass-card-top,
    html body .glass-card-wrapper.wide-card.position-center .glass-card-content,
    body .glass-card-wrapper.wide-card.position-center,
    body .glass-card-wrapper.wide-card.position-center .glass-card-top,
    body .glass-card-wrapper.wide-card.position-center .glass-card-content,
    .glass-card-wrapper.wide-card.position-center,
    .glass-card-wrapper.wide-card.position-center .glass-card-top,
    .glass-card-wrapper.wide-card.position-center .glass-card-content{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}
    
    /* Similar Businesses Items - Center All Content */
    html body .glass-related-item,
    body .glass-related-item,
    .glass-related-item{text-align:center!important}
    html body .glass-related-header,
    body .glass-related-header,
    .glass-related-header{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
    html body .glass-related-business-name,
    body .glass-related-business-name,
    .glass-related-business-name{text-align:center!important;width:100%!important}
    html body .glass-related-business-name a,
    html body .glass-business-link,
    body .glass-related-business-name a,
    body .glass-business-link,
    .glass-related-business-name a,
    .glass-business-link{text-align:center!important;display:block!important;margin:0 auto!important}
    html body .glass-related-rating,
    body .glass-related-rating,
    .glass-related-rating{display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important}
    html body .glass-related-category,
    body .glass-related-category,
    .glass-related-category{text-align:center!important;display:block!important;margin:0 auto!important}
    html body .glass-related-address,
    body .glass-related-address,
    .glass-related-address{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin:0 auto!important}
    html body .glass-related-actions,
    body .glass-related-actions,
    .glass-related-actions{display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important}
    html body .glass-related-status-row,
    body .glass-related-status-row,
    .glass-related-status-row{display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important}
    html body .glass-related-action,
    body .glass-related-action,
    .glass-related-action{text-align:center!important;display:flex!important;justify-content:center!important;margin:0 auto!important}
}

/* About Business Compact Styling */
.glass-about-text {
    position: relative;
}

.glass-about-text p {
    margin: 0;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
}

.glass-read-more-btn {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 4px 0;
    transition: all 0.3s ease;
}

.glass-read-more-btn:hover {
    color: rgba(255, 255, 255, 1);
    transform: translateX(2px);
}

.glass-read-more-btn .glass-chevron {
    font-size: 12px;
    transition: transform 0.3s ease;
}

.glass-read-more-btn.expanded .glass-chevron {
    transform: rotate(180deg);
}

/* Compact card height constraint - REMOVED for social media */
.glass-card-wrapper.compact-card:not(.social-card) .glass-section-content {
    max-height: 120px;
    overflow: visible;
}

/* Non-critical styles */

/* Two Column Layout - Symmetrical Design with better spacing */
.glass-two-column-container {
    display: flex;
    gap: 20px;
    width: 100%;
    align-items: flex-start; /* Allow natural heights */
    justify-content: space-between;
    margin: 0 auto;
    max-width: 100%;
}

.glass-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-width: 0; /* Prevents overflow */
}

.glass-column-left {
    max-width: 100%;
}

.glass-column-right {
    max-width: 100%;
}

/* Symmetrical Card Heights */
.glass-two-column-container .glass-card-wrapper {
    display: flex;
    flex-direction: column;
}

.glass-two-column-container .glass-card-top {
    display: flex;
    flex-direction: column;
}

.glass-two-column-container .glass-card-content {
    display: flex;
    flex-direction: column;
}

.glass-two-column-container .glass-section-content {
    /* Remove flex: 1 to allow natural sizing */
}

/* Glass Card Wrapper - Perfectly Centered */
.glass-card-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%; /* Full width within container */
    min-height: 288px; /* 18em */
    margin: 0 auto; /* Center the cards with no side margins */
}

/* Specialized card sizes - Adjusted for container */
.glass-card-wrapper.main-card {
    min-height: 420px !important; /* Minimum height for main business info */
    max-width: 100%; /* Full width */
    /* Allow card to grow with content */
    height: auto !important;
}

.glass-card-wrapper.compact-card {
    min-height: 160px; /* Shorter for action buttons */
    max-width: 100%; /* Full width */
}

/* Social media cards need less height for icon-only design */
.glass-card-wrapper.compact-card.social-card {
    min-height: 180px; /* Optimized for icon grid */
}

.glass-card-wrapper.banner-card {
    min-height: auto; /* Let ad content control height */
    max-width: 100%; /* Full width */
}

.glass-card-wrapper.wide-card {
    max-width: 100%; /* Full width for content sections */
}

.glass-card-wrapper.tall-card {
    min-height: 400px; /* Taller for reviews/content */
}

.glass-card-wrapper.image-card {
    min-height: 320px; /* Perfect for images */
    max-width: 100%; /* Full width */
}

/* Glass card base styles now in turnkeydir-public.css with dynamic accent color */

/* Two-column cards - Override default min-height */
.glass-two-column-container .glass-card-wrapper {
    min-height: auto !important;
}

.glass-two-column-container .glass-card-top {
    min-height: auto !important;
}

/* Glass Top Card - Base styling (inline to ensure it loads) */
.glass-card-wrapper:not(.banner-card) .glass-card-top {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.90) 0%, rgba(255, 255, 255, 0.85) 100%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.3) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}

/* Specialized glass top heights */
.main-card .glass-card-top {
    min-height: 420px !important;
    /* Allow glass top to grow with content */
    height: auto !important;
}

.compact-card .glass-card-top {
    min-height: 160px;
}

.compact-card.social-card .glass-card-top {
    min-height: 180px;
}

/* Banner cards: Make outer wrapper transparent - only inner glass-ad-banner shows */
.banner-card .glass-card-top {
    min-height: 100px;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Banner cards: Disable hover transform on outer layer */
.banner-card .glass-card-top:hover {
    transform: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.image-card .glass-card-top {
    min-height: 320px;
}

.tall-card .glass-card-top {
    min-height: 400px;
}

/* Border overlays now in turnkeydir-public.css with accent color support */

/* Card Content - Maximized for real estate */
.glass-card-content {
    position: relative;
    z-index: 5; /* Above glass texture overlays */
    padding: 20px 16px;
    /* Remove fixed height to allow content to expand */
    min-height: 100% !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
    color: var(--tkd-text-color);
    box-sizing: border-box;
}

/* Compact card content padding */
.compact-card .glass-card-content {
    padding: 16px 16px; /* Maximized padding for compact cards */
}

/* Business Header - Moved to critical CSS above */

.glass-business-subtitle {
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.3 !important;
    font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), sans-serif;
    margin: 0 0 16px 0 !important;
    color: rgba(255, 255, 255, 0.9);
    /* Constrain to 2 rows maximum */
    max-height: 2.6em !important; /* 2 lines × 1.3 line-height */
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-overflow: ellipsis !important;
}

/* Rating Section */
.glass-rating-section {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 8px 0; /* Reduced gap to status badges */
    flex-wrap: wrap;
}

.glass-stars {
    display: flex;
    align-items: center;
    gap: 1px;
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-star {
    font-size: 16px;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-star.filled {
    color: #ffd700;
}

.glass-star.half {
    color: #ffd700;
    opacity: 0.8;
}

.glass-star.empty {
    color: rgba(255, 255, 255, 0.4);
}

.glass-rating-number {
    font-size: 14px;
    font-weight: 600;
            color: var(--tkd-text-color);
    margin-left: 2px;
}

.glass-review-wrapper {
    font-size: 12px;
    letter-spacing: -0.3px;
    color: rgba(255, 255, 255, 0.8);
}

.glass-reviews-link {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 12px;
    transition: all 0.3s ease;
    cursor: pointer;
    letter-spacing: -0.2px;
}

.glass-reviews-link:hover {
    color: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.9);
    text-decoration: underline;
    transform: translateY(-1px);
}

.glass-reviews-count {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    letter-spacing: -0.2px;
}

/* Status Badges */
.glass-status-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 10px 0;
}

.glass-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
    line-height: 1.2;
}

.glass-status-badge i {
    font-size: 10px;
}

.glass-status-badge.status-open {
    background: rgba(76, 175, 80, 0.15);
    border-color: rgba(76, 175, 80, 0.4);
    color: #81c784;
}

.glass-status-badge.status-closed {
    background: rgba(244, 67, 54, 0.15);
    border-color: rgba(244, 67, 54, 0.4);
    color: #ef9a9a;
}

.glass-status-badge.status-claimed {
    background: rgba(33, 150, 243, 0.15);
    border-color: rgba(33, 150, 243, 0.4);
    color: #90caf9;
}

.glass-status-badge.status-sponsored {
    background: rgba(255, 193, 7, 0.15);
    border-color: rgba(255, 193, 7, 0.4);
    color: #ffe082;
}

.glass-status-badge.status-claim {
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 12px;
}

.glass-status-badge.status-claim:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

/* Hours Container and Dropdown */
.glass-hours-container {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.glass-status-badge.hours-clickable,
#glass-hours-toggle {
    cursor: pointer !important;
    transition: all 0.3s ease;
    opacity: 1 !important;
    font-weight: 600 !important;
    color: var(--tkd-text-color) !important;
}

.glass-status-badge.hours-clickable:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    opacity: 1 !important;
}

.glass-dropdown-arrow {
    margin-left: 4px;
    font-size: 8px;
    transition: transform 0.3s ease;
}

.glass-hours-container.active .glass-dropdown-arrow {
    transform: rotate(180deg);
}

.glass-hours-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 6px;
    /* Frosted glass effect for readability on any background */
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.3) 0%, 
        rgba(255, 255, 255, 0.15) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: all 0.3s ease;
    z-index: 1000;
    min-width: 240px;
    max-width: 300px;
}

.glass-hours-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.glass-hours-list {
    padding: 4px;
}

.glass-hours-row {
    display: flex;
    justify-content: space-between;
            align-items: center;
    padding: 6px 10px;
    border-radius: 6px;
    transition: all 0.3s ease;
    color: var(--tkd-text-color);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.glass-hours-row:hover {
    background: rgba(255, 255, 255, 0.08);
}

.glass-hours-row.glass-today {
    background: rgba(var(--tkd-accent-rgb), 0.25);
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.4);
    font-weight: 600;
    margin-bottom: 2px;
}

.glass-day-name {
    font-weight: 400;
    font-size: 12px;
    color: var(--tkd-text-color);
}

.glass-hours-time {
    font-weight: 400;
    color: var(--tkd-text-color);
    font-size: 12px;
    white-space: nowrap;
}

/* Make only today's row bold */
.glass-hours-row.glass-today .glass-day-name,
.glass-hours-row.glass-today .glass-hours-time {
    font-weight: 600;
}

/* Featured Image Integrated into Main Card */
.glass-featured-image-container {
    margin-top: 24px;
    width: 100%;
}

.glass-featured-image {
    width: 100%;
    height: 300px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    backdrop-filter: none;
}

.glass-featured-image.glass-no-image {
    display: flex;
    flex-direction: column;
    justify-content: space-between !important; /* Changed from center - ensures content and buttons don't overlap */
    align-items: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    position: relative;
    overflow: hidden;
    padding: 32px 24px 24px 24px !important; /* Add padding for spacing */
    min-height: 400px !important; /* Ensure enough height */
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .glass-featured-image.glass-no-image {
        min-height: 420px !important; /* Increased from 350px to fit stacked buttons */
        padding: 24px 16px 80px 16px !important; /* Extra bottom padding for buttons */
        height: auto !important; /* Allow to grow if needed */
    }
}

.glass-fallback-content {
    text-align: center;
    color: rgba(var(--tkd-text-rgb), 0.9);
    padding: 0 24px;
    width: 100%;
    max-width: 600px;
    flex: 1 1 auto !important; /* Allow to grow */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    z-index: 2 !important; /* Above background */
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .glass-fallback-content {
        padding: 0 16px;
        flex: 0 1 auto !important; /* Less flexible on mobile */
    }
}

.glass-fallback-icon {
    font-size: 36px;
    color: rgba(var(--tkd-text-rgb), 0.4);
    margin-bottom: 12px;
    display: block;
}

.glass-fallback-title {
    font-size: 28px;
    font-weight: 700;
    margin: 16px 0 8px;
    color: rgba(var(--tkd-text-rgb), 0.95);
    font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), sans-serif;
    line-height: 1.3 !important;
    word-break: break-word !important; /* Prevent overflow */
    overflow-wrap: break-word !important;
}

.glass-fallback-subtitle {
    font-size: 18px;
    color: rgba(var(--tkd-text-rgb), 0.7);
    margin: 0 0 24px 0;
    font-weight: 500;
    line-height: 1.5 !important;
    word-break: break-word !important; /* Prevent overflow */
    overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
    .glass-fallback-title {
        font-size: 20px;
        margin: 12px 0 6px;
    }
    
    .glass-fallback-subtitle {
        font-size: 14px;
        margin-bottom: 16px;
    }
}

.glass-fallback-message {
    margin-top: 20px;
    text-align: center;
}

.glass-claim-text {
    font-size: 15px;
    color: #d97706;
    margin: 0 0 8px 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.5 !important;
}

.glass-claim-text i {
    color: #f59e0b;
}

.glass-help-text {
    font-size: 14px;
    color: rgba(var(--tkd-text-rgb), 0.65);
    margin: 0;
    line-height: 1.6 !important;
}

@media (max-width: 768px) {
    .glass-claim-text {
        font-size: 14px;
    }
    
    .glass-help-text {
        font-size: 13px;
    }
}

.glass-fallback-actions {
    display: flex;
    gap: 12px;
    margin-top: auto !important; /* Push to bottom */
    padding-top: 24px !important; /* Ensure spacing from content */
    z-index: 3 !important; /* Above content */
    width: 100% !important;
    justify-content: center !important;
    flex-shrink: 0 !important; /* Don't allow shrinking */
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .glass-fallback-actions {
        gap: 10px;
        padding-top: 16px !important;
        padding-bottom: 16px !important; /* Add bottom padding */
        flex-direction: column !important; /* Stack on small screens */
        width: 100% !important;
        align-items: center !important;
        margin-bottom: 0 !important;
        position: relative !important; /* Ensure proper stacking */
        z-index: 10 !important; /* Above any overlapping elements */
    }
    
    .glass-fallback-actions .glass-image-btn {
        width: 100% !important;
        max-width: 280px !important;
        justify-content: center !important;
        min-height: 44px !important; /* Ensure touch-friendly size */
    }
}

.glass-image-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding: 0 4px;
}

.glass-image-info {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(var(--tkd-text-rgb), 0.7);
    font-size: 14px;
    font-weight: 500;
}

.glass-image-info i {
    color: rgba(var(--tkd-accent-rgb), 0.8);
    font-size: 16px;
}



.glass-image-actions {
    display: flex;
    gap: 8px;
}

.glass-image-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: none;
    text-decoration: none;
}

.glass-image-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateZ(0) translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.glass-image-btn.contribute-btn {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
    color: rgba(34, 197, 94, 0.9);
}

.glass-image-btn.contribute-btn:hover {
    background: rgba(34, 197, 94, 0.2);
    border-color: rgba(34, 197, 94, 0.4);
}

/* Fallback overlay button styles - dark text for visibility on light backgrounds */
.glass-no-image .glass-image-btn {
    background: rgba(var(--tkd-text-rgb), 0.08);
    border: 1px solid rgba(var(--tkd-text-rgb), 0.2);
    color: rgba(var(--tkd-text-rgb), 0.85);
}

.glass-no-image .glass-image-btn:hover {
    background: rgba(var(--tkd-text-rgb), 0.12);
    border-color: rgba(var(--tkd-text-rgb), 0.3);
}

.glass-no-image .glass-image-btn.contribute-btn {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.4);
    color: #16a34a;
}

.glass-no-image .glass-image-btn.contribute-btn:hover {
    background: rgba(34, 197, 94, 0.25);
    border-color: rgba(34, 197, 94, 0.5);
}

/* Mapillary Overlay - Business info only, no buttons */
.glass-mapillary-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(
        180deg, 
        rgba(0, 0, 0, 0.6) 0%, 
        rgba(0, 0, 0, 0.3) 70%,
        transparent 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 16px;
    pointer-events: none;
    z-index: 5;
}

.glass-overlay-header {
    pointer-events: none;
}

.glass-overlay-title {
    /* font-size and font-weight now controlled by turnkeydir-typography-unified.css using --tkd-h4-size/weight */
    color: var(--tkd-text-color);
    margin: 0 0 4px 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), sans-serif;
}

.glass-overlay-location {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}



/* Regular Image Overlay */
.glass-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.4));
    padding: 16px;
    display: flex;
    justify-content: flex-end;
}

.glass-image-overlay-actions {
    display: flex;
    gap: 8px;
}

/* Service Icons - Like reference */
.glass-service-icons {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
}

.glass-icon-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 12px;
    color: var(--tkd-text-color);
    transition: all 0.3s ease;
}

.glass-icon-circle.available {
    background: rgba(76, 175, 80, 0.2);
    border-color: rgba(76, 175, 80, 0.4);
    color: #c8e6c9;
}

.glass-icon-circle.unavailable {
    background: rgba(244, 67, 54, 0.1);
    border-color: rgba(244, 67, 54, 0.3);
    color: rgba(255, 255, 255, 0.4);
    opacity: 0.6;
}

.glass-vertical-divider-small {
    width: 1px;
    height: 16px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.3) 50%, transparent);
}

/* Dividers - Exactly like reference */
.glass-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3) 20%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0.3) 80%, transparent);
    margin: 16px 0;
}

.glass-divider-secondary {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2) 20%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0.2) 80%, transparent);
    margin: 8px 0;
    opacity: 0.7;
}

.glass-vertical-divider {
    width: 1px;
    height: 48px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.3) 20%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0.3) 80%, transparent);
    margin: auto 0;
}







/* Section Headers - ENHANCED with Accent Color Decorative Bars (Unified Design) */
.glass-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.2);
    padding-bottom: 8px;
    position: relative;
}

/* UNIFIED DESIGN: Decorative accent bar like city pages */
.glass-section-header::before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, 
        rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.8),
        rgba(255, 215, 0, 0.8),
        rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.8)
    );
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.4);
}

.glass-section-header h3 {
    font-size: var(--tkd-h3-size, 20px);
    font-weight: var(--tkd-h3-weight, 600);
    margin: 0;
    color: var(--tkd-text-color);
    font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.glass-section-header i {
    font-size: 14px;
    opacity: 0.8;
    color: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.9);
}

/* Section Content */
.glass-section-content {
    color: var(--tkd-text-color);
    line-height: 1.6;
    padding: 0 16px !important;
}

.glass-section-content p {
    margin: 0;
    font-size: 13px;
}

/* Symmetrical Contact Grid */
.glass-contact-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.glass-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
    min-height: 20px;
}

.glass-contact-item:hover {
    background: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.08);
    border-color: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.2);
    transform: translateX(2px);
}

.glass-contact-item i {
    width: 18px;
    text-align: center;
    opacity: 0.9;
    color: rgba(var(--tkd-accent-rgb), 0.9);
        font-size: 14px;
    flex-shrink: 0;
}

.glass-contact-item span,
.glass-contact-item a {
    color: var(--tkd-text-color) !important;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 500;
    line-height: 1.4;
}

.glass-contact-item a:hover {
    color: var(--tkd-text-color) !important;
    opacity: 0.8;
}

/* Special styling for business name in contact info */
.glass-contact-item.contact-business-name {
    background: rgba(var(--tkd-accent-rgb), 0.03);
    border-color: rgba(var(--tkd-accent-rgb), 0.15);
    font-weight: 600;
}

.glass-contact-item.contact-business-name i {
    color: rgba(var(--tkd-accent-rgb), 1);
}

.glass-contact-item.contact-business-name span {
    color: var(--tkd-text-color) !important;
    font-weight: 600;
}

/* Service options styling */
.glass-contact-item.service-option {
    background: rgba(34, 197, 94, 0.03);
    border-color: rgba(34, 197, 94, 0.15);
}

.glass-contact-item.service-option i {
    color: rgba(74, 222, 128, 0.9);
}

.glass-contact-item.service-option span {
    color: var(--tkd-text-color) !important;
    font-weight: 500;
}

/* Symmetrical Hours Grid */
.glass-hours-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.glass-hours-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
    min-height: 20px;
}

.glass-hours-item:hover {
    background: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.08);
    border-color: rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.2);
    transform: translateX(2px);
}

.glass-day {
    font-weight: 600;
    min-width: 80px;
    color: rgba(255, 255, 255, 0.95);
    text-transform: capitalize;
}

.glass-hours {
    opacity: 0.8;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
    text-align: right;
}

/* Special styling for "today" in hours */
.glass-hours-item.today {
    background: rgba(var(--tkd-accent-rgb), 0.03);
    border-color: rgba(var(--tkd-accent-rgb), 0.15);
}

.glass-hours-item.today .glass-day {
    color: rgba(var(--tkd-accent-rgb), 1);
}

.glass-hours-item.today .glass-hours {
    color: rgba(255, 255, 255, 0.95);
}

/* Action Buttons Grid */
.glass-action-grid {
            display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.glass-action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 2px solid rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: var(--tkd-text-color);
    transition: all 0.3s ease;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* Active Button States with Clean Glass Effects */
.glass-action-btn.active:hover {
    transform: translateY(-2px) scale(1.02);
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.18) 0%, 
        rgba(255, 255, 255, 0.08) 100%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

/* Active Button State - WHITE background with brand color BORDER and brand color text/icons */
.glass-action-btn.book-btn.active,
.glass-action-btn.website-btn.active,
.glass-action-btn.directions-btn.active,
.glass-action-btn.call-btn.active {
    background: #ffffff !important;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.3) !important; /* 1px to match other cards */
    border-color: rgba(var(--tkd-accent-rgb), 0.3) !important;
    color: var(--tkd-accent-color) !important;
}

.glass-action-btn.book-btn.active:hover,
.glass-action-btn.website-btn.active:hover,
.glass-action-btn.directions-btn.active:hover,
.glass-action-btn.call-btn.active:hover {
    background: rgba(var(--tkd-accent-rgb), 0.08) !important;
    border-color: var(--tkd-accent-color) !important;
    box-shadow: 0 4px 15px rgba(var(--tkd-accent-rgb), 0.2);
    transform: translateY(-2px);
}

.glass-action-btn.book-btn.active i,
.glass-action-btn.book-btn.active span,
.glass-action-btn.website-btn.active i,
.glass-action-btn.website-btn.active span,
.glass-action-btn.directions-btn.active i,
.glass-action-btn.directions-btn.active span,
.glass-action-btn.call-btn.active i,
.glass-action-btn.call-btn.active span {
    color: var(--tkd-accent-color) !important;
}

/* Disabled Button State - Light mode friendly */
.glass-action-btn.disabled {
    background: rgba(200, 200, 200, 0.3) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 2px solid rgba(150, 150, 150, 0.3) !important;
    color: rgba(100, 100, 100, 0.8) !important;
    cursor: not-allowed;
    opacity: 0.6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.glass-action-btn.disabled i,
.glass-action-btn.disabled span {
    color: rgba(100, 100, 100, 0.6) !important;
}

.glass-action-btn.disabled:hover {
    transform: none;
    background: rgba(200, 200, 200, 0.35) !important;
    border-color: rgba(150, 150, 150, 0.35) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Default icon styling for all buttons */
.glass-action-btn i {
    font-size: 18px;
    transition: all 0.3s ease;
}

/* Banner Card */
.glass-card-wrapper.banner-card {
    min-height: auto;
}

/* Sidebar Layout */
.glass-sidebar {
    width: 160px; /* Updated to match new sidebar width */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center; /* Center align sidebar content */
}

.glass-sidebar-left {
    order: -1;
}

.glass-sidebar-right {
    order: 1;
}

/* Ad Banner Styles — deferred to turnkeydir-ad-banners.css; only minimal resets here */
.glass-ad-banner {
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s ease;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.glass-ad-card:not(.tkd-ad-type-fullbleed) {
    min-height: 100px;
}
.glass-ad-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.glass-ad-content {
    color: var(--tkd-text-dark, #1a1a1a);
}
.glass-ad-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: var(--tkd-text-dark, #1a1a1a);
}
.glass-ad-content p {
    font-size: 0.85rem;
    margin: 0 0 16px 0;
    color: var(--tkd-text-dark, #555);
    line-height: 1.6;
}

.glass-banner-content {
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 16px 16px; /* Maximized padding for compact banner */
}

.glass-banner-text {
            display: flex;
            align-items: center;
    gap: 12px;
    font-family: var(--tkd-font-family, 'Plus Jakarta Sans'), sans-serif;
}

.glass-banner-label {
    font-size: 16px;
    font-weight: 600;
    color: white;
    letter-spacing: 1px;
}

.glass-banner-separator {
    font-size: 18px;
    color: rgba(var(--tkd-accent-rgb), 0.8);
    font-weight: 300;
}

.glass-banner-title {
    font-size: 16px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.5px;
}

/* Map Container */
.glass-map-container {
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.2);
    height: 250px;
    margin: 0 -4px; /* Extend slightly beyond card padding */
}

.glass-map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* OpenStreetMap Styling */
#tkd-map {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

/* Leaflet controls styling within glass card */
.leaflet-control-container {
    font-family: inherit;
}

.leaflet-popup-content-wrapper {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: none;
    border-radius: 8px;
}

.leaflet-popup-tip {
    background: rgba(255, 255, 255, 0.95);
}

.glass-map-info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    padding: 12px 0;
}

.glass-status-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 400;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    width: fit-content;
    flex-shrink: 0;
    color: var(--tkd-text-color);
}

.glass-status-indicator i {
    font-size: 10px;
}

.glass-status-indicator.open {
    background: rgba(76, 175, 80, 0.25);
    border-color: rgba(76, 175, 80, 0.5);
    color: var(--tkd-text-color);
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.glass-status-indicator.closed {
    background: rgba(244, 67, 54, 0.25);
    border-color: rgba(244, 67, 54, 0.5);
    color: var(--tkd-text-color);
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.glass-address-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--tkd-text-color);
    padding: 8px 4px;
    line-height: 1.5;
    font-weight: 500;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-address-info i {
    color: rgba(var(--tkd-accent-rgb), 0.9);
}

/* Enhanced Social Grid */
.glass-social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.glass-social-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
    color: white;
    transition: all 0.3s ease;
    font-size: 14px;
    position: relative;
}

.glass-social-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateZ(0) translateY(-2px);
}

.glass-social-item.unavailable {
    opacity: 0.5;
    cursor: default;
}

.glass-social-item .fas, .glass-social-item .fab {
    font-size: 16px;
    color: rgba(var(--tkd-accent-rgb), 0.8);
    min-width: 20px;
}

.glass-social-status {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.glass-social-status.available {
    background: rgba(76, 175, 80, 0.2);
    color: #c8e6c9;
}

.glass-social-status.unavailable {
    background: rgba(244, 67, 54, 0.2);
    color: #ffcdd2;
}

/* Related Businesses - Two Column Layout */
.glass-related-grid-two-column {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
    margin-top: 8px;
    align-items: stretch; /* Ensure equal heights */
    justify-items: stretch; /* Full width items */
}

/* Related Businesses - Single Column Layout (Vertical Stack) */
.glass-related-grid-single-column {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center the compact cards */
    gap: 12px;
    margin-top: 8px;
    width: 100%;
}

.glass-related-item {
    padding: 14px 20px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-height: auto; /* Allow natural height */
    height: auto;
    max-width: 480px; /* Constrain width for compact cards */
    width: 100%;
    box-sizing: border-box;
}

.glass-related-item:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(var(--tkd-accent-rgb), 0.15);
    border-color: rgba(var(--tkd-accent-rgb), 0.3);
}

.glass-related-header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 6px;
    text-align: center;
}

.glass-related-business-name {
    margin: 0;
    flex: 1;
}

.glass-business-link {
    color: white;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: block;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 2px;
    /* Constrain to 2 rows maximum for related businesses */
    max-height: 2.6em !important; /* 2 lines × 1.3 line-height */
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-overflow: ellipsis !important;
}

.glass-business-link:hover {
    color: rgba(var(--tkd-accent-rgb), 1);
    text-decoration: none;
    text-shadow: 0 0 8px rgba(var(--tkd-accent-rgb), 0.4);
    transform: scale(1.02);
}

.glass-related-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.glass-reviews-text {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    margin-left: 2px;
}

.glass-stars .glass-star {
    font-size: 12px;
    color: rgba(var(--tkd-accent-rgb), 0.8);
}

.glass-stars .glass-star.empty {
    color: rgba(255, 255, 255, 0.3);
}

.glass-rating-number {
    font-size: 13px;
    font-weight: 600;
    color: white;
}

.glass-related-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: space-between; /* Distribute content evenly */
    min-height: 70px; /* Even more compact content area */
}

.glass-related-category {
    font-size: 11px;
    color: rgba(var(--tkd-accent-rgb), 0.9);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 600;
    text-align: center;
    background: rgba(var(--tkd-accent-rgb), 0.03);
    padding: 3px 6px;
    border-radius: 8px;
    display: inline-block;
    /* Constrain to 2 rows maximum for related categories */
    max-height: 2.2em !important;
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    line-height: 1.1 !important;
}

.glass-related-address {
            display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 4px;
    text-align: center;
    line-height: 1.3;
    /* Constrain to 2 rows maximum for related addresses */
    max-height: 2.6em !important; /* 2 lines × 1.3 line-height */
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto;
}

.glass-related-address i {
    color: rgba(var(--tkd-accent-rgb), 0.6);
}

.glass-status-badge {
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 8px;
            font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.glass-status-badge.claimed {
    background: rgba(76, 175, 80, 0.15);
    border-color: rgba(76, 175, 80, 0.3);
    color: var(--tkd-text-color);
    font-weight: 500;
}

.glass-status-badge.unclaimed {
    background: rgba(244, 67, 54, 0.15);
    border-color: rgba(244, 67, 54, 0.3);
    color: var(--tkd-text-color);
    font-weight: 500;
}

.glass-status-badge.open {
    background: rgba(76, 175, 80, 0.2);
    border-color: rgba(76, 175, 80, 0.4);
    color: var(--tkd-text-color);
}

.glass-status-badge.closed {
    background: rgba(244, 67, 54, 0.2);
    border-color: rgba(244, 67, 54, 0.4);
    color: var(--tkd-text-color);
}

.glass-status-badge.sponsored {
    background: rgba(var(--tkd-accent-rgb), 0.15);
    border-color: rgba(var(--tkd-accent-rgb), 0.3);
    color: rgba(var(--tkd-accent-rgb), 0.9);
    font-weight: 500;
}

/* Status Row for Related Businesses */
.glass-related-status-row {
            display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    margin-bottom: 2px;
}

/* Business Category - Dynamic color for better visibility */
.glass-related-category {
    color: var(--tkd-text-color) !important;
    font-weight: 600;
    font-size: 11px;
    text-align: center;
    margin-bottom: 4px;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    /* Constrain to 2 rows maximum for related categories */
    max-height: 2.2em !important;
    overflow: hidden !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    line-height: 1.1 !important;
}

/* Quick Action Buttons - Compact */
.glass-related-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    margin: 4px 0;
}

/* Compact action buttons for tasteful design */
.glass-quick-action-btn-large {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.6) !important;
    color: var(--tkd-text-color) !important;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 13px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    text-shadow: none !important;
}

.glass-quick-action-btn-large:hover {
    background: rgba(var(--tkd-accent-rgb), 0.2);
    border-color: rgba(var(--tkd-accent-rgb), 0.4);
    color: var(--tkd-text-color);
    transform: translateZ(0) translateY(-2px);
    text-decoration: none;
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.2);
}

.glass-quick-action-btn-large.call-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.2);
    border-color: rgba(var(--tkd-accent-rgb), 0.4);
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.15);
}

.glass-quick-action-btn-large.website-btn:hover {
    background: rgba(33, 150, 243, 0.2);
    border-color: rgba(33, 150, 243, 0.4);
    box-shadow: 0 4px 8px rgba(33, 150, 243, 0.15);
}

.glass-quick-action-btn-large.directions-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.2);
    border-color: rgba(var(--tkd-accent-rgb), 0.4);
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.2);
}

/* Keep original smaller buttons for fallback */
.glass-quick-action-btn {
            display: flex;
            align-items: center;
            justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.6) !important;
    color: var(--tkd-text-color) !important;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 13px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    text-shadow: none !important;
}

.glass-quick-action-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.3);
    border-color: rgba(var(--tkd-accent-rgb), 0.6);
    color: var(--tkd-text-color);
    transform: translateZ(0) translateY(-2px);
    text-decoration: none;
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.25);
}

.glass-quick-action-btn.call-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.25);
    border-color: rgba(var(--tkd-accent-rgb), 0.5);
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.2);
}

.glass-quick-action-btn.website-btn:hover {
    background: rgba(33, 150, 243, 0.25);
    border-color: rgba(33, 150, 243, 0.5);
    box-shadow: 0 4px 8px rgba(33, 150, 243, 0.2);
}

.glass-quick-action-btn.directions-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.3);
    border-color: rgba(var(--tkd-accent-rgb), 0.6);
    box-shadow: 0 4px 8px rgba(var(--tkd-accent-rgb), 0.25);
}

/* Related Notice - Dynamic accent color */
.glass-related-notice {
            display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px;
    background: rgba(var(--tkd-accent-rgb), 0.03);
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.2);
    border-radius: 8px;
    color: rgba(var(--tkd-accent-rgb), 0.8);
    font-size: 13px;
    margin-top: 12px;
    text-align: center;
    justify-content: center;
    font-weight: 400;
}

/* Original view button */
.glass-view-btn {
            display: flex;
            align-items: center;
            justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.3);
    border-radius: 10px;
    background: rgba(var(--tkd-accent-rgb), 0.03);
    color: white;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: auto;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 2px 6px rgba(var(--tkd-accent-rgb), 0.1);
}

.glass-view-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.25);
    border-color: rgba(var(--tkd-accent-rgb), 0.6);
    color: white;
    text-decoration: none;
    transform: translateZ(0) translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--tkd-accent-rgb), 0.25);
}

/* Related action wrapper for consistent positioning */
.glass-related-action {
    margin-top: auto; /* Push to bottom */
    padding-top: 4px;
    display: flex;
    justify-content: center; /* Center the compact button */
}

/* Smaller view details button - Dynamic accent color */
.glass-view-btn-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 14px;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.5);
    border-radius: 6px;
    background: rgba(var(--tkd-accent-rgb), 0.2);
    color: var(--tkd-text-color);
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    width: auto;
    box-sizing: border-box;
    box-shadow: 0 2px 4px rgba(var(--tkd-accent-rgb), 0.2);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-view-btn-small:hover {
    background: rgba(var(--tkd-accent-rgb), 0.25);
    border-color: rgba(var(--tkd-accent-rgb), 0.5);
    color: var(--tkd-text-color);
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(var(--tkd-accent-rgb), 0.2);
}

.glass-view-btn-small i {
    font-size: 11px;
}

/* Customer Reviews */

.glass-review-summary {
    display: flex;
    align-items: center;
    gap: 8px;
}

.glass-average-rating {
    font-size: 18px;
    font-weight: 600;
    color: var(--tkd-text-color);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-stars-display .glass-star {
    font-size: 14px;
    color: rgba(var(--tkd-accent-rgb), 0.9);
}

.glass-stars-display .glass-star.empty {
    color: rgba(255, 255, 255, 0.3);
}

.glass-review-count {
    font-size: 13px;
    color: rgba(var(--tkd-text-rgb), 0.8);
    font-weight: 500;
}

/* Review Form */
.glass-review-form {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    backdrop-filter: none !important;
}

.glass-review-form h4 {
    margin: 0 0 16px 0;
    /* font-size and font-weight now controlled by turnkeydir-typography-unified.css using --tkd-h4-size/weight */
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.glass-form-row {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
    align-items: flex-start;
}

/* Form input styling */
.glass-input, .glass-textarea {
    flex: 1;
    padding: 14px 18px;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.25) !important;
    color: var(--tkd-text-color) !important;
    font-size: 15px;
    font-family: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Override browser autofill styles */
.glass-input:-webkit-autofill,
.glass-input:-webkit-autofill:hover,
.glass-input:-webkit-autofill:focus,
.glass-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.25) inset !important;
    -webkit-text-fill-color: var(--tkd-text-color) !important;
    background: rgba(255, 255, 255, 0.25) !important;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.glass-input:focus, .glass-textarea:focus {
    outline: none;
    border-color: rgba(var(--tkd-accent-rgb), 0.9) !important;
    background: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 0 0 3px rgba(var(--tkd-accent-rgb), 0.4) !important;
    color: var(--tkd-text-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-1px) !important;
}

.glass-input::placeholder, .glass-textarea::placeholder {
    color: var(--tkd-text-color) !important;
    opacity: 0.7 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.glass-rating-input {
    display: flex;
    align-items: center;
    margin-bottom: 16px; /* Space between stars and name field */
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.glass-rating-input legend {
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.glass-rating-stars {
    display: flex;
    flex-direction: row-reverse;
    gap: 0px;
    line-height: 1;
    border: none !important;
    outline: none !important;
}

.glass-rating-stars input {
    display: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.glass-rating-stars label {
    font-size: 24px;
    color: rgba(200, 200, 200, 0.7);
    cursor: pointer;
    transition: all 0.2s ease;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    padding: 0 2px !important;
    margin: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.glass-rating-stars label:focus,
.glass-rating-stars label:focus-visible,
.glass-rating-stars label:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Hover state - fills stars up to hovered position */
.glass-rating-stars label:hover,
.glass-rating-stars label:hover ~ label {
    color: #FFC107;
    text-shadow: 0 0 12px rgba(255, 193, 7, 0.7);
    transform: scale(1.1);
}

/* Selected stars will be styled by JavaScript */
.glass-rating-stars input:checked ~ label {
    color: #FFD700;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
}

.glass-submit-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border: 2px solid rgba(var(--tkd-accent-rgb), 0.8) !important;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(var(--tkd-accent-rgb), 0.9), rgba(var(--tkd-accent-rgb), 0.7)) !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(var(--tkd-accent-rgb), 0.4) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.glass-submit-btn:hover {
    background: linear-gradient(135deg, rgba(var(--tkd-accent-rgb), 1), rgba(var(--tkd-accent-rgb), 0.8)) !important;
    border-color: rgba(var(--tkd-accent-rgb), 1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(var(--tkd-accent-rgb), 0.5) !important;
    color: #ffffff !important;
}

/* Reviews List */
.glass-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.glass-review-item {
    padding: 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.glass-review-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.glass-reviewer-name {
    font-weight: 600;
    color: var(--tkd-text-color);
    font-size: 14px;
}

.glass-review-rating .glass-star {
    font-size: 12px;
    color: rgba(var(--tkd-accent-rgb), 0.9);
}

.glass-review-rating .glass-star.empty {
    color: rgba(var(--tkd-text-rgb), 0.3);
}

.glass-review-date {
    font-size: 12px;
    color: rgba(var(--tkd-text-rgb), 0.7);
    margin-left: auto;
    font-weight: 500;
}

.glass-review-text {
    color: rgba(var(--tkd-text-rgb), 0.9);
    line-height: 1.5;
    font-size: 14px;
    font-weight: 500;
}

/* Image Content */
.glass-image-content {
    padding: 20px;
}

.glass-image-container {
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.2);
    height: 250px;
    margin: 0 -4px; /* Extend slightly beyond card padding */
}

.glass-image-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Responsive Design - Adjusted for 700px container */
@media (max-width: 1024px) {
    .glass-business-container {
        flex-direction: column;
        gap: 15px;
    }
    
    .glass-sidebar {
        width: 100%;
        order: 2;
        flex-direction: row;
        justify-content: center;
        gap: 15px;
    }
    
    .glass-sidebar-left,
    .glass-sidebar-right {
        order: 0;
        width: 48%;
    }
    
    .glass-ad-sidebar {
        width: 100%;
        min-height: 200px;
        position: relative;
    }
    
    .glass-main-card {
        width: 98%;
        padding: 30px 12px;
        order: 1;
    }
    
    .glass-card-wrapper {
        margin: 0 auto;
    }
    
    .glass-two-column-container {
    flex-direction: column;
        gap: 20px;
        align-items: center;
    }
    
    .glass-column {
        width: 100%;
        gap: 15px;
    }
    
    .glass-action-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .glass-social-grid {
        grid-template-columns: 1fr;
    }
    
    /* Reduced card positioning adjustments for smaller screens */
}

@media (max-width: 768px) {
    .glass-business-container {
        padding: 20px 8px;
        flex-direction: column;
    }
    
    .glass-sidebar {
        width: 100%;
        flex-direction: column;
        gap: 15px;
    }
    
    .glass-sidebar-left,
    .glass-sidebar-right {
        width: 100%;
    }
    
    .glass-ad-sidebar {
        width: 100%;
        min-height: 200px;
        position: relative;
    }
    
    .glass-main-card {
        width: 100%;
        padding: 25px 8px;
        gap: 15px;
    }
    
    .glass-card-wrapper {
        margin: 0 auto;
    }
    

    
    /* Phase 2-3: Allow full text display on tablet - no truncation */
    .glass-business-name {
        max-height: none !important;
        overflow: visible !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        display: block !important;
        white-space: normal !important;
    }
    
    .glass-business-subtitle {
        max-height: none !important;
        overflow: visible !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        display: block !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        text-overflow: ellipsis !important;
    }
    
    .glass-rating-section {
        justify-content: flex-start;
        gap: 4px;
    }
    
    .glass-stars {
        padding: 2px 5px;
    }
    
    .glass-star {
        font-size: 16px;
    }
    
    .glass-status-badges {
        justify-content: flex-start;
        gap: 6px;
    }
    
    .glass-action-grid {
        grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    }
    
    .glass-action-btn {
        padding: 12px 8px;
        font-size: 12px;
    }
    
    .glass-action-btn i {
        font-size: 16px;
    }
    
    .glass-social-grid {
        grid-template-columns: 1fr;
    }
    
    /* Mobile social media refined grid */
    .glass-social-grid-compact {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 12px;
        padding: 12px;
        margin-top: 12px;
    }
    
    .glass-social-item-refined {
        padding: 12px 6px;
        min-height: 70px;
        gap: 6px;
    }
    
    .glass-social-item-refined .fab {
        font-size: 24px;
    }
    
    .glass-social-item-refined span {
        font-size: 11px;
    }
    
    .glass-related-grid-two-column {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .glass-related-item {
        padding: 14px;
        min-height: auto; /* Natural height based on content */
        max-width: 100%; /* Full width on mobile */
    }
    
    .glass-quick-action-btn {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }
    
    /* Mobile optimization for larger action buttons */
    .glass-quick-action-btn-large {
        width: 40px;
        height: 40px;
        font-size: 15px;
    }
    
    .glass-business-link {
        font-size: 15px;
        /* Maintain 2-row constraint on tablet for related business names */
        max-height: 2.6em !important; /* 2 lines × 1.3 line-height */
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        text-overflow: ellipsis !important;
    }
    
    .glass-view-btn {
        padding: 10px 12px;
        font-size: 13px;
    }
    
    .glass-view-btn-small {
        padding: 6px 10px;
        font-size: 11px;
    gap: 4px;
}

    .glass-view-btn-small i {
        font-size: 10px;
    }
    
    /* Mobile category text */
    .glass-related-category {
        font-size: 13px !important;
        margin-bottom: 6px;
        /* Maintain 2-row constraint on tablet */
        max-height: 2.4em !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        line-height: 1.2 !important;
    }
    
    /* Mobile address handling */
    .glass-related-address {
        font-size: 12px;
        /* Maintain 2-row constraint on tablet */
        max-height: 2.6em !important; /* 2 lines × 1.3 line-height */
        line-height: 1.3 !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    /* Mobile related actions spacing */
    .glass-related-actions {
        gap: 10px;
        margin: 10px 0;
    }
    
    /* Mobile status badges */
    .glass-related-status-row {
    gap: 6px;
        margin-top: 10px;
        margin-bottom: 6px;
    }
    
    .glass-form-row {
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .glass-review-form .glass-rating-input {
        justify-content: center !important;
        width: 100% !important;
        padding: 12px 0 !important;
        margin-bottom: 12px !important;
    }
    
    .glass-review-form .glass-rating-stars {
        gap: 0px !important;
        line-height: 1 !important;
    }
    
    .glass-review-form .glass-rating-stars label {
        font-size: 32px !important;
        padding: 0 3px !important;
        min-width: auto !important;
        min-height: auto !important;
        margin: 0 !important;
        line-height: 1 !important;
        display: inline-block !important;
    }
    
    .glass-textarea {
        min-height: 120px !important;
        width: 100% !important;
    }
    
    .glass-input {
        width: 100% !important;
        min-height: 48px !important;
    }
    
    .glass-submit-btn,
    .glass-photo-btn {
        min-height: 56px !important;
    }
    
    /* Form layout adjustments */
    .glass-form-row {
        margin-bottom: 16px !important;
    }
    
    .glass-related-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .glass-review-header {
        flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    }
    
    .glass-review-date {
        margin-left: 0;
    }
    
    /* Mobile optimizations for overlays */
    .glass-overlay-title {
        /* font-size now controlled by turnkeydir-typography-unified.css using --tkd-h4-size */
    }
    
    .glass-overlay-location {
        font-size: 13px;
    }
    
    .glass-image-overlay-actions {
        gap: 6px;
    }
    
    .glass-image-overlay-actions .glass-image-btn {
        padding: 6px 10px;
        font-size: 11px;
    }
    
    /* Fallback actions now use flexbox - see Phase 2-1 styles above */
}

@media (max-width: 480px) {
    .glass-business-container {
        padding: 15px 5px;
    }
    
    .glass-ad-sidebar {
        width: 100%;
        min-height: 150px;
        padding: 15px;
    }
    
    .glass-ad-icon {
        font-size: 2rem;
    }
    
    .glass-ad-content h3 {
        font-size: 1rem;
    }
    
    .glass-ad-content p {
        font-size: 0.8rem;
    }
    
    .glass-main-card {
        width: 100%;
        padding: 20px 6px;
        gap: 12px;
    }
    
    .glass-card-wrapper {
        margin: 0 auto;
    }
    
    /* Ultra-mobile optimization for larger action buttons */
    .glass-quick-action-btn-large {
        width: 36px;
        height: 36px;
        font-size: 14px;
        border-radius: 8px;
    }
    
    /* Ultra-mobile view button */
    .glass-view-btn-small {
        padding: 5px 8px;
        font-size: 10px;
        gap: 3px;
    }
    
    .glass-view-btn-small i {
        font-size: 9px;
    }
    
    /* Ultra-mobile category text */
    .glass-related-category {
        font-size: 12px !important;
        margin-bottom: 5px;
        /* Maintain 2-row constraint on mobile */
        max-height: 2.4em !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        line-height: 1.2 !important;
    }
    
    /* Ultra-mobile address handling */
    .glass-related-address {
        font-size: 11px;
        /* Maintain 2-row constraint on mobile */
        max-height: 2.4em !important; /* 2 lines × 1.2 line-height */
        line-height: 1.2 !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    /* Ultra-mobile related item height */
    .glass-related-item {
        min-height: auto !important; /* Natural height based on content */
        height: auto !important;
        max-width: 100% !important; /* Full width on small screens */
    }
    
    /* Ultra-mobile related actions */
    .glass-related-actions {
        gap: 8px;
        margin: 8px 0;
    }
    
    /* Ultra-mobile status badges */
    .glass-related-status-row {
        gap: 4px;
        margin-top: 8px;
        margin-bottom: 4px;
    }
    
    .glass-status-badge {
        font-size: 10px;
        padding: 2px 6px;
    }
    
    .glass-card-content {
        padding: 16px 12px;
    }
    
    .compact-card .glass-card-content {
        padding: 14px 12px;
    }
    

    
    /* Phase 2-3: Allow full text display on mobile - no truncation */
    .glass-business-name {
        margin-bottom: 6px !important;
        max-height: none !important;
        overflow: visible !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        display: block !important;
        white-space: normal !important;
    }
    
    .glass-business-subtitle {
        margin-bottom: 12px !important;
        max-height: none !important;
        overflow: visible !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        display: block !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        text-overflow: ellipsis !important;
    }
    
    .glass-rating-section {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    
    .glass-status-badges {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    
    .glass-action-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    
    .glass-action-btn {
        padding: 10px 6px;
        font-size: 11px;
    }
    
    .glass-action-btn i {
        font-size: 16px;
    }
    
    .glass-banner-text {
        flex-direction: column;
        gap: 4px;
    }
    
    .glass-banner-separator {
        display: none;
    }
    
    /* Ultra-mobile social media refined grid */
    .glass-social-grid-compact {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 10px;
        padding: 10px;
        margin-top: 8px;
    }
    
    .glass-social-item-refined {
        padding: 10px 4px;
        min-height: 65px;
        gap: 5px;
    }
    
    .glass-social-item-refined .fab {
        font-size: 22px;
    }
    
    .glass-social-item-refined span {
        font-size: 10px;
        letter-spacing: 0.3px;
    }
    
    /* Extra small mobile optimizations for overlays */
    .glass-overlay-title {
        /* font-size now controlled by turnkeydir-typography-unified.css using --tkd-h4-size */
    }
    
    .glass-overlay-location {
        font-size: 12px;
    }
    
    .glass-mapillary-overlay {
        padding: 12px;
        height: 70px;
    }
    
    .glass-image-overlay {
        padding: 12px;
    }
    
    .glass-image-overlay-actions .glass-image-btn {
        padding: 5px 8px;
        font-size: 10px;
    }
    
    /* Fallback actions mobile styles - Phase 2-1 - use flexbox centering */
    .glass-fallback-actions .glass-image-btn {
        padding: 8px 12px;
        font-size: 12px;
    }
    
    .glass-claim-text {
        font-size: 13px;
    }
    
    .glass-help-text {
        font-size: 11px;
    }
}

/* Animation */
.glass-card-wrapper {
    animation: slideInUp 0.6s ease-out forwards;
}

.glass-card-wrapper:nth-child(2) { animation-delay: 0.1s; }
.glass-card-wrapper:nth-child(3) { animation-delay: 0.2s; }
.glass-card-wrapper:nth-child(4) { animation-delay: 0.3s; }
.glass-card-wrapper:nth-child(5) { animation-delay: 0.4s; }
.glass-card-wrapper:nth-child(6) { animation-delay: 0.5s; }

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced Social Grid */
.glass-social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.glass-social-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
    color: white;
    transition: all 0.3s ease;
    font-size: 14px;
    position: relative;
}

.glass-social-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateZ(0) translateY(-2px);
}

.glass-social-item.unavailable {
    opacity: 0.5;
    cursor: default;
}

.glass-social-item .fas, .glass-social-item .fab {
    font-size: 16px;
    color: rgba(var(--tkd-accent-rgb), 0.8);
    min-width: 20px;
}

.glass-social-status {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.glass-social-status.available {
    background: rgba(76, 175, 80, 0.2);
    color: #c8e6c9;
}

.glass-social-status.unavailable {
    background: rgba(244, 67, 54, 0.2);
    color: #ffcdd2;
}

/* Clean Social Media Icons Grid - Refined Design with Names for 6 platforms */
.glass-social-grid-compact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 14px;
    margin-top: 16px;
    padding: 16px;
}

.glass-social-item-refined {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 6px;
    border-radius: 12px;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.12) 0%, 
        rgba(255, 255, 255, 0.04) 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid rgba(255, 255, 255, 0.2);
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    text-align: center;
    gap: 6px;
    min-height: 75px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.glass-social-item-refined:hover {
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.18) 0%, 
        rgba(255, 255, 255, 0.08) 100%);
    transform: translateY(-2px) scale(1.02);
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.glass-social-item-refined.available:hover {
    box-shadow: 0 8px 32px rgba(255, 255, 255, 0.15);
}

.glass-social-item-refined.unavailable {
    opacity: 0.6;
    cursor: not-allowed;
    background: linear-gradient(135deg, 
        rgba(128, 128, 128, 0.1) 0%, 
        rgba(128, 128, 128, 0.05) 100%);
    border-color: rgba(128, 128, 128, 0.2);
    position: relative;
}

.glass-social-item-refined.unavailable:hover {
    transform: none;
    background: linear-gradient(135deg, 
        rgba(128, 128, 128, 0.15) 0%, 
        rgba(128, 128, 128, 0.08) 100%);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.glass-social-item-refined.unavailable::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.1) 50%, transparent 60%);
    opacity: 0.3;
    pointer-events: none;
}

.glass-social-item-refined .fab {
    font-size: 24px;
    display: block;
    line-height: 1;
    transition: all 0.3s ease;
    margin-bottom: 4px;
}

.glass-social-item-refined span {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.glass-social-item-refined.unavailable span {
    color: rgba(128, 128, 128, 0.8);
    font-weight: 400;
}

.glass-social-item-refined.unavailable .fab {
    color: rgba(128, 128, 128, 0.7) !important;
    filter: grayscale(100%);
}

/* Platform-specific border colors for available items - matches quick action button styling */
/* Facebook */
.glass-social-item-refined.available.social-facebook {
    border: 1px solid rgba(24, 119, 242, 0.35);
}
.glass-social-item-refined.available.social-facebook:hover {
    border-color: rgba(24, 119, 242, 0.7);
}

/* Instagram */
.glass-social-item-refined.available.social-instagram {
    border: 1px solid rgba(228, 64, 95, 0.35);
}
.glass-social-item-refined.available.social-instagram:hover {
    border-color: rgba(228, 64, 95, 0.7);
}

/* Twitter */
.glass-social-item-refined.available.social-twitter {
    border: 1px solid rgba(29, 161, 242, 0.35);
}
.glass-social-item-refined.available.social-twitter:hover {
    border-color: rgba(29, 161, 242, 0.7);
}

/* LinkedIn */
.glass-social-item-refined.available.social-linkedin {
    border: 1px solid rgba(0, 119, 181, 0.35);
}
.glass-social-item-refined.available.social-linkedin:hover {
    border-color: rgba(0, 119, 181, 0.7);
}

/* YouTube */
.glass-social-item-refined.available.social-youtube {
    border: 1px solid rgba(255, 0, 0, 0.35);
}
.glass-social-item-refined.available.social-youtube:hover {
    border-color: rgba(255, 0, 0, 0.7);
}

/* WhatsApp */
.glass-social-item-refined.available.social-whatsapp {
    border: 1px solid rgba(37, 211, 102, 0.35);
}
.glass-social-item-refined.available.social-whatsapp:hover {
    border-color: rgba(37, 211, 102, 0.7);
}

/* Platform-specific icon colors and hover effects for available items */
.glass-social-item-refined.available .fa-facebook-f { 
    color: #1877f2; 
}
.glass-social-item-refined.available:hover .fa-facebook-f { 
    color: #ffffff; 
    text-shadow: 0 0 15px #1877f2;
}

.glass-social-item-refined.available .fa-instagram { 
    color: #e4405f; 
}
.glass-social-item-refined.available:hover .fa-instagram { 
    color: #ffffff; 
    text-shadow: 0 0 15px #e4405f;
}

.glass-social-item-refined.available .fa-twitter { 
    color: #1da1f2; 
}
.glass-social-item-refined.available:hover .fa-twitter { 
    color: #ffffff; 
    text-shadow: 0 0 15px #1da1f2;
}

.glass-social-item-refined.available .fa-linkedin-in { 
    color: #0077b5; 
}
.glass-social-item-refined.available:hover .fa-linkedin-in { 
    color: #ffffff; 
    text-shadow: 0 0 15px #0077b5;
}

.glass-social-item-refined.available .fa-youtube { 
    color: #ff0000; 
}
.glass-social-item-refined.available:hover .fa-youtube { 
    color: #ffffff; 
    text-shadow: 0 0 15px #ff0000;
}

.glass-social-item-refined.available .fa-whatsapp { 
    color: #25d366; 
}
.glass-social-item-refined.available:hover .fa-whatsapp { 
    color: #ffffff; 
    text-shadow: 0 0 15px #25d366;
}

/* Legacy icon-only styles - keeping for backward compatibility */

/* Customer Reviews Glass Form Styling */
.glass-review-form {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-review-form h4 {
    margin: 0 0 16px 0;
    /* font-size now controlled by turnkeydir-typography-unified.css using --tkd-h4-size */
    color: var(--tkd-text-color);
    font-weight: 600;
}

.glass-form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    align-items: flex-start;
}



.glass-rating-input {
    display: flex;
    align-items: center;
    min-width: 120px;
    margin-bottom: 16px; /* Space between stars and name field */
}

.glass-rating-stars {
    display: flex;
    flex-direction: row-reverse;
    gap: 4px;
}

.glass-rating-stars input {
    display: none;
}

.glass-rating-stars label {
    font-size: 24px;
    color: rgba(180, 180, 180, 0.8);
    cursor: pointer;
    transition: all 0.2s ease;
}

.glass-rating-stars input:checked ~ label {
    color: #ffd700;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}

.glass-rating-stars label:hover,
.glass-rating-stars label:hover ~ label {
    color: #FFC107;
    text-shadow: 0 0 10px rgba(255, 193, 7, 0.7);
    transform: scale(1.1);
}

.glass-review-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.glass-photo-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--tkd-text-color);
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 16px;
}

.glass-photo-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.2);
    border-color: rgba(var(--tkd-accent-rgb), 0.5);
    color: var(--tkd-text-color);
}

.glass-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border: 1px solid rgba(var(--tkd-accent-rgb), 0.5);
    border-radius: 8px;
    background: rgba(var(--tkd-accent-rgb), 0.2);
    color: var(--tkd-text-color);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 120px;
}

.glass-submit-btn:hover {
    background: rgba(var(--tkd-accent-rgb), 0.3);
    border-color: rgba(var(--tkd-accent-rgb), 0.7);
    transform: translateZ(0) translateY(-2px);
}

.glass-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.glass-photo-preview {
    margin-top: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-photo-info {
    color: var(--tkd-text-color);
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-photo-info span {
    color: var(--tkd-text-color);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.glass-remove-btn {
    background: rgba(244, 67, 54, 0.2);
    border: 1px solid rgba(244, 67, 54, 0.4);
    color: var(--tkd-text-color);
    font-size: 10px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.glass-remove-btn:hover {
    background: rgba(244, 67, 54, 0.4);
    border-color: rgba(244, 67, 54, 0.8);
    color: var(--tkd-text-color);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(244, 67, 54, 0.3);
}

/* Reviews List Styling */
.glass-reviews-list {
    margin-top: 20px;
}

.glass-review-item {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
}

.glass-review-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.glass-reviewer-name {
    font-weight: 600;
    color: var(--tkd-text-color);
    font-size: 14px;
}

.glass-review-rating {
    display: flex;
    gap: 2px;
}

.glass-review-rating .glass-star {
    font-size: 14px;
    color: rgba(var(--tkd-accent-rgb), 0.9);
}

.glass-review-rating .glass-star.empty {
    color: rgba(var(--tkd-text-rgb), 0.3);
}

.glass-review-date {
    color: rgba(var(--tkd-text-rgb), 0.7);
    font-size: 12px;
    margin-left: auto;
    font-weight: 500;
}

.glass-delete-review {
    background: none;
    border: none;
    color: rgba(var(--tkd-text-rgb), 0.6);
    font-size: 18px;
    cursor: pointer;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.glass-delete-review:hover {
    background: rgba(244, 67, 54, 0.2);
    color: #ff4444;
}

.glass-review-text {
    color: rgba(var(--tkd-text-rgb), 0.9);
    line-height: 1.5;
    font-size: 14px;
}

/* Review Photo Thumbnail Styling */
.glass-review-photo {
    margin-top: 12px;
    border-radius: 8px;
    overflow: hidden;
    max-width: 120px; /* Thumbnail size */
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.glass-review-photo:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(var(--tkd-accent-rgb), 0.3);
}

.glass-review-photo img {
    width: 100%;
    height: 80px; /* Fixed thumbnail height */
    object-fit: cover;
    display: block;
    transition: all 0.3s ease;
}

.glass-review-photo::after {
    content: '🔍';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.glass-review-photo:hover::after {
    opacity: 1;
}

/* Image Modal for Full Size View */
.glass-image-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    backdrop-filter: none;
    padding: 20px;
    box-sizing: border-box;
}

.glass-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    max-width: 1200px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.glass-modal-content img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    background: rgba(255, 255, 255, 0.05);
}

.glass-modal-close {
    position: fixed;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.6);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10001;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.glass-modal-close:hover {
    background: rgba(var(--tkd-accent-rgb), 0.8);
    transform: scale(1.1);
    border-color: rgba(255, 255, 255, 0.5);
}

/* Mobile adjustments for image modal */
@media (max-width: 768px) {
    .glass-image-modal {
        padding: 10px;
    }
    
    .glass-modal-content {
        width: calc(100% - 20px);
        height: calc(100% - 80px);
    }
    
    .glass-modal-close {
        top: 10px;
        right: 10px;
        width: 44px;
        height: 44px;
        font-size: 24px;
    }
}

.glass-no-reviews {
    text-align: center;
    padding: 40px 20px;
    color: rgba(var(--tkd-text-rgb), 0.7);
    font-style: italic;
    font-weight: 500;
}

/* Mobile responsiveness for review form */
@media (max-width: 768px) {
    /* Review form container - better mobile spacing */
    .glass-review-form {
        padding: 16px !important;
        margin: 15px 10px !important;
        border-radius: 16px !important;
    }
    
    .glass-review-form h4 {
        /* font-size now controlled by turnkeydir-typography-unified.css using --tkd-h4-size */
        margin: 0 0 20px 0 !important;
    }
    
    /* Form rows stack vertically */
    .glass-form-row {
        flex-direction: column !important;
        gap: 16px !important;
        margin-bottom: 16px !important;
        align-items: stretch !important;
    }
    
    /* Input fields - full width, prevent iOS zoom */
    .glass-input {
        width: 100% !important;
        padding: 16px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
    }
    
    /* Textarea - MUCH TALLER for mobile */
    .glass-textarea {
        width: 100% !important;
        padding: 16px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        min-height: 120px !important;
        resize: vertical !important;
        line-height: 1.5 !important;
    }
    
    /* Star rating - display at top of review form */
    .glass-review-form .glass-rating-input {
        justify-content: center !important;
        width: 100% !important;
        padding: 16px 0 !important;
        margin-bottom: 16px !important;
    }
    
    .glass-review-form .glass-rating-stars {
        gap: 0px !important;
        display: flex !important;
        justify-content: center !important;
        line-height: 1 !important;
    }
    
    .glass-review-form .glass-rating-input {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
    
    .glass-review-form .glass-rating-input legend {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
    
    .glass-review-form .glass-rating-stars {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
    
    .glass-review-form .glass-rating-stars input {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }
    
    .glass-review-form .glass-rating-stars label {
        font-size: 36px !important;
        padding: 0 3px !important;
        min-width: auto !important;
        min-height: auto !important;
        width: auto !important;
        height: auto !important;
        display: inline-block !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        background: transparent !important;
        cursor: pointer !important;
        margin: 0 !important;
        line-height: 1 !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }
    
    .glass-review-form .glass-rating-stars label:focus,
    .glass-review-form .glass-rating-stars label:focus-visible,
    .glass-review-form .glass-rating-stars label:active,
    .glass-review-form .glass-rating-stars label:hover {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
    }
    
    /* Review actions - better button layout */
    .glass-review-actions {
        display: flex !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 8px !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    
    /* Photo button - larger touch target */
    .glass-photo-btn {
        min-width: 56px !important;
        min-height: 56px !important;
        padding: 16px !important;
        border-radius: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }
    
    .glass-photo-btn i {
        font-size: 20px !important;
    }
    
    /* Submit button - prominent and full-width */
    .glass-submit-btn {
        flex: 1 !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
        min-height: 56px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
    }
    
    .glass-submit-btn i {
        font-size: 18px !important;
    }
    
    /* Existing reviews display */
    .glass-review-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    
    .glass-review-date {
        margin-left: 0 !important;
    }
    
    .glass-review-photo {
        max-width: 100px !important;
    }
    
    .glass-review-photo img {
        height: 60px !important;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .glass-review-form {
        padding: 12px !important;
        margin: 10px 5px !important;
    }
    
    .glass-textarea {
        min-height: 100px !important;
    }
    
    .glass-rating-stars label {
        font-size: 28px !important;
        padding: 8px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
    
    .glass-photo-btn {
        min-width: 52px !important;
        min-height: 52px !important;
    }
    
    .glass-submit-btn {
        min-height: 52px !important;
        font-size: 15px !important;
    }
}

/* ============================================ */
/* TASTEFUL ANIMATIONS - DESKTOP & MOBILE OPTIMIZED */
/* ============================================ */

/* Enable smooth hardware acceleration */
* {
    will-change: auto;
}

/* Entrance Animations */
@keyframes glass-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes glass-fade-in-scale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes glass-slide-in-right {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes glass-pulse-gentle {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.9;
        transform: scale(1.02);
    }
}

@keyframes glass-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

@keyframes glass-float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-3px);
    }
}

/* Card Entrance Animations */
.glass-card-wrapper {
    animation: glass-fade-in-up 0.8s ease-out forwards;
}

.glass-card-wrapper:nth-child(1) {
    animation-delay: 0.1s;
}

.glass-card-wrapper:nth-child(2) {
    animation-delay: 0.2s;
}

.glass-card-wrapper:nth-child(3) {
    animation-delay: 0.3s;
}

.glass-card-wrapper:nth-child(4) {
    animation-delay: 0.4s;
}

.glass-card-wrapper:nth-child(5) {
    animation-delay: 0.5s;
}

/* Two-column cards stagger */
.glass-two-column-container .glass-card-wrapper:nth-child(odd) {
    animation: glass-fade-in-up 0.8s ease-out 0.2s both;
}

.glass-two-column-container .glass-card-wrapper:nth-child(even) {
    animation: glass-slide-in-right 0.8s ease-out 0.4s both;
}

/* Glass Card Hover Effects - Only card-top moves, not parent containers */
.glass-card-top:hover {
    transform: translateZ(0) translateY(-2px) !important;
    box-shadow: 
        0 12px 40px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.15);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform;
    position: relative;
    z-index: 10;
}

/* Banner cards: Make outer wrapper transparent - only inner glass-ad-banner shows */
.glass-card-wrapper.banner-card .glass-card-top {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Banner cards: Disable hover transform on outer layer */
.glass-card-wrapper.banner-card .glass-card-top:hover {
    transform: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Prevent parent containers from moving */
.glass-card-wrapper:hover,
.glass-main-card:hover,
.glass-business-container:hover {
    transform: translateZ(0) !important;
    transition: none !important;
}

.glass-card-top {
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Action Button Animations */
.glass-action-btn {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden;
}

.glass-action-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.glass-action-btn:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(var(--tkd-accent-rgb), 0.3);
}

.glass-action-btn:hover::before {
    left: 100%;
}

.glass-action-btn:active {
    transform: translateY(0) scale(0.98);
    transition: all 0.1s ease;
}

/* Status Badge Animations */
.glass-status-badge.status-open {
    animation: glass-pulse-gentle 3s ease-in-out infinite;
}

.glass-status-badge {
    transition: all 0.3s ease;
}

.glass-status-badge:hover {
    transform: translateY(-1px) scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Social Media Icons Animation */
.glass-social-item-refined {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.glass-social-item-refined:hover {
    transform: translateY(-3px) scale(1.1);
    animation: glass-float 2s ease-in-out infinite;
}

.glass-social-item-refined:hover .glass-social-icon {
    filter: brightness(1.2) saturate(1.3);
}

/* Rating Stars Animation */
.glass-star {
    transition: all 0.3s ease;
    display: inline-block;
}

.glass-stars:hover .glass-star {
    animation: glass-float 1s ease-in-out infinite;
}

.glass-stars:hover .glass-star:nth-child(1) { animation-delay: 0s; }
.glass-stars:hover .glass-star:nth-child(2) { animation-delay: 0.1s; }
.glass-stars:hover .glass-star:nth-child(3) { animation-delay: 0.2s; }
.glass-stars:hover .glass-star:nth-child(4) { animation-delay: 0.3s; }
.glass-stars:hover .glass-star:nth-child(5) { animation-delay: 0.4s; }

/* Business Name and Subtitle Animations */
.glass-business-name {
    transition: all 0.3s ease;
    color: var(--tkd-text-color, var(--tkd-text-color)) !important;
}

.glass-business-name:hover {
    transform: translateX(2px);
    text-shadow: 0 2px 8px rgba(var(--tkd-accent-r), var(--tkd-accent-g), var(--tkd-accent-b), 0.4);
}

/* Image Container Animations */
.glass-featured-image {
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.glass-featured-image:hover {
    transform: scale(1.02);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

/* Hours Dropdown Animation Enhancement */
.glass-hours-dropdown {
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.glass-hours-dropdown.show {
    transform: translateY(0);
}

.glass-hours-row {
    transition: all 0.2s ease;
}

.glass-hours-row:hover {
    transform: translateX(3px);
    background: rgba(255, 255, 255, 0.12) !important;
}

/* Map Loading Animation */
.glass-map-container {
    position: relative;
    overflow: hidden;
}

.glass-map-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        rgba(255, 255, 255, 0.1) 0%, 
        rgba(255, 255, 255, 0.2) 50%, 
        rgba(255, 255, 255, 0.1) 100%);
    background-size: 200% 100%;
    animation: glass-shimmer 2s infinite linear;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.glass-map-container.loading::before {
    opacity: 1;
}

/* Contact Information Hover Effects */
.glass-contact-item {
    transition: all 0.3s ease;
}

.glass-contact-item:hover {
    transform: translateX(5px);
    background: rgba(255, 255, 255, 0.08);
    border-left: 3px solid rgba(var(--tkd-accent-rgb), 0.8);
}

/* Related Business Cards Animation */
.glass-related-card {
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.glass-related-card:hover {
    transform: translateY(-5px) scale(1.03);
    box-shadow: 0 12px 35px rgba(var(--tkd-accent-rgb), 0.2);
}

/* Button Loading State */
.glass-action-btn.loading {
    pointer-events: none;
    opacity: 0.7;
}

.glass-action-btn.loading i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Performance optimizations */
@media (prefers-reduced-motion: no-preference) {
    .glass-card-wrapper { animation-fill-mode: both; }
}



/* Reviews Section Animations */
.glass-review-item {
    animation: glass-fade-in-scale 0.6s ease-out forwards;
}

.glass-review-item:nth-child(1) { animation-delay: 0.1s; }
.glass-review-item:nth-child(2) { animation-delay: 0.2s; }
.glass-review-item:nth-child(3) { animation-delay: 0.3s; }

/* Mobile Optimization */
@media (max-width: 768px) {
    /* Reduce animation intensity on mobile for performance */
    .glass-card-top:hover {
        transform: translateY(-1px);
    }
    
    .glass-action-btn:hover {
        transform: translateY(-1px) scale(1.01);
    }
    
    .glass-social-item-refined:hover {
        transform: translateY(-2px) scale(1.02);
        animation: none; /* Disable floating on mobile */
    }
    
    /* Optimize 3x2 grid for mobile */
    .glass-social-grid-compact {
        gap: 12px;
        padding: 12px;
    }
    
    .glass-social-item-refined {
        padding: 12px 4px;
        min-height: 70px;
        gap: 5px;
    }
    
    .glass-social-item-refined .fab {
        font-size: 22px;
    }
    
    /* Disable hover animations for touch devices */
    @media (hover: none) {
        .glass-card-top:hover,
        .glass-action-btn:hover,
        .glass-social-item-refined:hover,
        .glass-contact-item:hover,
        .glass-related-card:hover {
            transform: none;
        }
        
        /* Keep only essential animations for touch devices */
        .glass-action-btn:active {
            transform: scale(0.95);
        }
    }
}

/* Prefers Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .glass-status-badge.status-open {
        animation: none;
    }
}

/* Reduce animations after initial load for better performance */
.animations-loaded .glass-card-wrapper {
    animation: none;
    opacity: 1;
    transform: none;
}

/* Ripple Effect for Buttons */
.glass-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    transform: scale(0);
    animation: glass-ripple-animation 0.6s linear;
    pointer-events: none;
}

@keyframes glass-ripple-animation {
    to {
        transform: scale(2);
        opacity: 0;
    }
}

/* Keyboard Navigation Support */
.using-keyboard .glass-action-btn:focus,
.using-keyboard .glass-social-item-refined:focus {
    outline: 2px solid rgba(var(--tkd-accent-rgb), 0.8);
    outline-offset: 2px;
}

/* Intersection Observer Animation Classes */
.glass-card-wrapper.animate-in {
    animation: glass-fade-in-up 0.8s ease-out forwards;
}

/* Enhanced focus states for accessibility */
.glass-action-btn:focus-visible {
    outline: 2px solid rgba(var(--tkd-accent-rgb), 0.8);
    outline-offset: 2px;
}
/* FORM BORDER CONSISTENCY FIX */
input[name="reviewer_name"].glass-input,
textarea[name="review_text"].glass-textarea,
.glass-input,
.glass-textarea {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Override browser input appearance */
input[name="reviewer_name"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}
/* FORM BORDER CONSISTENCY FIX */
input[name="reviewer_name"].glass-input,
textarea[name="review_text"].glass-textarea,
.glass-input,
.glass-textarea {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Override browser input appearance */
input[name="reviewer_name"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}

/* ====================================================================
   MOBILE LISTING FIXES — appended at the very end of the file so it
   wins the cascade against the earlier @media (max-width: 768px) block
   in this same file (lines ~29-180) which uses identical high-specificity
   selectors with !important. Specificity-tied rules resolve by source
   order, and this block is last → this block wins. Mobile-only.
   ==================================================================== */

@media (max-width: 768px) {

    /* Fix 2 — rating row stays on a single line.
       Uses #tkd-main ID prefix so specificity (1,4,2) beats every
       class-only rule in this file (max 0,4,2) regardless of cascade order.
       The review wrapper drops back to display:inline so its `(`, link,
       `)` contents render as plain inline text with consistent baseline —
       inline-flex was causing the link text to mis-align vertically. */
    #tkd-main .glass-rating-section,
    .glass-rating-section {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: baseline !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        max-width: 100% !important;
        line-height: 1.4 !important;
    }
    #tkd-main .glass-rating-section .glass-stars,
    .glass-rating-section .glass-stars {
        display: inline-flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        line-height: 1 !important;
    }
    #tkd-main .glass-rating-section .glass-star,
    .glass-rating-section .glass-star,
    .glass-star {
        font-size: 13px !important;
        line-height: 1 !important;
        vertical-align: middle !important;
    }
    #tkd-main .glass-rating-section .glass-rating-number,
    .glass-rating-section .glass-rating-number,
    .glass-rating-number {
        display: inline-block !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
        line-height: 1.4 !important;
        vertical-align: baseline !important;
    }
    /* CRITICAL: switch wrapper to plain inline so (, link, ) flow as
       normal inline content. inline-flex was treating each as a flex
       item with stretch/align mismatches between the text nodes and
       the <a>. */
    #tkd-main .glass-rating-section .glass-review-wrapper,
    .glass-rating-section .glass-review-wrapper,
    .glass-review-wrapper {
        display: inline !important;
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        vertical-align: baseline !important;
    }
    #tkd-main .glass-rating-section .glass-reviews-link,
    .glass-rating-section .glass-reviews-link,
    .glass-reviews-link {
        display: inline !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        vertical-align: baseline !important;
        position: static !important;
        transform: none !important;
        line-height: 1.4 !important;
    }
    /* Defeat any hover/focus translateY that "sticks" on mobile touch */
    #tkd-main .glass-rating-section .glass-reviews-link:hover,
    #tkd-main .glass-rating-section .glass-reviews-link:focus,
    .glass-reviews-link:hover,
    .glass-reviews-link:focus {
        transform: none !important;
    }

    /* Fix 3 — CLOSED hours pill + CLAIM THIS LISTING share one row.
       Line 2787 of this file sets .glass-status-badges{flex-direction:column}
       inside its own mobile block; force row direction here. */
    html body .glass-status-badges,
    body .glass-status-badges,
    .glass-status-badges {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
    }
    html body .glass-status-badges .glass-status-badge,
    body .glass-status-badges .glass-status-badge,
    .glass-status-badges .glass-status-badge {
        padding: 6px 10px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        border-radius: 14px !important;
        min-height: 32px !important;
        min-width: 0 !important;
        /* 0 1 auto, NOT 1 1 0: badges must size to their content. With
           flex-grow, a lone hours badge (Free has no claim button in the
           row) stretched to the full card width while its drawer stayed
           240-320px. Badges still share one row and shrink when tight. */
        flex: 0 1 auto !important;
        justify-content: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .glass-status-badges .glass-status-badge i,
    .glass-status-badges .glass-status-badge .fas {
        font-size: 9px !important;
        margin-right: 2px !important;
    }
    .glass-status-badges .glass-dropdown-arrow {
        font-size: 9px !important;
        margin-left: 3px !important;
    }
    html body .glass-status-badges .glass-hours-container,
    body .glass-status-badges .glass-hours-container,
    .glass-status-badges .glass-hours-container {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        position: relative !important;
    }
    .glass-status-badges .glass-hours-container .glass-status-badge {
        width: 100% !important;
    }

    /* Fix 4 — featured image fits the card with NO right-side cut.
       Boost specificity with #tkd-main. Force max-width:100% with !important
       and add inset borders to keep image from spilling past the rounded
       corners. Inline width:100%; height:100% on img elements in PHP
       can be defeated by max-width:100% from CSS (max-width wins over width). */
    #tkd-main .glass-featured-image-container,
    .glass-featured-image-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #tkd-main .glass-featured-image,
    .glass-featured-image,
    #tkd-main .mapillary-progressive-container,
    .mapillary-progressive-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        display: block !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #tkd-main .glass-featured-image img,
    #tkd-main .glass-featured-image .mapillary-thumbnail,
    #tkd-main .glass-featured-image .mapillary-preview-thumb,
    #tkd-main .mapillary-progressive-container img,
    .glass-featured-image img,
    .glass-featured-image .mapillary-thumbnail,
    .glass-featured-image .mapillary-preview-thumb,
    .mapillary-progressive-container img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Fix 6 — business hours rows uniform width, separator lines aligned,
       today's highlight stays inside the column (no negative margin
       blowing out the row). */
    html body .glass-hours-grid,
    body .glass-hours-grid,
    .glass-hours-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }
    html body .glass-hours-item,
    body .glass-hours-item,
    .glass-hours-item,
    html body .glass-hours-item.today,
    body .glass-hours-item.today,
    .glass-hours-item.today {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 10px !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.06) !important;
        border-radius: 6px !important;
        background: transparent !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    .glass-hours-item.today {
        background: rgba(59, 130, 246, 0.08) !important;
    }
    .glass-hours-item:last-child {
        border-bottom: none !important;
    }
    .glass-hours-item .glass-day,
    .glass-day {
        font-size: 13px !important;
        font-weight: 600 !important;
        min-width: 80px !important;
    }
    .glass-hours-item .glass-hours-time,
    .glass-hours-item .glass-hours,
    .glass-hours-time {
        font-size: 13px !important;
        text-align: right !important;
    }

    /* Fix 5 reinforcement — About This Business text gets right-padding
       so the last word of each line doesn't kiss the card border. The
       card-content padding is already 14px but we want a clear visual
       gutter so we add another 12px on the text itself. */
    #tkd-main .glass-card-wrapper .glass-card-content,
    #tkd-main .glass-card-content {
        padding-right: 18px !important;
        padding-left: 14px !important;
        box-sizing: border-box !important;
    }
    #tkd-main .glass-card-wrapper .glass-card-content .glass-about-text,
    #tkd-main .glass-card-content .glass-about-text,
    #tkd-main .glass-about-text,
    .glass-about-text {
        padding-right: 8px !important;
        padding-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    #tkd-main .glass-about-text p,
    #tkd-main .glass-text-preview,
    #tkd-main .glass-text-full,
    .glass-about-text p,
    .glass-text-preview,
    .glass-text-full {
        padding-right: 4px !important;
        margin-right: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* NEW Fix 9 — Review card and "Share Your Experience" form go
       edge-to-edge on mobile so users have more room to type.
       Defeats turnkeydir-mobile-reviews.css:13 which sets margin:15px 10px. */
    html body #tkd-customer-reviews.glass-card-wrapper,
    body #tkd-customer-reviews.glass-card-wrapper,
    #tkd-customer-reviews.glass-card-wrapper,
    #tkd-customer-reviews {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #tkd-customer-reviews .glass-card-top {
        width: 100% !important;
        max-width: 100% !important;
    }
    #tkd-customer-reviews .glass-card-content {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    html body .glass-review-form,
    body .glass-review-form,
    .glass-review-form {
        margin: 12px 0 !important;
        padding: 14px 10px !important;
        border-radius: 14px !important;
        width: auto !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    html body .glass-review-form .glass-input,
    html body .glass-review-form .glass-textarea,
    .glass-review-form .glass-input,
    .glass-review-form .glass-textarea {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    /* Even smaller screens — tighten rating row + status badge text. */
    .glass-rating-section .glass-rating-number,
    .glass-rating-number {
        font-size: 12px !important;
    }
    .glass-rating-section .glass-review-wrapper,
    .glass-review-wrapper,
    .glass-rating-section .glass-reviews-link,
    .glass-reviews-link {
        font-size: 11px !important;
    }
    .glass-status-badges .glass-status-badge {
        padding: 5px 8px !important;
        font-size: 9px !important;
    }
    .glass-hours-item,
    .glass-hours-item.today {
        padding: 7px 8px !important;
        font-size: 12px !important;
    }
    .glass-hours-item .glass-day,
    .glass-day,
    .glass-hours-item .glass-hours-time,
    .glass-hours-time {
        font-size: 12px !important;
    }
}
