var/cache/dev/twig/78/78050d27f7a9e2091f21cc84969aaca1a4dcbd2ff859b8e508c05dc0334e1cf1.php line 50

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