@php /** * Sponsored placement card. Always carries a visible "Sponsored" disclosure label. * @var array $ad campaign row joined with restaurant_name/slug/cover_image + the sponsored dish * @var string $variant box | tall | banner | mega (hero slides are built inline in hero-slider.php) */ $variant = $variant ?? 'box'; $label = e(setting('ad_disclosure_label', t_raw('common.sponsored_label'))); // Campaign media override -> the sponsored dish's own photo -> the restaurant cover. Resolved in // AdCampaign::subjectImage() because the hero slide and the video band need the same chain. $img = media(\App\Models\AdCampaign::subjectImage($ad), 'assets/admin/fallback/general-fallback.png'); // A placement may point at a video (e.g. a looping burger clip) instead of a still. Render // it as a muted, looping, controls-free background