/* Business Directory Styles */

/* Archive Business Info Styles - Now using card-based layout */





.business-layout {
    display: flex;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
}

.business-main {
    flex: 1;
    min-width: 0;
}

.business-sidebar {
    width: 280px;
    flex-shrink: 0;
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 6px;
    height: fit-content;
}

.business-sidebar h3 {
    margin-top: 0;
    color: #333;
    border-bottom: 2px solid #007cba;
    padding-bottom: 0.5rem;
    font-size: 1.1rem;
}

.business-sidebar h4 {
    color: #555;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.business-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.business-sidebar li {
    margin-bottom: 0.4rem;
}

.business-sidebar a {
    color: #007cba;
    text-decoration: none;
}

.business-sidebar a:hover {
    text-decoration: underline;
}

/* Clean Business Layout */
.business-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #333;
    line-height: 1.2;
}

.business-image {
    margin-bottom: 1.5rem;
}

.business-image img {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.business-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.contact-info > div {
    font-size: 1rem;
    color: #333;
}

.contact-info a {
    color: #007cba;
    text-decoration: none;
    font-weight: 500;
}

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

.business-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.rating {
    color: #ffc107;
    font-weight: 600;
    font-size: 0.9rem;
}

.price {
    color: #28a745;
    font-weight: 600;
    font-size: 0.9rem;
}

.yelp-link {
    color: #ff1a1a;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
}

.yelp-link:hover {
    text-decoration: underline;
}

.categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tag {
    background: #f0f0f0;
    color: #666;
    padding: 0.25rem 0.6rem;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}

.business-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
}

.business-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.hours h3,
.reviews h3 {
    margin: 0 0 0.75rem 0;
    color: #333;
    font-size: 1.1rem;
    font-weight: 600;
}

.hours-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.hours-row {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
    font-size: 0.9rem;
    border-bottom: 1px solid #eee;
}

.hours-row:last-child {
    border-bottom: none;
}

.day {
    font-weight: 600;
    color: #333;
}

.time {
    color: #666;
}

.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.review-item {
    background: #f8f9fa;
    padding: 0.75rem;
    border-radius: 4px;
    border-left: 2px solid #007cba;
}

.review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.4rem;
}

.reviewer {
    font-weight: 600;
    color: #333;
    font-size: 0.85rem;
}

.review-rating {
    color: #ffc107;
    font-size: 0.8rem;
}

.review-text {
    color: #666;
    line-height: 1.4;
    margin-bottom: 0.4rem;
    font-size: 0.85rem;
}

.review-date {
    color: #999;
    font-size: 0.75rem;
}

.business-map {
    margin-top: 1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .business-layout {
        flex-direction: column;
        padding: 0.75rem;
    }
    
    .business-sidebar {
        width: 100%;
        margin-top: 1rem;
    }
    
    .business-title {
        font-size: 1.5rem;
    }
    
    .business-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .business-details {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* Compact two-column layout for restaurant template */
.compact-layout .business-card.columns {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  background: var(--wp--preset--color--base, #fff);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 1.5rem;
  margin-bottom: 2rem;
  align-items: flex-start;
}

.compact-layout .business-left {
  flex: 1 1 60%;
  min-width: 0;
}

.compact-layout .business-right {
  flex: 1 1 40%;
  min-width: 0;
}

.compact-layout .business-image {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1rem;
}

.compact-layout .business-title {
  font-size: 2rem;
  margin: 0 0 0.5rem 0;
  font-weight: 700;
}

.compact-layout .contact-info,
.compact-layout .business-meta,
.compact-layout .categories,
.compact-layout .business-description,
.compact-layout .business-details,
.compact-layout .business-map {
  margin-bottom: 0.75rem;
}

.compact-layout .contact-info > div,
.compact-layout .business-meta > span,
.compact-layout .categories > .tag {
  display: inline-block;
  margin-right: 0.75rem;
  margin-bottom: 0.25rem;
}

.compact-layout .categories .tag {
  padding: 0.2em 0.8em;
  border-radius: 999px;
  background: var(--wp--preset--color--background, #f3f3f3);
  font-size: 0.95em;
}

.compact-layout .business-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.compact-layout .hours {
  font-size: 0.98em;
}

.compact-layout .business-map {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 0.75rem;
}

.compact-layout .reviews {
  background: var(--wp--preset--color--background, #f8f8f8);
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.compact-layout .reviews-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.compact-layout .review-item {
  background: var(--wp--preset--color--base, #fff);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}

.compact-layout .review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

.compact-layout .review-rating {
  color: #ffc107;
  font-size: 0.8rem;
}

@media (max-width: 900px) {
  .compact-layout .business-card.columns {
    flex-direction: column;
    gap: 1rem;
  }
  
  .compact-layout .business-left,
  .compact-layout .business-right {
    flex: 1 1 100%;
    min-width: 0;
  }
  
  .compact-layout .business-sidebar {
    width: 100%;
    margin-top: 1rem;
  }
  
  .compact-layout .business-details-row {
    flex-direction: column;
    gap: 1rem;
  }
  
  .compact-layout .business-details-row .hours-col,
  .compact-layout .business-details-row .map-col {
    flex: 1 1 100%;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .compact-layout .business-details-row {
    flex-direction: column;
    gap: 1rem;
  }
  
  .compact-layout .business-details-row .hours-col,
  .compact-layout .business-details-row .map-col {
    flex: 1 1 100%;
    min-width: 0;
  }
}

.compact-layout .business-details-row.true-cols {
  display: flex;
  gap: 1.5em;
  margin-bottom: 1.2em;
}

.compact-layout .business-details-row.true-cols .hours-col,
.compact-layout .business-details-row.true-cols .map-col {
  flex: 1;
  min-width: 180px;
}

@media (max-width: 900px) {
  .compact-layout .business-details-row.true-cols {
    flex-direction: column;
    gap: 1rem;
  }
  
  .compact-layout .business-details-row.true-cols .hours-col,
  .compact-layout .business-details-row.true-cols .map-col {
    flex: 1 1 100%;
    min-width: 0;
  }
}

.big-rating {
  font-size: 1.5em;
  font-weight: 700;
  color: #f5b301;
  vertical-align: middle;
}

.big-price {
  font-size: 1.3em;
  font-weight: 700;
  color: inherit;
  vertical-align: middle;
}

.business-meta-group {
  margin-bottom: 1rem;
  font-size: 1.1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75em;
}

.review-count {
  font-size: 1em;
  color: var(--wp--preset--color--primary, #444);
  margin-left: 0.5em;
} 

.compact-layout .business-meta-group {
  margin-bottom: 0.05rem !important;
  margin-top: -0.15rem !important;
  gap: 0.08em !important;
}

.compact-layout .business-meta-group > span,
.compact-layout .business-meta-group > .rating,
.compact-layout .business-meta-group > .big-rating,
.compact-layout .business-meta-group > .review-count,
.compact-layout .business-meta-group > .big-price {
  margin-right: 0.08em !important;
  margin-left: 0 !important;
}

.compact-layout .business-meta-group > span:last-child {
  margin-right: 0 !important;
}

.compact-layout .business-meta-group + .business-image {
  margin-top: 0.01em !important;
}

.compact-layout .big-price {
  color: #28a745 !important;
}

/* Reduce space below intro line */
.compact-layout .business-seo-intro {
  margin-bottom: 0.3em !important;
}

/* Reduce space below meta group and above image */
.compact-layout .business-meta-group + .business-image {
  margin-top: 0.2em !important;
}

/* Front Page Business Grid Styles */
/* CATEGORY PAGE BUSINESS GRID - CLEAN CARD LAYOUT */
.business-grid {
    display: grid !important;
    gap: 1.5rem !important;
    margin: 2rem 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.business-grid-2-columns {
    grid-template-columns: repeat(2, 1fr) !important;
}

.business-grid-3-columns {
    grid-template-columns: repeat(3, 1fr) !important;
}

.business-grid-4-columns {
    grid-template-columns: repeat(4, 1fr) !important;
}

.business-card {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: none !important;
    box-shadow: none !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
}

.business-card:hover {
    box-shadow: none !important;
    transform: none !important;
    border: 1px solid #e0e0e0 !important;
}

/* Category page image styling - FILL CONTAINER COMPLETELY - ULTRA AGGRESSIVE */
.business-card .wp-block-image,
div.business-card .wp-block-image,
.business-grid .business-card .wp-block-image,
.business-card .wp-block-image *,
div.business-card .wp-block-image *,
.business-grid .business-card .wp-block-image *,
.business-card .wp-block-image a,
div.business-card .wp-block-image a,
.business-grid .business-card .wp-block-image a {
    position: relative !important;
    height: 200px !important;
    overflow: hidden !important;
    margin: -1rem -1rem 0 -1rem !important;
    width: calc(100% + 2rem) !important;
    border-radius: 8px 8px 0 0 !important;
    max-width: none !important;
    min-width: auto !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

.business-card .wp-block-image img,
div.business-card .wp-block-image img,
.business-grid .business-card .wp-block-image img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
    transform: none !important;
    border-radius: 8px 8px 0 0 !important;
    max-width: none !important;
    min-width: auto !important;
    box-sizing: border-box !important;
}

/* Shortcode image styling */
.business-card-front .business-image {
    position: relative !important;
    height: 200px !important;
    overflow: hidden !important;
    margin: 0 !important;
    width: 100% !important;
    border-radius: 8px 8px 0 0 !important;
}

.business-card-front .business-image img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
    transform: none !important;
    border-radius: 8px 8px 0 0 !important;
}

.business-card-front:hover .business-image img {
    transform: none !important;
}

/* Category page content styling - AGGRESSIVE OVERRIDE */
.business-card,
div.business-card,
.business-grid .business-card {
    padding: 0.67rem !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1rem !important;
    position: relative !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.business-card h3 {
    margin: 0 0 0.15rem 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #333 !important;
}

.business-card h3 a {
    color: #333 !important;
    text-decoration: none !important;
}

.business-card h3 a:hover {
    color: #007cba !important;
    text-decoration: none !important;
}

/* Shortcode content styling */
.business-card-front .business-info {
    padding: 0.67rem !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1rem !important;
}

.business-card-front h3 {
    margin: 0 0 0.15rem 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #333 !important;
}

.business-card-front h3 a {
    color: #333 !important;
    text-decoration: none !important;
}

.business-card-front h3 a:hover {
    color: #007cba !important;
    text-decoration: none !important;
}

/* Category page food categories styling - ULTRA AGGRESSIVE OVERRIDE */
.business-card .food-categories,
div.business-card .food-categories,
.business-grid .business-card .food-categories,
.business-card h3 + .food-categories,
div.business-card h3 + .food-categories,
.business-grid .business-card h3 + .food-categories {
    margin: 0 0 0.15rem 0 !important;
    font-size: 0.8rem !important;
    color: #007cba !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.business-card .spacer,
div.business-card .spacer,
.business-grid .business-card .spacer {
    height: 0.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    clear: both !important;
}

/* Category page address, phone, and meta styling */
.business-card .address {
    margin: 0 0 0.25rem 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.business-card .phone {
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.business-card .rating-price,
div.business-card .rating-price,
.business-grid .business-card .rating-price,
.business-card .food-categories + .rating-price,
div.business-card .food-categories + .rating-price,
.business-grid .business-card .food-categories + .rating-price {
    margin: 0 0 0.5rem 0 !important;
    gap: 0.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.business-card .rating {
    font-size: 0.9rem !important;
    color: #f39c12 !important;
    font-weight: 500 !important;
}

.business-card .price {
    font-size: 0.9rem !important;
    color: #27ae60 !important;
    font-weight: 500 !important;
}

.business-card .reviews {
    font-size: 0.9rem !important;
    color: #666 !important;
}

/* Shortcode address, phone, and meta styling */
.business-card-front .address {
    margin: 0 0 0.25rem 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.business-card-front .phone {
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.business-card-front .address a,
.business-card-front .phone a {
    color: #007cba !important;
    text-decoration: none !important;
}

.business-card-front .address a:hover,
.business-card-front .phone a:hover {
    text-decoration: underline !important;
}

.business-card-front .business-meta {
    margin: 0 0 0.5rem 0 !important;
    gap: 0.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.business-card-front .rating {
    font-size: 0.9rem !important;
    color: #f39c12 !important;
    font-weight: 500 !important;
}

.business-card-front .price {
    font-size: 0.9rem !important;
    color: #27ae60 !important;
    font-weight: 500 !important;
}

/* Category page description and tags styling */
.business-card .description {
    margin: 0.5rem 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.business-card-front .description {
    margin: 0.5rem 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.4 !important;
}



.business-card .card-actions {
    margin-top: auto !important;
    padding-top: 1rem !important;
    text-align: right !important;
}

.business-card-front .card-actions {
    margin-top: auto !important;
    padding-top: 1rem !important;
    text-align: right !important;
}

.business-card .view-details-btn {
    display: inline-block !important;
    background: #007cba !important;
    color: white !important;
    padding: 0.5rem 1rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    transition: none !important;
}

.business-card .view-details-btn:hover {
    background: #005a87 !important;
    color: white !important;
    text-decoration: none !important;
}

.business-card-front .view-details-btn {
    display: inline-block !important;
    background: #007cba !important;
    color: white !important;
    padding: 0.5rem 1rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    transition: none !important;
}

.business-card-front .view-details-btn:hover {
    background: #005a87 !important;
    color: white !important;
    text-decoration: none !important;
}

/* Shortcode categories styling */
.business-card-front .categories {
    margin: 0 0 0.15rem 0 !important;
    gap: 0.25rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.business-card-front .food-categories {
    margin: 0 0 0.15rem 0 !important;
    font-size: 0.8rem !important;
    color: #007cba !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.business-card-front .spacer {
    height: 0.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    clear: both !important;
}

.business-card-front .rating-price {
    margin: 0 0 0.5rem 0 !important;
    gap: 0.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.business-card-front .tag {
    font-size: 0.75rem !important;
    padding: 0.25rem 0.5rem !important;
    background: #f8f9fa !important;
    color: #495057 !important;
    border-radius: 4px !important;
    border: 1px solid #e9ecef !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin-right: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

/* SHORTCODE BUSINESS GRID - ULTRA AGGRESSIVE STYLING */
.tyler-businesses-grid,
div.tyler-businesses-grid,
body .tyler-businesses-grid,
.entry-content .tyler-businesses-grid,
.wp-block-group .tyler-businesses-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 2rem 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* SHORTCODE BUSINESS CARDS - ULTRA AGGRESSIVE STYLING */
.business-card-front,
div.business-card-front,
body .business-card-front,
.tyler-businesses-grid .business-card-front,
.entry-content .business-card-front {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: none !important;
    box-shadow: none !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
}

.business-card-front:hover,
div.business-card-front:hover,
body .business-card-front:hover,
.tyler-businesses-grid .business-card-front:hover,
.entry-content .business-card-front:hover {
    box-shadow: none !important;
    transform: none !important;
    border: 1px solid #e0e0e0 !important;
}

/* Responsive styling for category and shortcode grids */
@media (max-width: 768px) {
    .business-grid,
    .tyler-businesses-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
        margin: 1.5rem 0 !important;
    }
    
    .business-card,
    .business-card-front .business-info {
        padding: 1rem !important;
    }
    
    .business-card h3,
    .business-card-front h3 {
        font-size: 1.1rem !important;
    }
}

@media (max-width: 480px) {
    .business-card .wp-block-image,
    .business-card-front .business-image {
        height: 150px !important;
    }
    
    .business-card .wp-block-image img,
    .business-card-front .business-image img {
        height: 150px !important;
    }
    
    .business-card,
    .business-card-front .business-info {
        padding: 0.75rem !important;
    }
} 