{#
/**
* Footer Premium - Espace Accueil (Public)
* Design moderne, minimaliste, charte 5sur5
*/
#}
<footer class="premium-footer-accueil">
<div class="footer-container">
<!-- Section Principale -->
<div class="footer-main">
<!-- Logo et Description -->
<div class="footer-brand">
<div class="footer-logo">
<img src="{{ asset('Accueil/imagesAccueil/logoHeader.svg') }}" alt="5sur5 Séjour" />
<span>5sur5 Séjour</span>
</div>
<p class="footer-tagline">
Nous partageons les aventures et imprimons les souvenirs !
</p>
<div class="footer-social">
<a href="https://www.instagram.com/5sur5sejour/" target="_blank" aria-label="Instagram">
<i class="bi bi-instagram"></i>
</a>
<a href="https://www.facebook.com/5sur5sejour" target="_blank" aria-label="Facebook">
<i class="bi bi-facebook"></i>
</a>
<a href="https://www.linkedin.com/company/5sur5sejour" target="_blank" aria-label="LinkedIn">
<i class="bi bi-linkedin"></i>
</a>
</div>
</div>
<!-- Services -->
<div class="footer-links">
<h4>Services</h4>
<ul>
<li>
<a href="{{ path('boite_vocale') }}">
<i class="bi bi-mic-fill"></i> Boîte vocale
</a>
</li>
<li>
<a href="{{ path('commande_groupee_accueil') }}">
<i class="bi bi-people-fill"></i> Commande groupée
</a>
</li>
<li>
<a href="{{ path('pack_annuel_partenaires') }}">
<i class="bi bi-briefcase-fill"></i> Devenir partenaire
</a>
</li>
<li>
<a href="{{ path('Besoindaide_5sur5_accueil') }}">
<i class="bi bi-question-circle-fill"></i> Besoin d'aide
</a>
</li>
</ul>
</div>
<!-- Informations -->
<div class="footer-links">
<h4>Informations</h4>
<ul>
<li>
<a href="{{ path('Mentionlegale_5sur5') }}">
<i class="bi bi-file-text"></i> Mentions légales
</a>
</li>
<li>
<a href="{{ path('Conditons_generales_5sur5') }}">
<i class="bi bi-file-earmark-text"></i> Conditions générales
</a>
</li>
<li>
<a href="{{ path('Politique_Confidentialite_5sur5') }}">
<i class="bi bi-shield-check"></i> Politique de confidentialité
</a>
</li>
<li>
<a href="{{ path('ServiceClient_5sur5') }}">
<i class="bi bi-headset"></i> Service client
</a>
</li>
</ul>
</div>
<!-- Contact -->
<div class="footer-contact">
<h4>Contact</h4>
<div class="contact-item">
<i class="bi bi-building"></i>
<div>
<strong>Trust Conseils</strong><br>
199 Avenue Francis de Pressensé<br>
69200 Vénissieux
</div>
</div>
<div class="contact-item">
<i class="bi bi-telephone-fill"></i>
<a href="tel:0536282930">05 36 28 29 30</a>
</div>
<div class="contact-item">
<i class="bi bi-envelope-fill"></i>
<a href="mailto:contact@5sur5sejour.com">contact@5sur5sejour.com</a>
</div>
<div class="footer-payment">
<span>Paiement sécurisé</span>
<div class="payment-icons">
<i class="bi bi-credit-card-fill"></i>
<i class="bi bi-paypal"></i>
<i class="bi bi-shield-lock-fill"></i>
</div>
</div>
</div>
</div>
<!-- Copyright -->
<div class="footer-bottom">
<p>© {{ "now"|date("Y") }} Trust Conseils - 5sur5 Séjour. Tous droits réservés.</p>
<div class="footer-bottom-right">
<p class="footer-france">
<i class="bi bi-geo-alt-fill"></i> Données hébergées en France 🇫🇷
</p>
<p class="footer-info-text">
<i class="bi bi-info-circle"></i> Aucun frais d'activation pour votre structure. Vous pouvez proposer aux familles un accès complet au journal du séjour (photos, vidéos, messages vocaux), en service optionnel. Vous pouvez aussi choisir d'inclure cet accès dans vos séjours et de l'offrir aux familles (prise en charge par votre structure).
</p>
</div>
</div>
</div>
</footer>
<style>
.premium-footer-accueil {
background: linear-gradient(135deg, #41A2AA 0%, #359BA3 100%);
color: white;
padding: 60px 0 0 0;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.footer-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
.footer-main {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
gap: 40px;
padding-bottom: 40px;
border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
/* Brand Section */
.footer-brand {
display: flex;
flex-direction: column;
gap: 16px;
}
.footer-logo {
display: flex;
align-items: center;
gap: 12px;
}
.footer-logo img {
height: 48px;
background: white;
border-radius: 12px;
padding: 8px;
}
.footer-logo span {
font-size: 20px;
font-weight: 700;
letter-spacing: -0.5px;
}
.footer-tagline {
font-size: 15px;
line-height: 1.6;
opacity: 0.9;
margin: 0;
}
.footer-social {
display: flex;
gap: 12px;
margin-top: 8px;
}
.footer-social a {
width: 40px;
height: 40px;
border-radius: 10px;
background: rgba(255, 255, 255, 0.15);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 18px;
text-decoration: none;
transition: all 0.2s ease;
}
.footer-social a:hover {
background: white;
color: #41A2AA;
transform: translateY(-2px);
}
/* Links Sections */
.footer-links h4,
.footer-contact h4 {
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin: 0 0 20px 0;
opacity: 0.8;
}
.footer-links ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-links li a {
display: flex;
align-items: center;
gap: 10px;
color: white;
text-decoration: none;
font-size: 14px;
transition: all 0.2s ease;
opacity: 0.9;
}
.footer-links li a:hover {
opacity: 1;
transform: translateX(4px);
}
.footer-links li a i {
font-size: 14px;
opacity: 0.7;
}
/* Contact Section */
.footer-contact {
display: flex;
flex-direction: column;
gap: 16px;
}
.contact-item {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 14px;
line-height: 1.5;
}
.contact-item i {
font-size: 16px;
opacity: 0.8;
margin-top: 2px;
}
.contact-item a {
color: white;
text-decoration: none;
transition: opacity 0.2s ease;
}
.contact-item a:hover {
opacity: 0.8;
text-decoration: underline;
}
.footer-payment {
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.footer-payment span {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.5px;
opacity: 0.7;
display: block;
margin-bottom: 8px;
}
.payment-icons {
display: flex;
gap: 12px;
}
.payment-icons i {
font-size: 24px;
opacity: 0.8;
}
/* Bottom Section */
.footer-bottom {
padding: 24px 0;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
opacity: 0.8;
}
.footer-bottom p {
margin: 0;
}
.footer-france {
display: flex;
align-items: center;
gap: 6px;
}
.footer-bottom-right {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-end;
}
.footer-info-text {
font-size: 12px;
opacity: 0.85;
margin: 0;
text-align: right;
max-width: 600px;
line-height: 1.5;
}
/* ============================================
RESPONSIVE - BREAKPOINTS OPTIMISÉS
============================================ */
/* iPad et Tablettes (768px - 1024px) */
@media (max-width: 1024px) {
.footer-container {
padding: 0 20px;
}
.footer-main {
grid-template-columns: 1fr 1fr;
gap: 32px;
}
.footer-brand {
grid-column: span 2;
}
.footer-logo span {
font-size: 18px;
}
.footer-tagline {
font-size: 14px;
}
}
/* Tablettes Portrait (768px - 992px) */
@media (max-width: 992px) {
.premium-footer-accueil {
padding: 50px 0 0 0;
}
.footer-container {
padding: 0 20px;
}
.footer-main {
grid-template-columns: 1fr 1fr;
gap: 28px;
padding-bottom: 32px;
}
.footer-brand {
grid-column: span 2;
}
.footer-links h4,
.footer-contact h4 {
font-size: 13px;
margin-bottom: 16px;
}
.footer-links li a,
.contact-item {
font-size: 13px;
}
}
/* Mobile Landscape et petits écrans (576px - 768px) */
@media (max-width: 768px) {
.premium-footer-accueil {
padding: 40px 0 0 0;
}
.footer-container {
padding: 0 16px;
}
.footer-main {
grid-template-columns: 1fr;
gap: 28px;
padding-bottom: 28px;
}
.footer-brand {
grid-column: span 1;
text-align: center;
align-items: center;
}
.footer-logo {
flex-direction: row;
justify-content: center;
gap: 12px;
}
.footer-logo img {
height: 44px;
}
.footer-logo span {
font-size: 18px;
}
.footer-tagline {
font-size: 14px;
text-align: center;
}
.footer-social {
justify-content: center;
}
.footer-links,
.footer-contact {
text-align: center;
}
.footer-links h4,
.footer-contact h4 {
font-size: 12px;
margin-bottom: 14px;
}
.footer-links ul {
align-items: center;
gap: 10px;
}
.footer-links li a {
justify-content: center;
font-size: 13px;
}
.footer-links li a:hover {
transform: none;
}
.contact-item {
justify-content: center;
text-align: center;
flex-direction: column;
gap: 8px;
}
.contact-item i {
margin-top: 0;
}
.footer-payment {
text-align: center;
margin-top: 20px;
padding-top: 20px;
}
.payment-icons {
justify-content: center;
gap: 16px;
}
.footer-bottom {
flex-direction: column;
gap: 16px;
text-align: center;
padding: 20px 0;
align-items: center;
}
.footer-bottom-right {
align-items: center !important;
width: 100%;
text-align: center;
}
.footer-info-text {
text-align: center !important;
max-width: 100%;
}
.footer-france {
justify-content: center;
}
.footer-bottom p {
font-size: 12px;
line-height: 1.5;
}
.footer-bottom p:last-child {
font-size: 11px;
max-width: 100%;
text-align: center;
}
}
/* Mobile Portrait (< 576px) - FOOTER RÉDUIT AU MAXIMUM */
@media (max-width: 576px) {
.premium-footer-accueil {
padding: 24px 0 0 0 !important;
}
.footer-container {
padding: 0 12px !important;
}
.footer-main {
gap: 16px !important;
padding-bottom: 16px !important;
}
.footer-logo {
flex-direction: row !important;
gap: 8px !important;
justify-content: center !important;
}
.footer-logo img {
height: 32px !important;
}
.footer-logo span {
font-size: 14px !important;
}
.footer-tagline {
font-size: 11px !important;
line-height: 1.4 !important;
margin: 0 !important;
}
.footer-social {
gap: 8px !important;
margin-top: 6px !important;
}
.footer-social a {
width: 32px !important;
height: 32px !important;
font-size: 14px !important;
}
.footer-links h4,
.footer-contact h4 {
font-size: 10px !important;
margin-bottom: 8px !important;
}
.footer-links ul {
gap: 6px !important;
}
.footer-links li a {
font-size: 11px !important;
gap: 6px !important;
padding: 4px 0 !important;
}
.footer-links li a i {
font-size: 11px !important;
}
.contact-item {
font-size: 11px !important;
gap: 6px !important;
margin-bottom: 8px !important;
}
.contact-item i {
font-size: 12px !important;
}
.footer-payment {
margin-top: 12px !important;
padding-top: 12px !important;
}
.footer-payment span {
font-size: 10px !important;
margin-bottom: 4px !important;
}
.payment-icons {
gap: 10px !important;
}
.payment-icons i {
font-size: 18px !important;
}
.footer-bottom {
padding: 12px 0 !important;
gap: 8px !important;
}
.footer-bottom p {
font-size: 10px !important;
line-height: 1.4 !important;
}
.footer-bottom p:last-child {
font-size: 9px !important;
padding: 0 4px !important;
line-height: 1.3 !important;
}
.footer-france {
font-size: 10px !important;
}
}
/* Très petits écrans (< 400px) - FOOTER ULTRA COMPACT */
@media (max-width: 400px) {
.premium-footer-accueil {
padding: 20px 0 0 0 !important;
}
.footer-container {
padding: 0 10px !important;
}
.footer-main {
gap: 12px !important;
padding-bottom: 12px !important;
}
.footer-logo img {
height: 28px !important;
}
.footer-logo span {
font-size: 13px !important;
}
.footer-tagline {
font-size: 10px !important;
line-height: 1.3 !important;
}
.footer-social {
gap: 6px !important;
}
.footer-social a {
width: 30px !important;
height: 30px !important;
font-size: 13px !important;
}
.footer-links h4,
.footer-contact h4 {
font-size: 9px !important;
margin-bottom: 6px !important;
}
.footer-links ul {
gap: 4px !important;
}
.footer-links li a {
font-size: 10px !important;
gap: 5px !important;
}
.footer-links li a i {
font-size: 10px !important;
}
.contact-item {
font-size: 10px !important;
gap: 5px !important;
margin-bottom: 6px !important;
}
.contact-item i {
font-size: 11px !important;
}
.footer-payment {
margin-top: 10px !important;
padding-top: 10px !important;
}
.footer-payment span {
font-size: 9px !important;
}
.payment-icons {
gap: 8px !important;
}
.payment-icons i {
font-size: 16px !important;
}
.footer-bottom {
padding: 10px 0 !important;
gap: 6px !important;
}
.footer-bottom p {
font-size: 9px !important;
}
.footer-bottom p:last-child {
font-size: 8px !important;
}
.footer-france {
font-size: 9px !important;
}
}
/* Landscape Orientation - Mobile */
@media (max-width: 768px) and (orientation: landscape) {
.footer-main {
grid-template-columns: 1fr 1fr;
gap: 24px;
}
.footer-brand {
grid-column: span 2;
}
.footer-logo {
flex-direction: row;
}
}
</style>