<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/devis.html.twig */
class __TwigTemplate_098cf45f4c159d5d51205ce66ebbf454 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'seo' => [$this, 'block_seo'],
'body' => [$this, 'block_body'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "base.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/devis.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/devis.html.twig"));
$this->parent = $this->loadTemplate("base.html.twig", "default/devis.html.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 3
public function block_title($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
yield "Demande de devis voyage – OTropik Agence de voyage en Guadeloupe";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
// line 4
public function block_seo($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "seo"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "seo"));
// line 5
yield " <meta name=\"description\" content=\"Demandez votre devis voyage personnalisé avec OTropik, agence de voyage en Guadeloupe. Séjours, circuits et voyages sur mesure au départ des Antilles.\" >
\t<meta property=\"og:title\" content=\"Demande de devis voyage – OTropik Guadeloupe\" />
\t<meta property=\"og:type\" content=\"Website\" />
\t<meta property=\"og:description\" content=\"Obtenez un devis personnalisé avec OTropik, agence de voyage en Guadeloupe spécialisée dans les séjours et circuits sur mesure.\" />
\t<meta property=\"og:url\" content=\"";
// line 10
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 10, $this->source); })()), "request", [], "any", false, false, false, 10), "uri", [], "any", false, false, false, 10)), "html", null, true);
yield "\" />
\t<meta property=\"og:image\" content=\"";
// line 11
yield "\" />
\t<meta name =\"twitter:card\" content=\"summary_large_image\" />
\t<meta name=\"twitter:title\" content=\"Demande de devis voyage – OTropik Guadeloupe\">
\t<meta name=\"twitter:description\" content=\"Obtenez un devis personnalisé avec OTropik, agence de voyage en Guadeloupe spécialisée dans les séjours et circuits sur mesure.\">
\t<meta name=\"twitter:image\" content=\"";
// line 16
yield "\">
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
// line 18
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
// line 19
yield "
";
// line 21
yield "<section class=\"position-relative text-white\">
<div class=\"ratio ratio-21x9\">
";
// line 23
if (CoreExtension::getAttribute($this->env, $this->source, (isset($context["banner"]) || array_key_exists("banner", $context) ? $context["banner"] : (function () { throw new RuntimeError('Variable "banner" does not exist.', 23, $this->source); })()), "img", [], "any", false, false, false, 23)) {
// line 24
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/banner/"), "html", null, true);
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["banner"]) || array_key_exists("banner", $context) ? $context["banner"] : (function () { throw new RuntimeError('Variable "banner" does not exist.', 24, $this->source); })()), "img", [], "any", false, false, false, 24), "html", null, true);
yield "\" alt=\"Plage paradisiaque\" class=\"w-100 h-100 object-fit-cover\">
";
} else {
// line 26
yield " <img src=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/summer-holidays.jpg"), "html", null, true);
yield "\" alt=\"Inspiration voyage\" class=\"w-100 h-100 object-fit-cover\">
";
}
// line 28
yield " </div>
<div class=\"position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center justify-content-center text-center bg-dark bg-opacity-50\">
<div class=\"p-3\">
<h1 class=\"display-5 fw-bold mb-2\">Demandez votre devis sur-mesure</h1>
<p class=\"lead mb-0\">Dites-nous vos envies, on s’occupe de tout ✈️🌴</p>
</div>
</div>
</section>
";
// line 38
yield "<section class=\"container py-5\">
";
// line 40
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 40, $this->source); })()), "flashes", [], "any", false, false, false, 40));
foreach ($context['_seq'] as $context["label"] => $context["messages"]) {
// line 41
yield " ";
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable($context["messages"]);
foreach ($context['_seq'] as $context["_key"] => $context["m"]) {
// line 42
yield " <div class=\"alert alert-";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["label"], "html", null, true);
yield " rounded-3\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["m"], "html", null, true);
yield "</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['m'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 44
yield " ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['label'], $context['messages'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 45
yield "
<form method=\"post\" action=\"";
// line 46
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("quote.request.send");
yield "\" class=\"row g-4\" enctype=\"multipart/form-data\">
<div class=\"col-12 col-lg-8\">
<div class=\"card border-0 shadow-sm rounded-4\">
<div class=\"card-body p-4\">
";
// line 52
yield " <h2 class=\"h5 fw-bold mb-3\">Votre voyage</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-md-6\">
<label class=\"form-label\">Type de voyage</label>
<select name=\"tripType\" class=\"form-select rounded-pill\" required>
<option value=\"\" selected>— Sélectionnez —</option>
";
// line 58
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable((isset($context["typeSejour"]) || array_key_exists("typeSejour", $context) ? $context["typeSejour"] : (function () { throw new RuntimeError('Variable "typeSejour" does not exist.', 58, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["type"]) {
// line 59
yield " <option value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["type"], "id", [], "any", false, false, false, 59), "html", null, true);
yield "\">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["type"], "name", [], "any", false, false, false, 59), "html", null, true);
yield "</option>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['type'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 61
yield " </select>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Destination souhaitée</label>
<input type=\"text\" name=\"destination\" class=\"form-control rounded-pill\" placeholder=\"Ex : Guadeloupe, Sainte-Lucie, Ouest USA…\" required>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Date de départ</label>
<input type=\"date\" name=\"startDate\" class=\"form-control rounded-pill\">
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Durée (jours)</label>
<input type=\"number\" name=\"durationDays\" class=\"form-control rounded-pill\" min=\"1\" placeholder=\"Ex : 10\">
</div>
</div>
";
// line 78
yield " <h2 class=\"h5 fw-bold mb-3\">Voyageurs</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-6 col-md-3\">
<label class=\"form-label\">Adultes</label>
<input type=\"number\" name=\"travAdults\" class=\"form-control rounded-pill\" min=\"1\" value=\"2\">
</div>
<div class=\"col-6 col-md-3\">
<label class=\"form-label\">Enfants</label>
<input type=\"number\" name=\"travChildren\" class=\"form-control rounded-pill\" min=\"0\" value=\"0\">
</div>
<div class=\"col-12 col-md-6\">
<label class=\"form-label\">Âges des enfants (si applicable)</label>
<input type=\"text\" name=\"childrenAges\" class=\"form-control rounded-pill\" placeholder=\"Ex : 4, 8\">
</div>
</div>
";
// line 95
yield " <h2 class=\"h5 fw-bold mb-3\">Budget & préférences</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-md-6\">
<label class=\"form-label\">Budget global (à partir de)</label>
<div class=\"input-group\">
<span class=\"input-group-text\">€</span>
<input type=\"number\" name=\"budgetFrom\" class=\"form-control rounded-end-pill\" min=\"0\" step=\"100\" placeholder=\"Ex : 2500\">
</div>
<div class=\"form-text\">Indiquez une estimation pour nous guider.</div>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Style d’hébergement</label>
<select name=\"boardType\" class=\"form-select rounded-pill\">
<option value=\"\">— Indifférent —</option>
<option>Room Only</option>
<option>Petit-déjeuner</option>
<option>Demi-pension</option>
<option>Pension complète</option>
<option>All Inclusive</option>
</select>
</div>
<div class=\"col-12\">
<label class=\"form-label\">Activités/ambiance souhaitées</label>
<input type=\"text\" name=\"interests\" class=\"form-control rounded-pill\" placeholder=\"Plages, randonnée, road trip, croisière, culture, gastronomie…\">
</div>
</div>
";
// line 123
yield " <h2 class=\"h5 fw-bold mb-3\">Votre message</h2>
<div class=\"mb-4\">
<textarea name=\"message\" rows=\"6\" class=\"form-control rounded-4\" placeholder=\"Parlez-nous de votre projet, vos envies, vos impératifs de dates…\"></textarea>
</div>
";
// line 134
yield "
</div>
</div>
</div>
";
// line 140
yield " <div class=\"col-12 col-lg-4\">
<div class=\"card border-0 shadow-sm rounded-4 sticky-lg-top\" style=\"top:1.25rem;\">
<div class=\"card-body p-4\">
<h2 class=\"h5 fw-bold mb-3\">Vos coordonnées</h2>
<div class=\"mb-3\">
<label class=\"form-label\">Nom & prénom</label>
<input type=\"text\" name=\"fullName\" class=\"form-control rounded-pill\" required>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Email</label>
<input type=\"email\" name=\"email\" class=\"form-control rounded-pill\" required>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Téléphone</label>
<input type=\"tel\" name=\"phone\" class=\"form-control rounded-pill\" placeholder=\"+590 …\">
</div>
<div class=\"form-check my-3\">
<input class=\"form-check-input\" type=\"checkbox\" value=\"1\" name=\"newsletter\" id=\"nl\">
<label class=\"form-check-label\" for=\"nl\">Je souhaite recevoir les inspirations Otropik</label>
</div>
<div class=\"form-check mb-4\">
<input class=\"form-check-input\" type=\"checkbox\" value=\"1\" name=\"rgpd\" id=\"rgpd\" required>
<label class=\"form-check-label\" for=\"rgpd\">
J’accepte que mes données soient utilisées pour me recontacter (RGPD).
</label>
</div>
<input type=\"hidden\" name=\"_token\" value=\"";
// line 169
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("quote_request"), "html", null, true);
yield "\">
<div class=\"h-captcha mb-3\" data-sitekey=\"";
// line 171
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["hcaptchaSiteKey"]) || array_key_exists("hcaptchaSiteKey", $context) ? $context["hcaptchaSiteKey"] : (function () { throw new RuntimeError('Variable "hcaptchaSiteKey" does not exist.', 171, $this->source); })()), "html", null, true);
yield "\"></div>
<script src=\"https://js.hcaptcha.com/1/api.js\" async defer></script>
<button type=\"submit\" class=\"btn btn-primary w-100 rounded-pill py-2\">
<i class=\"bi bi-send me-1\"></i> Envoyer ma demande
</button>
<p class=\"small text-muted mt-3 mb-0\">
Réponse rapide sous 24–48h ouvrées par un spécialiste Otropik.
</p>
</div>
</div>
</div>
</form>
</section>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/devis.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 343 => 171, 338 => 169, 307 => 140, 300 => 134, 293 => 123, 264 => 95, 246 => 78, 228 => 61, 217 => 59, 213 => 58, 205 => 52, 197 => 46, 194 => 45, 188 => 44, 177 => 42, 172 => 41, 167 => 40, 164 => 38, 153 => 28, 147 => 26, 140 => 24, 138 => 23, 134 => 21, 131 => 19, 121 => 18, 109 => 16, 102 => 11, 98 => 10, 91 => 5, 81 => 4, 61 => 3, 38 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends 'base.html.twig' %}
{% block title %}Demande de devis voyage – OTropik Agence de voyage en Guadeloupe{% endblock %}
{% block seo %}
<meta name=\"description\" content=\"Demandez votre devis voyage personnalisé avec OTropik, agence de voyage en Guadeloupe. Séjours, circuits et voyages sur mesure au départ des Antilles.\" >
\t<meta property=\"og:title\" content=\"Demande de devis voyage – OTropik Guadeloupe\" />
\t<meta property=\"og:type\" content=\"Website\" />
\t<meta property=\"og:description\" content=\"Obtenez un devis personnalisé avec OTropik, agence de voyage en Guadeloupe spécialisée dans les séjours et circuits sur mesure.\" />
\t<meta property=\"og:url\" content=\"{{absolute_url( app.request.uri)}}\" />
\t<meta property=\"og:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\" />
\t<meta name =\"twitter:card\" content=\"summary_large_image\" />
\t<meta name=\"twitter:title\" content=\"Demande de devis voyage – OTropik Guadeloupe\">
\t<meta name=\"twitter:description\" content=\"Obtenez un devis personnalisé avec OTropik, agence de voyage en Guadeloupe spécialisée dans les séjours et circuits sur mesure.\">
\t<meta name=\"twitter:image\" content=\"{#{asset('img/asset/cardimg-fb.jpg')}#}\">
{% endblock %}
{% block body %}
{# ===== HERO ===== #}
<section class=\"position-relative text-white\">
<div class=\"ratio ratio-21x9\">
{% if banner.img %}
<img src=\"{{ asset('img/banner/')}}{{banner.img}}\" alt=\"Plage paradisiaque\" class=\"w-100 h-100 object-fit-cover\">
{% else %}
<img src=\"{{ asset('img/summer-holidays.jpg')}}\" alt=\"Inspiration voyage\" class=\"w-100 h-100 object-fit-cover\">
{% endif %}
</div>
<div class=\"position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center justify-content-center text-center bg-dark bg-opacity-50\">
<div class=\"p-3\">
<h1 class=\"display-5 fw-bold mb-2\">Demandez votre devis sur-mesure</h1>
<p class=\"lead mb-0\">Dites-nous vos envies, on s’occupe de tout ✈️🌴</p>
</div>
</div>
</section>
{# ===== FORMULAIRE ===== #}
<section class=\"container py-5\">
{# Message succès/erreur éventuel #}
{% for label, messages in app.flashes %}
{% for m in messages %}
<div class=\"alert alert-{{ label }} rounded-3\">{{ m }}</div>
{% endfor %}
{% endfor %}
<form method=\"post\" action=\"{{ path('quote.request.send') }}\" class=\"row g-4\" enctype=\"multipart/form-data\">
<div class=\"col-12 col-lg-8\">
<div class=\"card border-0 shadow-sm rounded-4\">
<div class=\"card-body p-4\">
{# ---- Bloc 1 : Votre voyage ---- #}
<h2 class=\"h5 fw-bold mb-3\">Votre voyage</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-md-6\">
<label class=\"form-label\">Type de voyage</label>
<select name=\"tripType\" class=\"form-select rounded-pill\" required>
<option value=\"\" selected>— Sélectionnez —</option>
{% for type in typeSejour %}
<option value=\"{{type.id}}\">{{type.name}}</option>
{% endfor %}
</select>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Destination souhaitée</label>
<input type=\"text\" name=\"destination\" class=\"form-control rounded-pill\" placeholder=\"Ex : Guadeloupe, Sainte-Lucie, Ouest USA…\" required>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Date de départ</label>
<input type=\"date\" name=\"startDate\" class=\"form-control rounded-pill\">
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Durée (jours)</label>
<input type=\"number\" name=\"durationDays\" class=\"form-control rounded-pill\" min=\"1\" placeholder=\"Ex : 10\">
</div>
</div>
{# ---- Bloc 2 : Voyageurs ---- #}
<h2 class=\"h5 fw-bold mb-3\">Voyageurs</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-6 col-md-3\">
<label class=\"form-label\">Adultes</label>
<input type=\"number\" name=\"travAdults\" class=\"form-control rounded-pill\" min=\"1\" value=\"2\">
</div>
<div class=\"col-6 col-md-3\">
<label class=\"form-label\">Enfants</label>
<input type=\"number\" name=\"travChildren\" class=\"form-control rounded-pill\" min=\"0\" value=\"0\">
</div>
<div class=\"col-12 col-md-6\">
<label class=\"form-label\">Âges des enfants (si applicable)</label>
<input type=\"text\" name=\"childrenAges\" class=\"form-control rounded-pill\" placeholder=\"Ex : 4, 8\">
</div>
</div>
{# ---- Bloc 3 : Budget & préférences ---- #}
<h2 class=\"h5 fw-bold mb-3\">Budget & préférences</h2>
<div class=\"row g-3 mb-4\">
<div class=\"col-md-6\">
<label class=\"form-label\">Budget global (à partir de)</label>
<div class=\"input-group\">
<span class=\"input-group-text\">€</span>
<input type=\"number\" name=\"budgetFrom\" class=\"form-control rounded-end-pill\" min=\"0\" step=\"100\" placeholder=\"Ex : 2500\">
</div>
<div class=\"form-text\">Indiquez une estimation pour nous guider.</div>
</div>
<div class=\"col-md-6\">
<label class=\"form-label\">Style d’hébergement</label>
<select name=\"boardType\" class=\"form-select rounded-pill\">
<option value=\"\">— Indifférent —</option>
<option>Room Only</option>
<option>Petit-déjeuner</option>
<option>Demi-pension</option>
<option>Pension complète</option>
<option>All Inclusive</option>
</select>
</div>
<div class=\"col-12\">
<label class=\"form-label\">Activités/ambiance souhaitées</label>
<input type=\"text\" name=\"interests\" class=\"form-control rounded-pill\" placeholder=\"Plages, randonnée, road trip, croisière, culture, gastronomie…\">
</div>
</div>
{# ---- Bloc 4 : Message ---- #}
<h2 class=\"h5 fw-bold mb-3\">Votre message</h2>
<div class=\"mb-4\">
<textarea name=\"message\" rows=\"6\" class=\"form-control rounded-4\" placeholder=\"Parlez-nous de votre projet, vos envies, vos impératifs de dates…\"></textarea>
</div>
{# ---- Option : pièce jointe ----
<div class=\"mb-4\">
<label class=\"form-label\">Pièce jointe (facultatif)</label>
<input type=\"file\" name=\"attachment\" class=\"form-control\">
<div class=\"form-text\">PDF/JPG/PNG — 10 Mo max (itinéraire, inspiration…)</div>
</div>#}
</div>
</div>
</div>
{# ---- Colonne latérale : Contact & consentement ---- #}
<div class=\"col-12 col-lg-4\">
<div class=\"card border-0 shadow-sm rounded-4 sticky-lg-top\" style=\"top:1.25rem;\">
<div class=\"card-body p-4\">
<h2 class=\"h5 fw-bold mb-3\">Vos coordonnées</h2>
<div class=\"mb-3\">
<label class=\"form-label\">Nom & prénom</label>
<input type=\"text\" name=\"fullName\" class=\"form-control rounded-pill\" required>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Email</label>
<input type=\"email\" name=\"email\" class=\"form-control rounded-pill\" required>
</div>
<div class=\"mb-3\">
<label class=\"form-label\">Téléphone</label>
<input type=\"tel\" name=\"phone\" class=\"form-control rounded-pill\" placeholder=\"+590 …\">
</div>
<div class=\"form-check my-3\">
<input class=\"form-check-input\" type=\"checkbox\" value=\"1\" name=\"newsletter\" id=\"nl\">
<label class=\"form-check-label\" for=\"nl\">Je souhaite recevoir les inspirations Otropik</label>
</div>
<div class=\"form-check mb-4\">
<input class=\"form-check-input\" type=\"checkbox\" value=\"1\" name=\"rgpd\" id=\"rgpd\" required>
<label class=\"form-check-label\" for=\"rgpd\">
J’accepte que mes données soient utilisées pour me recontacter (RGPD).
</label>
</div>
<input type=\"hidden\" name=\"_token\" value=\"{{ csrf_token('quote_request') }}\">
<div class=\"h-captcha mb-3\" data-sitekey=\"{{ hcaptchaSiteKey }}\"></div>
<script src=\"https://js.hcaptcha.com/1/api.js\" async defer></script>
<button type=\"submit\" class=\"btn btn-primary w-100 rounded-pill py-2\">
<i class=\"bi bi-send me-1\"></i> Envoyer ma demande
</button>
<p class=\"small text-muted mt-3 mb-0\">
Réponse rapide sous 24–48h ouvrées par un spécialiste Otropik.
</p>
</div>
</div>
</div>
</form>
</section>
{% endblock %}
", "default/devis.html.twig", "/home/ladomitiyc/otropik/templates/default/devis.html.twig");
}
}