<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/croisiere-destination.html.twig */
class __TwigTemplate_3e33220533a053d22ec887175cc525f8 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'seo' => [$this, 'block_seo'],
'body' => [$this, 'block_body'],
];
}
protected function doGetParent(array $context)
{
// line 2
return "base.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/croisiere-destination.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/croisiere-destination.html.twig"));
$this->parent = $this->loadTemplate("base.html.twig", "default/croisiere-destination.html.twig", 2);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 3
public function block_title($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
yield "O’Croisière - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 3, $this->source); })()), "title", [], "any", false, false, false, 3), "html", null, true);
yield " | O Tropik – Agence de voyage en Guadeloupe";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
// line 4
public function block_seo($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "seo"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "seo"));
// line 5
yield " <meta name=\"description\" content=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 5, $this->source); })()), "description", [], "any", false, false, false, 5), "html", null, true);
yield "\" >
\t<meta property=\"og:title\" content=\"";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 7, $this->source); })()), "metaTitle", [], "any", false, false, false, 7), "html", null, true);
yield "\" />
\t<meta property=\"og:type\" content=\"Website\" />
\t<meta property=\"og:description\" content=\"";
// line 9
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 9, $this->source); })()), "metaDescription", [], "any", false, false, false, 9), "html", null, true);
yield "\" />
\t<meta property=\"og:url\" content=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 10, $this->source); })()), "request", [], "any", false, false, false, 10), "uri", [], "any", false, false, false, 10)), "html", null, true);
yield "\" />
\t<meta property=\"og:image\" content=\"";
// line 11
yield "\" />
\t<meta name =\"twitter:card\" content=\"summary_large_image\" />
\t<meta name=\"twitter:title\" content=\"";
// line 14
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 14, $this->source); })()), "metaTitle", [], "any", false, false, false, 14), "html", null, true);
yield "\">
\t<meta name=\"twitter:description\" content=\"";
// line 15
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 15, $this->source); })()), "metaDescription", [], "any", false, false, false, 15), "html", null, true);
yield "\">
\t<meta name=\"twitter:image\" content=\"";
// line 16
yield "\">
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
// line 18
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
// line 20
yield "<section class=\"hero hero--offer hero--cruise is-animated position-relative text-white\">
<div class=\"hero__media ratio ratio-21x9\">
<img src=\"";
// line 22
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((((("img/offer/" . CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 22, $this->source); })()), "file", [], "any", false, false, false, 22)) . "/") . CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 22, $this->source); })()), "slug", [], "any", false, false, false, 22)) . "/") . CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 22, $this->source); })()), "img", [], "any", false, false, false, 22))), "html", null, true);
yield "\"
alt=\"";
// line 23
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 23, $this->source); })()), "title", [], "any", false, false, false, 23), "html", null, true);
yield "\"
class=\"hero__img w-100 h-100 object-fit-cover\">
</div>
<div class=\"hero__overlay\">
<div class=\"hero__card\">
<h1 class=\"hero__title display-5 fw-bold mb-2\">
";
// line 30
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 30, $this->source); })()), "title", [], "any", false, false, false, 30), "html", null, true);
yield "
</h1>
<p class=\"hero__subtitle lead mb-0\">
";
// line 33
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 33, $this->source); })()), "subtitle", [], "any", false, false, false, 33), "html", null, true);
yield "
</p>
</div>
</div>
</section>
<section class=\"container py-5\">
<div class=\"row g-4\">
";
// line 42
yield " <div class=\"col-12 col-lg-5\">
<div class=\"card border-0 shadow-sm rounded-4\">
<div class=\"ratio ratio-4x3 rounded-top-4 overflow-hidden\">
<div id=\"circuitCarousel\"
class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
data-bs-ride=\"carousel\"
data-bs-interval=\"5000\"
data-bs-pause=\"hover\"
data-bs-touch=\"true\"
aria-label=\"Galerie circuit\">
<div class=\"carousel-inner\">
";
// line 54
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary", $context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.', 54, $this->source); })()));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
// line 55
yield " <div class=\"carousel-item ";
if (CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 55)) {
yield "active";
}
yield "\">
<div class=\"ratio ratio-4x3\">
<img src=\"";
// line 57
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((((("img/" . CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["p"], "offer", [], "any", false, false, false, 57), "file", [], "any", false, false, false, 57)) . "/") . CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, $context["p"], "offer", [], "any", false, false, false, 57), "slug", [], "any", false, false, false, 57)) . "/itinerary/") . CoreExtension::getAttribute($this->env, $this->source, $context["p"], "img", [], "any", false, false, false, 57))), "html", null, true);
yield "\" class=\"d-block w-100 h-100 object-fit-cover\" alt=\"Photo circuit ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 57), "html", null, true);
yield "\">
</div>
</div>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 61
yield " </div>
<button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
<span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
<span class=\"visually-hidden\">Précédent</span>
</button>
<button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
<span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
<span class=\"visually-hidden\">Suivant</span>
</button>
<div class=\"carousel-indicators\">
";
// line 72
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary", $context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.', 72, $this->source); })()));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
// line 73
yield " <button type=\"button\"
data-bs-target=\"#circuitCarousel\"
data-bs-slide-to=\"";
// line 75
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, false, 75), "html", null, true);
yield "\"
class=\"";
// line 76
if (CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 76)) {
yield "active";
}
yield "\"
aria-current=\"";
// line 77
yield ((CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 77)) ? ("true") : ("false"));
yield "\"
aria-label=\"Slide ";
// line 78
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 78), "html", null, true);
yield "\"></button>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 80
yield " </div>
</div>
</div>
<div class=\"card-body\">
<h2 class=\"h4 txt-ot-blue fw-bold mb-1\">Les atouts de la croisiere</h2>
<div class=\"d-flex flex-wrap gap-2 mb-2\">
";
// line 87
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["highlight"]) || array_key_exists("highlight", $context) ? $context["highlight"] : (function () { throw new RuntimeError('Variable "highlight" does not exist.', 87, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
yield "<span class=\"badge rounded-pill bg-success-subtle text-success-emphasis\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["h"], "title", [], "any", false, false, false, 87), "html", null, true);
yield "</span>";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
yield "
</div>
";
// line 95
yield " </div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mt-4\">
<div class=\"card-body\">
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Inclus</h3>
<ul class=\"list-unstyled small m-0\">
";
// line 102
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 102, $this->source); })()), "included", [], "any", false, false, false, 102), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 103
yield " <li class=\"mb-1\">✔️ ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 105
yield " </ul>
<hr>
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Non inclus</h3>
<ul class=\"list-unstyled m-0\">
";
// line 109
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 109, $this->source); })()), "notIncluded", [], "any", false, false, false, 109), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 110
yield " <li class=\"mb-1\">- ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 112
yield " </ul>
</div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mt-4\">
<div class=\"card-body small\">
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Formalités</h3>
<ul class=\"list-unstyled m-0\">
";
// line 120
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 120, $this->source); })()), "formalities", [], "any", false, false, false, 120), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 121
yield " <li class=\"mb-1\">✔️ ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 123
yield " </ul>
<hr>
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Modalités de paiement</h3>
<ul class=\"list-unstyled m-0\">
";
// line 127
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 127, $this->source); })()), "paymentMethod", [], "any", false, false, false, 127), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 128
yield " <li class=\"mb-1\">✔️ ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 130
yield " </ul>
</div>
</div>
</div>
";
// line 136
yield " <div class=\"col-12 col-lg-7\">
<!-- Ligne 1 : Durée / Vols / Tarif -->
<div class=\"row g-3 mb-4\">
<!-- Durée -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Durée</h6>
<p class=\"mb-0 text-muted\">";
// line 146
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 146, $this->source); })()), "summaryDuration", [], "any", false, false, false, 146), "html", null, true);
yield "</p>
</div>
</div>
</div>
<!-- Vols -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Vols</h6>
<ul class=\"mb-0 ps-3\">
";
// line 157
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 157, $this->source); })()), "summaryFlights", [], "any", false, false, false, 157), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 158
yield " ";
if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
// line 159
yield " <li>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
// line 161
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 162
yield " </ul>
</div>
</div>
</div>
<!-- Tarif -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Tarif à partir de</h6>
<p class=\"mb-0 text-muted\">";
// line 172
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 172, $this->source); })()), "priceFrom", [], "any", false, false, false, 172), "html", null, true);
yield " €</p>
</div>
</div>
</div>
</div>
<!-- Ligne 2 : Rythme -->
<div class=\"row g-3 mb-4\">
<div class=\"col-12\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Rythme</h6>
<ul class=\"mb-0 ps-3\">
";
// line 186
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::split($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["offer"]) || array_key_exists("offer", $context) ? $context["offer"] : (function () { throw new RuntimeError('Variable "offer" does not exist.', 186, $this->source); })()), "summaryPaceMeals", [], "any", false, false, false, 186), "
"));
foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
// line 187
yield " ";
if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
// line 188
yield " <li>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html", null, true);
yield "</li>
";
}
// line 190
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 191
yield " </ul>
</div>
</div>
</div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mb-4\">
<div class=\"card-body\">
<h2 class=\"h5 txt-ot-blue fw-bold mb-3\">Itinéraire — jour par jour</h2>
<div class=\"list-group list-group-flush\">
";
// line 202
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["itinerary"]) || array_key_exists("itinerary", $context) ? $context["itinerary"] : (function () { throw new RuntimeError('Variable "itinerary" does not exist.', 202, $this->source); })()));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["it"]) {
// line 203
yield " <div class=\"list-group-item px-0\">
<button class=\"btn w-100 d-flex justify-content-between align-items-center text-start\" data-bs-toggle=\"collapse\" data-bs-target=\"#day";
// line 204
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 204), "html", null, true);
yield "\" aria-expanded=\"false\">
<span class=\"fw-bold\">Jour ";
// line 205
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 205), "html", null, true);
yield " - ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["it"], "title", [], "any", false, false, false, 205), "html", null, true);
if (CoreExtension::getAttribute($this->env, $this->source, $context["it"], "kmLabel", [], "any", false, false, false, 205)) {
yield " <span class=\"text-muted fw-normal\"> (";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["it"], "kmLabel", [], "any", false, false, false, 205), "html", null, true);
yield ") km</span>";
}
yield "</span>
<i class=\"bi bi-chevron-down\"></i>
</button>
<div id=\"day";
// line 208
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 208), "html", null, true);
yield "\" class=\"collapse mt-2\">
<p class=\"small text-muted mb-0\">";
// line 209
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["it"], "details", [], "any", false, false, false, 209), "html", null, true);
yield "</p>
</div>
</div>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['it'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 213
yield " </div>
";
// line 217
yield " </div>
</div>
";
// line 219
if ((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer", $context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.', 219, $this->source); })())) {
// line 223
yield " <h3 class=\"h5 txt-ot-blue fw-bold mt-3 mb-3\">Hébergements prévus (ou similaires)</h3>
<ul class=\"list-group\">
";
// line 225
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer", $context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.', 225, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
yield "<li class=\"list-group-item\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["h"], "name", [], "any", false, false, false, 225), "html", null, true);
yield "</li>";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 226
yield " </ul>
";
}
// line 228
yield "
";
// line 229
if ((isset($context["flight"]) || array_key_exists("flight", $context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.', 229, $this->source); })())) {
// line 233
yield " <h3 class=\"h5 txt-ot-blue fw-bold mt-3 mb-3\">Vols & horaires (indicatifs)</h2>
<div class=\"row g-4\">
<div class=\"col-12 col-lg-6\">
<div class=\"card border-0 shadow-sm rounded-4 h-100\">
<div class=\"card-body\">
<h3 class=\"h6 fw-bold mb-2\">Aller</h3>
<ul class=\"small mb-0\">
";
// line 240
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight", $context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.', 240, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
// line 241
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, $context["f"], "type", [], "any", false, false, false, 241) == "1")) {
// line 242
yield " <li>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureCity", [], "any", false, false, false, 242), "html", null, true);
yield " → ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureCity", [], "any", false, false, false, 242), "html", null, true);
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureTime", [], "any", false, false, false, 242), "html", null, true);
yield " / ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "arrivalTime", [], "any", false, false, false, 242), "html", null, true);
yield " </li>
";
}
// line 244
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 245
yield " </ul>
</div>
</div>
</div>
<div class=\"col-12 col-lg-6\">
<div class=\"card border-0 shadow-sm rounded-4 h-100\">
<div class=\"card-body\">
<h3 class=\"h6 fw-bold mb-2\">Retour</h3>
<ul class=\"small mb-0\">
";
// line 254
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight", $context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.', 254, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
// line 255
yield " ";
if ((CoreExtension::getAttribute($this->env, $this->source, $context["f"], "type", [], "any", false, false, false, 255) == "2")) {
// line 256
yield " <li>";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureCity", [], "any", false, false, false, 256), "html", null, true);
yield " → ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureCity", [], "any", false, false, false, 256), "html", null, true);
yield " ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "departureTime", [], "any", false, false, false, 256), "html", null, true);
yield " / ";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["f"], "arrivalTime", [], "any", false, false, false, 256), "html", null, true);
yield " </li>
";
}
// line 258
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 259
yield " </ul>
</div>
</div>
</div>
</div>
<p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
";
}
// line 266
yield " ";
// line 294
yield " </div>
</div>
</section>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/croisiere-destination.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 703 => 294, 701 => 266, 692 => 259, 686 => 258, 674 => 256, 671 => 255, 667 => 254, 656 => 245, 650 => 244, 638 => 242, 635 => 241, 631 => 240, 622 => 233, 620 => 229, 617 => 228, 613 => 226, 602 => 225, 598 => 223, 596 => 219, 592 => 217, 589 => 213, 571 => 209, 567 => 208, 554 => 205, 550 => 204, 547 => 203, 530 => 202, 517 => 191, 511 => 190, 505 => 188, 502 => 187, 497 => 186, 480 => 172, 468 => 162, 462 => 161, 456 => 159, 453 => 158, 448 => 157, 434 => 146, 422 => 136, 415 => 130, 406 => 128, 401 => 127, 395 => 123, 386 => 121, 381 => 120, 371 => 112, 362 => 110, 357 => 109, 351 => 105, 342 => 103, 337 => 102, 328 => 95, 314 => 87, 305 => 80, 289 => 78, 285 => 77, 279 => 76, 275 => 75, 271 => 73, 254 => 72, 241 => 61, 221 => 57, 213 => 55, 196 => 54, 182 => 42, 171 => 33, 165 => 30, 155 => 23, 151 => 22, 147 => 20, 137 => 18, 125 => 16, 121 => 15, 117 => 14, 112 => 11, 108 => 10, 104 => 9, 99 => 7, 93 => 5, 83 => 4, 61 => 3, 38 => 2,);
}
public function getSourceContext()
{
return new Source("{# templates/croisiere/show.html.twig #}
{% extends 'base.html.twig' %}
{% block title %}O’Croisière - {{offer.title}} | O Tropik – Agence de voyage en Guadeloupe{% endblock %}
{% block seo %}
<meta name=\"description\" content=\"{{offer.description}}\" >
\t<meta property=\"og:title\" content=\"{{offer.metaTitle}}\" />
\t<meta property=\"og:type\" content=\"Website\" />
\t<meta property=\"og:description\" content=\"{{offer.metaDescription}}\" />
\t<meta property=\"og:url\" content=\"{{absolute_url( app.request.uri)}}\" />
\t<meta property=\"og:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\" />
\t<meta name =\"twitter:card\" content=\"summary_large_image\" />
\t<meta name=\"twitter:title\" content=\"{{offer.metaTitle}}\">
\t<meta name=\"twitter:description\" content=\"{{offer.metaDescription}}\">
\t<meta name=\"twitter:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\">
{% endblock %}
{% block body %}
{# HERO #}
<section class=\"hero hero--offer hero--cruise is-animated position-relative text-white\">
<div class=\"hero__media ratio ratio-21x9\">
<img src=\"{{ asset('img/offer/' ~ offer.file ~ '/' ~ offer.slug ~ '/' ~ offer.img) }}\"
alt=\"{{ offer.title }}\"
class=\"hero__img w-100 h-100 object-fit-cover\">
</div>
<div class=\"hero__overlay\">
<div class=\"hero__card\">
<h1 class=\"hero__title display-5 fw-bold mb-2\">
{{ offer.title }}
</h1>
<p class=\"hero__subtitle lead mb-0\">
{{ offer.subtitle }}
</p>
</div>
</div>
</section>
<section class=\"container py-5\">
<div class=\"row g-4\">
{# NAVIRE + META + BLOCS TEXTE #}
<div class=\"col-12 col-lg-5\">
<div class=\"card border-0 shadow-sm rounded-4\">
<div class=\"ratio ratio-4x3 rounded-top-4 overflow-hidden\">
<div id=\"circuitCarousel\"
class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
data-bs-ride=\"carousel\"
data-bs-interval=\"5000\"
data-bs-pause=\"hover\"
data-bs-touch=\"true\"
aria-label=\"Galerie circuit\">
<div class=\"carousel-inner\">
{% for p in photoItinerary %}
<div class=\"carousel-item {% if loop.first %}active{% endif %}\">
<div class=\"ratio ratio-4x3\">
<img src=\"{{asset('img/' ~ p.offer.file ~ '/' ~ p.offer.slug ~ '/itinerary/' ~ p.img)}}\" class=\"d-block w-100 h-100 object-fit-cover\" alt=\"Photo circuit {{ loop.index }}\">
</div>
</div>
{% endfor %}
</div>
<button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
<span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
<span class=\"visually-hidden\">Précédent</span>
</button>
<button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
<span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
<span class=\"visually-hidden\">Suivant</span>
</button>
<div class=\"carousel-indicators\">
{% for p in photoItinerary %}
<button type=\"button\"
data-bs-target=\"#circuitCarousel\"
data-bs-slide-to=\"{{ loop.index0 }}\"
class=\"{% if loop.first %}active{% endif %}\"
aria-current=\"{{ loop.first ? 'true' : 'false' }}\"
aria-label=\"Slide {{ loop.index }}\"></button>
{% endfor %}
</div>
</div>
</div>
<div class=\"card-body\">
<h2 class=\"h4 txt-ot-blue fw-bold mb-1\">Les atouts de la croisiere</h2>
<div class=\"d-flex flex-wrap gap-2 mb-2\">
{% for h in highlight %}<span class=\"badge rounded-pill bg-success-subtle text-success-emphasis\">{{ h.title }}</span>{% endfor %}
</div>
{# <ul class=\"small text-muted list-unstyled mb-0\">
<li><strong>Opérateur :</strong> {{ program.operator }} fly</li>
<li><strong>Embarquement :</strong> {{ program.embark_port }} aéoport</li>
<li><strong>Débarquement :</strong> {{ program.disembark_port }} wesh</li>
<li><strong>Départ aéroport :</strong> {{ program.home_airport }} aeoport</li>
</ul> #}
</div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mt-4\">
<div class=\"card-body\">
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Inclus</h3>
<ul class=\"list-unstyled small m-0\">
{% for line in offer.included|split(\"\\n\") %}
<li class=\"mb-1\">✔️ {{ line }}</li>
{% endfor %}
</ul>
<hr>
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Non inclus</h3>
<ul class=\"list-unstyled m-0\">
{% for line in offer.notIncluded|split(\"\\n\") %}
<li class=\"mb-1\">- {{ line }}</li>
{% endfor %}
</ul>
</div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mt-4\">
<div class=\"card-body small\">
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Formalités</h3>
<ul class=\"list-unstyled m-0\">
{% for line in offer.formalities|split(\"\\n\") %}
<li class=\"mb-1\">✔️ {{ line }}</li>
{% endfor %}
</ul>
<hr>
<h3 class=\"h6 txt-ot-blue fw-bold mb-2\">Modalités de paiement</h3>
<ul class=\"list-unstyled m-0\">
{% for line in offer.paymentMethod|split(\"\\n\") %}
<li class=\"mb-1\">✔️ {{ line }}</li>
{% endfor %}
</ul>
</div>
</div>
</div>
{# ITINÉRAIRE + DATES/PRIX #}
<div class=\"col-12 col-lg-7\">
<!-- Ligne 1 : Durée / Vols / Tarif -->
<div class=\"row g-3 mb-4\">
<!-- Durée -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Durée</h6>
<p class=\"mb-0 text-muted\">{{ offer.summaryDuration }}</p>
</div>
</div>
</div>
<!-- Vols -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Vols</h6>
<ul class=\"mb-0 ps-3\">
{% for line in offer.summaryFlights|split(\"\\n\") %}
{% if line|trim != '' %}
<li>{{ line }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
<!-- Tarif -->
<div class=\"col-12 col-md-4\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Tarif à partir de</h6>
<p class=\"mb-0 text-muted\">{{ offer.priceFrom }} €</p>
</div>
</div>
</div>
</div>
<!-- Ligne 2 : Rythme -->
<div class=\"row g-3 mb-4\">
<div class=\"col-12\">
<div class=\"card rounded-4 shadow-sm h-100\">
<div class=\"card-body\">
<h6 class=\"fw-bold txt-ot-blue mb-1\">Rythme</h6>
<ul class=\"mb-0 ps-3\">
{% for line in offer.summaryPaceMeals|split(\"\\n\") %}
{% if line|trim != '' %}
<li>{{ line }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<div class=\"card border-0 shadow-sm rounded-4 mb-4\">
<div class=\"card-body\">
<h2 class=\"h5 txt-ot-blue fw-bold mb-3\">Itinéraire — jour par jour</h2>
<div class=\"list-group list-group-flush\">
{% for it in itinerary %}
<div class=\"list-group-item px-0\">
<button class=\"btn w-100 d-flex justify-content-between align-items-center text-start\" data-bs-toggle=\"collapse\" data-bs-target=\"#day{{ loop.index }}\" aria-expanded=\"false\">
<span class=\"fw-bold\">Jour {{loop.index}} - {{it.title }}{% if it.kmLabel %} <span class=\"text-muted fw-normal\"> ({{ it.kmLabel }}) km</span>{% endif %}</span>
<i class=\"bi bi-chevron-down\"></i>
</button>
<div id=\"day{{ loop.index }}\" class=\"collapse mt-2\">
<p class=\"small text-muted mb-0\">{{ it.details }}</p>
</div>
</div>
{% endfor %}
</div>
{# {% if program.map_image %}
<img src=\"{{ asset(program.map_image) }}\" class=\"img-fluid rounded-3 mt-3\" alt=\"Carte\">
{% endif %} #}
</div>
</div>
{% if hebergementOffer %}
{# =====================================================
5) HÔTELS — liste ou tableau simple
===================================================== #}
<h3 class=\"h5 txt-ot-blue fw-bold mt-3 mb-3\">Hébergements prévus (ou similaires)</h3>
<ul class=\"list-group\">
{% for h in hebergementOffer %}<li class=\"list-group-item\">{{ h.name }}</li>{% endfor %}
</ul>
{% endif %}
{% if flight %}
{# =====================================================
7) VOLS & HORAIRES — bloc détaillé
===================================================== #}
<h3 class=\"h5 txt-ot-blue fw-bold mt-3 mb-3\">Vols & horaires (indicatifs)</h2>
<div class=\"row g-4\">
<div class=\"col-12 col-lg-6\">
<div class=\"card border-0 shadow-sm rounded-4 h-100\">
<div class=\"card-body\">
<h3 class=\"h6 fw-bold mb-2\">Aller</h3>
<ul class=\"small mb-0\">
{% for f in flight %}
{% if f.type == '1' %}
<li>{{ f.departureCity }} → {{ f.departureCity }} {{f.departureTime}} / {{f.arrivalTime}} </li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
<div class=\"col-12 col-lg-6\">
<div class=\"card border-0 shadow-sm rounded-4 h-100\">
<div class=\"card-body\">
<h3 class=\"h6 fw-bold mb-2\">Retour</h3>
<ul class=\"small mb-0\">
{% for f in flight %}
{% if f.type == '2' %}
<li>{{ f.departureCity }} → {{ f.departureCity }} {{f.departureTime}} / {{f.arrivalTime}} </li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
{% endif %}
{# <div class=\"card border-0 shadow-sm rounded-4\">
<div class=\"card-body\">
<h3 class=\"h5 fw-bold mb-3\">Dates </h3>
<div class=\"table-responsive\">
<table class=\"table table-striped table-sm\">
<thead class=\"table-light\">
<tr><th>Période</th></tr>
</thead>
<tbody>
{% for p in program.prices %}
<tr>
<td>{{ p.period_label }}</td>
<td>{{ p.price_inside }}€</td>
<td>{{ p.price_oceanview }}€</td>
<td>{{ p.price_balcony }}€</td>
<td>{{ p.price_3rd4th_adult ?? '—' }}</td>
<td>{{ p.price_3rd4th_child ?? '—' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<div class=\"d-flex justify-content-end mt-4\">
<a href=\"{#{ path('app_demander_devis') }}\" class=\"btn btn-primary rounded-pill px-4\">Demander un devis</a>
</div>#}
</div>
</div>
</section>
{% endblock %}
", "default/croisiere-destination.html.twig", "/home/ladomitiyc/otropik/templates/default/croisiere-destination.html.twig");
}
}