@php $headline = $content['headline'] ?? ''; $body = $content['body'] ?? ''; $btnLabel = $content['button_label'] ?? null; $btnUrl = $content['button_url'] ?? '#'; $bg = $content['background'] ?? 'indigo'; $bgStyle = match ($bg) { 'gray' => 'background:#111827;color:#fff;', 'white' => 'background:#fff;color:#111827;border-top:1px solid #e5e7eb;', default => 'background:linear-gradient(135deg,#4f46e5 0%,#8b5cf6 100%);color:#fff;', }; @endphp {{-- Note: inline style is genuinely DYNAMIC — $bgStyle is computed from the tenant's $content['background'] picker (indigo / gray / white). All static properties (padding, position, overflow) live in cta.css under the .lp-cta rule; only the dynamic background/color/border swap stays inline. --}}
@if($headline)

{{ $headline }}

@endif @if($body)

{{ $body }}

@endif @if($btnLabel) {{-- Fix note: btnUrl is tenant-typed; Blade {{ }}/e() HTML-escape but does NOT block javascript: scheme. Gate with UrlSafety. --}} {{ $btnLabel }} @endif