@php
$domainBrand = strtoupper((string) preg_replace('/[^a-z0-9]+/i', '', explode('.', $domain->name)[0] ?? $domain->name));
$domainNameParts = explode('.', $domain->name);
$domainRoot = (string) ($domainNameParts[0] ?? $domain->name);
$domainExtension = isset($domainNameParts[count($domainNameParts) - 1]) ? '.'.strtolower((string) $domainNameParts[count($domainNameParts) - 1]) : '';
$rootLength = strlen((string) preg_replace('/[^a-z0-9]/i', '', $domainRoot));
$heroDomain = strtolower($domain->displayTitle());
$isLight = ($company['landing_theme'] ?? 'dark') === 'light';
$surface = $isLight ? '#ffffff' : '#161616';
$surfaceAlt = $isLight ? '#f8f5f0' : '#212121';
$surfaceCard = $isLight ? 'rgba(255,255,255,0.9)' : 'rgba(35,35,35,0.92)';
$surfaceRaised = $isLight ? 'rgba(255,255,255,0.96)' : 'rgba(44,44,44,0.94)';
$surfacePanel = $isLight ? 'rgba(255,252,247,0.96)' : 'rgba(30,30,30,0.96)';
$textMain = $isLight ? '#1c1c1c' : '#ffffff';
$textSoft = $isLight ? '#525252' : '#ded7cf';
$textMuted = $isLight ? '#7a7067' : '#a89f97';
$borderSoft = $isLight ? 'rgba(77,59,43,0.12)' : 'rgba(255,255,255,0.08)';
$borderStrong = $isLight ? 'rgba(140,98,57,0.18)' : 'rgba(241,194,125,0.16)';
$accent = $isLight ? '#8c6239' : '#f1c27d';
$accentStrong = $isLight ? '#6d4725' : '#ffd8a3';
$accentInk = $isLight ? '#ffffff' : '#18120b';
$accentSoft = $isLight ? 'rgba(140,98,57,0.12)' : 'rgba(241,194,125,0.12)';
$accentGlow = $isLight ? 'rgba(140,98,57,0.18)' : 'rgba(241,194,125,0.18)';
$buttonBase = $isLight ? '#8c6239' : '#f1c27d';
$buttonAlt = $isLight ? '#aa7749' : '#d7a55f';
$pageBackground = $isLight
? 'radial-gradient(circle at 12% 18%, rgba(140,98,57,0.14), transparent 24%), radial-gradient(circle at 80% 14%, rgba(255,255,255,0.75), transparent 28%), linear-gradient(180deg, #f8f3ec 0%, #f1ebe3 100%)'
: 'radial-gradient(circle at 16% 20%, rgba(241,194,125,0.13), transparent 24%), radial-gradient(circle at 82% 14%, rgba(255,255,255,0.05), transparent 24%), linear-gradient(135deg, #141414 0%, #1b1b1b 48%, #0e0e0e 100%)';
$heroOverlay = $isLight
? 'linear-gradient(180deg, rgba(255,250,244,0.72), rgba(245,239,232,0.92))'
: 'linear-gradient(180deg, rgba(24,24,24,0.42), rgba(10,10,10,0.88))';
$heroTitle = $isLight
? 'linear-gradient(135deg, #1c1c1c 0%, #5a4632 48%, #8c6239 100%)'
: 'linear-gradient(135deg, #ffffff 0%, #fff6ea 55%, #f1c27d 100%)';
$heroShadow = $isLight
? '0 18px 50px rgba(102,72,44,0.12)'
: '0 30px 80px rgba(0,0,0,0.34)';
$panelShadow = $isLight
? '0 28px 80px rgba(99,70,42,0.14)'
: '0 40px 110px rgba(0,0,0,0.38)';
$trustPoints = [
'Direct negotiation',
'Secure transfer',
'Priority response',
];
$priceTitle = $domain->show_public_price ? 'Guide minimum offer' : 'Offer process';
$priceSupport = $domain->show_public_price
? 'A starting point for negotiation.'
: 'Open to serious offers.';
$siteName = trim((string) ($company['company_name'] ?? config('app.name')));
$rawSeoTitle = $domain->metaTitle();
$seoTitle = $siteName !== '' && ! \Illuminate\Support\Str::contains(mb_strtolower($rawSeoTitle), mb_strtolower($siteName))
? $rawSeoTitle.' | '.$siteName
: $rawSeoTitle;
$seoDescription = $domain->metaDescription();
$robotsContent = ! empty($previewMode)
? 'noindex,nofollow'
: ($domain->is_indexable ? 'index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1' : 'noindex,nofollow');
$themeColor = $isLight ? '#f1ebe3' : '#141414';
$pageUrl = $canonicalUrl;
$socialImagePath = $domain->background_image ?: $domain->logo;
$socialImageUrl = $socialImagePath ? $originUrl.Storage::url($socialImagePath) : asset('favicon.svg');
$socialImageAlt = $domain->displayTitle().' for sale';
$twitterCard = $socialImagePath ? 'summary_large_image' : 'summary';
$offerAvailability = match ($domain->status) {
\App\Models\Domain::STATUS_AVAILABLE => 'https://schema.org/InStock',
\App\Models\Domain::STATUS_RESERVED => 'https://schema.org/LimitedAvailability',
default => 'https://schema.org/OutOfStock',
};
$productSchema = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $domain->displayTitle(),
'description' => $seoDescription,
'category' => 'Domain Name',
'sku' => $domain->name,
'url' => $pageUrl,
'image' => [$socialImageUrl],
];
if ($siteName !== '') {
$productSchema['brand'] = [
'@type' => 'Brand',
'name' => $siteName,
];
}
if ($domain->acceptsOffers()) {
$productSchema['offers'] = [
'@type' => 'Offer',
'url' => $pageUrl,
'priceCurrency' => $domain->currency,
'availability' => $offerAvailability,
];
if ($domain->show_public_price && (float) $domain->minimum_price > 0) {
$productSchema['offers']['price'] = number_format((float) $domain->minimum_price, 2, '.', '');
}
}
@endphp
{{ $seoTitle }}
@include('partials.public-favicons', ['themeColor' => $themeColor])
@vite(['resources/css/app.css', 'resources/js/app.js'])
background_image) style="background-image: {{ $heroOverlay }}, url('{{ Storage::url($domain->background_image) }}');" @else style="background-image: {{ $pageBackground }};" @endif>
@if (! empty($previewMode))
Local preview for {{ $domain->name }}.
@endif
@if (! empty($company['brand_tagline']))
{{ $company['brand_tagline'] }}
@endif
{{ $domain->description ?: 'This domain is available for acquisition and can become the foundation of a strong, memorable brand ready to capture demand from day one.' }}
@foreach ($trustPoints as $trustPoint)
Benefit
{{ $trustPoint }}
@endforeach
{{ $priceTitle }}
@if ($domain->status === \App\Models\Domain::STATUS_SOLD)
Sold
@elseif ($domain->show_public_price)
{{ number_format((float) $domain->minimum_price, 2, ',', '.') }} {{ $domain->currency }}
@else
Make an offer
@endif
{{ $priceSupport }}
Status
{{ $domain->acceptsOffers() ? 'Open' : 'Closed' }}
Active transaction support included.
Priority response
@if ($domain->acceptsOffers())
@else
@if ($domain->status === \App\Models\Domain::STATUS_SOLD)
This domain has already been sold and is no longer accepting offers.
@else
This domain is not accepting offers at the moment.
@endif
@endif