{% if cruise is defined %}{# Quand true : pas d’accès à cruise.itinerary / escales → évite les requêtes lazy (ex. common_stopover_computed). #}{% set skip_itinerary_lazy = skip_itinerary_lazy|default(false) %}{% set isPriorityLoad = isPriorityLoad ?? false %}{% set categoryTagId = categoryTagId|default(null) %}{% set isCompanyLogo = isCompanyLogo ?? true %}{% set isFavorite = isFavorite ?? true %}{% set ship = cruise.ship %}{% set shipMedia = crea_media_get_media(['main'], cruise.ship, null, { width: 550 }) %}{% set imageUrl = shipMedia ? shipMedia.cdnUrl : '' %}<div class="sub-card {{ isPriorityLoad ? 'priority-load' : 'lazy-load' }}" data-cruise-id="{{ cruise.id }}" data-lazy="{{ isPriorityLoad ? 'false' : 'true' }}"{% if categoryTagId %} data-tag-id="{{ categoryTagId }}"{% endif %}><div class="sub-card-image {{ isPriorityLoad ? '' : 'lazy-background' }}" {% if isPriorityLoad %}style="background-image: url('{{ imageUrl }}');"{% else %}data-bg="{{ imageUrl }}"{% endif %} aria-label="Image du navire {{ cruise.ship.name|default('') }}">{% if isCompanyLogo %}<div class="company-logo-thumbnail"><img src="{{ crea_media_get_media(['logo'], cruise.ship.company).cdnUrl|default('/img/placeholder-company.svg') }}" alt="{{ 'common.company'|trans }} {{ cruise.ship.company.name|default('Compagnie') }}"></div>{% endif %}{% if isFavorite %}<div class="favorite"><button type="button" class="favorite-button" aria-label="Ajouter cette croisière à vos favoris" data-cruise-id="{{ cruise.id }}">{{ getLucidIcon('heart') }}</button></div>{% endif %}</div><div class="sub-card-content"><div class="sub-card-details"><div class="detail"><h3 class="sub-card-title">{{ getCruiseName(cruise)|default('') }}</h3></div><div class="detail bloc-details"><div class="detail"><span class="iconn">{{ getLucidIcon('clock') }}</span>{% if skip_itinerary_lazy %}{% set durationDays = null %}{% if cruise.departureDate and cruise.arrivalDate %}{% set durationDays = max(1, ((cruise.arrivalDate|date('U') - cruise.departureDate|date('U')) / 86400)|round(0, 'floor') + 1) %}{% endif %}{% else %}{% set durationDays = cruise.itinerary.numberOfDays|default(null) %}{% endif %}<span class="text">{{ 'snippets.cruise.duration_days'|trans({'%days%': durationDays ?? '—'}) }}</span></div><div class="detail"><span class="iconn">{{ getLucidIcon('calendar') }}</span><span class="text">{{ 'snippets.cruise.departure_on'|trans({'%date%': cruise.departureDate|date('d/m/Y')|default('')}) }}</span></div></div><div class="detail"><span class="iconn">{{ getLucidIcon('map-pin') }}</span>{% if skip_itinerary_lazy %}<span class="text">{{ 'snippets.cruise.departure_from'|trans({'%port%': '—'}) }}</span>{% else %}<span class="text">{{ 'snippets.cruise.departure_from'|trans({'%port%': cruise.itinerary.itinerarySegments.first.stopover.name|default('')}) }}</span>{% endif %}</div><div class="detail"><span class="iconn">{{ getLucidIcon('ship') }}</span><span class="text">{{ cruise.ship.name|default('') }}</span></div></div><div class="sub-card-price-actions"><div class="sub-card-price"><div class="price" aria-label="Prix : {{ getCruiseBestPrice(cruise)|default(null)|number_format(0, ',', ' ') }} euros par personne"><span class="price-amount">{{ getCruiseBestPrice(cruise)|default(null)|number_format(0, ',', ' ') }}€</span><span class="price-unit">{{ 'common.per_person_short'|trans }}</span></div></div><div class="sub-card-actions"><a href="/croisieres/details?croisiere={{ cruise.id }}" class="btn style6 reverse_color">{{ 'common.see_offer'|trans }} {{ getLucidIcon('arrow-right') }}</a></div></div></div></div>{% endif %}