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

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