var/cache/dev/twig/ae/ae947e66cf3ef203b4e5306b604ad32e.php line 41

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. /* default/roadtrip-destination.html.twig */
  15. class __TwigTemplate_be59080f9e9970ebd759d83e5317dc87 extends Template
  16. {
  17.     private $source;
  18.     private $macros = [];
  19.     public function __construct(Environment $env)
  20.     {
  21.         parent::__construct($env);
  22.         $this->source $this->getSourceContext();
  23.         $this->blocks = [
  24.             'title' => [$this'block_title'],
  25.             'seo' => [$this'block_seo'],
  26.             'body' => [$this'block_body'],
  27.         ];
  28.     }
  29.     protected function doGetParent(array $context)
  30.     {
  31.         // line 2
  32.         return "base.html.twig";
  33.     }
  34.     protected function doDisplay(array $context, array $blocks = [])
  35.     {
  36.         $macros $this->macros;
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""default/roadtrip-destination.html.twig"));
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""default/roadtrip-destination.html.twig"));
  41.         $this->parent $this->loadTemplate("base.html.twig""default/roadtrip-destination.html.twig"2);
  42.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  43.         
  44.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  45.         
  46.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  47.     }
  48.     // line 3
  49.     public function block_title($context, array $blocks = [])
  50.     {
  51.         $macros $this->macros;
  52.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  53.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  54.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  55.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  56.         yield "O’Roadtrip - ";
  57.         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"falsefalsefalse3), "html"nulltrue);
  58.         yield " | O Tropik – Agence de voyage en Guadeloupe ";
  59.         
  60.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  61.         
  62.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  63.         return; yield '';
  64.     }
  65.     // line 4
  66.     public function block_seo($context, array $blocks = [])
  67.     {
  68.         $macros $this->macros;
  69.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  70.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""seo"));
  71.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  72.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""seo"));
  73.         // line 5
  74.         yield " <meta name=\"description\" content=\"";
  75.         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"falsefalsefalse5), "html"nulltrue);
  76.         yield "\" >
  77. \t<meta property=\"og:title\" content=\"";
  78.         // line 7
  79.         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"falsefalsefalse7), "html"nulltrue);
  80.         yield "\" />
  81. \t<meta property=\"og:type\" content=\"Website\" />
  82. \t<meta property=\"og:description\" content=\"";
  83.         // line 9
  84.         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"falsefalsefalse9), "html"nulltrue);
  85.         yield "\" />
  86. \t<meta property=\"og:url\" content=\"";
  87.         // line 10
  88.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::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"falsefalsefalse10), "uri", [], "any"falsefalsefalse10)), "html"nulltrue);
  89.         yield "\" />
  90. \t<meta property=\"og:image\" content=\"";
  91.         // line 11
  92.         yield "\" />
  93. \t<meta name =\"twitter:card\" content=\"summary_large_image\" />
  94. \t<meta name=\"twitter:title\" content=\"";
  95.         // line 14
  96.         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"falsefalsefalse14), "html"nulltrue);
  97.         yield "\">
  98. \t<meta name=\"twitter:description\" content=\"";
  99.         // line 15
  100.         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"falsefalsefalse15), "html"nulltrue);
  101.         yield "\">
  102. \t<meta name=\"twitter:image\" content=\"";
  103.         // line 16
  104.         yield "\">
  105. ";
  106.         
  107.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  108.         
  109.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  110.         return; yield '';
  111.     }
  112.     // line 18
  113.     public function block_body($context, array $blocks = [])
  114.     {
  115.         $macros $this->macros;
  116.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  117.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  118.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  119.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  120.         // line 20
  121.         yield "<section class=\"hero hero--road is-animated position-relative text-white\">
  122.   <div class=\"hero__media ratio ratio-21x9\">
  123.     <img src=\"";
  124.         // line 22
  125.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((("img/offer/road/" 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"falsefalsefalse22)) . "/") . (((CoreExtension::getAttribute($this->env$this->source, ($context["offer"] ?? null), "img", [], "any"truetruefalse22) &&  !(null === CoreExtension::getAttribute($this->env$this->source, ($context["offer"] ?? null), "img", [], "any"falsefalsefalse22)))) ? (CoreExtension::getAttribute($this->env$this->source, ($context["offer"] ?? null), "img", [], "any"falsefalsefalse22)) : ("hero.jpg")))), "html"nulltrue);
  126.         yield "\"
  127.          class=\"hero__img w-100 h-100 object-fit-cover\"
  128.          alt=\"";
  129.         // line 24
  130.         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.'24$this->source); })()), "title", [], "any"falsefalsefalse24), "html"nulltrue);
  131.         yield "\">
  132.   </div>
  133.   <div class=\"hero__overlay\">
  134.     <div class=\"hero__card\">
  135.       <h1 class=\"hero__title txt-ot-brown display-5 fw-bold mb-2\">";
  136.         // line 29
  137.         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.'29$this->source); })()), "title", [], "any"falsefalsefalse29), "html"nulltrue);
  138.         yield "</h1>
  139.       ";
  140.         // line 31
  141.         if (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.'31$this->source); })()), "subtitle", [], "any"falsefalsefalse31)) {
  142.             // line 32
  143.             yield "        <p class=\"hero__subtitle lead mb-0\">";
  144.             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.'32$this->source); })()), "subtitle", [], "any"falsefalsefalse32), "html"nulltrue);
  145.             yield "</p>
  146.       ";
  147.         }
  148.         // line 34
  149.         yield "
  150.       ";
  151.         // line 35
  152.         if (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.'35$this->source); })()), "brochure", [], "any"falsefalsefalse35)) {
  153.             // line 36
  154.             yield "        <div class=\"hero__actions\">
  155.           <a href=\"";
  156.             // line 37
  157.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(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.'37$this->source); })()), "brochure", [], "any"falsefalsefalse37)), "html"nulltrue);
  158.             yield "\" target=\"_blank\" class=\"btn btn-outline-primary\">
  159.             📄 Télécharger la brochure
  160.           </a>
  161.         </div>
  162.       ";
  163.         }
  164.         // line 42
  165.         yield "    </div>
  166.   </div>
  167. </section>
  168. <section class=\"container py-5\">
  169.   <div class=\"row g-3 g-lg-4 mb-4\">
  170.     <div class=\"col-12 col-md-6 col-lg-3\">
  171.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  172.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Durée & dates</h6>
  173.         <p class=\"mb-0 text-muted\">";
  174.         // line 52
  175.         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.'52$this->source); })()), "summaryDuration", [], "any"falsefalsefalse52), "html"nulltrue);
  176.         yield "</p>
  177.         <p class=\"mb-0 text-muted\">";
  178.         // line 53
  179.         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.'53$this->source); })()), "dateText", [], "any"falsefalsefalse53), "html"nulltrue);
  180.         yield "</p>
  181.       </div></div>
  182.     </div>
  183.     <div class=\"col-12 col-md-6 col-lg-3\">
  184.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  185.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Vols</h6>
  186.         <ul class=\"list-unstyled mb-0\">
  187.         ";
  188.         // line 60
  189.         $context['_parent'] = $context;
  190.         $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.'60$this->source); })()), "summaryFlights", [], "any"falsefalsefalse60), "
  191. "));
  192.         foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  193.             // line 61
  194.             yield "                ";
  195.             if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
  196.                 // line 62
  197.                 yield "                 <li class=\"mb-1\">";
  198.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  199.                 yield "</li> 
  200.                 ";
  201.             }
  202.             // line 64
  203.             yield "        ";
  204.         }
  205.         $_parent $context['_parent'];
  206.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  207.         $context array_intersect_key($context$_parent) + $_parent;
  208.         // line 65
  209.         yield "      </ul>
  210.       </div></div>
  211.     </div>
  212.     <div class=\"col-12 col-md-6 col-lg-3\">
  213.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  214.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Rythme & repas</h6>
  215.         <ul class=\"list-unstyled mb-0\">
  216.           ";
  217.         // line 72
  218.         $context['_parent'] = $context;
  219.         $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.'72$this->source); })()), "summaryPaceMeals", [], "any"falsefalsefalse72), "
  220. "));
  221.         foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  222.             // line 73
  223.             yield "                ";
  224.             if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
  225.                 // line 74
  226.                 yield "                 <li>";
  227.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  228.                 yield "</li> 
  229.                 ";
  230.             }
  231.             // line 76
  232.             yield "        ";
  233.         }
  234.         $_parent $context['_parent'];
  235.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  236.         $context array_intersect_key($context$_parent) + $_parent;
  237.         // line 77
  238.         yield "      </ul>
  239.       </div></div>
  240.     </div>
  241.     <div class=\"col-12 col-md-6 col-lg-3\">
  242.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  243.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Tarif dès</h6>
  244.          <p class=\"small text-muted mb-0\">";
  245.         // line 83
  246.         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.'83$this->source); })()), "priceFrom", [], "any"falsefalsefalse83), "html"nulltrue);
  247.         yield "€</p>
  248.       </div></div>
  249.     </div>
  250.   </div>
  251.   ";
  252.         // line 89
  253.         yield "    ";
  254.         if ((isset($context["highlight"]) || array_key_exists("highlight"$context) ? $context["highlight"] : (function () { throw new RuntimeError('Variable "highlight" does not exist.'89$this->source); })())) {
  255.             // line 90
  256.             yield "  <div class=\"row mb-4\">
  257.     <div class=\"col-12 col-lg-6\">
  258.       <p class=\"text-uppercase small fw-bold text-ot-brown mb-2\">Nos coups de cœur</p>
  259.       <h2 class=\"h4 fw-bold mb-3 txt-ot-brown\">Les incontournables de votre roadtrip</h2>
  260.       <p class=\"text-muted\">Déserts, dunes, faune sauvage et sites rupestres : une immersion totale dans les grands espaces namibiens. </p>
  261.     </div>
  262.     <div class=\"col-12 col-lg-6\">
  263.       <div class=\"d-flex flex-column gap-3\">
  264.         ";
  265.             // line 98
  266.             $context['_parent'] = $context;
  267.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["highlight"]) || array_key_exists("highlight"$context) ? $context["highlight"] : (function () { throw new RuntimeError('Variable "highlight" does not exist.'98$this->source); })()));
  268.             foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
  269.                 // line 99
  270.                 yield "          <div class=\"card border-0 shadow-sm rounded-4 w-100\">
  271.             <div class=\"card-body d-flex align-items-start gap-2\">
  272.               <i class=\"bi bi-check-circle-fill text-ot-green mt-1\"></i>
  273.               <h3 class=\"h6 fw-semibold mb-0\">";
  274.                 // line 102
  275.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["h"], "title", [], "any"falsefalsefalse102), "html"nulltrue);
  276.                 yield "</h3>
  277.             </div>
  278.           </div>
  279.         ";
  280.             }
  281.             $_parent $context['_parent'];
  282.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
  283.             $context array_intersect_key($context$_parent) + $_parent;
  284.             // line 106
  285.             yield "      </div>
  286.     </div>
  287.   </div>
  288.   ";
  289.         }
  290.         // line 110
  291.         yield "
  292.   ";
  293.         // line 112
  294.         yield "  <div class=\"row g-4\">
  295.     <div class=\"col-12 col-lg-6\">
  296.       <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  297.         <div class=\"card-body\">
  298.           <h2 class=\"h5 txt-ot-brown fw-bold mb-3\">Itinéraire — jour par jour</h2>
  299.           <div class=\"list-group list-group-flush\">
  300.             ";
  301.         // line 118
  302.         $context['_parent'] = $context;
  303.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["itinerary"]) || array_key_exists("itinerary"$context) ? $context["itinerary"] : (function () { throw new RuntimeError('Variable "itinerary" does not exist.'118$this->source); })()));
  304.         $context['loop'] = [
  305.           'parent' => $context['_parent'],
  306.           'index0' => 0,
  307.           'index'  => 1,
  308.           'first'  => true,
  309.         ];
  310.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  311.             $length count($context['_seq']);
  312.             $context['loop']['revindex0'] = $length 1;
  313.             $context['loop']['revindex'] = $length;
  314.             $context['loop']['length'] = $length;
  315.             $context['loop']['last'] = === $length;
  316.         }
  317.         foreach ($context['_seq'] as $context["_key"] => $context["it"]) {
  318.             // line 119
  319.             yield "              <div class=\"list-group-item px-0\">
  320.                 <button class=\"btn w-100 d-flex justify-content-between align-items-center text-start\" data-bs-toggle=\"collapse\" data-bs-target=\"#day";
  321.             // line 120
  322.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse120), "html"nulltrue);
  323.             yield "\" aria-expanded=\"false\">
  324.                   <span class=\"fw-bold \">Jour ";
  325.             // line 121
  326.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse121), "html"nulltrue);
  327.             yield " - ";
  328.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "title", [], "any"falsefalsefalse121), "html"nulltrue);
  329.             if (CoreExtension::getAttribute($this->env$this->source$context["it"], "kmLabel", [], "any"falsefalsefalse121)) {
  330.                 yield " <span class=\"text-muted fw-normal\"> (";
  331.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "kmLabel", [], "any"falsefalsefalse121), "html"nulltrue);
  332.                 yield ") km</span>";
  333.             }
  334.             yield "</span>
  335.                   <i class=\"bi bi-chevron-down\"></i>
  336.                 </button>
  337.                 <div id=\"day";
  338.             // line 124
  339.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse124), "html"nulltrue);
  340.             yield "\" class=\"collapse mt-2\">
  341.                   <p class=\"small text-muted mb-0\">";
  342.             // line 125
  343.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "details", [], "any"falsefalsefalse125), "html"nulltrue);
  344.             yield "</p>
  345.                 </div>
  346.               </div>
  347.             ";
  348.             ++$context['loop']['index0'];
  349.             ++$context['loop']['index'];
  350.             $context['loop']['first'] = false;
  351.             if (isset($context['loop']['length'])) {
  352.                 --$context['loop']['revindex0'];
  353.                 --$context['loop']['revindex'];
  354.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  355.             }
  356.         }
  357.         $_parent $context['_parent'];
  358.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['it'], $context['_parent'], $context['loop']);
  359.         $context array_intersect_key($context$_parent) + $_parent;
  360.         // line 129
  361.         yield "          </div>
  362.           <p class=\"small text-muted mt-3 mb-0\">Données synthétisées de la brochure.</p>
  363.         </div>
  364.       </div>
  365.     </div>
  366.       ";
  367.         // line 136
  368.         yield "      <div class=\"col-12 col-lg-6 d-flex\">
  369.         <div class=\"w-100 d-flex align-items-center\">
  370.           <div id=\"circuitCarousel\"
  371.                class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
  372.                data-bs-ride=\"carousel\"
  373.                data-bs-interval=\"5000\"
  374.                data-bs-pause=\"hover\"
  375.                data-bs-touch=\"true\"
  376.                aria-label=\"Galerie circuit\">
  377.             <div class=\"carousel-inner\">
  378.               ";
  379.         // line 147
  380.         $context['_parent'] = $context;
  381.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary"$context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.'147$this->source); })()));
  382.         $context['loop'] = [
  383.           'parent' => $context['_parent'],
  384.           'index0' => 0,
  385.           'index'  => 1,
  386.           'first'  => true,
  387.         ];
  388.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  389.             $length count($context['_seq']);
  390.             $context['loop']['revindex0'] = $length 1;
  391.             $context['loop']['revindex'] = $length;
  392.             $context['loop']['length'] = $length;
  393.             $context['loop']['last'] = === $length;
  394.         }
  395.         foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  396.             // line 148
  397.             yield "                <div class=\"carousel-item ";
  398.             if (CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse148)) {
  399.                 yield "active";
  400.             }
  401.             yield "\">
  402.                   <div class=\"ratio ratio-4x3\">
  403.                     <img src=\"";
  404.             // line 150
  405.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((((("img/" CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["p"], "offer", [], "any"falsefalsefalse150), "file", [], "any"falsefalsefalse150)) . "/") . CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["p"], "offer", [], "any"falsefalsefalse150), "slug", [], "any"falsefalsefalse150)) . "/itinerary/") . CoreExtension::getAttribute($this->env$this->source$context["p"], "img", [], "any"falsefalsefalse150))), "html"nulltrue);
  406.             yield "\" class=\"d-block w-100 h-100 object-fit-cover\" alt=\"Photo circuit ";
  407.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse150), "html"nulltrue);
  408.             yield "\">
  409.                   </div>
  410.                 </div>
  411.               ";
  412.             ++$context['loop']['index0'];
  413.             ++$context['loop']['index'];
  414.             $context['loop']['first'] = false;
  415.             if (isset($context['loop']['length'])) {
  416.                 --$context['loop']['revindex0'];
  417.                 --$context['loop']['revindex'];
  418.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  419.             }
  420.         }
  421.         $_parent $context['_parent'];
  422.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
  423.         $context array_intersect_key($context$_parent) + $_parent;
  424.         // line 154
  425.         yield "            </div>
  426.             <button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
  427.               <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  428.               <span class=\"visually-hidden\">Précédent</span>
  429.             </button>
  430.             <button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
  431.               <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  432.               <span class=\"visually-hidden\">Suivant</span>
  433.             </button>
  434.             <div class=\"carousel-indicators\">
  435.               ";
  436.         // line 166
  437.         $context['_parent'] = $context;
  438.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary"$context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.'166$this->source); })()));
  439.         $context['loop'] = [
  440.           'parent' => $context['_parent'],
  441.           'index0' => 0,
  442.           'index'  => 1,
  443.           'first'  => true,
  444.         ];
  445.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  446.             $length count($context['_seq']);
  447.             $context['loop']['revindex0'] = $length 1;
  448.             $context['loop']['revindex'] = $length;
  449.             $context['loop']['length'] = $length;
  450.             $context['loop']['last'] = === $length;
  451.         }
  452.         foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  453.             // line 167
  454.             yield "                <button type=\"button\"
  455.                         data-bs-target=\"#circuitCarousel\"
  456.                         data-bs-slide-to=\"";
  457.             // line 169
  458.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse169), "html"nulltrue);
  459.             yield "\"
  460.                         class=\"";
  461.             // line 170
  462.             if (CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse170)) {
  463.                 yield "active";
  464.             }
  465.             yield "\"
  466.                         aria-current=\"";
  467.             // line 171
  468.             yield ((CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse171)) ? ("true") : ("false"));
  469.             yield "\"
  470.                         aria-label=\"Slide ";
  471.             // line 172
  472.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse172), "html"nulltrue);
  473.             yield "\"></button>
  474.               ";
  475.             ++$context['loop']['index0'];
  476.             ++$context['loop']['index'];
  477.             $context['loop']['first'] = false;
  478.             if (isset($context['loop']['length'])) {
  479.                 --$context['loop']['revindex0'];
  480.                 --$context['loop']['revindex'];
  481.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  482.             }
  483.         }
  484.         $_parent $context['_parent'];
  485.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
  486.         $context array_intersect_key($context$_parent) + $_parent;
  487.         // line 174
  488.         yield "            </div>
  489.           </div>
  490.         </div>
  491.       </div>
  492.   </div>
  493. </section>
  494. ";
  495.         // line 180
  496.         if ((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer"$context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.'180$this->source); })())) {
  497.             // line 184
  498.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"hotels\">
  499.   <div class=\"container\">
  500.     <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Hébergements prévus (ou similaires)</h2>
  501.     <ul class=\"list-group\">
  502.       ";
  503.             // line 188
  504.             $context['_parent'] = $context;
  505.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer"$context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.'188$this->source); })()));
  506.             foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
  507.                 yield "<li class=\"list-group-item\">";
  508.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["h"], "name", [], "any"falsefalsefalse188), "html"nulltrue);
  509.                 yield "</li>";
  510.             }
  511.             $_parent $context['_parent'];
  512.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
  513.             $context array_intersect_key($context$_parent) + $_parent;
  514.             // line 189
  515.             yield "    </ul>
  516.   </div>
  517. </section>
  518. ";
  519.         }
  520.         // line 193
  521.         yield "
  522. ";
  523.         // line 194
  524.         if (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.'194$this->source); })()), "widget", [], "any"falsefalsefalse194)) {
  525.             // line 195
  526.             yield "<div class=\"container\">
  527.   <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Activités</h2>
  528. <div class=\"widget\">
  529.   ";
  530.             // line 198
  531.             yield 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.'198$this->source); })()), "widget", [], "any"falsefalsefalse198);
  532.             yield "
  533. </div>
  534. </div>
  535. ";
  536.         }
  537.         // line 202
  538.         yield "
  539. ";
  540.         // line 203
  541.         if ((isset($context["included"]) || array_key_exists("included"$context) ? $context["included"] : (function () { throw new RuntimeError('Variable "included" does not exist.'203$this->source); })())) {
  542.             // line 207
  543.             yield "<section class=\"py-5 bg-white\" id=\"inclus\">
  544.   <div class=\"container\">
  545.     <div class=\"row g-4\">
  546.       <div class=\"col-12 col-lg-6\">
  547.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  548.           <div class=\"card-body\">
  549.             <h2 class=\"h5 fw-bold txt-ot-brown\">Inclus</h2>
  550.             <ul class=\"small mb-0 list-unstyled\">
  551.            
  552.             ";
  553.             // line 216
  554.             $context['_parent'] = $context;
  555.             $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::filter($this->env, (isset($context["included"]) || array_key_exists("included"$context) ? $context["included"] : (function () { throw new RuntimeError('Variable "included" does not exist.'216$this->source); })()), function ($__i__) use ($context$macros) { $context["i"] = $__i__; return (CoreExtension::getAttribute($this->env$this->source$context["i"], "type", [], "any"falsefalsefalse216) == "in"); }));
  556.             foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  557.                 // line 217
  558.                 yield "            <li>✔️ ";
  559.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["i"], "label", [], "any"falsefalsefalse217), "html"nulltrue);
  560.                 yield "</li>
  561.              ";
  562.             }
  563.             $_parent $context['_parent'];
  564.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  565.             $context array_intersect_key($context$_parent) + $_parent;
  566.             // line 219
  567.             yield "            </ul>
  568.           </div>
  569.         </div>
  570.       </div>
  571.       <div class=\"col-12 col-lg-6\">
  572.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  573.           <div class=\"card-body\">
  574.             <h2 class=\"h5 fw-bold txt-ot-brown\">Non inclus</h2>
  575.             <ul class=\"small mb-0 list-unstyled\">
  576.               ";
  577.             // line 228
  578.             $context['_parent'] = $context;
  579.             $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::filter($this->env, (isset($context["included"]) || array_key_exists("included"$context) ? $context["included"] : (function () { throw new RuntimeError('Variable "included" does not exist.'228$this->source); })()), function ($__e__) use ($context$macros) { $context["e"] = $__e__; return (CoreExtension::getAttribute($this->env$this->source$context["e"], "type", [], "any"falsefalsefalse228) == "out"); }));
  580.             foreach ($context['_seq'] as $context["_key"] => $context["e"]) {
  581.                 // line 229
  582.                 yield "                 <li>— ";
  583.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["e"], "label", [], "any"falsefalsefalse229), "html"nulltrue);
  584.                 yield "</li>
  585.              ";
  586.             }
  587.             $_parent $context['_parent'];
  588.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['e'], $context['_parent'], $context['loop']);
  589.             $context array_intersect_key($context$_parent) + $_parent;
  590.             // line 231
  591.             yield "            </ul>
  592.           </div>
  593.         </div>
  594.       </div>
  595.     </div>
  596.   </div>
  597. </section>
  598. ";
  599.         }
  600.         // line 262
  601.         yield "
  602. ";
  603.         // line 263
  604.         if ((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'263$this->source); })())) {
  605.             // line 267
  606.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"vols\">
  607.   <div class=\"container\">
  608.     <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Vols & horaires (indicatifs)</h2>
  609.     <div class=\"row g-4\">
  610.       <div class=\"col-12 col-lg-6\">
  611.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  612.           <div class=\"card-body\">
  613.             <h3 class=\"h6 fw-bold mb-2\">Aller</h3>
  614.             <ul class=\"small mb-0\">
  615.             ";
  616.             // line 276
  617.             $context['_parent'] = $context;
  618.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'276$this->source); })()));
  619.             foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
  620.                 // line 277
  621.                 yield "              ";
  622.                 if ((CoreExtension::getAttribute($this->env$this->source$context["f"], "type", [], "any"falsefalsefalse277) == "1")) {
  623.                     // line 278
  624.                     yield "                <li>";
  625.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse278), "html"nulltrue);
  626.                     yield " → ";
  627.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse278), "html"nulltrue);
  628.                     yield "  ";
  629.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureTime", [], "any"falsefalsefalse278), "html"nulltrue);
  630.                     yield " / ";
  631.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "arrivalTime", [], "any"falsefalsefalse278), "html"nulltrue);
  632.                     yield " </li>
  633.               ";
  634.                 }
  635.                 // line 280
  636.                 yield "            ";
  637.             }
  638.             $_parent $context['_parent'];
  639.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
  640.             $context array_intersect_key($context$_parent) + $_parent;
  641.             // line 281
  642.             yield "            </ul>
  643.           </div>
  644.         </div>
  645.       </div>
  646.       <div class=\"col-12 col-lg-6\">
  647.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  648.           <div class=\"card-body\">
  649.             <h3 class=\"h6 fw-bold mb-2\">Retour</h3>
  650.             <ul class=\"small mb-0\">
  651.             ";
  652.             // line 290
  653.             $context['_parent'] = $context;
  654.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'290$this->source); })()));
  655.             foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
  656.                 // line 291
  657.                 yield "              ";
  658.                 if ((CoreExtension::getAttribute($this->env$this->source$context["f"], "type", [], "any"falsefalsefalse291) == "2")) {
  659.                     // line 292
  660.                     yield "                <li>";
  661.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse292), "html"nulltrue);
  662.                     yield " → ";
  663.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse292), "html"nulltrue);
  664.                     yield "  ";
  665.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureTime", [], "any"falsefalsefalse292), "html"nulltrue);
  666.                     yield " / ";
  667.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "arrivalTime", [], "any"falsefalsefalse292), "html"nulltrue);
  668.                     yield " </li>
  669.               ";
  670.                 }
  671.                 // line 294
  672.                 yield "            ";
  673.             }
  674.             $_parent $context['_parent'];
  675.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
  676.             $context array_intersect_key($context$_parent) + $_parent;
  677.             // line 295
  678.             yield "            </ul>
  679.           </div>
  680.         </div>
  681.       </div>
  682.     </div>
  683.     <p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
  684.   </div>
  685. </section>
  686. ";
  687.         }
  688.         // line 304
  689.         yield "
  690. ";
  691.         // line 305
  692.         if ((isset($context["infos"]) || array_key_exists("infos"$context) ? $context["infos"] : (function () { throw new RuntimeError('Variable "infos" does not exist.'305$this->source); })())) {
  693.             // line 309
  694.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"paiement\">
  695.   <div class=\"container\">
  696.   <div class=\"row g-4\">
  697.     <div class=\"col-12 col-lg-6\">
  698.     <div class=\"card border-0 shadow-sm rounded-4\">
  699.       <div class=\"card-body\">
  700.         <h2 class=\"h5 fw-bold txt-ot-brown\">Facilités de paiement</h2>
  701.         <ul class=\"small mb-0\">
  702.           ";
  703.             // line 318
  704.             $context['_parent'] = $context;
  705.             $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.'318$this->source); })()), "paymentMethod", [], "any"falsefalsefalse318), "
  706. "));
  707.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  708.                 // line 319
  709.                 yield "              <li class=\"mb-1\">✔️ ";
  710.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  711.                 yield "</li>
  712.             ";
  713.             }
  714.             $_parent $context['_parent'];
  715.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  716.             $context array_intersect_key($context$_parent) + $_parent;
  717.             // line 321
  718.             yield "        </ul>
  719.       </div>
  720.     </div>
  721.     </div>
  722.       <div class=\"col-12 col-lg-6\">
  723.     <div class=\"card border-0 shadow-sm rounded-4\">
  724.       <div class=\"card-body\">
  725.         <h2 class=\"h5 fw-bold txt-ot-brown\">Formalités</h2>
  726.         <ul class=\"small mb-0\">
  727.               ";
  728.             // line 331
  729.             $context['_parent'] = $context;
  730.             $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.'331$this->source); })()), "formalities", [], "any"falsefalsefalse331), "
  731. "));
  732.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  733.                 // line 332
  734.                 yield "              <li class=\"mb-1\">✔️ ";
  735.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  736.                 yield "</li>
  737.             ";
  738.             }
  739.             $_parent $context['_parent'];
  740.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  741.             $context array_intersect_key($context$_parent) + $_parent;
  742.             // line 334
  743.             yield "        </ul>
  744.       </div>
  745.     </div>
  746.      </div> 
  747. </div>
  748.   </div>
  749. </section>
  750. ";
  751.         }
  752.         // line 342
  753.         yield "
  754. ";
  755.         // line 346
  756.         yield "<section class=\"py-5 bg-ot-green text-white text-center\">
  757.   <div class=\"container\">
  758.     <h2 class=\"h4 fw-bold mb-2\">Envie de rejoindre le ";
  759.         // line 348
  760.         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.'348$this->source); })()), "title", [], "any"falsefalsefalse348), "html"nulltrue);
  761.         yield " ?</h2>
  762.     <p class=\"mb-4\">Parlez à un conseiller Otropik : on s’occupe de tout.</p>
  763.     <div class=\"d-flex gap-2 justify-content-center flex-wrap\">
  764.       <a href=\"";
  765.         // line 351
  766.         yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("o.devis");
  767.         yield "\" class=\"btn btn-light rounded-pill\">Demander un devis</a>
  768.       <a href=\"tel:0590505134\" class=\"btn btn-outline-light rounded-pill\">Appeler</a>
  769.     </div>
  770.   </div>
  771. </section>
  772. ";
  773.         
  774.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  775.         
  776.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  777.         return; yield '';
  778.     }
  779.     /**
  780.      * @codeCoverageIgnore
  781.      */
  782.     public function getTemplateName()
  783.     {
  784.         return "default/roadtrip-destination.html.twig";
  785.     }
  786.     /**
  787.      * @codeCoverageIgnore
  788.      */
  789.     public function isTraitable()
  790.     {
  791.         return false;
  792.     }
  793.     /**
  794.      * @codeCoverageIgnore
  795.      */
  796.     public function getDebugInfo()
  797.     {
  798.         return array (  803 => 351,  797 => 348,  793 => 346,  790 => 342,  780 => 334,  771 => 332,  766 => 331,  754 => 321,  745 => 319,  740 => 318,  729 => 309,  727 => 305,  724 => 304,  713 => 295,  707 => 294,  695 => 292,  692 => 291,  688 => 290,  677 => 281,  671 => 280,  659 => 278,  656 => 277,  652 => 276,  641 => 267,  639 => 263,  636 => 262,  626 => 231,  617 => 229,  613 => 228,  602 => 219,  593 => 217,  589 => 216,  578 => 207,  576 => 203,  573 => 202,  566 => 198,  561 => 195,  559 => 194,  556 => 193,  550 => 189,  539 => 188,  533 => 184,  531 => 180,  523 => 174,  507 => 172,  503 => 171,  497 => 170,  493 => 169,  489 => 167,  472 => 166,  458 => 154,  438 => 150,  430 => 148,  413 => 147,  400 => 136,  392 => 129,  374 => 125,  370 => 124,  357 => 121,  353 => 120,  350 => 119,  333 => 118,  325 => 112,  322 => 110,  316 => 106,  306 => 102,  301 => 99,  297 => 98,  287 => 90,  284 => 89,  276 => 83,  268 => 77,  262 => 76,  256 => 74,  253 => 73,  248 => 72,  239 => 65,  233 => 64,  227 => 62,  224 => 61,  219 => 60,  209 => 53,  205 => 52,  193 => 42,  185 => 37,  182 => 36,  180 => 35,  177 => 34,  171 => 32,  169 => 31,  164 => 29,  156 => 24,  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,);
  799.     }
  800.     public function getSourceContext()
  801.     {
  802.         return new Source("{# templates/offer/roadtrip_show.html.twig #}
  803. {% extends 'base.html.twig' %}
  804. {% block title %}O’Roadtrip - {{ offer.title }} | O Tropik – Agence de voyage en Guadeloupe {% endblock %}
  805. {% block seo %}
  806.  <meta name=\"description\" content=\"{{offer.description}}\" >
  807. \t<meta property=\"og:title\" content=\"{{offer.metaTitle}}\" />
  808. \t<meta property=\"og:type\" content=\"Website\" />
  809. \t<meta property=\"og:description\" content=\"{{offer.metaDescription}}\" />
  810. \t<meta property=\"og:url\" content=\"{{absolute_url( app.request.uri)}}\" />
  811. \t<meta property=\"og:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\" />
  812. \t<meta name =\"twitter:card\" content=\"summary_large_image\" />
  813. \t<meta name=\"twitter:title\" content=\"{{offer.metaTitle}}\">
  814. \t<meta name=\"twitter:description\" content=\"{{offer.metaDescription}}\">
  815. \t<meta name=\"twitter:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\">
  816. {% endblock %}
  817. {% block body %}
  818. {# HERO #}
  819. <section class=\"hero hero--road is-animated position-relative text-white\">
  820.   <div class=\"hero__media ratio ratio-21x9\">
  821.     <img src=\"{{ asset('img/offer/road/' ~ offer.slug ~ '/' ~ (offer.img ?? 'hero.jpg')) }}\"
  822.          class=\"hero__img w-100 h-100 object-fit-cover\"
  823.          alt=\"{{ offer.title }}\">
  824.   </div>
  825.   <div class=\"hero__overlay\">
  826.     <div class=\"hero__card\">
  827.       <h1 class=\"hero__title txt-ot-brown display-5 fw-bold mb-2\">{{ offer.title }}</h1>
  828.       {% if offer.subtitle %}
  829.         <p class=\"hero__subtitle lead mb-0\">{{ offer.subtitle }}</p>
  830.       {% endif %}
  831.       {% if offer.brochure %}
  832.         <div class=\"hero__actions\">
  833.           <a href=\"{{ asset(offer.brochure) }}\" target=\"_blank\" class=\"btn btn-outline-primary\">
  834.             📄 Télécharger la brochure
  835.           </a>
  836.         </div>
  837.       {% endif %}
  838.     </div>
  839.   </div>
  840. </section>
  841. <section class=\"container py-5\">
  842.   <div class=\"row g-3 g-lg-4 mb-4\">
  843.     <div class=\"col-12 col-md-6 col-lg-3\">
  844.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  845.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Durée & dates</h6>
  846.         <p class=\"mb-0 text-muted\">{{ offer.summaryDuration }}</p>
  847.         <p class=\"mb-0 text-muted\">{{ offer.dateText }}</p>
  848.       </div></div>
  849.     </div>
  850.     <div class=\"col-12 col-md-6 col-lg-3\">
  851.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  852.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Vols</h6>
  853.         <ul class=\"list-unstyled mb-0\">
  854.         {% for line in offer.summaryFlights|split(\"\\n\") %}
  855.                 {% if line|trim != '' %}
  856.                  <li class=\"mb-1\">{{ line }}</li> 
  857.                 {% endif %}
  858.         {% endfor %}
  859.       </ul>
  860.       </div></div>
  861.     </div>
  862.     <div class=\"col-12 col-md-6 col-lg-3\">
  863.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  864.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Rythme & repas</h6>
  865.         <ul class=\"list-unstyled mb-0\">
  866.           {% for line in offer.summaryPaceMeals|split(\"\\n\") %}
  867.                 {% if line|trim != '' %}
  868.                  <li>{{ line }}</li> 
  869.                 {% endif %}
  870.         {% endfor %}
  871.       </ul>
  872.       </div></div>
  873.     </div>
  874.     <div class=\"col-12 col-md-6 col-lg-3\">
  875.       <div class=\"card rounded-4 shadow-sm h-100\"><div class=\"card-body\">
  876.         <h6 class=\"fw-bold txt-ot-brown mb-1\">Tarif dès</h6>
  877.          <p class=\"small text-muted mb-0\">{{ offer.priceFrom }}€</p>
  878.       </div></div>
  879.     </div>
  880.   </div>
  881.   {# ————— Points forts ————— #}
  882.     {% if highlight %}
  883.   <div class=\"row mb-4\">
  884.     <div class=\"col-12 col-lg-6\">
  885.       <p class=\"text-uppercase small fw-bold text-ot-brown mb-2\">Nos coups de cœur</p>
  886.       <h2 class=\"h4 fw-bold mb-3 txt-ot-brown\">Les incontournables de votre roadtrip</h2>
  887.       <p class=\"text-muted\">Déserts, dunes, faune sauvage et sites rupestres : une immersion totale dans les grands espaces namibiens. </p>
  888.     </div>
  889.     <div class=\"col-12 col-lg-6\">
  890.       <div class=\"d-flex flex-column gap-3\">
  891.         {% for h in highlight %}
  892.           <div class=\"card border-0 shadow-sm rounded-4 w-100\">
  893.             <div class=\"card-body d-flex align-items-start gap-2\">
  894.               <i class=\"bi bi-check-circle-fill text-ot-green mt-1\"></i>
  895.               <h3 class=\"h6 fw-semibold mb-0\">{{ h.title }}</h3>
  896.             </div>
  897.           </div>
  898.         {% endfor %}
  899.       </div>
  900.     </div>
  901.   </div>
  902.   {% endif %}
  903.   {# ————— Itinéraire jour par jour ————— #}
  904.   <div class=\"row g-4\">
  905.     <div class=\"col-12 col-lg-6\">
  906.       <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  907.         <div class=\"card-body\">
  908.           <h2 class=\"h5 txt-ot-brown fw-bold mb-3\">Itinéraire — jour par jour</h2>
  909.           <div class=\"list-group list-group-flush\">
  910.             {% for it in itinerary %}
  911.               <div class=\"list-group-item px-0\">
  912.                 <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\">
  913.                   <span class=\"fw-bold \">Jour {{loop.index}} - {{it.title }}{% if it.kmLabel %} <span class=\"text-muted fw-normal\"> ({{ it.kmLabel }}) km</span>{% endif %}</span>
  914.                   <i class=\"bi bi-chevron-down\"></i>
  915.                 </button>
  916.                 <div id=\"day{{ loop.index }}\" class=\"collapse mt-2\">
  917.                   <p class=\"small text-muted mb-0\">{{ it.details }}</p>
  918.                 </div>
  919.               </div>
  920.             {% endfor %}
  921.           </div>
  922.           <p class=\"small text-muted mt-3 mb-0\">Données synthétisées de la brochure.</p>
  923.         </div>
  924.       </div>
  925.     </div>
  926.       {#  — CAROUSEL #}
  927.       <div class=\"col-12 col-lg-6 d-flex\">
  928.         <div class=\"w-100 d-flex align-items-center\">
  929.           <div id=\"circuitCarousel\"
  930.                class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
  931.                data-bs-ride=\"carousel\"
  932.                data-bs-interval=\"5000\"
  933.                data-bs-pause=\"hover\"
  934.                data-bs-touch=\"true\"
  935.                aria-label=\"Galerie circuit\">
  936.             <div class=\"carousel-inner\">
  937.               {% for p in photoItinerary %}
  938.                 <div class=\"carousel-item {% if loop.first %}active{% endif %}\">
  939.                   <div class=\"ratio ratio-4x3\">
  940.                     <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 }}\">
  941.                   </div>
  942.                 </div>
  943.               {% endfor %}
  944.             </div>
  945.             <button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
  946.               <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  947.               <span class=\"visually-hidden\">Précédent</span>
  948.             </button>
  949.             <button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
  950.               <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  951.               <span class=\"visually-hidden\">Suivant</span>
  952.             </button>
  953.             <div class=\"carousel-indicators\">
  954.               {% for p in photoItinerary %}
  955.                 <button type=\"button\"
  956.                         data-bs-target=\"#circuitCarousel\"
  957.                         data-bs-slide-to=\"{{ loop.index0 }}\"
  958.                         class=\"{% if loop.first %}active{% endif %}\"
  959.                         aria-current=\"{{ loop.first ? 'true' : 'false' }}\"
  960.                         aria-label=\"Slide {{ loop.index }}\"></button>
  961.               {% endfor %}
  962.             </div>
  963.           </div>
  964.         </div>
  965.       </div>
  966.   </div>
  967. </section>
  968. {% if hebergementOffer %}
  969. {# =====================================================
  970.    5) HÔTELS — liste ou tableau simple
  971. ===================================================== #}
  972. <section class=\"py-5 bg-body-tertiary\" id=\"hotels\">
  973.   <div class=\"container\">
  974.     <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Hébergements prévus (ou similaires)</h2>
  975.     <ul class=\"list-group\">
  976.       {% for h in hebergementOffer %}<li class=\"list-group-item\">{{ h.name }}</li>{% endfor %}
  977.     </ul>
  978.   </div>
  979. </section>
  980. {% endif %}
  981. {% if offer.widget %}
  982. <div class=\"container\">
  983.   <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Activités</h2>
  984. <div class=\"widget\">
  985.   {{offer.widget|raw}}
  986. </div>
  987. </div>
  988. {% endif %}
  989. {% if included %}
  990. {# =====================================================
  991.    6) INCLUS / NON INCLUS — deux colonnes
  992. ===================================================== #}
  993. <section class=\"py-5 bg-white\" id=\"inclus\">
  994.   <div class=\"container\">
  995.     <div class=\"row g-4\">
  996.       <div class=\"col-12 col-lg-6\">
  997.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  998.           <div class=\"card-body\">
  999.             <h2 class=\"h5 fw-bold txt-ot-brown\">Inclus</h2>
  1000.             <ul class=\"small mb-0 list-unstyled\">
  1001.            
  1002.             {% for i in included|filter(i => i.type == 'in') %}
  1003.             <li>✔️ {{ i.label }}</li>
  1004.              {% endfor %}
  1005.             </ul>
  1006.           </div>
  1007.         </div>
  1008.       </div>
  1009.       <div class=\"col-12 col-lg-6\">
  1010.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1011.           <div class=\"card-body\">
  1012.             <h2 class=\"h5 fw-bold txt-ot-brown\">Non inclus</h2>
  1013.             <ul class=\"small mb-0 list-unstyled\">
  1014.               {% for e in included|filter(e => e.type == 'out') %}
  1015.                  <li>— {{ e.label }}</li>
  1016.              {% endfor %}
  1017.             </ul>
  1018.           </div>
  1019.         </div>
  1020.       </div>
  1021.     </div>
  1022.   </div>
  1023. </section>
  1024. {% endif %}
  1025. {#
  1026.       <div class=\"card border-0 shadow-sm rounded-4\">
  1027.         <div class=\"card-body\">
  1028.           <h3 class=\"h6 fw-bold mb-2\">Tarifs</h3>
  1029.           {% set roomPrices = offer.roomPrices|default([
  1030.             {label:'Double', price:4730},
  1031.             {label:'Triple', price:4410},
  1032.             {label:'Quadruple', price:4140},
  1033.             {label:'Single', price:null}
  1034.           ]) %}
  1035.           <div class=\"row row-cols-2 g-2\">
  1036.             {% for r in roomPrices %}
  1037.               <div class=\"col\">
  1038.                 <div class=\"border rounded-3 p-2 small h-100 d-flex justify-content-between\">
  1039.                   <span class=\"text-muted\">{{ r.label }}</span>
  1040.                   <strong>{% if r.price %}{{ r.price }}€{% else %}—{% endif %}</strong>
  1041.                 </div>
  1042.               </div>
  1043.             {% endfor %}
  1044.           </div>
  1045.           <p class=\"small text-muted mb-0 mt-2\">Tarifs/personne, sous réserve de dispo & modifs. :contentReference[oaicite:3]{index=3}</p>
  1046.         </div>
  1047.       </div> #}
  1048. {% if flight %}
  1049. {# =====================================================
  1050.    7) VOLS & HORAIRES — bloc détaillé
  1051. ===================================================== #}
  1052. <section class=\"py-5 bg-body-tertiary\" id=\"vols\">
  1053.   <div class=\"container\">
  1054.     <h2 class=\"h3 txt-ot-brown fw-bold mb-3\">Vols & horaires (indicatifs)</h2>
  1055.     <div class=\"row g-4\">
  1056.       <div class=\"col-12 col-lg-6\">
  1057.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1058.           <div class=\"card-body\">
  1059.             <h3 class=\"h6 fw-bold mb-2\">Aller</h3>
  1060.             <ul class=\"small mb-0\">
  1061.             {% for f in flight %}
  1062.               {% if f.type == '1' %}
  1063.                 <li>{{ f.departureCity }} → {{ f.departureCity }}  {{f.departureTime}} / {{f.arrivalTime}} </li>
  1064.               {% endif %}
  1065.             {% endfor %}
  1066.             </ul>
  1067.           </div>
  1068.         </div>
  1069.       </div>
  1070.       <div class=\"col-12 col-lg-6\">
  1071.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1072.           <div class=\"card-body\">
  1073.             <h3 class=\"h6 fw-bold mb-2\">Retour</h3>
  1074.             <ul class=\"small mb-0\">
  1075.             {% for f in flight %}
  1076.               {% if f.type == '2' %}
  1077.                 <li>{{ f.departureCity }} → {{ f.departureCity }}  {{f.departureTime}} / {{f.arrivalTime}} </li>
  1078.               {% endif %}
  1079.             {% endfor %}
  1080.             </ul>
  1081.           </div>
  1082.         </div>
  1083.       </div>
  1084.     </div>
  1085.     <p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
  1086.   </div>
  1087. </section>
  1088. {% endif %}
  1089. {% if infos %}
  1090. {# =====================================================
  1091.    9) FACILITÉS DE PAIEMENT — encart
  1092. ===================================================== #}
  1093. <section class=\"py-5 bg-body-tertiary\" id=\"paiement\">
  1094.   <div class=\"container\">
  1095.   <div class=\"row g-4\">
  1096.     <div class=\"col-12 col-lg-6\">
  1097.     <div class=\"card border-0 shadow-sm rounded-4\">
  1098.       <div class=\"card-body\">
  1099.         <h2 class=\"h5 fw-bold txt-ot-brown\">Facilités de paiement</h2>
  1100.         <ul class=\"small mb-0\">
  1101.           {% for line in offer.paymentMethod|split(\"\\n\") %}
  1102.               <li class=\"mb-1\">✔️ {{ line }}</li>
  1103.             {% endfor %}
  1104.         </ul>
  1105.       </div>
  1106.     </div>
  1107.     </div>
  1108.       <div class=\"col-12 col-lg-6\">
  1109.     <div class=\"card border-0 shadow-sm rounded-4\">
  1110.       <div class=\"card-body\">
  1111.         <h2 class=\"h5 fw-bold txt-ot-brown\">Formalités</h2>
  1112.         <ul class=\"small mb-0\">
  1113.               {% for line in offer.formalities|split(\"\\n\") %}
  1114.               <li class=\"mb-1\">✔️ {{ line }}</li>
  1115.             {% endfor %}
  1116.         </ul>
  1117.       </div>
  1118.     </div>
  1119.      </div> 
  1120. </div>
  1121.   </div>
  1122. </section>
  1123. {% endif %}
  1124. {# =====================================================
  1125.    11) CTA FINAL — devis & contact
  1126. ===================================================== #}
  1127. <section class=\"py-5 bg-ot-green text-white text-center\">
  1128.   <div class=\"container\">
  1129.     <h2 class=\"h4 fw-bold mb-2\">Envie de rejoindre le {{offer.title}} ?</h2>
  1130.     <p class=\"mb-4\">Parlez à un conseiller Otropik : on s’occupe de tout.</p>
  1131.     <div class=\"d-flex gap-2 justify-content-center flex-wrap\">
  1132.       <a href=\"{{ path('o.devis') }}\" class=\"btn btn-light rounded-pill\">Demander un devis</a>
  1133.       <a href=\"tel:0590505134\" class=\"btn btn-outline-light rounded-pill\">Appeler</a>
  1134.     </div>
  1135.   </div>
  1136. </section>
  1137. {% endblock %}
  1138. ""default/roadtrip-destination.html.twig""/home/ladomitiyc/otropik/templates/default/roadtrip-destination.html.twig");
  1139.     }
  1140. }