/* GEO AI System - Frontend Styles */
.geo-city-intro { margin-bottom: 30px; }
.geo-city-categories { margin-bottom: 30px; }
.geo-city-categories ul { list-style: none; padding: 0; display: flex; gap: 12px; flex-wrap: wrap; }
.geo-city-categories li { }
.geo-city-categories a {
    display: inline-block; padding: 10px 24px;
    background: #2271b1; color: #fff; border-radius: 6px;
    text-decoration: none; font-weight: 600;
}
.geo-city-categories a:hover { background: #135e96; }

.geo-business-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin-top: 20px; }
.geo-business-card {
    background: #fff; border: 1px solid #e0e0e0; border-radius: 10px;
    padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,.06);
    transition: box-shadow .2s;
}
.geo-business-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.geo-biz-header h2 { margin: 0 0 6px; font-size: 1.2em; }
.geo-biz-rating { color: #f0a500; font-weight: 600; }
.geo-biz-info { margin: 12px 0; font-size: .9em; color: #555; }
.geo-biz-info p { margin: 4px 0; }
.geo-biz-desc { margin: 12px 0; }
.geo-biz-list { list-style: none; padding: 0; margin: 20px 0; }
.geo-biz-list li { margin: 8px 0; }
.geo-biz-list a { color: #2271b1; text-decoration: none; font-weight: 500; }
.geo-biz-list a:hover { text-decoration: underline; }

/* Breadcrumb */
.geo-breadcrumb { margin: 0 0 20px; font-size: .9em; color: #666; }
.geo-breadcrumb a { color: #2271b1; text-decoration: none; }
.geo-breadcrumb span { margin: 0 6px; }

/* FAQ Section */
.geo-faq { margin: 30px 0; }
.geo-faq h3 { margin-bottom: 16px; }
.geo-faq-item { margin-bottom: 12px; border-bottom: 1px solid #eee; padding-bottom: 12px; }
.geo-faq-q { font-weight: 700; color: #333; cursor: pointer; }
.geo-faq-a { margin-top: 6px; color: #555; }

/* Multi-column bottom business link grid */
.geo-biz-link-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 30px;
    margin: 20px 0;
}
.geo-biz-link-item {
    padding: 10px 14px;
    border-bottom: 1px dashed #e8e8e8;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    break-inside: avoid;
}
.geo-biz-link-item:hover {
    background: #f8f9fa;
    border-radius: 4px;
}
.geo-biz-link-name {
    font-weight: 600;
    color: #2271b1;
    text-decoration: none;
    font-size: 0.95em;
}
.geo-biz-link-name:hover {
    color: #135e96;
    text-decoration: underline;
}
.geo-biz-link-district {
    font-size: 0.78em;
    color: #888;
}
.geo-biz-link-rating {
    font-size: 0.8em;
    color: #f0a500;
    margin-left: auto;
    white-space: nowrap;
}

/* City intro styles */
.geo-city-intro {
    padding: 30px 0 20px;
    border-bottom: 1px solid #eee;
    margin-bottom: 24px;
}
.geo-city-intro h2 {
    font-size: 1.6em;
    margin-bottom: 12px;
    color: #222;
}
.geo-city-categories h3,
.geo-city-businesses h3 {
    font-size: 1.2em;
    margin: 20px 0 12px;
    color: #333;
}
.geo-city-businesses {
    margin-top: 24px;
}

/* Responsive */
@media (max-width: 768px) {
    .geo-biz-link-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px;
    }
}
@media (max-width: 480px) {
    .geo-biz-link-grid {
        grid-template-columns: 1fr;
    }
}

.geo-biz-features { margin:30px 0; padding:24px 28px; background:#f8fdf8; border-left:4px solid #00a32a; border-radius:8px; }
.geo-biz-features h3 { margin:0 0 16px; font-size:1.15em; color:#1a6e2a; }
.geo-features-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; }
.geo-features-list li { padding:6px 0; font-size:.95em; color:#333; }
.geo-feature-icon { color:#00a32a; font-weight:700; margin-right:8px; }
.geo-biz-area { margin:30px 0; padding:24px 28px; background:#f0f6fc; border-left:4px solid #2271b1; border-radius:8px; }
.geo-biz-area h3 { margin:0 0 12px; font-size:1.15em; color:#135e96; }
.geo-biz-area p { margin:0; font-size:.95em; line-height:1.7; color:#444; }
.geo-biz-why-us { margin:30px 0; padding:28px; background:linear-gradient(135deg,#fef9f0,#fff8e8); border:1px solid #f0d78c; border-radius:10px; }
.geo-biz-why-us h3 { margin:0 0 14px; font-size:1.2em; color:#b85c00; }
.geo-biz-why-us p { margin:8px 0; font-size:.95em; line-height:1.8; color:#555; }
@media(max-width:768px){.geo-features-list{grid-template-columns:1fr;gap:6px}.geo-biz-features,.geo-biz-area,.geo-biz-why-us{padding:18px 16px;margin:20px 0}}


.geo-city-page .geo-biz-link-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px 20px !important;
    width: 100% !important;
}

/* 3-column on geo-business-grid inside city content */
.geo-city-page .geo-city-businesses .geo-business-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px 20px !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}
.geo-city-page .geo-city-businesses .geo-business-grid .geo-biz-link-grid {
    display: contents !important;
}
@media (max-width: 768px) {
    .geo-city-page .geo-city-businesses .geo-business-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .geo-city-page .geo-city-businesses .geo-business-grid {
        grid-template-columns: 1fr !important;
    }
}