var/cache/dev/twig/97/9743e9b2ed2f802878b69a441b4575323559e5765c924af102ea5278cdce797d.php line 42

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