var/cache/dev/twig/70/704e77393913a67459471193a6a2f7d2.php line 43

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/circuit-destination.html.twig */
  15. class __TwigTemplate_1ed5bbd5e57f04ea73278bdafa7edbe2 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.             'header_classes' => [$this'block_header_classes'],
  27.             'navbar_theme' => [$this'block_navbar_theme'],
  28.             'body' => [$this'block_body'],
  29.         ];
  30.     }
  31.     protected function doGetParent(array $context)
  32.     {
  33.         // line 2
  34.         return "base.html.twig";
  35.     }
  36.     protected function doDisplay(array $context, array $blocks = [])
  37.     {
  38.         $macros $this->macros;
  39.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  40.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""default/circuit-destination.html.twig"));
  41.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  42.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""default/circuit-destination.html.twig"));
  43.         $this->parent $this->loadTemplate("base.html.twig""default/circuit-destination.html.twig"2);
  44.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  47.         
  48.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49.     }
  50.     // line 4
  51.     public function block_title($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  56.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  58.         yield "O'Circuit - ";
  59.         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.'4$this->source); })()), "title", [], "any"falsefalsefalse4), "html"nulltrue);
  60.         yield " | O Tropik – Agence de voyage en Guadeloupe ";
  61.         
  62.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  63.         
  64.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  65.         return; yield '';
  66.     }
  67.     // line 5
  68.     public function block_seo($context, array $blocks = [])
  69.     {
  70.         $macros $this->macros;
  71.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  72.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""seo"));
  73.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  74.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""seo"));
  75.         // line 6
  76.         yield " <meta name=\"description\" content=\"";
  77.         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.'6$this->source); })()), "description", [], "any"falsefalsefalse6), "html"nulltrue);
  78.         yield "\" >
  79. \t<meta property=\"og:title\" content=\"";
  80.         // line 8
  81.         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.'8$this->source); })()), "metaTitle", [], "any"falsefalsefalse8), "html"nulltrue);
  82.         yield "\" />
  83. \t<meta property=\"og:type\" content=\"Website\" />
  84. \t<meta property=\"og:description\" content=\"";
  85.         // line 10
  86.         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.'10$this->source); })()), "metaDescription", [], "any"falsefalsefalse10), "html"nulltrue);
  87.         yield "\" />
  88. \t<meta property=\"og:url\" content=\"";
  89.         // line 11
  90.         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.'11$this->source); })()), "request", [], "any"falsefalsefalse11), "uri", [], "any"falsefalsefalse11)), "html"nulltrue);
  91.         yield "\" />
  92. \t<meta property=\"og:image\" content=\"";
  93.         // line 12
  94.         yield "\" />
  95. \t<meta name =\"twitter:card\" content=\"summary_large_image\" />
  96. \t<meta name=\"twitter:title\" content=\"";
  97.         // line 15
  98.         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); })()), "metaTitle", [], "any"falsefalsefalse15), "html"nulltrue);
  99.         yield "\">
  100. \t<meta name=\"twitter:description\" content=\"";
  101.         // line 16
  102.         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.'16$this->source); })()), "metaDescription", [], "any"falsefalsefalse16), "html"nulltrue);
  103.         yield "\">
  104. \t<meta name=\"twitter:image\" content=\"";
  105.         // line 17
  106.         yield "\">
  107. ";
  108.         
  109.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  110.         
  111.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  112.         return; yield '';
  113.     }
  114.     // line 20
  115.     public function block_header_classes($context, array $blocks = [])
  116.     {
  117.         $macros $this->macros;
  118.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  119.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""header_classes"));
  120.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  121.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""header_classes"));
  122.         yield "header-overlay";
  123.         
  124.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  125.         
  126.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  127.         return; yield '';
  128.     }
  129.     // line 21
  130.     public function block_navbar_theme($context, array $blocks = [])
  131.     {
  132.         $macros $this->macros;
  133.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  134.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""navbar_theme"));
  135.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  136.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""navbar_theme"));
  137.         yield "navbar-dark";
  138.         
  139.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  140.         
  141.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  142.         return; yield '';
  143.     }
  144.     // line 23
  145.     public function block_body($context, array $blocks = [])
  146.     {
  147.         $macros $this->macros;
  148.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  149.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  150.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  151.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  152.         // line 24
  153.         yield "
  154. ";
  155.         // line 28
  156.         yield "<section class=\"hero hero--offer-details is-animated position-relative text-white\">
  157.   <div class=\"hero__media ratio ratio-21x9\">
  158.     <img src=\"";
  159.         // line 30
  160.         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.'30$this->source); })()), "file", [], "any"falsefalsefalse30)) . "/") . 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); })()), "slug", [], "any"falsefalsefalse30)) . "/") . 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); })()), "img", [], "any"falsefalsefalse30))), "html"nulltrue);
  161.         yield "\"
  162.          alt=\"";
  163.         // line 31
  164.         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.'31$this->source); })()), "title", [], "any"falsefalsefalse31), "html"nulltrue);
  165.         yield "\"
  166.          class=\"hero__img object-fit-cover w-100 h-100\">
  167.   </div>
  168.   <div class=\"hero__overlay hero__overlay--left\">
  169.     <div class=\"container\">
  170.       <div class=\"hero__card\" style=\"max-width: 760px;\">
  171.         <h1 class=\"hero__title display-5 fw-bold txt-ot-yellow mb-1\">";
  172.         // line 38
  173.         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.'38$this->source); })()), "title", [], "any"falsefalsefalse38), "html"nulltrue);
  174.         yield "</h1>
  175.         <p class=\"hero__subtitle mb-3\">";
  176.         // line 39
  177.         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.'39$this->source); })()), "subtitle", [], "any"falsefalsefalse39), "html"nulltrue);
  178.         yield "</p>
  179.         <div class=\"d-flex flex-wrap align-items-center gap-2 mb-3\">
  180.           <span class=\"badge bg-ot-green\">";
  181.         // line 42
  182.         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.'42$this->source); })()), "durationText", [], "any"falsefalsefalse42), "html"nulltrue);
  183.         yield "</span>
  184.           <span class=\"badge text-bg-light\">";
  185.         // line 43
  186.         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.'43$this->source); })()), "dateText", [], "any"falsefalsefalse43), "html"nulltrue);
  187.         yield "</span>
  188.           <span class=\"badge text-bg-light\">À partir de ";
  189.         // line 44
  190.         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.'44$this->source); })()), "priceFrom", [], "any"falsefalsefalse44), "html"nulltrue);
  191.         yield "€</span>
  192.         </div>
  193.         <div class=\"mb-3\">
  194.           <h6 class=\"fw-bold txt-ot-yellow mb-2\">Inclus :</h6>
  195.           <ul class=\"list-unstyled mb-0\">
  196.             ";
  197.         // line 50
  198.         $context['_parent'] = $context;
  199.         $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.'50$this->source); })()), "includedText", [], "any"falsefalsefalse50), "
  200. "));
  201.         foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  202.             // line 51
  203.             yield "              <li class=\"mb-1\">✔️ ";
  204.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  205.             yield "</li>
  206.             ";
  207.         }
  208.         $_parent $context['_parent'];
  209.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  210.         $context array_intersect_key($context$_parent) + $_parent;
  211.         // line 53
  212.         yield "          </ul>
  213.         </div>
  214.         <div class=\"hero__actions\" style=\"justify-content:flex-start;\">
  215.           <a href=\"";
  216.         // line 57
  217.         yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("o.devis");
  218.         yield "\" class=\"btn btn-primary rounded-pill\">Demander un devis</a>
  219.           ";
  220.         // line 58
  221.         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.'58$this->source); })()), "brochure", [], "any"falsefalsefalse58)) {
  222.             // line 59
  223.             yield "            <a href=\"";
  224.             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.'59$this->source); })()), "brochure", [], "any"falsefalsefalse59)), "html"nulltrue);
  225.             yield "\" target=\"_blank\" class=\"btn btn-outline-ot-green rounded-pill\">
  226.               Télécharger la brochure
  227.             </a>
  228.           ";
  229.         }
  230.         // line 63
  231.         yield "        </div>
  232.       </div>
  233.     </div>
  234.   </div>
  235. </section>
  236. ";
  237.         // line 71
  238.         yield "<section class=\"py-5 bg-body-tertiary\">
  239.   <div class=\"container\">
  240.     <div class=\"row g-3 g-md-4 row-cols-1 row-cols-md-2 row-cols-lg-4\">
  241.       <div class=\"col\">
  242.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  243.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Durée & dates</h3>
  244.           <p class=\"mb-0 text-muted\">";
  245.         // line 77
  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.'77$this->source); })()), "summaryDuration", [], "any"falsefalsefalse77), "html"nulltrue);
  247.         yield "</p>
  248.         <p class=\"mb-0 text-muted\">";
  249.         // line 78
  250.         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.'78$this->source); })()), "dateText", [], "any"falsefalsefalse78), "html"nulltrue);
  251.         yield "</p>
  252.         </div></div>
  253.       </div>
  254.       <div class=\"col\">
  255.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  256.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Vols</h3>
  257.            <ul class=\"list-unstyled mb-0\">
  258.         ";
  259.         // line 85
  260.         $context['_parent'] = $context;
  261.         $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.'85$this->source); })()), "summaryFlights", [], "any"falsefalsefalse85), "
  262. "));
  263.         foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  264.             // line 86
  265.             yield "                ";
  266.             if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
  267.                 // line 87
  268.                 yield "                 <li class=\"mb-1\">";
  269.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  270.                 yield "</li> 
  271.                 ";
  272.             }
  273.             // line 89
  274.             yield "        ";
  275.         }
  276.         $_parent $context['_parent'];
  277.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  278.         $context array_intersect_key($context$_parent) + $_parent;
  279.         // line 90
  280.         yield "      </ul>
  281.         </div></div>
  282.       </div>
  283.       <div class=\"col\">
  284.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  285.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Rythme & repas</h3>
  286.             <ul class=\"list-unstyled mb-0\">
  287.           ";
  288.         // line 97
  289.         $context['_parent'] = $context;
  290.         $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.'97$this->source); })()), "summaryPaceMeals", [], "any"falsefalsefalse97), "
  291. "));
  292.         foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  293.             // line 98
  294.             yield "                ";
  295.             if ((Twig\Extension\CoreExtension::trim($context["line"]) != "")) {
  296.                 // line 99
  297.                 yield "                 <li>";
  298.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  299.                 yield "</li> 
  300.                 ";
  301.             }
  302.             // line 101
  303.             yield "        ";
  304.         }
  305.         $_parent $context['_parent'];
  306.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  307.         $context array_intersect_key($context$_parent) + $_parent;
  308.         // line 102
  309.         yield "      </ul>
  310.         </div></div>
  311.       </div>
  312.       <div class=\"col\">
  313.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  314.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Tarif dès</h3>
  315.           <p class=\"small text-muted mb-0\">";
  316.         // line 108
  317.         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.'108$this->source); })()), "priceFrom", [], "any"falsefalsefalse108), "html"nulltrue);
  318.         yield "€</p>
  319.         </div></div>
  320.       </div>
  321.     </div>
  322.   </div>
  323. </section>
  324. ";
  325.         // line 118
  326.         yield "<section class=\"py-5 bg-white\">
  327.   <div class=\"container\">
  328.     <div class=\"row\">
  329.     <div class=\"col-md-6 p-5\">
  330.     ";
  331.         // line 122
  332.         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.'122$this->source); })()), "highlightTitle", [], "any"falsefalsefalse122)) {
  333.             // line 123
  334.             yield "    <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">
  335.     ";
  336.             // line 124
  337.             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.'124$this->source); })()), "highlightTitle", [], "any"falsefalsefalse124), "html"nulltrue);
  338.             yield "
  339.     ";
  340.         } else {
  341.             // line 126
  342.             yield "    Les incontournables de votre voyage
  343.     ";
  344.         }
  345.         // line 128
  346.         yield "    </h2>
  347.            <p class=\"text-muted\">
  348.            ";
  349.         // line 130
  350.         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.'130$this->source); })()), "highlightText", [], "any"falsefalsefalse130)) {
  351.             // line 131
  352.             yield "           ";
  353.             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.'131$this->source); })()), "highlightText", [], "any"falsefalsefalse131), "html"nulltrue);
  354.             yield "
  355.            ";
  356.         } else {
  357.             // line 133
  358.             yield "          Chaque étape de ce circuit a été pensée pour vous offrir une immersion
  359.           authentique et des souvenirs inoubliables. Entre paysages iconiques,
  360.           découvertes culturelles et activités exclusives, voici ce qui rend ce voyage unique.
  361.           ";
  362.         }
  363.         // line 137
  364.         yield "        </p>
  365.     </div>
  366.     <div class=\"col-md-6\">
  367.     <div class=\"row g-3\">
  368.   <div class=\"d-flex flex-column gap-3\">
  369.   ";
  370.         // line 142
  371.         $context['_parent'] = $context;
  372.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["highlight"]) || array_key_exists("highlight"$context) ? $context["highlight"] : (function () { throw new RuntimeError('Variable "highlight" does not exist.'142$this->source); })()));
  373.         foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
  374.             // line 143
  375.             yield "    <div class=\"card border-0 shadow-sm rounded-4\">
  376.       <div class=\"card-body\">
  377.         <h3 class=\"h6 fw-semibold mb-1\">";
  378.             // line 145
  379.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["h"], "title", [], "any"falsefalsefalse145), "html"nulltrue);
  380.             yield "</h3>
  381.         ";
  382.             // line 146
  383.             if (CoreExtension::getAttribute($this->env$this->source$context["h"], "details", [], "any"falsefalsefalse146)) {
  384.                 // line 147
  385.                 yield "          <p class=\"small text-muted mb-0\">";
  386.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["h"], "details", [], "any"falsefalsefalse147), "html"nulltrue);
  387.                 yield "</p>
  388.         ";
  389.             }
  390.             // line 149
  391.             yield "      </div>
  392.     </div>
  393.   ";
  394.         }
  395.         $_parent $context['_parent'];
  396.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
  397.         $context array_intersect_key($context$_parent) + $_parent;
  398.         // line 152
  399.         yield "</div>
  400.     </div>
  401. </div>
  402.   </div>
  403. </section>
  404. ";
  405.         // line 163
  406.         yield "<section class=\"py-5 bg-white\" id=\"itineraire\">
  407.   <div class=\"container\">
  408.     <div class=\"row align-items-center g-4\"> ";
  409.         // line 166
  410.         yield "
  411.       ";
  412.         // line 168
  413.         yield "      <div class=\"col-12 col-lg-6 d-flex\">
  414.         <div class=\"w-100 d-flex align-items-center\">
  415.           <div id=\"circuitCarousel\"
  416.                class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
  417.                data-bs-ride=\"carousel\"
  418.                data-bs-interval=\"5000\"
  419.                data-bs-pause=\"hover\"
  420.                data-bs-touch=\"true\"
  421.                aria-label=\"Galerie circuit\">
  422.             <div class=\"carousel-inner\">
  423.               ";
  424.         // line 179
  425.         $context['_parent'] = $context;
  426.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary"$context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.'179$this->source); })()));
  427.         $context['loop'] = [
  428.           'parent' => $context['_parent'],
  429.           'index0' => 0,
  430.           'index'  => 1,
  431.           'first'  => true,
  432.         ];
  433.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  434.             $length count($context['_seq']);
  435.             $context['loop']['revindex0'] = $length 1;
  436.             $context['loop']['revindex'] = $length;
  437.             $context['loop']['length'] = $length;
  438.             $context['loop']['last'] = === $length;
  439.         }
  440.         foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  441.             // line 180
  442.             yield "                <div class=\"carousel-item ";
  443.             if (CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse180)) {
  444.                 yield "active";
  445.             }
  446.             yield "\">
  447.                   <div class=\"ratio ratio-4x3\">
  448.                     <img src=\"";
  449.             // line 182
  450.             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"falsefalsefalse182), "file", [], "any"falsefalsefalse182)) . "/") . CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["p"], "offer", [], "any"falsefalsefalse182), "slug", [], "any"falsefalsefalse182)) . "/itinerary/") . CoreExtension::getAttribute($this->env$this->source$context["p"], "img", [], "any"falsefalsefalse182))), "html"nulltrue);
  451.             yield "\" class=\"d-block w-100 h-100 object-fit-cover\" alt=\"Photo circuit ";
  452.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse182), "html"nulltrue);
  453.             yield "\">
  454.                   </div>
  455.                 </div>
  456.               ";
  457.             ++$context['loop']['index0'];
  458.             ++$context['loop']['index'];
  459.             $context['loop']['first'] = false;
  460.             if (isset($context['loop']['length'])) {
  461.                 --$context['loop']['revindex0'];
  462.                 --$context['loop']['revindex'];
  463.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  464.             }
  465.         }
  466.         $_parent $context['_parent'];
  467.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
  468.         $context array_intersect_key($context$_parent) + $_parent;
  469.         // line 186
  470.         yield "            </div>
  471.             <button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
  472.               <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  473.               <span class=\"visually-hidden\">Précédent</span>
  474.             </button>
  475.             <button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
  476.               <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  477.               <span class=\"visually-hidden\">Suivant</span>
  478.             </button>
  479.             <div class=\"carousel-indicators\">
  480.               ";
  481.         // line 198
  482.         $context['_parent'] = $context;
  483.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["photoItinerary"]) || array_key_exists("photoItinerary"$context) ? $context["photoItinerary"] : (function () { throw new RuntimeError('Variable "photoItinerary" does not exist.'198$this->source); })()));
  484.         $context['loop'] = [
  485.           'parent' => $context['_parent'],
  486.           'index0' => 0,
  487.           'index'  => 1,
  488.           'first'  => true,
  489.         ];
  490.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  491.             $length count($context['_seq']);
  492.             $context['loop']['revindex0'] = $length 1;
  493.             $context['loop']['revindex'] = $length;
  494.             $context['loop']['length'] = $length;
  495.             $context['loop']['last'] = === $length;
  496.         }
  497.         foreach ($context['_seq'] as $context["_key"] => $context["p"]) {
  498.             // line 199
  499.             yield "                <button type=\"button\"
  500.                         data-bs-target=\"#circuitCarousel\"
  501.                         data-bs-slide-to=\"";
  502.             // line 201
  503.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse201), "html"nulltrue);
  504.             yield "\"
  505.                         class=\"";
  506.             // line 202
  507.             if (CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse202)) {
  508.                 yield "active";
  509.             }
  510.             yield "\"
  511.                         aria-current=\"";
  512.             // line 203
  513.             yield ((CoreExtension::getAttribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse203)) ? ("true") : ("false"));
  514.             yield "\"
  515.                         aria-label=\"Slide ";
  516.             // line 204
  517.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse204), "html"nulltrue);
  518.             yield "\"></button>
  519.               ";
  520.             ++$context['loop']['index0'];
  521.             ++$context['loop']['index'];
  522.             $context['loop']['first'] = false;
  523.             if (isset($context['loop']['length'])) {
  524.                 --$context['loop']['revindex0'];
  525.                 --$context['loop']['revindex'];
  526.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  527.             }
  528.         }
  529.         $_parent $context['_parent'];
  530.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']);
  531.         $context array_intersect_key($context$_parent) + $_parent;
  532.         // line 206
  533.         yield "            </div>
  534.           </div>
  535.         </div>
  536.       </div>
  537.       ";
  538.         // line 212
  539.         yield "      <div class=\"col-12 col-lg-6\">
  540.         <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Itinéraire jour par jour</h2>
  541.         <div class=\"list-group list-group-flush\">
  542.           ";
  543.         // line 216
  544.         $context['_parent'] = $context;
  545.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["itinerary"]) || array_key_exists("itinerary"$context) ? $context["itinerary"] : (function () { throw new RuntimeError('Variable "itinerary" does not exist.'216$this->source); })()));
  546.         $context['loop'] = [
  547.           'parent' => $context['_parent'],
  548.           'index0' => 0,
  549.           'index'  => 1,
  550.           'first'  => true,
  551.         ];
  552.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  553.             $length count($context['_seq']);
  554.             $context['loop']['revindex0'] = $length 1;
  555.             $context['loop']['revindex'] = $length;
  556.             $context['loop']['length'] = $length;
  557.             $context['loop']['last'] = === $length;
  558.         }
  559.         foreach ($context['_seq'] as $context["_key"] => $context["it"]) {
  560.             // line 217
  561.             yield "            <div class=\"list-group-item px-0\">
  562.               <button class=\"btn w-100 d-flex justify-content-between align-items-center text-start\"
  563.                       data-bs-toggle=\"collapse\" data-bs-target=\"#day";
  564.             // line 219
  565.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse219), "html"nulltrue);
  566.             yield "\" aria-expanded=\"false\">
  567.                 <span class=\"fw-bold\">Jour ";
  568.             // line 220
  569.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse220), "html"nulltrue);
  570.             yield " - ";
  571.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "title", [], "any"falsefalsefalse220), "html"nulltrue);
  572.             if (CoreExtension::getAttribute($this->env$this->source$context["it"], "kmLabel", [], "any"falsefalsefalse220)) {
  573.                 yield " <span class=\"text-muted fw-normal\"> (";
  574.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "kmLabel", [], "any"falsefalsefalse220), "html"nulltrue);
  575.                 yield ") km</span>";
  576.             }
  577.             yield "</span>
  578.                 <i class=\"bi bi-chevron-down\"></i>
  579.               </button>
  580.               <div id=\"day";
  581.             // line 223
  582.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse223), "html"nulltrue);
  583.             yield "\" class=\"collapse mt-2\">
  584.                 <p class=\"small text-muted mb-0\">";
  585.             // line 224
  586.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["it"], "details", [], "any"falsefalsefalse224), "html"nulltrue);
  587.             yield "</p>
  588.               </div>
  589.             </div>
  590.           ";
  591.             ++$context['loop']['index0'];
  592.             ++$context['loop']['index'];
  593.             $context['loop']['first'] = false;
  594.             if (isset($context['loop']['length'])) {
  595.                 --$context['loop']['revindex0'];
  596.                 --$context['loop']['revindex'];
  597.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  598.             }
  599.         }
  600.         $_parent $context['_parent'];
  601.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['it'], $context['_parent'], $context['loop']);
  602.         $context array_intersect_key($context$_parent) + $_parent;
  603.         // line 228
  604.         yield "        </div>
  605.       </div>
  606.     </div>
  607.   </div>
  608. </section>
  609. ";
  610.         // line 234
  611.         if ((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer"$context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.'234$this->source); })())) {
  612.             // line 238
  613.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"hotels\">
  614.   <div class=\"container\">
  615.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Hébergements prévus (ou similaires)</h2>
  616.     <ul class=\"list-group\">
  617.       ";
  618.             // line 242
  619.             $context['_parent'] = $context;
  620.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["hebergementOffer"]) || array_key_exists("hebergementOffer"$context) ? $context["hebergementOffer"] : (function () { throw new RuntimeError('Variable "hebergementOffer" does not exist.'242$this->source); })()));
  621.             foreach ($context['_seq'] as $context["_key"] => $context["h"]) {
  622.                 yield "<li class=\"list-group-item\">";
  623.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["h"], "name", [], "any"falsefalsefalse242), "html"nulltrue);
  624.                 yield "</li>";
  625.             }
  626.             $_parent $context['_parent'];
  627.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['h'], $context['_parent'], $context['loop']);
  628.             $context array_intersect_key($context$_parent) + $_parent;
  629.             // line 243
  630.             yield "    </ul>
  631.   </div>
  632. </section>
  633. ";
  634.         }
  635.         // line 247
  636.         yield "
  637. ";
  638.         // line 248
  639.         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.'248$this->source); })()), "widget", [], "any"falsefalsefalse248)) {
  640.             // line 249
  641.             yield "<div class=\"container\">
  642.   <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Activités</h2>
  643. <div class=\"widget\">
  644.   ";
  645.             // line 252
  646.             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.'252$this->source); })()), "widget", [], "any"falsefalsefalse252);
  647.             yield "
  648. </div>
  649. </div>
  650. ";
  651.         }
  652.         // line 256
  653.         yield "
  654. ";
  655.         // line 257
  656.         if ((isset($context["included"]) || array_key_exists("included"$context) ? $context["included"] : (function () { throw new RuntimeError('Variable "included" does not exist.'257$this->source); })())) {
  657.             // line 261
  658.             yield "<section class=\"py-5 bg-white\" id=\"inclus\">
  659.   <div class=\"container\">
  660.     <div class=\"row g-4\">
  661.       <div class=\"col-12 col-lg-6\">
  662.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  663.           <div class=\"card-body\">
  664.             <h2 class=\"h5 fw-bold txt-ot-yellow\">Inclus</h2>
  665.             <ul class=\"small mb-0 list-unstyled\">
  666.              ";
  667.             // line 269
  668.             $context['_parent'] = $context;
  669.             $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.'269$this->source); })()), "included", [], "any"falsefalsefalse269), "
  670. "));
  671.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  672.                 // line 270
  673.                 yield "              <li class=\"mb-1\">✔️ ";
  674.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  675.                 yield "</li>
  676.             ";
  677.             }
  678.             $_parent $context['_parent'];
  679.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  680.             $context array_intersect_key($context$_parent) + $_parent;
  681.             // line 272
  682.             yield "            </ul>
  683.           </div>
  684.         </div>
  685.       </div>
  686.       <div class=\"col-12 col-lg-6\">
  687.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  688.           <div class=\"card-body\">
  689.             <h2 class=\"h5 fw-bold txt-ot-yellow\">Non inclus</h2>
  690.             <ul class=\"small mb-0 list-unstyled\">
  691.             ";
  692.             // line 281
  693.             $context['_parent'] = $context;
  694.             $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.'281$this->source); })()), "notIncluded", [], "any"falsefalsefalse281), "
  695. "));
  696.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  697.                 // line 282
  698.                 yield "              <li class=\"mb-1\">- ";
  699.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  700.                 yield "</li>
  701.             ";
  702.             }
  703.             $_parent $context['_parent'];
  704.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  705.             $context array_intersect_key($context$_parent) + $_parent;
  706.             // line 284
  707.             yield "            </ul>
  708.           </div>
  709.         </div>
  710.       </div>
  711.     </div>
  712.   </div>
  713. </section>
  714. ";
  715.         }
  716.         // line 292
  717.         yield "
  718. ";
  719.         // line 293
  720.         if ((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'293$this->source); })())) {
  721.             // line 297
  722.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"vols\">
  723.   <div class=\"container\">
  724.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Vols & horaires (indicatifs)</h2>
  725.     <div class=\"row g-4\">
  726.       <div class=\"col-12 col-lg-6\">
  727.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  728.           <div class=\"card-body\">
  729.             <h3 class=\"h6 fw-bold mb-2\">Aller</h3>
  730.             <ul class=\"small mb-0\">
  731.               ";
  732.             // line 306
  733.             $context['_parent'] = $context;
  734.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'306$this->source); })()));
  735.             foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
  736.                 // line 307
  737.                 yield "              ";
  738.                 if ((CoreExtension::getAttribute($this->env$this->source$context["f"], "type", [], "any"falsefalsefalse307) == "1")) {
  739.                     // line 308
  740.                     yield "                <li>";
  741.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse308), "html"nulltrue);
  742.                     yield " → ";
  743.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse308), "html"nulltrue);
  744.                     yield "  ";
  745.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureTime", [], "any"falsefalsefalse308), "html"nulltrue);
  746.                     yield " / ";
  747.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "arrivalTime", [], "any"falsefalsefalse308), "html"nulltrue);
  748.                     yield " </li>
  749.             ";
  750.                 }
  751.                 // line 310
  752.                 yield "              ";
  753.             }
  754.             $_parent $context['_parent'];
  755.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
  756.             $context array_intersect_key($context$_parent) + $_parent;
  757.             // line 311
  758.             yield "            </ul>
  759.           </div>
  760.         </div>
  761.       </div>
  762.       <div class=\"col-12 col-lg-6\">
  763.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  764.           <div class=\"card-body\">
  765.             <h3 class=\"h6 fw-bold mb-2\">Retour</h3>
  766.             <ul class=\"small mb-0\">
  767.               ";
  768.             // line 321
  769.             $context['_parent'] = $context;
  770.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["flight"]) || array_key_exists("flight"$context) ? $context["flight"] : (function () { throw new RuntimeError('Variable "flight" does not exist.'321$this->source); })()));
  771.             foreach ($context['_seq'] as $context["_key"] => $context["f"]) {
  772.                 yield "                
  773.                  ";
  774.                 // line 322
  775.                 if ((CoreExtension::getAttribute($this->env$this->source$context["f"], "type", [], "any"falsefalsefalse322) == "2")) {
  776.                     // line 323
  777.                     yield "                <li>";
  778.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse323), "html"nulltrue);
  779.                     yield " → ";
  780.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureCity", [], "any"falsefalsefalse323), "html"nulltrue);
  781.                     yield "  ";
  782.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "departureTime", [], "any"falsefalsefalse323), "html"nulltrue);
  783.                     yield " / ";
  784.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["f"], "arrivalTime", [], "any"falsefalsefalse323), "html"nulltrue);
  785.                     yield " </li>
  786.             ";
  787.                 }
  788.                 // line 325
  789.                 yield "              ";
  790.             }
  791.             $_parent $context['_parent'];
  792.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['f'], $context['_parent'], $context['loop']);
  793.             $context array_intersect_key($context$_parent) + $_parent;
  794.             // line 326
  795.             yield "            </ul>
  796.           </div>
  797.         </div>
  798.       </div>
  799.     </div>
  800.     <p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
  801.   </div>
  802. </section>
  803.   ";
  804.         }
  805.         // line 335
  806.         yield "
  807. ";
  808.         // line 361
  809.         if ((isset($context["infos"]) || array_key_exists("infos"$context) ? $context["infos"] : (function () { throw new RuntimeError('Variable "infos" does not exist.'361$this->source); })())) {
  810.             // line 365
  811.             yield "<section class=\"py-5 bg-body-tertiary\" id=\"paiement\">
  812.   <div class=\"container\">
  813.   <div class=\"row g-4\">
  814.     <div class=\"col-12 col-lg-6\">
  815.     <div class=\"card border-0 shadow-sm rounded-4\">
  816.       <div class=\"card-body\">
  817.         <h2 class=\"h5 fw-bold txt-ot-yellow\">Facilités de paiement</h2>
  818.         <ul class=\"small mb-0\">
  819.             ";
  820.             // line 373
  821.             $context['_parent'] = $context;
  822.             $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.'373$this->source); })()), "paymentMethod", [], "any"falsefalsefalse373), "
  823. "));
  824.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  825.                 // line 374
  826.                 yield "              <li class=\"mb-1\">✔️ ";
  827.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  828.                 yield "</li>
  829.             ";
  830.             }
  831.             $_parent $context['_parent'];
  832.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  833.             $context array_intersect_key($context$_parent) + $_parent;
  834.             // line 376
  835.             yield "        </ul>
  836.       </div>
  837.     </div>
  838.     </div>
  839.       <div class=\"col-12 col-lg-6\">
  840.     <div class=\"card border-0 shadow-sm rounded-4\">
  841.       <div class=\"card-body\">
  842.         <h2 class=\"h5 fw-bold txt-ot-yellow\">Formalités</h2>
  843.         <ul class=\"small mb-0\">
  844.             ";
  845.             // line 386
  846.             $context['_parent'] = $context;
  847.             $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.'386$this->source); })()), "formalities", [], "any"falsefalsefalse386), "
  848. "));
  849.             foreach ($context['_seq'] as $context["_key"] => $context["line"]) {
  850.                 // line 387
  851.                 yield "              <li class=\"mb-1\">✔️ ";
  852.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["line"], "html"nulltrue);
  853.                 yield "</li>
  854.             ";
  855.             }
  856.             $_parent $context['_parent'];
  857.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['line'], $context['_parent'], $context['loop']);
  858.             $context array_intersect_key($context$_parent) + $_parent;
  859.             // line 389
  860.             yield "        </ul>
  861.       </div>
  862.     </div>
  863.      </div> 
  864. </div>
  865.   </div>
  866. </section>
  867. ";
  868.         }
  869.         // line 398
  870.         yield "
  871. ";
  872.         // line 403
  873.         yield "<section class=\"py-5 bg-ot-green text-white text-center\">
  874.   <div class=\"container\">
  875.     <h2 class=\"h4 fw-bold mb-2\">Envie de rejoindre le ";
  876.         // line 405
  877.         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.'405$this->source); })()), "title", [], "any"falsefalsefalse405), "html"nulltrue);
  878.         yield " ?</h2>
  879.     <p class=\"mb-4\">Parlez à un conseiller Otropik : on s’occupe de tout.</p>
  880.     <div class=\"d-flex gap-2 justify-content-center flex-wrap\">
  881.       <a href=\"";
  882.         // line 408
  883.         yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("o.devis");
  884.         yield "\" class=\"btn btn-light rounded-pill\">Demander un devis</a>
  885.       <a href=\"tel:0590505134\" class=\"btn btn-outline-light rounded-pill\">Appeler</a>
  886.     </div>
  887.   </div>
  888. </section>
  889. ";
  890.         
  891.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  892.         
  893.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  894.         return; yield '';
  895.     }
  896.     /**
  897.      * @codeCoverageIgnore
  898.      */
  899.     public function getTemplateName()
  900.     {
  901.         return "default/circuit-destination.html.twig";
  902.     }
  903.     /**
  904.      * @codeCoverageIgnore
  905.      */
  906.     public function isTraitable()
  907.     {
  908.         return false;
  909.     }
  910.     /**
  911.      * @codeCoverageIgnore
  912.      */
  913.     public function getDebugInfo()
  914.     {
  915.         return array (  937 => 408,  931 => 405,  927 => 403,  923 => 398,  912 => 389,  903 => 387,  898 => 386,  886 => 376,  877 => 374,  872 => 373,  862 => 365,  860 => 361,  857 => 335,  846 => 326,  840 => 325,  828 => 323,  826 => 322,  820 => 321,  808 => 311,  802 => 310,  790 => 308,  787 => 307,  783 => 306,  772 => 297,  770 => 293,  767 => 292,  757 => 284,  748 => 282,  743 => 281,  732 => 272,  723 => 270,  718 => 269,  708 => 261,  706 => 257,  703 => 256,  696 => 252,  691 => 249,  689 => 248,  686 => 247,  680 => 243,  669 => 242,  663 => 238,  661 => 234,  653 => 228,  635 => 224,  631 => 223,  618 => 220,  614 => 219,  610 => 217,  593 => 216,  587 => 212,  580 => 206,  564 => 204,  560 => 203,  554 => 202,  550 => 201,  546 => 199,  529 => 198,  515 => 186,  495 => 182,  487 => 180,  470 => 179,  457 => 168,  454 => 166,  450 => 163,  440 => 152,  432 => 149,  426 => 147,  424 => 146,  420 => 145,  416 => 143,  412 => 142,  405 => 137,  399 => 133,  393 => 131,  391 => 130,  387 => 128,  383 => 126,  378 => 124,  375 => 123,  373 => 122,  367 => 118,  357 => 108,  349 => 102,  343 => 101,  337 => 99,  334 => 98,  329 => 97,  320 => 90,  314 => 89,  308 => 87,  305 => 86,  300 => 85,  290 => 78,  286 => 77,  278 => 71,  271 => 63,  263 => 59,  261 => 58,  257 => 57,  251 => 53,  242 => 51,  237 => 50,  228 => 44,  224 => 43,  220 => 42,  214 => 39,  210 => 38,  200 => 31,  196 => 30,  192 => 28,  189 => 24,  179 => 23,  159 => 21,  139 => 20,  127 => 17,  123 => 16,  119 => 15,  114 => 12,  110 => 11,  106 => 10,  101 => 8,  95 => 6,  85 => 5,  63 => 4,  40 => 2,);
  916.     }
  917.     public function getSourceContext()
  918.     {
  919.         return new Source("{# templates/circuit/golden-western.html.twig #}
  920. {% extends 'base.html.twig' %}
  921. {% block title %}O'Circuit - {{offer.title}} | O Tropik – Agence de voyage en Guadeloupe {% endblock %}
  922. {% block seo %}
  923.  <meta name=\"description\" content=\"{{offer.description}}\" >
  924. \t<meta property=\"og:title\" content=\"{{offer.metaTitle}}\" />
  925. \t<meta property=\"og:type\" content=\"Website\" />
  926. \t<meta property=\"og:description\" content=\"{{offer.metaDescription}}\" />
  927. \t<meta property=\"og:url\" content=\"{{absolute_url( app.request.uri)}}\" />
  928. \t<meta property=\"og:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\" />
  929. \t<meta name =\"twitter:card\" content=\"summary_large_image\" />
  930. \t<meta name=\"twitter:title\" content=\"{{offer.metaTitle}}\">
  931. \t<meta name=\"twitter:description\" content=\"{{offer.metaDescription}}\">
  932. \t<meta name=\"twitter:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\">
  933. {% endblock %}
  934. {# Si tu veux header overlay blanc sur photo hero : #}
  935. {% block header_classes %}header-overlay{% endblock %}
  936. {% block navbar_theme %}navbar-dark{% endblock %}
  937. {% block body %}
  938. {# =====================================================
  939.    1) HERO — Titre, sous-titre, prix/CTA, bloc inclus
  940. ===================================================== #}
  941. <section class=\"hero hero--offer-details is-animated position-relative text-white\">
  942.   <div class=\"hero__media ratio ratio-21x9\">
  943.     <img src=\"{{ asset('img/offer/' ~ offer.file ~ '/' ~ offer.slug ~ '/' ~ offer.img) }}\"
  944.          alt=\"{{ offer.title }}\"
  945.          class=\"hero__img object-fit-cover w-100 h-100\">
  946.   </div>
  947.   <div class=\"hero__overlay hero__overlay--left\">
  948.     <div class=\"container\">
  949.       <div class=\"hero__card\" style=\"max-width: 760px;\">
  950.         <h1 class=\"hero__title display-5 fw-bold txt-ot-yellow mb-1\">{{ offer.title }}</h1>
  951.         <p class=\"hero__subtitle mb-3\">{{ offer.subtitle }}</p>
  952.         <div class=\"d-flex flex-wrap align-items-center gap-2 mb-3\">
  953.           <span class=\"badge bg-ot-green\">{{ offer.durationText }}</span>
  954.           <span class=\"badge text-bg-light\">{{ offer.dateText }}</span>
  955.           <span class=\"badge text-bg-light\">À partir de {{ offer.priceFrom }}€</span>
  956.         </div>
  957.         <div class=\"mb-3\">
  958.           <h6 class=\"fw-bold txt-ot-yellow mb-2\">Inclus :</h6>
  959.           <ul class=\"list-unstyled mb-0\">
  960.             {% for line in offer.includedText|split(\"\\n\") %}
  961.               <li class=\"mb-1\">✔️ {{ line }}</li>
  962.             {% endfor %}
  963.           </ul>
  964.         </div>
  965.         <div class=\"hero__actions\" style=\"justify-content:flex-start;\">
  966.           <a href=\"{{ path('o.devis') }}\" class=\"btn btn-primary rounded-pill\">Demander un devis</a>
  967.           {% if offer.brochure %}
  968.             <a href=\"{{ asset(offer.brochure) }}\" target=\"_blank\" class=\"btn btn-outline-ot-green rounded-pill\">
  969.               Télécharger la brochure
  970.             </a>
  971.           {% endif %}
  972.         </div>
  973.       </div>
  974.     </div>
  975.   </div>
  976. </section>
  977. {# =====================================================
  978.    3) INFOS CLÉS — Durée/Dates · Vols · Rythme · Prix
  979. ===================================================== #}
  980. <section class=\"py-5 bg-body-tertiary\">
  981.   <div class=\"container\">
  982.     <div class=\"row g-3 g-md-4 row-cols-1 row-cols-md-2 row-cols-lg-4\">
  983.       <div class=\"col\">
  984.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  985.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Durée & dates</h3>
  986.           <p class=\"mb-0 text-muted\">{{ offer.summaryDuration }}</p>
  987.         <p class=\"mb-0 text-muted\">{{ offer.dateText }}</p>
  988.         </div></div>
  989.       </div>
  990.       <div class=\"col\">
  991.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  992.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Vols</h3>
  993.            <ul class=\"list-unstyled mb-0\">
  994.         {% for line in offer.summaryFlights|split(\"\\n\") %}
  995.                 {% if line|trim != '' %}
  996.                  <li class=\"mb-1\">{{ line }}</li> 
  997.                 {% endif %}
  998.         {% endfor %}
  999.       </ul>
  1000.         </div></div>
  1001.       </div>
  1002.       <div class=\"col\">
  1003.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  1004.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Rythme & repas</h3>
  1005.             <ul class=\"list-unstyled mb-0\">
  1006.           {% for line in offer.summaryPaceMeals|split(\"\\n\") %}
  1007.                 {% if line|trim != '' %}
  1008.                  <li>{{ line }}</li> 
  1009.                 {% endif %}
  1010.         {% endfor %}
  1011.       </ul>
  1012.         </div></div>
  1013.       </div>
  1014.       <div class=\"col\">
  1015.         <div class=\"card h-100 border-0 shadow-sm rounded-4\"><div class=\"card-body\">
  1016.           <h3 class=\"h6 txt-ot-yellow fw-bold mb-1\">Tarif dès</h3>
  1017.           <p class=\"small text-muted mb-0\">{{ offer.priceFrom }}€</p>
  1018.         </div></div>
  1019.       </div>
  1020.     </div>
  1021.   </div>
  1022. </section>
  1023. {# =====================================================
  1024.    2) POINTS FORTS — 3 à 6 cartes icônes
  1025. ===================================================== #}
  1026. <section class=\"py-5 bg-white\">
  1027.   <div class=\"container\">
  1028.     <div class=\"row\">
  1029.     <div class=\"col-md-6 p-5\">
  1030.     {% if offer.highlightTitle %}
  1031.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">
  1032.     {{offer.highlightTitle }}
  1033.     {% else %}
  1034.     Les incontournables de votre voyage
  1035.     {% endif %}
  1036.     </h2>
  1037.            <p class=\"text-muted\">
  1038.            {% if offer.highlightText %}
  1039.            {{offer.highlightText }}
  1040.            {% else %}
  1041.           Chaque étape de ce circuit a été pensée pour vous offrir une immersion
  1042.           authentique et des souvenirs inoubliables. Entre paysages iconiques,
  1043.           découvertes culturelles et activités exclusives, voici ce qui rend ce voyage unique.
  1044.           {% endif %}
  1045.         </p>
  1046.     </div>
  1047.     <div class=\"col-md-6\">
  1048.     <div class=\"row g-3\">
  1049.   <div class=\"d-flex flex-column gap-3\">
  1050.   {% for h in highlight %}
  1051.     <div class=\"card border-0 shadow-sm rounded-4\">
  1052.       <div class=\"card-body\">
  1053.         <h3 class=\"h6 fw-semibold mb-1\">{{ h.title }}</h3>
  1054.         {% if h.details %}
  1055.           <p class=\"small text-muted mb-0\">{{ h.details}}</p>
  1056.         {% endif %}
  1057.       </div>
  1058.     </div>
  1059.   {% endfor %}
  1060. </div>
  1061.     </div>
  1062. </div>
  1063.   </div>
  1064. </section>
  1065. {# =====================================================
  1066.    4) ITINÉRAIRE — Timeline jour par jour (collapses)
  1067. ===================================================== #}
  1068. <section class=\"py-5 bg-white\" id=\"itineraire\">
  1069.   <div class=\"container\">
  1070.     <div class=\"row align-items-center g-4\"> {# align-items-center = centrage vertical #}
  1071.       {# COLONNE GAUCHE — CAROUSEL #}
  1072.       <div class=\"col-12 col-lg-6 d-flex\">
  1073.         <div class=\"w-100 d-flex align-items-center\">
  1074.           <div id=\"circuitCarousel\"
  1075.                class=\"carousel slide rounded-4 overflow-hidden shadow-sm w-100\"
  1076.                data-bs-ride=\"carousel\"
  1077.                data-bs-interval=\"5000\"
  1078.                data-bs-pause=\"hover\"
  1079.                data-bs-touch=\"true\"
  1080.                aria-label=\"Galerie circuit\">
  1081.             <div class=\"carousel-inner\">
  1082.               {% for p in photoItinerary %}
  1083.                 <div class=\"carousel-item {% if loop.first %}active{% endif %}\">
  1084.                   <div class=\"ratio ratio-4x3\">
  1085.                     <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 }}\">
  1086.                   </div>
  1087.                 </div>
  1088.               {% endfor %}
  1089.             </div>
  1090.             <button class=\"carousel-control-prev\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"prev\">
  1091.               <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  1092.               <span class=\"visually-hidden\">Précédent</span>
  1093.             </button>
  1094.             <button class=\"carousel-control-next\" type=\"button\" data-bs-target=\"#circuitCarousel\" data-bs-slide=\"next\">
  1095.               <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  1096.               <span class=\"visually-hidden\">Suivant</span>
  1097.             </button>
  1098.             <div class=\"carousel-indicators\">
  1099.               {% for p in photoItinerary %}
  1100.                 <button type=\"button\"
  1101.                         data-bs-target=\"#circuitCarousel\"
  1102.                         data-bs-slide-to=\"{{ loop.index0 }}\"
  1103.                         class=\"{% if loop.first %}active{% endif %}\"
  1104.                         aria-current=\"{{ loop.first ? 'true' : 'false' }}\"
  1105.                         aria-label=\"Slide {{ loop.index }}\"></button>
  1106.               {% endfor %}
  1107.             </div>
  1108.           </div>
  1109.         </div>
  1110.       </div>
  1111.       {# COLONNE DROITE — ITINÉRAIRE #}
  1112.       <div class=\"col-12 col-lg-6\">
  1113.         <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Itinéraire jour par jour</h2>
  1114.         <div class=\"list-group list-group-flush\">
  1115.           {% for it in itinerary %}
  1116.             <div class=\"list-group-item px-0\">
  1117.               <button class=\"btn w-100 d-flex justify-content-between align-items-center text-start\"
  1118.                       data-bs-toggle=\"collapse\" data-bs-target=\"#day{{ loop.index }}\" aria-expanded=\"false\">
  1119.                 <span class=\"fw-bold\">Jour {{loop.index}} - {{it.title }}{% if it.kmLabel %} <span class=\"text-muted fw-normal\"> ({{ it.kmLabel }}) km</span>{% endif %}</span>
  1120.                 <i class=\"bi bi-chevron-down\"></i>
  1121.               </button>
  1122.               <div id=\"day{{ loop.index }}\" class=\"collapse mt-2\">
  1123.                 <p class=\"small text-muted mb-0\">{{ it.details }}</p>
  1124.               </div>
  1125.             </div>
  1126.           {% endfor %}
  1127.         </div>
  1128.       </div>
  1129.     </div>
  1130.   </div>
  1131. </section>
  1132. {% if hebergementOffer %}
  1133. {# =====================================================
  1134.    5) HÔTELS — liste ou tableau simple
  1135. ===================================================== #}
  1136. <section class=\"py-5 bg-body-tertiary\" id=\"hotels\">
  1137.   <div class=\"container\">
  1138.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Hébergements prévus (ou similaires)</h2>
  1139.     <ul class=\"list-group\">
  1140.       {% for h in hebergementOffer %}<li class=\"list-group-item\">{{ h.name }}</li>{% endfor %}
  1141.     </ul>
  1142.   </div>
  1143. </section>
  1144. {% endif %}
  1145. {% if offer.widget %}
  1146. <div class=\"container\">
  1147.   <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Activités</h2>
  1148. <div class=\"widget\">
  1149.   {{offer.widget|raw}}
  1150. </div>
  1151. </div>
  1152. {% endif %}
  1153. {% if included %}
  1154. {# =====================================================
  1155.    6) INCLUS / NON INCLUS — deux colonnes
  1156. ===================================================== #}
  1157. <section class=\"py-5 bg-white\" id=\"inclus\">
  1158.   <div class=\"container\">
  1159.     <div class=\"row g-4\">
  1160.       <div class=\"col-12 col-lg-6\">
  1161.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1162.           <div class=\"card-body\">
  1163.             <h2 class=\"h5 fw-bold txt-ot-yellow\">Inclus</h2>
  1164.             <ul class=\"small mb-0 list-unstyled\">
  1165.              {% for line in offer.included|split(\"\\n\") %}
  1166.               <li class=\"mb-1\">✔️ {{ line }}</li>
  1167.             {% endfor %}
  1168.             </ul>
  1169.           </div>
  1170.         </div>
  1171.       </div>
  1172.       <div class=\"col-12 col-lg-6\">
  1173.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1174.           <div class=\"card-body\">
  1175.             <h2 class=\"h5 fw-bold txt-ot-yellow\">Non inclus</h2>
  1176.             <ul class=\"small mb-0 list-unstyled\">
  1177.             {% for line in offer.notIncluded|split(\"\\n\") %}
  1178.               <li class=\"mb-1\">- {{ line }}</li>
  1179.             {% endfor %}
  1180.             </ul>
  1181.           </div>
  1182.         </div>
  1183.       </div>
  1184.     </div>
  1185.   </div>
  1186. </section>
  1187. {% endif %}
  1188. {% if flight %}
  1189. {# =====================================================
  1190.    7) VOLS & HORAIRES — bloc détaillé
  1191. ===================================================== #}
  1192. <section class=\"py-5 bg-body-tertiary\" id=\"vols\">
  1193.   <div class=\"container\">
  1194.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Vols & horaires (indicatifs)</h2>
  1195.     <div class=\"row g-4\">
  1196.       <div class=\"col-12 col-lg-6\">
  1197.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1198.           <div class=\"card-body\">
  1199.             <h3 class=\"h6 fw-bold mb-2\">Aller</h3>
  1200.             <ul class=\"small mb-0\">
  1201.               {% for f in flight %}
  1202.               {% if f.type == '1' %}
  1203.                 <li>{{ f.departureCity }} → {{ f.departureCity }}  {{f.departureTime}} / {{f.arrivalTime}} </li>
  1204.             {% endif %}
  1205.               {% endfor %}
  1206.             </ul>
  1207.           </div>
  1208.         </div>
  1209.       </div>
  1210.       <div class=\"col-12 col-lg-6\">
  1211.         <div class=\"card border-0 shadow-sm rounded-4 h-100\">
  1212.           <div class=\"card-body\">
  1213.             <h3 class=\"h6 fw-bold mb-2\">Retour</h3>
  1214.             <ul class=\"small mb-0\">
  1215.               {% for f in flight %}                
  1216.                  {% if f.type == '2' %}
  1217.                 <li>{{ f.departureCity }} → {{ f.departureCity }}  {{f.departureTime}} / {{f.arrivalTime}} </li>
  1218.             {% endif %}
  1219.               {% endfor %}
  1220.             </ul>
  1221.           </div>
  1222.         </div>
  1223.       </div>
  1224.     </div>
  1225.     <p class=\"small text-muted mt-3 mb-0\">Horaires et compagnies susceptibles d’évolution. À confirmer à l’émission des billets.</p>
  1226.   </div>
  1227. </section>
  1228.   {% endif %}
  1229. {# =====================================================
  1230.    8) TARIFS — tableau + bases pax
  1231. ===================================================== #}
  1232. {#<section class=\"py-5 bg-white\" id=\"tarifs\">
  1233.   <div class=\"container\">
  1234.     <h2 class=\"h3 txt-ot-yellow fw-bold mb-3\">Tarifs</h2>
  1235.     <div class=\"table-responsive\">
  1236.       <table class=\"table align-middle\">
  1237.         <thead><tr><th>Occupation</th><th>Tarif</th><th>Base</th></tr></thead>
  1238.         <tbody>
  1239.           {% set prices = circuit.prices|default([
  1240.             {label:'Double', price:'3390€', base:'31 pax'},
  1241.             {label:'Triple', price:'3860€', base:'31 pax'},
  1242.             {label:'Quad', price:'3840€', base:'31 pax'},
  1243.             {label:'Single', price:'3890€', base:'31 pax'}
  1244.           ]) %}
  1245.           {% for p in prices %}
  1246.           <tr><td>{{ p.label }}</td><td>{{ p.price }}</td><td>{{ p.base }}</td></tr>
  1247.           {% endfor %}
  1248.         </tbody>
  1249.       </table>
  1250.     </div>
  1251.     <p class=\"small text-muted mb-0\">Base modifiable : ex. <strong>+245€</strong>/pers si 29–20 pax. Sous réserve de disponibilité & modifications.</p>
  1252.   </div>
  1253. </section> #}
  1254. {% if infos %}
  1255. {# =====================================================
  1256.    9) FACILITÉS DE PAIEMENT — encart
  1257. ===================================================== #}
  1258. <section class=\"py-5 bg-body-tertiary\" id=\"paiement\">
  1259.   <div class=\"container\">
  1260.   <div class=\"row g-4\">
  1261.     <div class=\"col-12 col-lg-6\">
  1262.     <div class=\"card border-0 shadow-sm rounded-4\">
  1263.       <div class=\"card-body\">
  1264.         <h2 class=\"h5 fw-bold txt-ot-yellow\">Facilités de paiement</h2>
  1265.         <ul class=\"small mb-0\">
  1266.             {% for line in offer.paymentMethod|split(\"\\n\") %}
  1267.               <li class=\"mb-1\">✔️ {{ line }}</li>
  1268.             {% endfor %}
  1269.         </ul>
  1270.       </div>
  1271.     </div>
  1272.     </div>
  1273.       <div class=\"col-12 col-lg-6\">
  1274.     <div class=\"card border-0 shadow-sm rounded-4\">
  1275.       <div class=\"card-body\">
  1276.         <h2 class=\"h5 fw-bold txt-ot-yellow\">Formalités</h2>
  1277.         <ul class=\"small mb-0\">
  1278.             {% for line in offer.formalities|split(\"\\n\") %}
  1279.               <li class=\"mb-1\">✔️ {{ line }}</li>
  1280.             {% endfor %}
  1281.         </ul>
  1282.       </div>
  1283.     </div>
  1284.      </div> 
  1285. </div>
  1286.   </div>
  1287. </section>
  1288. {% endif %}
  1289. {# =====================================================
  1290.    11) CTA FINAL — devis & contact
  1291. ===================================================== #}
  1292. <section class=\"py-5 bg-ot-green text-white text-center\">
  1293.   <div class=\"container\">
  1294.     <h2 class=\"h4 fw-bold mb-2\">Envie de rejoindre le {{offer.title}} ?</h2>
  1295.     <p class=\"mb-4\">Parlez à un conseiller Otropik : on s’occupe de tout.</p>
  1296.     <div class=\"d-flex gap-2 justify-content-center flex-wrap\">
  1297.       <a href=\"{{ path('o.devis') }}\" class=\"btn btn-light rounded-pill\">Demander un devis</a>
  1298.       <a href=\"tel:0590505134\" class=\"btn btn-outline-light rounded-pill\">Appeler</a>
  1299.     </div>
  1300.   </div>
  1301. </section>
  1302. {% endblock %}""default/circuit-destination.html.twig""/home/ladomitiyc/otropik/templates/default/circuit-destination.html.twig");
  1303.     }
  1304. }