// [hh_city_shops city="Jhajjar" limit="12"]
function hh_city_shops_shortcode($atts){
  $a = shortcode_atts(['city' => '', 'limit' => '12'], $atts);
  if(!$a['city']) return '<p>No city set.</p>';

  $args = [
    'role'    => 'seller',
    'number'  => intval($a['limit']),
    'meta_query' => [[
        'key'     => 'dokan_profile_settings',
        'value'   => $a['city'],
        'compare' => 'LIKE'
  ]]];

  $vendors = get_users($args);
  if(empty($vendors)) return '<p>No shops yet in '.esc_html($a['city']).'.</p>';

  ob_start();
  echo '<div class="mf-vendor-grid">';
  foreach($vendors as $vendor){
    $store_info = function_exists('dokan_get_store_info') ? dokan_get_store_info($vendor->ID) : [];
    $store_url  = function_exists('dokan_get_store_url') ? dokan_get_store_url($vendor->ID) : get_author_posts_url($vendor->ID);
    $store_name = esc_html($store_info['store_name'] ?? $vendor->display_name);
    $address    = esc_html($store_info['address']['city'] ?? '');
    $phone      = esc_html($store_info['phone'] ?? '');
    $banner_id  = $store_info['banner'] ?? '';
    $banner     = $banner_id ? wp_get_attachment_image_url($banner_id, 'large') : '';

    echo '<div class="mf-vendor-card">';
    if($banner){ echo '<a href="'.$store_url.'"><img src="'.$banner.'" alt="'.$store_name.'" /></a>'; }
    echo '<h3><a href="'.$store_url.'">'.$store_name.'</a></h3>';
    if($address){ echo '<p>'.$address.'</p>'; }
    if($phone){
      $wa = 'https://wa.me/91'.preg_replace('/\D/','',$phone).'?text=Namaste,+main+order+karna+chahta/chahti+hoon.';
      echo '<a class="button mf-wa" href="'.$wa.'" target="_blank">Order on WhatsApp</a>';
    }
    echo '</div>';
  }
  echo '</div>';
  return ob_get_clean();
}
add_shortcode('hh_city_shops','hh_city_shops_shortcode');

add_action('wp_head', function(){
  echo '<style>
  .mf-vendor-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .mf-vendor-card{border:1px solid #eee;border-radius:14px;padding:12px;background:#fff}
  .mf-vendor-card img{width:100%;height:150px;object-fit:cover;border-radius:10px}
  .mf-vendor-card h3{font-size:1.1rem;margin:8px 0}
  .mf-vendor-card .mf-wa{display:inline-block;margin-top:8px;background:#009B77;color:#fff;padding:10px 12px;border-radius:10px}
  </style>';
});
