templates/default/offers.html.twig line 1

Open in your IDE?
  1. {# templates/escapade/show.html.twig #}
  2. {% extends 'base.html.twig' %}
  3. {% block title %}O'Escapade — {{ escapade.title|default('Carnaval St Lucie') }}{% endblock %}
  4. {# Header standard ou overlay si besoin sur le hero #}
  5. {% block header_classes %}header-overlay{% endblock %}
  6. {% block navbar_theme %}navbar-dark{% endblock %}
  7. {% block body %}
  8. {# -----------------------------
  9.    HERO Escapade (avec inclus)
  10. ------------------------------ #}
  11. <section class="position-relative text-white">
  12.   <div class="ratio ratio-21x9">
  13.     <img src="{{ asset('img/2633.jpg') }}" alt="" class="object-fit-cover w-100 h-100">
  14.   </div>
  15.   <div class="position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center">
  16.     <div class="container">
  17.       <div class="bg-white text-dark p-4 p-md-5 rounded-4 shadow-sm" style="max-width: 600px;">
  18.         <h1 class="display-5 fw-bold txt-ot-green mb-3">{{typeOffer.name}}</h1>
  19.         <p class="mb-3">{{typeOffer.hook}}</p>
  20.       </div>
  21.     </div>
  22.   </div>
  23. </section>
  24. {# Fil d'Ariane #}
  25. <nav class="container my-4" aria-label="breadcrumb">
  26.   <ol class="breadcrumb small">
  27.     <li class="breadcrumb-item"><a href="{{ path('app') }}">Accueil</a></li>
  28.     <li class="breadcrumb-item active">{{typeOffer.name}}</li>
  29.   </ol>
  30. </nav>
  31. {# -----------------------------
  32.    OFFRES DU MOMENT — réutilisation grille cartes maquette
  33. ------------------------------ #}
  34. <section class="py-5 bg-white">
  35.   <div class="container">
  36.     <header class="mb-3">
  37.       <h2 class="h3 txt-ot-green mb-1 fw-bold">Notre sélection {{typeOffer.name}}.</h2>
  38.       <p class="text-muted mb-0">{{typeOffer.description}}</p>
  39.     </header>
  40.   <div class="row g-3 g-md-4">
  41.       {% for o in offers %}
  42.       <div class="col-12 col-sm-6 col-lg-3">
  43.         <article class="card card-offer border-0 shadow-sm h-100 overflow-hidden rounded-4">
  44.         {% if o.type.id == '1' %}
  45.           <a href="{{ path('o.escapade.destination',{slug:o.destination.slug}) }}" class="stretched-link text-decoration-none text-white">
  46.           <div class="ratio ratio-4x5">
  47.               <img src="{{asset('img/destination/' ~ o.destination.slug  ~ '/' ~ o.destination.img)}}" alt="{{ o.title }}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  48.         {% elseif o.type.id == '2' %}
  49.           <a href="{{ path('o.circuit.destination',{slug:o.slug})}}" class="stretched-link text-decoration-none text-white">
  50.           <div class="ratio ratio-4x5">
  51.               <img src="{{asset('img/circuits/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  52.         {% elseif o.type.id == "3" %}
  53.           <a href="{{ path('o.roadtrip.destination',{slug:o.slug})}}" class="stretched-link text-decoration-none text-white">
  54.           <div class="ratio ratio-4x5">
  55.               <img src="{{asset('img/road/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  56.         {% elseif o.type.id == "4" %}
  57.           <a href="{{ path('o.croisiere.destination',{slug:o.slug})}}" class="stretched-link text-decoration-none text-white">
  58.           <div class="ratio ratio-4x5">
  59.               <img src="{{asset('img/croisiere/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  60.         {% endif %}
  61.             </div>
  62.             <div class="card-img-overlay d-flex flex-column justify-content-end p-3 p-md-4">
  63.               <h3 class="h5 fw-bold text-white text-shadow-sm mb-3">{{ o.title }}</h3>
  64.               <div>
  65.                 <span class="btn btn-outline-light btn-sm rounded-pill">Découvrir</span>
  66.               </div>
  67.             </div>
  68.           </a>
  69.         </article>
  70.       </div>
  71.       {% endfor %}
  72.     </div>
  73.     <div class="section-divider mx-auto my-5"></div>
  74.   </div>
  75. </section>
  76. {% endblock %}
  77. {% block extra_head %}
  78.   {{ parent() }}
  79.   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
  80.   <style>
  81.     .text-shadow-sm{ text-shadow:0 2px 4px rgba(0,0,0,.35); }
  82.     .text-ot-green{ color: var(--ot-primary, #2ea37a); }
  83.     .bg-ot-green{ background: var(--ot-primary, #2ea37a); }
  84.   </style>
  85. {% endblock %}