{# templates/escapade/show.html.twig #}
{% extends 'base.html.twig' %}
{% block title %}O'Escapade — {{ offer.title }}{% endblock %}
{# Header standard ou overlay si besoin sur le hero #}
{% block header_classes %}header-overlay{% endblock %}
{% block navbar_theme %}navbar-dark{% endblock %}
{% block body %}
{# -----------------------------
HERO Escapade (avec inclus)
------------------------------ #}
<section class="position-relative text-white">
<div class="ratio ratio-21x9">
{% if offer.img %}
<img src="{{asset('img/offre/' ~ offer.img)}}" alt="Carnaval St Lucie" class="object-fit-cover w-100 h-100">
{% else %}
<img src="{{asset('img/destination/' ~ offer.destination.slug ~ '/' ~ offer.destination.img)}}" alt="Carnaval St Lucie" class="object-fit-cover w-100 h-100">
{% endif %}
</div>
<div class="position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center">
<div class="container">
<div class="bg-white text-dark p-4 p-md-5 rounded-4 shadow-sm" style="max-width: 600px;">
<h1 class="display-5 fw-bold txt-ot-green mb-3">{{offer.title}}</h1>
<p class="mb-3">{{offer.subtitle}}</p>
<div>
{% if offer.includedText %}
<h6 class="fw-bold txt-ot-green mb-2">Inclus :</h6>
<ul class="list-unstyled mb-0">
{% for line in offer.includedText|split("\n") %}
{% if line|trim != '' %}
<li class="mb-1">✔️ {{ line }}</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
</div>
</div>
</div>
</div>
</section>
{# Fil d'Ariane #}
<nav class="container my-4" aria-label="breadcrumb">
<ol class="breadcrumb small">
<li class="breadcrumb-item"><a href="{{ path('app') }}">Accueil</a></li>
<li class="breadcrumb-item"><a href="{{ path('o.escapade') }}">O'escapade</a></li>
<li class="breadcrumb-item active" aria-current="page">{{offer.destination.name}}</li>
</ol>
</nav>
{% if formules %}
{# -----------------------------
Formules
------------------------------ #}
<section class="container py-5">
<h2 class="display-6 lh-1 fw-bold txt-ot-green mb-4">Nos formules O’Escapade</h2>
<div class="row row-cols-1 row-cols-md-2 g-4">
{% for f in formules %}
{# Formule 1 #}
<div class="col">
<div class="card h-100 border-0 shadow-sm rounded-4 overflow-hidden">
<div class="card-body p-4">
<span class="badge bg-ot-green text-white mb-3">{{f.durationLabel}}</span>
<h3 class="h5 fw-bold mb-3">{{f.title}}</h3>
<p class="small text-muted mb-2"><i class="bi bi-calendar-week"></i> Départs :</p>
<ul class="small mb-3">
{% for line in f.departuresText|split("\n") %}
{% if line|trim != '' %}
<li class="mb-1">{{ line }}</li>
{% endif %}
{% endfor %}
</ul>
<p class="small text-muted mb-2"><i class="bi bi-airplane"></i> Transports :</p>
<ul class="small mb-3">
{% for line in f.transportText|split("\n") %}
{% if line|trim != '' %}
<li class="mb-1">{{ line }}</li>
{% endif %}
{% endfor %}
</ul>
<p class="text-muted small mb-4">{{f.description}}</p>
<a href="{{ path('o.devis') }}" class="btn btn-outline-ot-green rounded-pill">Demander un devis</a>
</div>
</div>
</div>
{% endfor %}
</section>
{% endif %}
{# -----------------------------
SECTION 1 — Hébergement (SÉLECTION D'HÔTELS)
------------------------------ #}
<section class="container py-4 py-md-5">
<div class="row g-4">
<div class="col-12 col-lg-6">
<p class="text-muted small mb-1">{{offer.title}}</p>
<h2 class="display-6 lh-1 fw-bold txt-ot-green mb-3">Hébergement</h2>
<p class="text-muted">
Notre sélection d’hôtels partenaires pour une escapade sans fausse note : confort, localisation idéale et accueil au top.
</p>
</div>
</div>
<div class="row g-3 g-md-4 mt-2">
{% for h in offerHebergement %}
<div class="col-12 col-sm-6 col-lg-4">
<article class="card hotel-card border-0 shadow-sm h-100 rounded-4 overflow-hidden">
<a href="{#{ h.url }#}" class="stretched-link text-decoration-none">
<div class="ratio ratio-4x3">
<img src="{{asset('img/hotels/' ~ h.hebergement.country.slug ~ '/' ~ h.hebergement.slug ~ '/' ~ h.hebergement.img)}}" alt="{{ h.hebergement.name }} — photo de l’hôtel" class="object-fit-cover w-100 h-100">
</div>
<div class="card-body">
<h3 class="h6 mb-1 d-flex justify-content-between align-items-baseline">
<span class="hotel-name">{{ h.hebergement.name }}</span>
<span class="hotel-price">à partir de {{ h.priceFrom }}€</span>
</h3>
<p class="small text-muted mb-0">{{ h.blurb }}</p>
</div>
</a>
</article>
</div>
{% endfor %}
</div>
</section>
{# -----------------------------
SECTION 2 — Parade (texte gauche, image droite)
------------------------------
<section class="container py-4 py-md-5">
<div class="row g-4 align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<p class="text-muted small mb-1">{{ escapade.kicker|default('Carnaval St Lucie') }}</p>
<h2 class="display-6 lh-1 fw-bold text-ot-green mb-3">Parade</h2>
<p class="text-muted">Lorem Ipsum is simply dummy text of the printing and typesetting industry…</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1">
<div class="ratio ratio-4x3 rounded-4 overflow-hidden shadow-sm">
<img src="{{ asset(escapade.parade_img|default('img/escapade/parade.jpg')) }}" alt="Parade" class="object-fit-cover w-100 h-100">
</div>
</div>
</div>
</section>#}
{# -----------------------------
SECTION 3 — Activités (image gauche, texte droite)
------------------------------
<section class="container py-4 py-md-5">
<div class="row g-4 align-items-center">
<div class="col-12 col-lg-6">
<div class="ratio ratio-4x3 rounded-4 overflow-hidden shadow-sm">
<img src="{{ asset(escapade.activites_img|default('img/escapade/activity.jpg')) }}" alt="Activités" class="object-fit-cover w-100 h-100">
</div>
</div>
<div class="col-12 col-lg-6">
<p class="text-muted small mb-1">{{ escapade.kicker|default('Carnaval St Lucie') }}</p>
<h2 class="display-6 lh-1 fw-bold text-ot-green mb-3">Activités</h2>
<p class="text-muted">Lorem Ipsum is simply dummy text of the printing and typesetting industry…</p>
</div>
</div>
</section> #}
{# -----------------------------
OFFRES DU MOMENT — réutilisation grille cartes maquette
------------------------------ #}
<section class="py-5 bg-white">
<div class="container">
<header class="mb-3">
<h2 class="h3 txt-ot-green mb-1 fw-bold">Nos O'offres du moment</h2>
<p class="text-muted mb-0">Découvrez nos dernières expériences en immersion !</p>
</header>
<div class="row g-3 g-md-4">
{% set offres = [
{ title: 'Carnaval St Lucie', img: 'carnaval.jpg', url: '#' },
{ title: 'Croisière Caraïbes', img: 'caraibes.jpg', url: '#' },
{ title: 'Spring Break Cancun', img: 'cancun.jpg', url: '#' },
{ title: 'Road trip Route 66', img: 'road-66.jpg', url: '#' }
] %}
{% for o in offres %}
<div class="col-12 col-sm-6 col-lg-3">
<article class="card card-offer border-0 shadow-sm h-100 overflow-hidden rounded-4">
<a href="{{ o.url }}" class="stretched-link text-decoration-none text-white">
<div class="ratio ratio-4x5">
<img src="{{ asset('img/offre/' ~ o.img) }}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
</div>
<div class="card-img-overlay d-flex flex-column justify-content-end p-3 p-md-4">
<h3 class="h5 fw-bold text-white text-shadow-sm mb-3">{{ o.title }}</h3>
<div>
<span class="btn btn-outline-light btn-sm">Découvrir</span>
</div>
</div>
</a>
</article>
</div>
{% endfor %}
</div>
<div class="section-divider mx-auto my-5"></div>
</div>
</section>
{% endblock %}
{% block extra_head %}
{{ parent() }}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
<style>
.text-shadow-sm{ text-shadow:0 2px 4px rgba(0,0,0,.35); }
.text-ot-green{ color: var(--ot-primary, #2ea37a); }
</style>
{% endblock %}